From dcd8163a5f3c2564a6cf41f11da16ecf4bb69f5b Mon Sep 17 00:00:00 2001 From: Nomura <72407407+Nomura-RH@users.noreply.github.com> Date: Tue, 27 Dec 2022 10:53:34 +0100 Subject: [PATCH] Match several arm9 files, part 2 --- asm/include/unk_0204B64C.inc | 18 - asm/include/unk_0204C500.inc | 25 - asm/include/unk_0204C6C8.inc | 15 - asm/include/unk_0204C8F0.inc | 13 - asm/include/unk_0204CA84.inc | 21 - asm/include/unk_0204CDDC.inc | 8 - asm/include/unk_0204CFFC.inc | 30 - asm/include/unk_0204E240.inc | 5 - asm/include/unk_0204E378.inc | 3 - asm/include/unk_0204E75C.inc | 11 - asm/include/unk_0204E974.inc | 8 - asm/include/unk_0204EDA4.inc | 22 - asm/include/unk_0204F02C.inc | 1 - asm/include/unk_0204F04C.inc | 9 - asm/include/unk_0204F13C.inc | 59 - asm/include/unk_0204FA34.inc | 6 - asm/include/unk_0204FAB4.inc | 50 - asm/include/unk_0205C22C.inc | 62 - asm/include/unk_0205C980.inc | 6 - asm/include/unk_0205D8CC.inc | 18 - asm/include/unk_0205F180.inc | 196 -- asm/include/unk_0206A8DC.inc | 9 - asm/unk_0204B64C.s | 251 -- asm/unk_0204C500.s | 227 -- asm/unk_0204C6C8.s | 280 -- asm/unk_0204C8F0.s | 209 -- asm/unk_0204CA84.s | 427 --- asm/unk_0204CDDC.s | 317 --- asm/unk_0204CFFC.s | 2221 --------------- asm/unk_0204E240.s | 180 -- asm/unk_0204E378.s | 54 - asm/unk_0204E75C.s | 263 -- asm/unk_0204E974.s | 502 ---- asm/unk_0204EDA4.s | 330 --- asm/unk_0204F02C.s | 37 - asm/unk_0204F04C.s | 115 - asm/unk_0204F13C.s | 1173 -------- asm/unk_0204FA34.s | 71 - asm/unk_0204FAB4.s | 700 ----- asm/unk_0205C22C.s | 984 ------- asm/unk_0205C980.s | 179 -- asm/unk_0205D8CC.s | 276 -- asm/unk_0205DAC8.s | 1077 -------- asm/unk_0205F180.s | 5031 ---------------------------------- asm/unk_0206A8DC.s | 1036 ------- main.lsf | 46 +- src/unk_0204B64C.c | 112 + src/unk_0204C500.c | 109 + src/unk_0204C6C8.c | 162 ++ src/unk_0204C8F0.c | 122 + src/unk_0204CA84.c | 219 ++ src/unk_0204CDDC.c | 164 ++ src/unk_0204CFFC.c | 910 ++++++ src/unk_0204E240.c | 91 + src/unk_0204E378.c | 43 + src/unk_0204E75C.c | 98 + src/unk_0204E974.c | 197 ++ src/unk_0204EDA4.c | 178 ++ src/unk_0204F02C.c | 30 + src/unk_0204F04C.c | 45 + src/unk_0204F13C.c | 738 +++++ src/unk_0204FA34.c | 51 + src/unk_0204FAB4.c | 368 +++ src/unk_0205C22C.c | 551 ++++ src/unk_0205C980.c | 117 + src/unk_0205D8CC.c | 103 + src/unk_0205DAC8.c | 698 +++++ src/unk_0205F180.c | 2507 +++++++++++++++++ src/unk_0206A8DC.c | 513 ++++ 69 files changed, 8149 insertions(+), 16558 deletions(-) delete mode 100644 asm/include/unk_0204B64C.inc delete mode 100644 asm/include/unk_0204C500.inc delete mode 100644 asm/include/unk_0204C6C8.inc delete mode 100644 asm/include/unk_0204C8F0.inc delete mode 100644 asm/include/unk_0204CA84.inc delete mode 100644 asm/include/unk_0204CDDC.inc delete mode 100644 asm/include/unk_0204CFFC.inc delete mode 100644 asm/include/unk_0204E240.inc delete mode 100644 asm/include/unk_0204E378.inc delete mode 100644 asm/include/unk_0204E75C.inc delete mode 100644 asm/include/unk_0204E974.inc delete mode 100644 asm/include/unk_0204EDA4.inc delete mode 100644 asm/include/unk_0204F02C.inc delete mode 100644 asm/include/unk_0204F04C.inc delete mode 100644 asm/include/unk_0204F13C.inc delete mode 100644 asm/include/unk_0204FA34.inc delete mode 100644 asm/include/unk_0204FAB4.inc delete mode 100644 asm/include/unk_0205C22C.inc delete mode 100644 asm/include/unk_0205C980.inc delete mode 100644 asm/include/unk_0205D8CC.inc delete mode 100644 asm/include/unk_0205F180.inc delete mode 100644 asm/include/unk_0206A8DC.inc delete mode 100644 asm/unk_0204B64C.s delete mode 100644 asm/unk_0204C500.s delete mode 100644 asm/unk_0204C6C8.s delete mode 100644 asm/unk_0204C8F0.s delete mode 100644 asm/unk_0204CA84.s delete mode 100644 asm/unk_0204CDDC.s delete mode 100644 asm/unk_0204CFFC.s delete mode 100644 asm/unk_0204E240.s delete mode 100644 asm/unk_0204E378.s delete mode 100644 asm/unk_0204E75C.s delete mode 100644 asm/unk_0204E974.s delete mode 100644 asm/unk_0204EDA4.s delete mode 100644 asm/unk_0204F02C.s delete mode 100644 asm/unk_0204F04C.s delete mode 100644 asm/unk_0204F13C.s delete mode 100644 asm/unk_0204FA34.s delete mode 100644 asm/unk_0204FAB4.s delete mode 100644 asm/unk_0205C22C.s delete mode 100644 asm/unk_0205C980.s delete mode 100644 asm/unk_0205D8CC.s delete mode 100644 asm/unk_0205DAC8.s delete mode 100644 asm/unk_0205F180.s delete mode 100644 asm/unk_0206A8DC.s create mode 100644 src/unk_0204B64C.c create mode 100644 src/unk_0204C500.c create mode 100644 src/unk_0204C6C8.c create mode 100644 src/unk_0204C8F0.c create mode 100644 src/unk_0204CA84.c create mode 100644 src/unk_0204CDDC.c create mode 100644 src/unk_0204CFFC.c create mode 100644 src/unk_0204E240.c create mode 100644 src/unk_0204E378.c create mode 100644 src/unk_0204E75C.c create mode 100644 src/unk_0204E974.c create mode 100644 src/unk_0204EDA4.c create mode 100644 src/unk_0204F02C.c create mode 100644 src/unk_0204F04C.c create mode 100644 src/unk_0204F13C.c create mode 100644 src/unk_0204FA34.c create mode 100644 src/unk_0204FAB4.c create mode 100644 src/unk_0205C22C.c create mode 100644 src/unk_0205C980.c create mode 100644 src/unk_0205D8CC.c create mode 100644 src/unk_0205DAC8.c create mode 100644 src/unk_0205F180.c create mode 100644 src/unk_0206A8DC.c diff --git a/asm/include/unk_0204B64C.inc b/asm/include/unk_0204B64C.inc deleted file mode 100644 index 4a61b52462..0000000000 --- a/asm/include/unk_0204B64C.inc +++ /dev/null @@ -1,18 +0,0 @@ -.public GF_AssertFail -.public sub_0202CD88 -.public sub_0202CF28 -.public sub_0202CFEC -.public sub_0203E838 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public sub_02055E00 -.public sub_02055E80 -.public sub_02055EAC -.public sub_02055F00 -.public sub_02055F40 -.public sub_02055F64 -.public sub_02055F88 -.public sub_02055FA8 -.public sub_020562AC -.public sub_020562D8 diff --git a/asm/include/unk_0204C500.inc b/asm/include/unk_0204C500.inc deleted file mode 100644 index 8ef31d44ac..0000000000 --- a/asm/include/unk_0204C500.inc +++ /dev/null @@ -1,25 +0,0 @@ -.public sub_020181C4 -.public GF_AssertFail -.public sub_02024420 -.public sub_02024440 -.public sub_02025E38 -.public sub_02027560 -.public sub_0202EF04 -.public sub_0202F000 -.public sub_0202F028 -.public sub_0202F180 -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 -.public sub_020507E4 -.public sub_020562F8 -.public sub_02056328 -.public sub_020563D0 -.public sub_020563E0 -.public sub_020563F0 -.public sub_0206AE6C -.public sub_0206AE7C -.public sub_02073C74 -.public sub_02076B10 -.public sub_02079868 -.public sub_0209304C diff --git a/asm/include/unk_0204C6C8.inc b/asm/include/unk_0204C6C8.inc deleted file mode 100644 index fcd7d7b8dd..0000000000 --- a/asm/include/unk_0204C6C8.inc +++ /dev/null @@ -1,15 +0,0 @@ -.public sub_02025E38 -.public sub_02025E50 -.public sub_0202B5B4 -.public sub_0202B5B8 -.public sub_0202B5D8 -.public sub_0202B5F0 -.public sub_0203D174 -.public sub_0203E838 -.public sub_0203E850 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public ov5_021DD020 -.public ov5_021DD084 -.public ov5_021DD098 diff --git a/asm/include/unk_0204C8F0.inc b/asm/include/unk_0204C8F0.inc deleted file mode 100644 index 022703e714..0000000000 --- a/asm/include/unk_0204C8F0.inc +++ /dev/null @@ -1,13 +0,0 @@ -.public sub_02025E38 -.public sub_02025F74 -.public sub_02025F94 -.public sub_02025FB8 -.public sub_0203D174 -.public sub_0203E838 -.public sub_0203E850 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public ov5_021DCEB0 -.public ov5_021DCF58 -.public ov5_021DCF6C diff --git a/asm/include/unk_0204CA84.inc b/asm/include/unk_0204CA84.inc deleted file mode 100644 index 9e3cb9f29e..0000000000 --- a/asm/include/unk_0204CA84.inc +++ /dev/null @@ -1,21 +0,0 @@ -.public sub_020245BC -.public sub_02025E38 -.public sub_02026234 -.public sub_02026310 -.public sub_0203D174 -.public sub_0203E838 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public sub_0207A268 -.public ov5_021E6358 -.public ov5_021E64F8 -.public ov5_021E6630 -.public ov5_021E6640 -.public ov5_021E6B40 -.public ov5_021E6EA8 -.public ov5_021E72BC -.public ov5_021E7308 -.public ov5_021E73A0 -.public ov5_021E73C8 -.public ov5_021E7420 diff --git a/asm/include/unk_0204CDDC.inc b/asm/include/unk_0204CDDC.inc deleted file mode 100644 index 9696729f85..0000000000 --- a/asm/include/unk_0204CDDC.inc +++ /dev/null @@ -1,8 +0,0 @@ -.public sub_0201D2E8 -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 -.public sub_020507E4 -.public sub_0206B218 -.public sub_0206B228 -.public _s32_div_f diff --git a/asm/include/unk_0204CFFC.inc b/asm/include/unk_0204CFFC.inc deleted file mode 100644 index b112e7e2d5..0000000000 --- a/asm/include/unk_0204CFFC.inc +++ /dev/null @@ -1,30 +0,0 @@ -.public sub_02017070 -.public sub_020181C4 -.public sub_02024420 -.public sub_02025E38 -.public sub_02025F20 -.public sub_0203A138 -.public sub_0203D174 -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 -.public sub_020548B0 -.public sub_02054988 -.public sub_02054B94 -.public sub_0205E1B4 -.public sub_0206DDB8 -.public sub_02073C2C -.public sub_02073C74 -.public sub_02074470 -.public sub_02074B30 -.public sub_02075BCC -.public sub_02077408 -.public sub_02079BEC -.public sub_0207A048 -.public sub_0207A0F8 -.public sub_0207A0FC -.public sub_0207A268 -.public sub_0207CFF0 -.public sub_020923C0 -.public _s32_div_f -.public ov5_021E6CF0 diff --git a/asm/include/unk_0204E240.inc b/asm/include/unk_0204E240.inc deleted file mode 100644 index ba1c17fd6e..0000000000 --- a/asm/include/unk_0204E240.inc +++ /dev/null @@ -1,5 +0,0 @@ -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 -.public sub_0207D730 -.public sub_0207D990 diff --git a/asm/include/unk_0204E378.inc b/asm/include/unk_0204E378.inc deleted file mode 100644 index 08f47620ae..0000000000 --- a/asm/include/unk_0204E378.inc +++ /dev/null @@ -1,3 +0,0 @@ -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 diff --git a/asm/include/unk_0204E75C.inc b/asm/include/unk_0204E75C.inc deleted file mode 100644 index fa8aaf2062..0000000000 --- a/asm/include/unk_0204E75C.inc +++ /dev/null @@ -1,11 +0,0 @@ -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 -.public sub_0205E060 -.public sub_0207CFF0 -.public sub_0207D55C -.public sub_0207D570 -.public sub_0207D60C -.public sub_0207D688 -.public sub_0207D730 -.public sub_0207D990 diff --git a/asm/include/unk_0204E974.inc b/asm/include/unk_0204E974.inc deleted file mode 100644 index cc0a44fa4f..0000000000 --- a/asm/include/unk_0204E974.inc +++ /dev/null @@ -1,8 +0,0 @@ -.public sub_0202895C -.public sub_02028984 -.public sub_02028CB0 -.public sub_02028E84 -.public sub_020298B0 -.public sub_0203E838 -.public sub_0203F118 -.public sub_0203F150 diff --git a/asm/include/unk_0204EDA4.inc b/asm/include/unk_0204EDA4.inc deleted file mode 100644 index bf603bf1a9..0000000000 --- a/asm/include/unk_0204EDA4.inc +++ /dev/null @@ -1,22 +0,0 @@ -.public sub_02018144 -.public sub_020181C4 -.public GF_AssertFail -.public sub_02025E38 -.public sub_02025E44 -.public sub_0203D174 -.public sub_0203D6E4 -.public sub_0203D750 -.public sub_0203E284 -.public sub_0203E764 -.public sub_0203E838 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public sub_02041D60 -.public sub_0204EE90 -.public sub_0207A0FC -.public sub_0207A268 -.public sub_020997B8 -.public sub_020997D0 -.public sub_020997D8 -.public sub_020998D8 diff --git a/asm/include/unk_0204F02C.inc b/asm/include/unk_0204F02C.inc deleted file mode 100644 index 78a96b4f11..0000000000 --- a/asm/include/unk_0204F02C.inc +++ /dev/null @@ -1 +0,0 @@ -.public GF_AssertFail diff --git a/asm/include/unk_0204F04C.inc b/asm/include/unk_0204F04C.inc deleted file mode 100644 index 7fa815a56c..0000000000 --- a/asm/include/unk_0204F04C.inc +++ /dev/null @@ -1,9 +0,0 @@ -.public sub_020300B0 -.public sub_020300F4 -.public sub_0203068C -.public sub_020306E4 -.public sub_0203E838 -.public sub_0203F150 -.public sub_0205E430 -.public sub_0205E488 -.public sub_0205E6A8 diff --git a/asm/include/unk_0204F13C.inc b/asm/include/unk_0204F13C.inc deleted file mode 100644 index babb7fb535..0000000000 --- a/asm/include/unk_0204F13C.inc +++ /dev/null @@ -1,59 +0,0 @@ -.public sub_0200B60C -.public sub_02018144 -.public sub_02018184 -.public sub_020181C4 -.public GF_AssertFail -.public sub_020247C8 -.public sub_02025E38 -.public sub_02025E44 -.public sub_02028430 -.public sub_0202CD88 -.public sub_0202CF70 -.public sub_0202D230 -.public sub_0202D750 -.public sub_0202D79C -.public sub_02030114 -.public sub_0203026C -.public sub_020302B4 -.public sub_0203068C -.public sub_02030698 -.public sub_020308A0 -.public sub_020308BC -.public sub_020359DC -.public sub_0203CD84 -.public sub_0203E838 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public sub_0204F268 -.public sub_0204F3D0 -.public sub_0204F414 -.public sub_0204F470 -.public sub_0204F4A4 -.public sub_0204F50C -.public sub_0204F5D8 -.public sub_0204F628 -.public sub_0204F6B0 -.public sub_0204FA50 -.public sub_02050944 -.public sub_020509B4 -.public sub_02050A60 -.public sub_02050A64 -.public sub_0205DFC4 -.public sub_0205E50C -.public sub_0205E55C -.public sub_0205E6A8 -.public sub_02074470 -.public sub_02078804 -.public sub_0207A0F8 -.public sub_0207A0FC -.public sub_0207A268 -.public sub_0207A274 -.public sub_0207D990 -.public sub_0208C324 -.public sub_0208D720 -.public sub_0208E9C0 -.public sub_02099514 -.public MIi_CpuClearFast -.public MI_CpuFill8 -.public MI_CpuCopy8 diff --git a/asm/include/unk_0204FA34.inc b/asm/include/unk_0204FA34.inc deleted file mode 100644 index 979063e4bb..0000000000 --- a/asm/include/unk_0204FA34.inc +++ /dev/null @@ -1,6 +0,0 @@ -.public sub_02030280 -.public sub_0203068C -.public sub_020306E4 -.public sub_0203608C -.public sub_0205E50C -.public sub_0205E6A8 diff --git a/asm/include/unk_0204FAB4.inc b/asm/include/unk_0204FAB4.inc deleted file mode 100644 index 9c598bbc93..0000000000 --- a/asm/include/unk_0204FAB4.inc +++ /dev/null @@ -1,50 +0,0 @@ -.public sub_02018144 -.public sub_02018184 -.public sub_020181C4 -.public GF_AssertFail -.public sub_02025E38 -.public sub_02025E44 -.public sub_02028430 -.public sub_0202D79C -.public sub_020302DC -.public sub_0203041C -.public sub_02030430 -.public sub_02030470 -.public sub_0203068C -.public sub_02030698 -.public sub_020306E4 -.public sub_020359DC -.public sub_0203CD84 -.public sub_0203E838 -.public sub_0203F098 -.public sub_0203F118 -.public sub_0203F150 -.public sub_02049EC4 -.public sub_0204FBEC -.public sub_0204FCF8 -.public sub_0204FD38 -.public sub_0204FDB4 -.public sub_0204FDE8 -.public sub_0204FE50 -.public sub_0204FF1C -.public sub_0204FF6C -.public sub_0204FFF4 -.public sub_02050944 -.public sub_020509B4 -.public sub_02050A60 -.public sub_02050A64 -.public sub_0205E5B4 -.public sub_0205E5E0 -.public sub_0205E630 -.public sub_0205E6A8 -.public sub_0207A0F8 -.public sub_0207A268 -.public sub_0207A274 -.public sub_0207D990 -.public sub_0208C324 -.public sub_0208D720 -.public sub_0208E9C0 -.public sub_02099514 -.public MIi_CpuClearFast -.public MI_CpuFill8 -.public MI_CpuCopy8 diff --git a/asm/include/unk_0205C22C.inc b/asm/include/unk_0205C22C.inc deleted file mode 100644 index 681a327859..0000000000 --- a/asm/include/unk_0205C22C.inc +++ /dev/null @@ -1,62 +0,0 @@ -.public sub_02005748 -.public sub_0200D9E8 -.public sub_0200DA58 -.public sub_02014A9C -.public sub_02017FD4 -.public sub_0201807C -.public sub_02018144 -.public sub_020181C4 -.public GF_AssertFail -.public sub_02023790 -.public sub_020237BC -.public sub_020245BC -.public sub_02025F20 -.public sub_02025F8C -.public sub_020280E0 -.public sub_02036A68 -.public sub_02036AA0 -.public sub_020509A4 -.public sub_0205B770 -.public sub_0205B774 -.public sub_0205C2C8 -.public sub_0205C304 -.public sub_0205C340 -.public sub_0205C444 -.public sub_0205C44C -.public sub_0205C51C -.public sub_0205C680 -.public sub_0205C6BC -.public sub_0205C6E0 -.public sub_0205C788 -.public sub_0205C7BC -.public sub_0205C7E4 -.public sub_0205C8DC -.public sub_0205C900 -.public sub_0205C924 -.public sub_0205C944 -.public sub_0205C95C -.public sub_0205C970 -.public sub_0205EABC -.public sub_0205EAC8 -.public sub_0205EB3C -.public sub_02061AD4 -.public sub_0206251C -.public sub_0206296C -.public sub_020629FC -.public sub_02062A04 -.public sub_02062D64 -.public sub_02062D80 -.public sub_02062DB4 -.public sub_02062FF0 -.public sub_02062FF8 -.public sub_02063000 -.public sub_02063340 -.public sub_020633A8 -.public sub_020655F4 -.public sub_02065638 -.public sub_020656AC -.public sub_0207136C -.public sub_020714F0 -.public MIi_CpuClearFast -.public ov5_021F16D4 -.public ov5_021F6094 diff --git a/asm/include/unk_0205C980.inc b/asm/include/unk_0205C980.inc deleted file mode 100644 index 66116e81f2..0000000000 --- a/asm/include/unk_0205C980.inc +++ /dev/null @@ -1,6 +0,0 @@ -.public sub_02006F88 -.public sub_0200B960 -.public sub_02018144 -.public sub_020181C4 -.public GF_AssertFail -.public sub_0205C9E0 diff --git a/asm/include/unk_0205D8CC.inc b/asm/include/unk_0205D8CC.inc deleted file mode 100644 index c7c5f597ac..0000000000 --- a/asm/include/unk_0205D8CC.inc +++ /dev/null @@ -1,18 +0,0 @@ -.public sub_02002AC8 -.public sub_02002AE4 -.public sub_02002B20 -.public sub_02002E7C -.public sub_02002E98 -.public sub_0200DD0C -.public sub_0200E060 -.public sub_0200E2A4 -.public sub_0200E69C -.public sub_0201A7E8 -.public sub_0201ADA4 -.public sub_0201C290 -.public sub_0201D710 -.public sub_0201D724 -.public sub_0201D738 -.public sub_02027AC0 -.public sub_02027B50 -.public sub_0205D988 diff --git a/asm/include/unk_0205F180.inc b/asm/include/unk_0205F180.inc deleted file mode 100644 index 11f692be34..0000000000 --- a/asm/include/unk_0205F180.inc +++ /dev/null @@ -1,196 +0,0 @@ -.public sub_02005748 -.public GF_AssertFail -.public sub_0202CD88 -.public sub_0202CF28 -.public sub_02054F94 -.public sub_0205507C -.public sub_0205DAD4 -.public sub_0205DAEC -.public sub_0205DAF8 -.public sub_0205DB04 -.public sub_0205DB10 -.public sub_0205DB1C -.public sub_0205DB58 -.public sub_0205DB6C -.public sub_0205DB78 -.public sub_0205DB84 -.public sub_0205DB90 -.public sub_0205DB9C -.public sub_0205DBA8 -.public sub_0205DBB4 -.public sub_0205DBC0 -.public sub_0205DBCC -.public sub_0205DBD8 -.public sub_0205DCE0 -.public sub_0205DCF0 -.public sub_0205DCFC -.public sub_0205DD44 -.public sub_0205DD50 -.public sub_0205DD5C -.public sub_0205DD90 -.public sub_0205DD9C -.public sub_0205DE5C -.public sub_0205DFAC -.public sub_0205EA78 -.public sub_0205EA94 -.public sub_0205EAA0 -.public sub_0205EABC -.public sub_0205EAC8 -.public sub_0205EB08 -.public sub_0205EB0C -.public sub_0205EB10 -.public sub_0205EB14 -.public sub_0205EB3C -.public sub_0205EB74 -.public sub_0205EBB8 -.public sub_0205EBBC -.public sub_0205EBC0 -.public sub_0205EBCC -.public sub_0205EBE0 -.public sub_0205EBE8 -.public sub_0205EBEC -.public sub_0205EC0C -.public sub_0205EC14 -.public sub_0205EC20 -.public sub_0205EC40 -.public sub_0205EC78 -.public sub_0205EC88 -.public sub_0205EF40 -.public sub_0205EF58 -.public sub_0205EF6C -.public sub_0205EF84 -.public sub_0205EF98 -.public sub_0205EFB0 -.public sub_0205EFDC -.public sub_0205EFF0 -.public sub_0205F008 -.public sub_0205F01C -.public sub_0205F034 -.public sub_0205F048 -.public sub_0205F054 -.public sub_0205F060 -.public sub_0205F074 -.public sub_0205F08C -.public sub_0205F108 -.public sub_0205F158 -.public sub_0205F22C -.public sub_0205F350 -.public sub_0205F378 -.public sub_0205F3B8 -.public sub_0205F62C -.public sub_0205F644 -.public sub_0205F6A4 -.public sub_0205FA6C -.public sub_0205FAB0 -.public sub_0205FB10 -.public sub_0205FB40 -.public sub_0205FB88 -.public sub_0205FBE4 -.public sub_0205FC48 -.public sub_0205FC64 -.public sub_0205FC88 -.public sub_0205FCBC -.public sub_0205FCC0 -.public sub_0205FD20 -.public sub_0205FD40 -.public sub_0205FDC8 -.public sub_0205FECC -.public sub_0206000C -.public sub_020600CC -.public sub_02060150 -.public sub_020601D4 -.public sub_02060258 -.public sub_020602DC -.public sub_02060324 -.public sub_02060390 -.public sub_020603BC -.public sub_020603EC -.public sub_02060420 -.public sub_02060494 -.public sub_020604B0 -.public sub_020604E4 -.public sub_02060548 -.public sub_02060570 -.public sub_02060688 -.public sub_020606C8 -.public sub_0206078C -.public sub_02060800 -.public sub_0206081C -.public sub_02060850 -.public sub_020608BC -.public sub_020608E4 -.public sub_02060A60 -.public sub_02060AA0 -.public sub_02060B64 -.public sub_02060B7C -.public sub_02060C24 -.public sub_02060CE4 -.public sub_02060D98 -.public sub_02060E40 -.public sub_02060EE4 -.public sub_02060F4C -.public sub_02060FA8 -.public sub_02061058 -.public sub_02061100 -.public sub_02061180 -.public sub_020611FC -.public sub_02061248 -.public sub_02061310 -.public sub_0206132C -.public sub_02061348 -.public sub_020613D8 -.public sub_020613FC -.public sub_02061434 -.public sub_0206156C -.public sub_0206157C -.public sub_020615C8 -.public sub_020615E0 -.public sub_02061630 -.public sub_02061674 -.public sub_020628BC -.public sub_020628C4 -.public sub_02062974 -.public sub_0206298C -.public sub_02062994 -.public sub_0206299C -.public sub_02062A0C -.public sub_02062BB8 -.public sub_02062BE8 -.public sub_02062C00 -.public sub_02062EE0 -.public sub_02063020 -.public sub_02063030 -.public sub_02063040 -.public sub_02063050 -.public sub_02063F00 -.public sub_02063FAC -.public sub_02064004 -.public sub_0206406C -.public sub_020640D4 -.public sub_0206413C -.public sub_0206415C -.public sub_0206417C -.public sub_0206419C -.public sub_020641A8 -.public sub_02064208 -.public sub_02064238 -.public sub_02064418 -.public sub_0206447C -.public sub_020644A4 -.public sub_020655F4 -.public sub_02065638 -.public sub_02065684 -.public sub_020656DC -.public sub_02065838 -.public sub_0206587C -.public sub_020683D8 -.public sub_02071CB4 -.public ov5_021DFB5C -.public ov5_021E0E94 -.public ov5_021E0EEC -.public ov9_02250F90 -.public ov9_02250FBC -.public ov9_02250FD8 -.public ov9_02251000 -.public ov9_02251044 -.public ov9_022511A0 diff --git a/asm/include/unk_0206A8DC.inc b/asm/include/unk_0206A8DC.inc deleted file mode 100644 index a70b05f6c0..0000000000 --- a/asm/include/unk_0206A8DC.inc +++ /dev/null @@ -1,9 +0,0 @@ -.public sub_02013948 -.public GF_AssertFail -.public sub_020507F0 -.public sub_0205081C -.public sub_02050844 -.public sub_0206A8DC -.public sub_0206A8E4 -.public sub_0206A8EC -.public sub_0206A8F4 diff --git a/asm/unk_0204B64C.s b/asm/unk_0204B64C.s deleted file mode 100644 index ceff2f1139..0000000000 --- a/asm/unk_0204B64C.s +++ /dev/null @@ -1,251 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204B64C.inc" - - - - .text - - - thumb_func_start sub_0204B64C -sub_0204B64C: ; 0x0204B64C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r1, r0, #0 - add r5, #0x80 - ldr r0, [r5, #0] - ldr r1, [r1, #0] - bl sub_02055F00 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204B64C - - thumb_func_start sub_0204B680 -sub_0204B680: ; 0x0204B680 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r1, [r4, #0] - bl sub_02055F40 - strh r0, [r6] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204B680 - - thumb_func_start sub_0204B6B4 -sub_0204B6B4: ; 0x0204B6B4 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r1, [r4, #0] - bl sub_02055F64 - strh r0, [r6] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204B6B4 - - thumb_func_start sub_0204B6E8 -sub_0204B6E8: ; 0x0204B6E8 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r1, [r4, #0] - bl sub_02055F88 - strh r0, [r6] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204B6E8 - - thumb_func_start sub_0204B71C -sub_0204B71C: ; 0x0204B71C - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r1, [r4, #0] - bl sub_02055FA8 - strh r0, [r6] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204B71C - - thumb_func_start sub_0204B750 -sub_0204B750: ; 0x0204B750 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r2, r0, #0 - ldr r0, [r5, #0] - ldr r1, [r4, #0] - bl sub_02055E80 - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204B750 - - thumb_func_start sub_0204B784 -sub_0204B784: ; 0x0204B784 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0202CD88 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r2, r0, #0 - ldr r0, [r5, #0] - ldr r1, [r4, #0] - bl sub_02055EAC - add r0, r6, #0 - mov r1, #4 - bl sub_0202CF28 - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204B784 - - thumb_func_start sub_0204B7CC -sub_0204B7CC: ; 0x0204B7CC - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - cmp r0, #0 - beq _0204B7DE - cmp r0, #1 - beq _0204B7E8 - b _0204B7F2 -_0204B7DE: - add r4, #0x80 - ldr r0, [r4, #0] - bl sub_020562AC - b _0204B7F6 -_0204B7E8: - add r4, #0x80 - ldr r0, [r4, #0] - bl sub_020562D8 - b _0204B7F6 -_0204B7F2: - bl GF_AssertFail -_0204B7F6: - mov r0, #1 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204B7CC - - thumb_func_start sub_0204B7FC -sub_0204B7FC: ; 0x0204B7FC - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0202CD88 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xa - bl sub_0203F098 - add r1, r0, #0 - add r5, #0x80 - ldr r0, [r5, #0] - ldr r1, [r1, #0] - bl sub_02055E00 - add r0, r4, #0 - mov r1, #0 - bl sub_0202CFEC - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204B7FC \ No newline at end of file diff --git a/asm/unk_0204C500.s b/asm/unk_0204C500.s deleted file mode 100644 index 966e16650d..0000000000 --- a/asm/unk_0204C500.s +++ /dev/null @@ -1,227 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204C500.inc" - - - - .text - - - thumb_func_start sub_0204C500 -sub_0204C500: ; 0x0204C500 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_020507E4 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - cmp r0, #0 - bne _0204C536 - add r0, r4, #0 - bl sub_0206AE6C - add r5, #0x80 - ldr r0, [r5, #0] - bl sub_020562F8 - b _0204C54E -_0204C536: - cmp r0, #1 - bne _0204C54A - add r0, r4, #0 - bl sub_0206AE7C - add r5, #0x80 - ldr r0, [r5, #0] - bl sub_02056328 - b _0204C54E -_0204C54A: - bl GF_AssertFail -_0204C54E: - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204C500 - - thumb_func_start sub_0204C554 -sub_0204C554: ; 0x0204C554 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02024440 - add r6, r0, #0 - mov r0, #0x20 - bl sub_02073C74 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0202F028 - cmp r0, #6 - bne _0204C58C - mov r0, #1 - b _0204C58E -_0204C58C: - mov r0, #0 -_0204C58E: - strh r0, [r4] - add r0, r5, #0 - bl sub_020181C4 - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204C554 - - thumb_func_start sub_0204C59C -sub_0204C59C: ; 0x0204C59C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r6, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02024440 - add r7, r0, #0 - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02024420 - str r0, [sp, #8] - mov r0, #0x20 - bl sub_02073C74 - add r4, r0, #0 - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E38 - str r0, [sp, #4] - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02027560 - mov r5, #0 -_0204C5E0: - add r0, r7, #0 - add r1, r5, #0 - add r2, r4, #0 - bl sub_0202F000 - mov r0, #0x20 - str r0, [sp] - ldr r1, [sp, #4] - add r0, r4, #0 - mov r2, #2 - mov r3, #0 - bl sub_0209304C - add r0, r4, #0 - bl sub_02076B10 - add r1, r0, #0 - ldr r0, [sp, #8] - bl sub_02079868 - cmp r0, #0 - bne _0204C610 - bl GF_AssertFail -_0204C610: - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - add r1, r4, #0 - ldr r0, [r0, #0xc] - bl sub_0202F180 - add r5, r5, #1 - cmp r5, #6 - blt _0204C5E0 - add r0, r4, #0 - bl sub_020181C4 - add r0, r7, #0 - bl sub_0202EF04 - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204C59C - - thumb_func_start sub_0204C638 -sub_0204C638: ; 0x0204C638 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - cmp r6, #3 - bhi _0204C6C4 - add r0, r6, r6 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0204C672: ; jump table - .short _0204C67A - _0204C672 - 2 ; case 0 - .short _0204C686 - _0204C672 - 2 ; case 1 - .short _0204C692 - _0204C672 - 2 ; case 2 - .short _0204C69E - _0204C672 - 2 ; case 3 -_0204C67A: - add r4, #0x80 - ldr r0, [r4, #0] - bl sub_020563D0 - strh r0, [r5] - b _0204C6C4 -_0204C686: - add r4, #0x80 - ldr r0, [r4, #0] - bl sub_020563E0 - strh r0, [r5] - b _0204C6C4 -_0204C692: - add r4, #0x80 - ldr r0, [r4, #0] - bl sub_020563F0 - strh r0, [r5] - b _0204C6C4 -_0204C69E: - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_020563E0 - add r6, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_020563D0 - add r4, #0x80 - add r7, r0, #0 - ldr r0, [r4, #0] - bl sub_020563F0 - add r0, r7, r0 - add r0, r6, r0 - strh r0, [r5] -_0204C6C4: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204C638 \ No newline at end of file diff --git a/asm/unk_0204C6C8.s b/asm/unk_0204C6C8.s deleted file mode 100644 index 68d4c6a241..0000000000 --- a/asm/unk_0204C6C8.s +++ /dev/null @@ -1,280 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204C6C8.inc" - - - - .text - - - thumb_func_start sub_0204C6C8 -sub_0204C6C8: ; 0x0204C6C8 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r5, #0 - mov r1, #0x26 - bl sub_0203F098 - lsl r1, r6, #0x18 - lsl r2, r7, #0x18 - add r4, #0x80 - add r5, r0, #0 - ldr r0, [r4, #0] - lsr r1, r1, #0x18 - lsr r2, r2, #0x18 - bl ov5_021DD020 - str r0, [r5, #0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204C6C8 - - thumb_func_start sub_0204C718 -sub_0204C718: ; 0x0204C718 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x26 - bl sub_0203F098 - ldr r0, [r0, #0] - bl ov5_021DD084 - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0204C718 - - thumb_func_start sub_0204C730 -sub_0204C730: ; 0x0204C730 - push {r4, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x26 - bl sub_0203F098 - add r1, r0, #0 - add r4, #0x80 - ldr r0, [r4, #0] - ldr r1, [r1, #0] - bl ov5_021DD098 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204C730 - - thumb_func_start sub_0204C750 -sub_0204C750: ; 0x0204C750 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E50 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0202B5B4 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204C750 - - thumb_func_start sub_0204C780 -sub_0204C780: ; 0x0204C780 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E50 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r1, r0, #0 - add r0, r5, #0 - bl sub_0202B5B8 - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204C780 - - thumb_func_start sub_0204C7AC -sub_0204C7AC: ; 0x0204C7AC - push {r3, r4, r5, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E50 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r1, r0, #0 - add r0, r5, #0 - bl sub_0202B5F0 - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204C7AC - - thumb_func_start sub_0204C7D8 -sub_0204C7D8: ; 0x0204C7D8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E50 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r1, r0, #0 - ldrh r1, [r1] - add r0, r4, #0 - bl sub_0202B5F0 - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204C7D8 - - thumb_func_start sub_0204C808 -sub_0204C808: ; 0x0204C808 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r5, [r0, #0] - add r0, r5, #0 - bl sub_0203D174 - bl sub_02025E38 - ldr r0, [r5, #0xc] - bl sub_02025E50 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E850 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0202B5B4 - cmp r0, r4 - bhs _0204C84C - mov r0, #0 - b _0204C84E -_0204C84C: - mov r0, #1 -_0204C84E: - strh r0, [r5] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204C808 - - thumb_func_start sub_0204C854 -sub_0204C854: ; 0x0204C854 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r4, [r0, #0] - add r0, r4, #0 - bl sub_0203D174 - bl sub_02025E38 - ldr r0, [r4, #0xc] - bl sub_02025E50 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - ldrh r5, [r0] - add r0, r6, #0 - bl sub_0202B5B4 - cmp r0, r5 - bhs _0204C8A2 - mov r0, #0 - b _0204C8A4 -_0204C8A2: - mov r0, #1 -_0204C8A4: - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204C854 - - thumb_func_start sub_0204C8AC -sub_0204C8AC: ; 0x0204C8AC - push {r4, r5, r6, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E50 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r1, r0, #0 - add r0, r6, #0 - bl sub_0202B5D8 - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204C8AC \ No newline at end of file diff --git a/asm/unk_0204C8F0.s b/asm/unk_0204C8F0.s deleted file mode 100644 index 9a28fa1b83..0000000000 --- a/asm/unk_0204C8F0.s +++ /dev/null @@ -1,209 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204C8F0.inc" - - - - .text - - - thumb_func_start sub_0204C8F0 -sub_0204C8F0: ; 0x0204C8F0 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203D174 - bl sub_02025E38 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E850 - add r1, r0, #0 - add r0, r5, #0 - bl sub_02025F94 - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204C8F0 - - thumb_func_start sub_0204C914 -sub_0204C914: ; 0x0204C914 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203D174 - bl sub_02025E38 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E850 - add r1, r0, #0 - add r0, r5, #0 - bl sub_02025FB8 - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204C914 - - thumb_func_start sub_0204C938 -sub_0204C938: ; 0x0204C938 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203D174 - bl sub_02025E38 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r1, r0, #0 - add r0, r5, #0 - bl sub_02025FB8 - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204C938 - - thumb_func_start sub_0204C968 -sub_0204C968: ; 0x0204C968 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203D174 - bl sub_02025E38 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E850 - add r4, r0, #0 - add r0, r6, #0 - bl sub_02025F74 - cmp r0, r4 - bhs _0204C9A4 - mov r0, #0 - b _0204C9A6 -_0204C9A4: - mov r0, #1 -_0204C9A6: - strh r0, [r5] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204C968 - - thumb_func_start sub_0204C9AC -sub_0204C9AC: ; 0x0204C9AC - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203D174 - bl sub_02025E38 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r6, #0 - bl sub_02025F74 - cmp r0, r4 - bhs _0204C9F2 - mov r0, #0 - b _0204C9F4 -_0204C9F2: - mov r0, #1 -_0204C9F4: - strh r0, [r5] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204C9AC - - thumb_func_start sub_0204C9FC -sub_0204C9FC: ; 0x0204C9FC - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r5, #0 - mov r1, #0x27 - bl sub_0203F098 - lsl r1, r6, #0x18 - lsl r2, r7, #0x18 - add r4, #0x80 - add r5, r0, #0 - ldr r0, [r4, #0] - lsr r1, r1, #0x18 - lsr r2, r2, #0x18 - bl ov5_021DCEB0 - str r0, [r5, #0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204C9FC - - thumb_func_start sub_0204CA4C -sub_0204CA4C: ; 0x0204CA4C - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x27 - bl sub_0203F098 - ldr r0, [r0, #0] - bl ov5_021DCF58 - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0204CA4C - - thumb_func_start sub_0204CA64 -sub_0204CA64: ; 0x0204CA64 - push {r4, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x27 - bl sub_0203F098 - add r1, r0, #0 - add r4, #0x80 - ldr r0, [r4, #0] - ldr r1, [r1, #0] - bl ov5_021DCF6C - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204CA64 \ No newline at end of file diff --git a/asm/unk_0204CA84.s b/asm/unk_0204CA84.s deleted file mode 100644 index d1f74b506f..0000000000 --- a/asm/unk_0204CA84.s +++ /dev/null @@ -1,427 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204CA84.inc" - - - - .text - - - thumb_func_start sub_0204CA84 -sub_0204CA84: ; 0x0204CA84 - push {r3, r4, r5, lr} - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xf - ldr r5, [r0, #0xc] - bl sub_0203F098 - add r4, r0, #0 - add r0, r5, #0 - bl sub_02026310 - ldr r1, [r4, #0] - bl ov5_021E72BC - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204CA84 - - thumb_func_start sub_0204CAA4 -sub_0204CAA4: ; 0x0204CAA4 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r4, [r1, #0xc] - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - mov r1, #8 - bl sub_020245BC - bl ov5_021E73C8 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204CAA4 - - thumb_func_start sub_0204CAD4 -sub_0204CAD4: ; 0x0204CAD4 - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #8 - ldr r0, [r0, #0xc] - bl sub_020245BC - bl ov5_021E6B40 - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0204CAD4 - - thumb_func_start sub_0204CAEC -sub_0204CAEC: ; 0x0204CAEC - push {r4, r5, r6, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r5, [r0, #0] - mov r1, #8 - ldr r0, [r5, #0xc] - bl sub_020245BC - add r6, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - add r4, #0x80 - add r5, r0, #0 - ldr r0, [r4, #0] - bl sub_0203D174 - bl sub_02025E38 - add r2, r0, #0 - add r0, r6, #0 - add r1, r5, #0 - bl ov5_021E6EA8 - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204CAEC - - thumb_func_start sub_0204CB20 -sub_0204CB20: ; 0x0204CB20 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r5, [r0, #0] - mov r1, #0xf - add r0, r5, #0 - bl sub_0203F098 - add r7, r0, #0 - add r0, r4, #0 - ldr r6, [r5, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r6, #0 - mov r1, #8 - bl sub_020245BC - add r6, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - lsl r3, r4, #0x18 - ldr r1, [r7, #0] - add r2, r6, #0 - lsr r3, r3, #0x18 - bl ov5_021E64F8 - ldr r1, [sp] - strh r0, [r1] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204CB20 - - thumb_func_start sub_0204CB80 -sub_0204CB80: ; 0x0204CB80 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r5, [r0, #0] - mov r1, #0xf - add r0, r5, #0 - bl sub_0203F098 - add r7, r0, #0 - add r0, r4, #0 - ldr r5, [r5, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - mov r1, #8 - bl sub_020245BC - lsl r1, r4, #0x18 - ldr r2, [r7, #0] - lsr r1, r1, #0x18 - bl ov5_021E6630 - strh r0, [r6] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204CB80 - - thumb_func_start sub_0204CBD4 -sub_0204CBD4: ; 0x0204CBD4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xf - ldr r4, [r0, #0xc] - bl sub_0203F098 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r7, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r4, #0 - mov r1, #8 - bl sub_020245BC - ldr r2, [r6, #0] - add r1, r5, #0 - bl ov5_021E6640 - strh r0, [r7] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204CBD4 - - thumb_func_start sub_0204CC24 -sub_0204CC24: ; 0x0204CC24 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r5, [r0, #0] - mov r1, #0xf - add r0, r5, #0 - bl sub_0203F098 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - ldr r2, [r6, #0] - add r1, r7, #0 - bl ov5_021E73A0 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204CC24 - - thumb_func_start sub_0204CC78 -sub_0204CC78: ; 0x0204CC78 - push {r4, r5, r6, lr} - add r6, r0, #0 - add r1, r6, #0 - add r1, #0x80 - ldr r4, [r1, #0] - ldr r5, [r4, #0xc] - bl sub_0203E838 - add r6, #0x80 - add r1, r0, #0 - ldr r0, [r6, #0] - bl sub_0203F150 - add r6, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - add r4, r0, #0 - add r0, r5, #0 - mov r1, #8 - bl sub_020245BC - lsl r1, r6, #0x18 - add r2, r0, #0 - add r0, r4, #0 - lsr r1, r1, #0x18 - add r3, r5, #0 - bl ov5_021E6358 - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204CC78 - - thumb_func_start sub_0204CCB8 -sub_0204CCB8: ; 0x0204CCB8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0xf - ldr r5, [r0, #0xc] - bl sub_0203F098 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - str r0, [sp, #8] - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_02026310 - lsl r1, r4, #0x18 - lsr r1, r1, #0x18 - str r1, [sp] - ldr r1, [r6, #0] - ldr r2, [sp, #8] - ldr r3, [sp, #0xc] - str r1, [sp, #4] - lsl r1, r7, #0x18 - lsl r2, r2, #0x18 - lsl r3, r3, #0x18 - lsr r1, r1, #0x18 - lsr r2, r2, #0x18 - lsr r3, r3, #0x18 - bl ov5_021E7308 - mov r0, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204CCB8 - - thumb_func_start sub_0204CD44 -sub_0204CD44: ; 0x0204CD44 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r4, [r1, #0xc] - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - mov r1, #8 - bl sub_020245BC - bl ov5_021E7420 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204CD44 - - thumb_func_start sub_0204CD74 -sub_0204CD74: ; 0x0204CD74 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r4, [r1, #0xc] - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - mov r1, #8 - bl sub_020245BC - bl sub_02026234 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204CD74 - - thumb_func_start sub_0204CDA4 -sub_0204CDA4: ; 0x0204CDA4 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204CDA4 - - thumb_func_start sub_0204CDBC -sub_0204CDBC: ; 0x0204CDBC - mov r0, #0 - bx lr - thumb_func_end sub_0204CDBC - - thumb_func_start sub_0204CDC0 -sub_0204CDC0: ; 0x0204CDC0 - mov r0, #0 - bx lr - thumb_func_end sub_0204CDC0 - - thumb_func_start sub_0204CDC4 -sub_0204CDC4: ; 0x0204CDC4 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204CDC4 \ No newline at end of file diff --git a/asm/unk_0204CDDC.s b/asm/unk_0204CDDC.s deleted file mode 100644 index ac59d11a3e..0000000000 --- a/asm/unk_0204CDDC.s +++ /dev/null @@ -1,317 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204CDDC.inc" - - - - .text - - - thumb_func_start sub_0204CDDC -sub_0204CDDC: ; 0x0204CDDC - push {r3, lr} - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_020507E4 - bl sub_0206B218 - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0204CDDC - - thumb_func_start sub_0204CDF0 -sub_0204CDF0: ; 0x0204CDF0 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r4, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_020507E4 - bl sub_0206B228 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204CDF0 - - thumb_func_start sub_0204CE1C -sub_0204CE1C: ; 0x0204CE1C - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - bl sub_0201D2E8 - mov r1, #0x64 - bl _s32_div_f - lsl r0, r1, #0x10 - lsr r0, r0, #0x10 - cmp r0, #0xf - bhs _0204CE5A - mov r0, #0 - b _0204CE9C -_0204CE5A: - cmp r0, #0x1e - bhs _0204CE62 - mov r0, #1 - b _0204CE9C -_0204CE62: - cmp r0, #0x2d - bhs _0204CE6A - mov r0, #2 - b _0204CE9C -_0204CE6A: - cmp r0, #0x3c - bhs _0204CE72 - mov r0, #3 - b _0204CE9C -_0204CE72: - cmp r0, #0x46 - bhs _0204CE7A - mov r0, #4 - b _0204CE9C -_0204CE7A: - cmp r0, #0x50 - bhs _0204CE82 - mov r0, #5 - b _0204CE9C -_0204CE82: - cmp r0, #0x58 - bhs _0204CE8A - mov r0, #6 - b _0204CE9C -_0204CE8A: - cmp r0, #0x5d - bhs _0204CE92 - mov r0, #7 - b _0204CE9C -_0204CE92: - cmp r0, #0x62 - bhs _0204CE9A - mov r0, #8 - b _0204CE9C -_0204CE9A: - mov r0, #9 -_0204CE9C: - mov r2, #0x4b - lsl r2, r2, #2 - cmp r4, r2 - bgt _0204CED4 - bge _0204CF44 - cmp r4, #0x36 - bgt _0204CEC4 - bge _0204CF3C - cmp r4, #0x19 - bgt _0204CEB4 - beq _0204CF40 - b _0204CF48 -_0204CEB4: - cmp r4, #0x27 - bgt _0204CF48 - cmp r4, #0x23 - blt _0204CF48 - beq _0204CF40 - cmp r4, #0x27 - beq _0204CF44 - b _0204CF48 -_0204CEC4: - cmp r4, #0xff - bgt _0204CECC - beq _0204CF44 - b _0204CF48 -_0204CECC: - sub r2, #0xf - cmp r4, r2 - beq _0204CF44 - b _0204CF48 -_0204CED4: - add r1, r2, #0 - add r1, #0x75 - cmp r4, r1 - bgt _0204CF18 - add r1, r2, #0 - add r1, #0x75 - cmp r4, r1 - bge _0204CF40 - add r1, r2, #0 - add r1, #0x57 - cmp r4, r1 - bgt _0204CEF4 - add r2, #0x57 - cmp r4, r2 - beq _0204CF38 - b _0204CF48 -_0204CEF4: - add r2, #0x58 - sub r1, r4, r2 - cmp r1, #7 - bhi _0204CF48 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0204CF08: ; jump table - .short _0204CF38 - _0204CF08 - 2 ; case 0 - .short _0204CF38 - _0204CF08 - 2 ; case 1 - .short _0204CF30 - _0204CF08 - 2 ; case 2 - .short _0204CF30 - _0204CF08 - 2 ; case 3 - .short _0204CF30 - _0204CF08 - 2 ; case 4 - .short _0204CF34 - _0204CF08 - 2 ; case 5 - .short _0204CF34 - _0204CF08 - 2 ; case 6 - .short _0204CF34 - _0204CF08 - 2 ; case 7 -_0204CF18: - ldr r1, _0204CF60 ; =0x000001AB - cmp r4, r1 - bgt _0204CF28 - bge _0204CF3C - sub r1, r1, #2 - cmp r4, r1 - beq _0204CF3C - b _0204CF48 -_0204CF28: - add r1, #0xd - cmp r4, r1 - beq _0204CF40 - b _0204CF48 -_0204CF30: - mov r2, #0 - b _0204CF4A -_0204CF34: - mov r2, #1 - b _0204CF4A -_0204CF38: - mov r2, #2 - b _0204CF4A -_0204CF3C: - mov r2, #3 - b _0204CF4A -_0204CF40: - mov r2, #4 - b _0204CF4A -_0204CF44: - mov r2, #5 - b _0204CF4A -_0204CF48: - mov r2, #0 -_0204CF4A: - add r3, r2, #0 - mov r1, #0x14 - mul r3, r1 - ldr r2, _0204CF64 ; =0x020EBF84 - lsl r1, r0, #1 - add r0, r2, r3 - ldrh r0, [r1, r0] - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_0204CF60: .word 0x000001AB -_0204CF64: .word 0x020EBF84 - thumb_func_end sub_0204CE1C - - thumb_func_start sub_0204CF68 -sub_0204CF68: ; 0x0204CF68 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - bl sub_0201D2E8 - mov r1, #0xf - and r0, r1 - strh r0, [r4] - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204CF68 - - thumb_func_start sub_0204CF8C -sub_0204CF8C: ; 0x0204CF8C - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - cmp r5, #9 - bhs _0204CFBA - mov r1, #0 - b _0204CFBC -_0204CFBA: - mov r1, #1 -_0204CFBC: - strh r1, [r0] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204CF8C - - thumb_func_start sub_0204CFC4 -sub_0204CFC4: ; 0x0204CFC4 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - ldr r1, _0204CFF8 ; =0x020EBF64 - lsl r2, r5, #1 - ldrh r1, [r1, r2] - strh r1, [r0] - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_0204CFF8: .word 0x020EBF64 - thumb_func_end sub_0204CFC4 - - .rodata - - - .global Unk_020EBF64 -Unk_020EBF64: ; 0x020EBF64 - .incbin "incbin/arm9_rodata.bin", 0x7324, 0x7344 - 0x7324 - - .global Unk_020EBF84 -Unk_020EBF84: ; 0x020EBF84 - .incbin "incbin/arm9_rodata.bin", 0x7344, 0x78 - diff --git a/asm/unk_0204CFFC.s b/asm/unk_0204CFFC.s deleted file mode 100644 index 2ef95adfb1..0000000000 --- a/asm/unk_0204CFFC.s +++ /dev/null @@ -1,2221 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204CFFC.inc" - - - - .text - - - thumb_func_start sub_0204CFFC -sub_0204CFFC: ; 0x0204CFFC - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r4, r0, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0] - bl sub_0203A138 - add r6, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r5, [r0, #0] - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - str r0, [sp, #0x10] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - ldr r0, [sp, #0x10] - lsl r3, r7, #0x18 - str r0, [sp] - str r6, [sp, #4] - mov r0, #0x18 - str r0, [sp, #8] - ldr r1, [r5, #0xc] - ldr r2, [sp, #0xc] - mov r0, #0xb - lsr r3, r3, #0x18 - bl sub_020548B0 - strh r0, [r4] - mov r0, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204CFFC - - thumb_func_start sub_0204D08C -sub_0204D08C: ; 0x0204D08C - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - ldrh r1, [r6] - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r5, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D0E0 - add r0, r5, #0 - mov r1, #5 - mov r2, #0 - bl sub_02074470 - b _0204D0E2 -_0204D0E0: - mov r0, #0 -_0204D0E2: - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204D08C - - thumb_func_start sub_0204D0E8 -sub_0204D0E8: ; 0x0204D0E8 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r0, #0x80 - ldr r5, [r0, #0] - add r0, r5, #0 - bl sub_0203D174 - bl sub_02025E38 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - ldrh r1, [r6] - bl sub_0207A0FC - mov r1, #7 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r7, #0 - bl sub_02025F20 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r5, r0 - bne _0204D14C - mov r0, #0 - b _0204D14E -_0204D14C: - mov r0, #1 -_0204D14E: - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204D0E8 - - thumb_func_start sub_0204D154 -sub_0204D154: ; 0x0204D154 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - add r0, #0x80 - ldr r4, [r0, #0] - ldr r0, [r4, #0xc] - bl sub_02025E38 - add r7, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - str r0, [sp, #8] - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - add r6, r0, #0 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #6 - bhs _0204D1D4 - mov r0, #0xb - bl sub_02073C74 - add r4, r0, #0 - bl sub_02073C2C - mov r0, #1 - add r1, r5, #0 - bl sub_02017070 - mov r1, #3 - str r1, [sp] - str r0, [sp, #4] - ldr r1, [sp, #8] - add r0, r4, #0 - mov r2, #1 - add r3, r7, #0 - bl ov5_021E6CF0 - add r0, r6, #0 - add r1, r4, #0 - bl sub_0207A048 - add r0, r4, #0 - bl sub_020181C4 -_0204D1D4: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D154 - - thumb_func_start sub_0204D1DC -sub_0204D1DC: ; 0x0204D1DC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r7, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r4, #0 - add r2, r6, #0 - add r3, r7, #0 - bl sub_02054988 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D1DC - - thumb_func_start sub_0204D234 -sub_0204D234: ; 0x0204D234 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - mov r2, #0 - mov r1, #0x4c - add r4, r0, #0 - strh r2, [r6] - bl sub_02074470 - cmp r0, #0 - beq _0204D296 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0204D296: - add r0, r4, #0 - mov r1, #0x36 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - beq _0204D2CE - add r0, r4, #0 - mov r1, #0x37 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - beq _0204D2CE - add r0, r4, #0 - mov r1, #0x38 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - beq _0204D2CE - add r0, r4, #0 - mov r1, #0x39 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - bne _0204D2D2 -_0204D2CE: - mov r0, #1 - strh r0, [r6] -_0204D2D2: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D234 - - thumb_func_start sub_0204D2D8 -sub_0204D2D8: ; 0x0204D2D8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r1, [r1, #0] - str r1, [sp, #4] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [sp, #4] - ldr r0, [r0, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r1, _0204D390 ; =0x00000006 - ldr r0, [sp] - ldr r6, _0204D394 ; =0x00000000 - strh r1, [r0] - beq _0204D388 -_0204D324: - ldr r0, [sp, #4] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D37E - add r0, r4, #0 - mov r1, #0x36 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - beq _0204D378 - add r0, r4, #0 - mov r1, #0x37 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - beq _0204D378 - add r0, r4, #0 - mov r1, #0x38 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - beq _0204D378 - add r0, r4, #0 - mov r1, #0x39 - mov r2, #0 - bl sub_02074470 - cmp r5, r0 - bne _0204D37E -_0204D378: - ldr r0, [sp] - strh r6, [r0] - b _0204D388 -_0204D37E: - add r0, r6, #1 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - cmp r6, r7 - blo _0204D324 -_0204D388: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0204D390: .word 0x00000006 -_0204D394: .word 0x00000000 - thumb_func_end sub_0204D2D8 - - thumb_func_start sub_0204D398 -sub_0204D398: ; 0x0204D398 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - bl sub_02054B94 - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204D398 - - thumb_func_start sub_0204D3DC -sub_0204D3DC: ; 0x0204D3DC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - ldr r0, [r7, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #8] - mov r4, #0 - ldr r0, [sp, #4] - add r5, r4, #0 - strh r4, [r0] - ldr r0, [sp, #8] - cmp r0, #0 - bls _0204D466 -_0204D42A: - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r6, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D45A - add r0, r6, #0 - mov r1, #0xa1 - mov r2, #0 - bl sub_02074470 - ldr r1, [sp] - cmp r0, r1 - bhi _0204D45A - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 -_0204D45A: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r0, [sp, #8] - cmp r4, r0 - blo _0204D42A -_0204D466: - ldr r0, [sp, #4] - strh r5, [r0] - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0204D3DC - - thumb_func_start sub_0204D470 -sub_0204D470: ; 0x0204D470 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r6, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r2, #0 - mov r1, #0x4c - add r5, r0, #0 - strh r2, [r4] - bl sub_02074470 - cmp r0, #0 - bne _0204D4C6 - add r0, r5, #0 - mov r1, #0xa1 - mov r2, #0 - bl sub_02074470 - strh r0, [r4] -_0204D4C6: - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204D470 - - thumb_func_start sub_0204D4CC -sub_0204D4CC: ; 0x0204D4CC - push {r4, r5, r6, lr} - add r6, r0, #0 - add r1, r6, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0203E838 - add r6, #0x80 - add r1, r0, #0 - ldr r0, [r6, #0] - bl sub_0203F150 - add r6, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r6, r0 - blt _0204D512 - mov r0, #0 - strh r0, [r4] - pop {r4, r5, r6, pc} -_0204D512: - ldr r0, [r5, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r5, r0, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204D532 - mov r0, #0 - strh r0, [r4] - pop {r4, r5, r6, pc} -_0204D532: - add r0, r5, #0 - bl sub_02075BCC - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204D4CC - - thumb_func_start sub_0204D540 -sub_0204D540: ; 0x0204D540 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - ldr r0, [r7, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r1, _0204D5C4 ; =0x000000FF - ldr r0, [sp, #4] - ldr r5, _0204D5C8 ; =0x00000000 - strh r1, [r0] - beq _0204D5BE -_0204D588: - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D5B4 - add r0, r4, #0 - bl sub_02075BCC - ldr r1, [sp] - cmp r1, r0 - bne _0204D5B4 - ldr r0, [sp, #4] - strh r5, [r0] - b _0204D5BE -_0204D5B4: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - blo _0204D588 -_0204D5BE: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204D5C4: .word 0x000000FF -_0204D5C8: .word 0x00000000 - thumb_func_end sub_0204D540 - - thumb_func_start sub_0204D5CC -sub_0204D5CC: ; 0x0204D5CC - push {r4, r5, r6, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r4, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #9 - mov r2, #0 - bl sub_02074470 - strh r0, [r6] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204D5CC - - thumb_func_start sub_0204D614 -sub_0204D614: ; 0x0204D614 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - str r0, [sp] - ldr r0, [r5, #0] - ldr r0, [r0, #0x1c] - ldr r0, [r0, #0] - bl sub_0203A138 - add r7, r0, #0 - ldr r0, [r6, #0xc] - bl sub_0207A268 - ldr r1, [sp] - bl sub_0207A0FC - mov r1, #9 - mov r2, #0 - add r5, r0, #0 - bl sub_02074470 - add r1, sp, #4 - strh r0, [r1] - cmp r4, #0 - beq _0204D6C2 - add r0, r5, #0 - mov r1, #6 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - mov r1, #1 - mov r2, #0xb - bl sub_0207CFF0 - cmp r0, #0x35 - bne _0204D69A - mov r0, #0x96 - mul r0, r4 - mov r1, #0x64 - bl _s32_div_f - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_0204D69A: - add r0, r5, #0 - mov r1, #0x9b - mov r2, #0 - bl sub_02074470 - cmp r0, #0xb - bne _0204D6AE - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_0204D6AE: - add r0, r5, #0 - mov r1, #0x98 - mov r2, #0 - bl sub_02074470 - cmp r7, r0 - bne _0204D6C2 - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 -_0204D6C2: - add r0, sp, #4 - ldrh r1, [r0] - add r1, r1, r4 - strh r1, [r0] - ldrh r1, [r0] - cmp r1, #0xff - bls _0204D6D4 - mov r1, #0xff - strh r1, [r0] -_0204D6D4: - add r0, r5, #0 - mov r1, #9 - add r2, sp, #4 - bl sub_02074B30 - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204D614 - - thumb_func_start sub_0204D6E4 -sub_0204D6E4: ; 0x0204D6E4 - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r6, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #9 - mov r2, #0 - add r5, r0, #0 - bl sub_02074470 - add r1, sp, #0 - strh r0, [r1] - ldrh r0, [r1] - cmp r4, r0 - bls _0204D738 - mov r0, #0 - b _0204D73A -_0204D738: - sub r0, r0, r4 -_0204D73A: - strh r0, [r1] - add r0, r5, #0 - mov r1, #9 - add r2, sp, #0 - bl sub_02074B30 - mov r0, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - thumb_func_end sub_0204D6E4 - - thumb_func_start sub_0204D74C -sub_0204D74C: ; 0x0204D74C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r7, #0 - bl sub_0207A0FC - add r4, #0x13 - add r1, r4, #0 - mov r2, #0 - bl sub_02074470 - strh r0, [r6] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D74C - - thumb_func_start sub_0204D7AC -sub_0204D7AC: ; 0x0204D7AC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r4, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0205E1B4 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204D7AC - - thumb_func_start sub_0204D7D4 -sub_0204D7D4: ; 0x0204D7D4 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r4, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r7, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - add r4, r0, #0 - mov r1, #0xb1 - mov r2, #0 - bl sub_02074470 - strh r0, [r6] - add r0, r4, #0 - mov r1, #0xb2 - mov r2, #0 - bl sub_02074470 - strh r0, [r7] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D7D4 - - thumb_func_start sub_0204D840 -sub_0204D840: ; 0x0204D840 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r4, [r1, #0] - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204D840 - - thumb_func_start sub_0204D86C -sub_0204D86C: ; 0x0204D86C - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - ldr r0, [r6, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - mov r5, #0 - add r7, r0, #0 - add r4, r5, #0 - cmp r7, #0 - ble _0204D8BA -_0204D89A: - ldr r0, [r6, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D8B4 - add r4, r4, #1 -_0204D8B4: - add r5, r5, #1 - cmp r5, r7 - blt _0204D89A -_0204D8BA: - ldr r0, [sp] - strh r4, [r0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D86C - - thumb_func_start sub_0204D8C4 -sub_0204D8C4: ; 0x0204D8C4 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - ldr r0, [r7, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - mov r5, #0 - add r4, r5, #0 - str r0, [sp, #8] - cmp r0, #0 - ble _0204D940 -_0204D908: - ldr r0, [sp] - cmp r5, r0 - beq _0204D938 - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r6, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D938 - add r0, r6, #0 - mov r1, #0xa3 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204D938 - add r4, r4, #1 -_0204D938: - ldr r0, [sp, #8] - add r5, r5, #1 - cmp r5, r0 - blt _0204D908 -_0204D940: - ldr r0, [sp, #4] - strh r4, [r0] - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D8C4 - - thumb_func_start sub_0204D94C -sub_0204D94C: ; 0x0204D94C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - ldr r0, [r7, #0xc] - bl sub_02024420 - str r0, [sp, #4] - ldr r0, [r7, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - mov r5, #0 - add r4, r5, #0 - str r0, [sp, #8] - cmp r0, #0 - ble _0204D9B6 -_0204D984: - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r6, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204D9AE - add r0, r6, #0 - mov r1, #0xa3 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204D9AE - add r4, r4, #1 -_0204D9AE: - ldr r0, [sp, #8] - add r5, r5, #1 - cmp r5, r0 - blt _0204D984 -_0204D9B6: - ldr r0, [sp, #4] - bl sub_02079BEC - add r1, r4, r0 - ldr r0, [sp] - strh r1, [r0] - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0204D94C - - thumb_func_start sub_0204D9C8 -sub_0204D9C8: ; 0x0204D9C8 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - ldr r0, [r6, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - mov r5, #0 - add r7, r0, #0 - add r4, r5, #0 - cmp r7, #0 - ble _0204DA16 -_0204D9F6: - ldr r0, [r6, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DA10 - add r4, r4, #1 -_0204DA10: - add r5, r5, #1 - cmp r5, r7 - blt _0204D9F6 -_0204DA16: - ldr r0, [sp] - strh r4, [r0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204D9C8 - - thumb_func_start sub_0204DA20 -sub_0204DA20: ; 0x0204DA20 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - ldr r0, [r5, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - ldr r4, _0204DA80 ; =0x00000000 - ldr r0, [sp] - strh r4, [r0] - beq _0204DA7C - mov r7, #0x9a -_0204DA52: - ldr r0, [r5, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - add r1, r7, #0 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DA72 - ldr r0, [sp] - mov r1, #1 - strh r1, [r0] - b _0204DA7C -_0204DA72: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, r6 - blo _0204DA52 -_0204DA7C: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204DA80: .word 0x00000000 - thumb_func_end sub_0204DA20 - - thumb_func_start sub_0204DA84 -sub_0204DA84: ; 0x0204DA84 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, #0x80 - add r4, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - mov r1, #0x6f - mov r2, #0 - bl sub_02074470 - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204DA84 - - thumb_func_start sub_0204DACC -sub_0204DACC: ; 0x0204DACC - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - ldr r0, [r6, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r6, r0, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DB1A - mov r0, #0 - strh r0, [r5] - pop {r4, r5, r6, pc} -_0204DB1A: - mov r4, #0 - add r0, r6, #0 - mov r1, #0x36 - add r2, r4, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DB30 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_0204DB30: - add r0, r6, #0 - mov r1, #0x37 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DB44 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_0204DB44: - add r0, r6, #0 - mov r1, #0x38 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DB58 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_0204DB58: - add r0, r6, #0 - mov r1, #0x39 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DB6C - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 -_0204DB6C: - strh r4, [r5] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204DACC - - thumb_func_start sub_0204DB74 -sub_0204DB74: ; 0x0204DB74 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - add r1, r4, #0 - bl sub_02077408 - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204DB74 - - thumb_func_start sub_0204DBB8 -sub_0204DBB8: ; 0x0204DBB8 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207A268 - add r1, r7, #0 - bl sub_0207A0FC - add r4, #0x36 - add r1, r4, #0 - mov r2, #0 - bl sub_02074470 - strh r0, [r6] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204DBB8 - - thumb_func_start sub_0204DC18 -sub_0204DC18: ; 0x0204DC18 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r4, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #6 - mov r2, #0 - bl sub_02074470 - strh r0, [r6] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204DC18 - - thumb_func_start sub_0204DC60 -sub_0204DC60: ; 0x0204DC60 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r4, [r1, #0] - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - add r5, r0, #0 - ldr r0, [r4, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r2, #0 - add r1, sp, #0 - strh r2, [r1] - mov r1, #6 - add r2, sp, #0 - bl sub_02074B30 - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204DC60 - - thumb_func_start sub_0204DC98 -sub_0204DC98: ; 0x0204DC98 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - ldr r0, [r7, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r5, _0204DD24 ; =0x00000000 - ldr r0, [sp, #4] - strh r5, [r0] - beq _0204DD1E -_0204DCDE: - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204DD14 - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - ldr r0, [sp] - cmp r0, r1 - bne _0204DD14 - ldr r0, [sp, #4] - mov r1, #1 - strh r1, [r0] - b _0204DD1E -_0204DD14: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - blo _0204DCDE -_0204DD1E: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204DD24: .word 0x00000000 - thumb_func_end sub_0204DC98 - - thumb_func_start sub_0204DD28 -sub_0204DD28: ; 0x0204DD28 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r1, [r1, #0] - str r1, [sp, #4] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - mov r3, #0 - add r7, r0, #0 - add r2, r3, #0 - add r1, sp, #0xc -_0204DD60: - lsl r0, r3, #1 - strh r2, [r1, r0] - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, #6 - blo _0204DD60 - ldr r0, [sp, #4] - ldr r0, [r0, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r5, #0 - strh r5, [r6] - ldr r0, [sp] - cmp r0, #0 - bls _0204DDFA - add r4, sp, #0xc -_0204DD8C: - ldr r0, [sp, #4] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - str r0, [sp, #8] - bl sub_02074470 - cmp r0, #0 - bne _0204DDEE - ldr r0, [sp, #8] - mov r1, #5 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - cmp r7, #0 - bne _0204DDE4 - lsl r1, r5, #1 - strh r0, [r4, r1] - mov r0, #0 - cmp r5, #0 - bls _0204DDEE - ldrh r1, [r4, r1] -_0204DDC6: - lsl r2, r0, #1 - ldrh r2, [r4, r2] - cmp r2, r1 - bne _0204DDD8 - mov r0, #1 - strh r0, [r6] - add sp, #0x18 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0204DDD8: - add r0, r0, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, r5 - blo _0204DDC6 - b _0204DDEE -_0204DDE4: - cmp r7, r0 - bne _0204DDEE - ldrh r0, [r6] - add r0, r0, #1 - strh r0, [r6] -_0204DDEE: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - ldr r0, [sp] - cmp r5, r0 - blo _0204DD8C -_0204DDFA: - mov r0, #0 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204DD28 - - thumb_func_start sub_0204DE00 -sub_0204DE00: ; 0x0204DE00 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r7, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - ldr r0, [r7, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - ldr r1, _0204DE8C ; =0x000000FF - ldr r0, [sp, #4] - ldr r5, _0204DE90 ; =0x00000000 - strh r1, [r0] - beq _0204DE86 -_0204DE48: - ldr r0, [r7, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204DE7C - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - ldr r0, [sp] - cmp r0, r1 - bne _0204DE7C - ldr r0, [sp, #4] - strh r5, [r0] - b _0204DE86 -_0204DE7C: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r6 - blo _0204DE48 -_0204DE86: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204DE8C: .word 0x000000FF -_0204DE90: .word 0x00000000 - thumb_func_end sub_0204DE00 - - thumb_func_start sub_0204DE94 -sub_0204DE94: ; 0x0204DE94 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp] - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r4, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - mov r4, #0 - add r6, r0, #0 - add r5, r4, #0 - add r7, r4, #0 -_0204DED6: - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - add r1, r7, #0 - bl sub_020923C0 - add r1, r0, #0 - add r0, r6, #0 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DEF4 - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 -_0204DEF4: - add r0, r4, #1 - lsl r0, r0, #0x10 - lsr r4, r0, #0x10 - cmp r4, #0x50 - blo _0204DED6 - ldr r0, [sp] - strh r5, [r0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204DE94 - - thumb_func_start sub_0204DF08 -sub_0204DF08: ; 0x0204DF08 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp] - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x10 - add r4, #0x80 - lsr r6, r0, #0x10 - ldr r0, [r4, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - str r0, [sp, #0xc] - mov r0, #0 - str r0, [sp, #8] - str r0, [sp, #4] -_0204DF46: - mov r5, #0 - cmp r6, #0 - bls _0204DF94 - ldr r0, [sp, #8] - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 -_0204DF52: - ldr r0, [sp, #0xc] - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204DF8A - add r0, r7, #0 - mov r1, #0 - bl sub_020923C0 - add r1, r0, #0 - add r0, r4, #0 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204DF8A - ldr r0, [sp, #4] - add r0, r0, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #4] - b _0204DF94 -_0204DF8A: - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r5, r6 - blo _0204DF52 -_0204DF94: - ldr r0, [sp, #8] - add r0, r0, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #8] - cmp r0, #0x50 - blo _0204DF46 - ldr r1, [sp, #4] - ldr r0, [sp] - strh r1, [r0] - mov r0, #0 - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204DF08 - - thumb_func_start sub_0204DFB0 -sub_0204DFB0: ; 0x0204DFB0 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r7, #0 - bl sub_0207A0FC - add r5, r0, #0 - lsl r0, r6, #0x18 - lsr r0, r0, #0x18 - mov r1, #0 - bl sub_020923C0 - add r1, r0, #0 - add r0, r5, #0 - mov r2, #0 - bl sub_02074470 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204DFB0 - - thumb_func_start sub_0204E01C -sub_0204E01C: ; 0x0204E01C - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - mov r1, #1 - add r0, sp, #0 - strb r1, [r0] - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - add r6, r0, #0 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - mov r1, #0 - bl sub_020923C0 - add r1, r0, #0 - add r0, r6, #0 - add r2, sp, #0 - bl sub_02074B30 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - mov r1, #0 - bl sub_020923C0 - add r5, #0x80 - add r2, r0, #0 - ldr r0, [r5, #0] - add r1, r6, #0 - ldr r0, [r0, #0xc] - bl sub_0206DDB8 - mov r0, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - thumb_func_end sub_0204E01C - - thumb_func_start sub_0204E094 -sub_0204E094: ; 0x0204E094 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp] - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x10 - add r4, #0x80 - lsr r6, r0, #0x10 - ldr r0, [r4, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r7, r0, #0 - mov r0, #0 - str r0, [sp, #4] -_0204E0D0: - mov r5, #0 - cmp r6, #0 - bls _0204E110 -_0204E0D6: - add r0, r7, #0 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204E106 - add r0, r4, #0 - mov r1, #3 - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - beq _0204E106 - ldr r0, [sp] - mov r1, #1 - strh r1, [r0] - add sp, #8 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0204E106: - add r0, r5, #1 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - cmp r5, r6 - blo _0204E0D6 -_0204E110: - ldr r0, [sp, #4] - add r0, r0, #1 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #4] - cmp r0, #0x50 - blo _0204E0D0 - ldr r1, [sp] - mov r0, #0 - strh r0, [r1] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204E094 - - thumb_func_start sub_0204E128 -sub_0204E128: ; 0x0204E128 - mov r0, #0 - bx lr - thumb_func_end sub_0204E128 - - thumb_func_start sub_0204E12C -sub_0204E12C: ; 0x0204E12C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - ldr r0, [r6, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r7, r0, #0x18 - ldr r1, _0204E1C8 ; =0x000000FF - ldr r0, [sp, #4] - ldr r5, _0204E1CC ; =0x00000000 - strh r1, [r0] - beq _0204E1C0 -_0204E174: - ldr r0, [r6, #0xc] - bl sub_0207A268 - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #0x4c - mov r2, #0 - add r4, r0, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204E1B6 - add r0, r4, #0 - mov r1, #5 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r1, r0, #0x10 - ldr r0, [sp] - cmp r0, r1 - bne _0204E1B6 - add r0, r4, #0 - mov r1, #0x6e - mov r2, #0 - bl sub_02074470 - cmp r0, #1 - bne _0204E1B6 - ldr r0, [sp, #4] - strh r5, [r0] - b _0204E1C0 -_0204E1B6: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r7 - blo _0204E174 -_0204E1C0: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0204E1C8: .word 0x000000FF -_0204E1CC: .word 0x00000000 - thumb_func_end sub_0204E12C - - thumb_func_start sub_0204E1D0 -sub_0204E1D0: ; 0x0204E1D0 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - ldr r0, [r5, #0xc] - bl sub_0207A268 - bl sub_0207A0F8 - add r6, r0, #0 - mov r4, #0 - ldr r0, [sp] - cmp r6, #0 - strh r4, [r0] - ble _0204E23A -_0204E214: - ldr r0, [r5, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - mov r1, #6 - mov r2, #0 - bl sub_02074470 - cmp r7, r0 - bne _0204E234 - ldr r0, [sp] - mov r1, #1 - strh r1, [r0] - b _0204E23A -_0204E234: - add r4, r4, #1 - cmp r4, r6 - blt _0204E214 -_0204E23A: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204E1D0 \ No newline at end of file diff --git a/asm/unk_0204E240.s b/asm/unk_0204E240.s deleted file mode 100644 index 74a714b9a9..0000000000 --- a/asm/unk_0204E240.s +++ /dev/null @@ -1,180 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204E240.inc" - - - - .text - - - thumb_func_start sub_0204E240 -sub_0204E240: ; 0x0204E240 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r4, #0 - ldr r7, _0204E288 ; =0x020EBFFC - str r0, [sp] - add r5, r4, #0 -_0204E260: - ldr r0, [r6, #0xc] - bl sub_0207D990 - lsl r1, r4, #2 - ldrh r1, [r7, r1] - mov r2, #4 - bl sub_0207D730 - add r0, r5, r0 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #7 - blo _0204E260 - ldr r0, [sp] - strh r5, [r0] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204E288: .word 0x020EBFFC - thumb_func_end sub_0204E240 - - thumb_func_start sub_0204E28C -sub_0204E28C: ; 0x0204E28C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F150 - mov r5, #0 - ldr r2, _0204E2D8 ; =0x020EBFFC - strh r5, [r4] -_0204E2B8: - lsl r3, r5, #2 - ldrh r1, [r2, r3] - cmp r0, r1 - bne _0204E2C8 - ldr r0, _0204E2DC ; =0x020EBFFE - ldrh r0, [r0, r3] - strh r0, [r4] - b _0204E2D2 -_0204E2C8: - add r1, r5, #1 - lsl r1, r1, #0x10 - lsr r5, r1, #0x10 - cmp r5, #7 - blo _0204E2B8 -_0204E2D2: - mov r0, #0 - pop {r3, r4, r5, pc} - nop -_0204E2D8: .word 0x020EBFFC -_0204E2DC: .word 0x020EBFFE - thumb_func_end sub_0204E28C - - thumb_func_start sub_0204E2E0 -sub_0204E2E0: ; 0x0204E2E0 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #8] - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F150 - str r0, [sp] - mov r4, #0 - ldr r0, [sp, #8] - add r5, r4, #0 - strh r4, [r0] - ldr r0, [sp, #4] - strh r4, [r0] -_0204E330: - ldr r0, [r6, #0xc] - lsl r7, r4, #2 - bl sub_0207D990 - ldr r1, _0204E36C ; =0x020EBFFC - mov r2, #4 - ldrh r1, [r1, r7] - bl sub_0207D730 - add r0, r5, r0 - lsl r0, r0, #0x10 - lsr r5, r0, #0x10 - ldr r0, [sp] - cmp r5, r0 - blo _0204E35C - ldr r0, _0204E36C ; =0x020EBFFC - ldrh r1, [r0, r7] - ldr r0, [sp, #8] - strh r1, [r0] - ldr r0, [sp, #4] - strh r4, [r0] - b _0204E366 -_0204E35C: - add r0, r4, #1 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - cmp r4, #7 - blo _0204E330 -_0204E366: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204E36C: .word 0x020EBFFC - thumb_func_end sub_0204E2E0 - - thumb_func_start sub_0204E370 -sub_0204E370: ; 0x0204E370 - mov r0, #0 - bx lr - thumb_func_end sub_0204E370 - - thumb_func_start sub_0204E374 -sub_0204E374: ; 0x0204E374 - mov r0, #0 - bx lr - thumb_func_end sub_0204E374 - - .rodata - - - .global Unk_020EBFFC -Unk_020EBFFC: ; 0x020EBFFC - .incbin "incbin/arm9_rodata.bin", 0x73BC, 0x1C - diff --git a/asm/unk_0204E378.s b/asm/unk_0204E378.s deleted file mode 100644 index 5e1e104bb3..0000000000 --- a/asm/unk_0204E378.s +++ /dev/null @@ -1,54 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204E378.inc" - - - - .text - - - thumb_func_start sub_0204E378 -sub_0204E378: ; 0x0204E378 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - ldr r1, _0204E3C4 ; =0x020EC018 - lsl r2, r4, #2 - ldrh r1, [r1, r2] - strh r1, [r6] - ldr r1, _0204E3C8 ; =0x020EC01A - ldrh r1, [r1, r2] - strh r1, [r0] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 -_0204E3C4: .word 0x020EC018 -_0204E3C8: .word 0x020EC01A - thumb_func_end sub_0204E378 - - .rodata - - - .global Unk_020EC018 -Unk_020EC018: ; 0x020EC018 - .incbin "incbin/arm9_rodata.bin", 0x73D8, 0x4C - diff --git a/asm/unk_0204E75C.s b/asm/unk_0204E75C.s deleted file mode 100644 index 0f424dbeb2..0000000000 --- a/asm/unk_0204E75C.s +++ /dev/null @@ -1,263 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204E75C.inc" - - - - .text - - - thumb_func_start sub_0204E75C -sub_0204E75C: ; 0x0204E75C - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207D990 - add r1, r6, #0 - add r2, r7, #0 - mov r3, #4 - bl sub_0207D570 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204E75C - - thumb_func_start sub_0204E7B4 -sub_0204E7B4: ; 0x0204E7B4 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207D990 - add r1, r6, #0 - add r2, r7, #0 - mov r3, #4 - bl sub_0207D60C - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204E7B4 - - thumb_func_start sub_0204E80C -sub_0204E80C: ; 0x0204E80C - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207D990 - add r1, r6, #0 - add r2, r7, #0 - mov r3, #4 - bl sub_0207D55C - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204E80C - - thumb_func_start sub_0204E864 -sub_0204E864: ; 0x0204E864 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207D990 - add r1, r6, #0 - add r2, r7, #0 - mov r3, #0xb - bl sub_0207D688 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204E864 - - thumb_func_start sub_0204E8BC -sub_0204E8BC: ; 0x0204E8BC - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - ldr r0, [r5, #0xc] - bl sub_0207D990 - add r1, r6, #0 - mov r2, #0xb - bl sub_0207D730 - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204E8BC - - thumb_func_start sub_0204E900 -sub_0204E900: ; 0x0204E900 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0205E060 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204E900 - - thumb_func_start sub_0204E934 -sub_0204E934: ; 0x0204E934 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r5, r0, #0 - add r0, r4, #0 - mov r1, #5 - mov r2, #0xb - bl sub_0207CFF0 - strh r0, [r5] - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204E934 - - thumb_func_start sub_0204E96C -sub_0204E96C: ; 0x0204E96C - mov r0, #0 - bx lr - thumb_func_end sub_0204E96C - - thumb_func_start sub_0204E970 -sub_0204E970: ; 0x0204E970 - mov r0, #0 - bx lr - thumb_func_end sub_0204E970 \ No newline at end of file diff --git a/asm/unk_0204E974.s b/asm/unk_0204E974.s deleted file mode 100644 index 3b40406772..0000000000 --- a/asm/unk_0204E974.s +++ /dev/null @@ -1,502 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204E974.inc" - - - - .text - - - thumb_func_start sub_0204E974 -sub_0204E974: ; 0x0204E974 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r5, [r1, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020298B0 - add r1, r6, #0 - bl sub_0202895C - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204E974 - - thumb_func_start sub_0204E9C8 -sub_0204E9C8: ; 0x0204E9C8 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204E9C8 - - thumb_func_start sub_0204EA04 -sub_0204EA04: ; 0x0204EA04 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r5, [r1, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020298B0 - add r1, r6, #0 - bl sub_02028984 - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204EA04 - - thumb_func_start sub_0204EA58 -sub_0204EA58: ; 0x0204EA58 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EA58 - - thumb_func_start sub_0204EA94 -sub_0204EA94: ; 0x0204EA94 - push {r4, r5, r6, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r5, [r1, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020298B0 - add r1, r6, #0 - bl sub_02028E84 - strh r0, [r4] - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204EA94 - - thumb_func_start sub_0204EAE8 -sub_0204EAE8: ; 0x0204EAE8 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EAE8 - - thumb_func_start sub_0204EB24 -sub_0204EB24: ; 0x0204EB24 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EB24 - - thumb_func_start sub_0204EB60 -sub_0204EB60: ; 0x0204EB60 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EB60 - - thumb_func_start sub_0204EB9C -sub_0204EB9C: ; 0x0204EB9C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r1, r5, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r4, [r1, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r5, #0 - bl sub_0203E838 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - bl sub_0203F118 - add r0, r4, #0 - bl sub_020298B0 - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204EB9C - - thumb_func_start sub_0204EBE4 -sub_0204EBE4: ; 0x0204EBE4 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EBE4 - - thumb_func_start sub_0204EC20 -sub_0204EC20: ; 0x0204EC20 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EC20 - - thumb_func_start sub_0204EC5C -sub_0204EC5C: ; 0x0204EC5C - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204EC5C - - thumb_func_start sub_0204EC98 -sub_0204EC98: ; 0x0204EC98 - push {r3, r4, r5, r6, r7, lr} - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r1, [r1, #0] - ldr r5, [r1, #0xc] - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020298B0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02028CB0 - strh r0, [r4] - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204EC98 - - thumb_func_start sub_0204ECF0 -sub_0204ECF0: ; 0x0204ECF0 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204ECF0 - - thumb_func_start sub_0204ED2C -sub_0204ED2C: ; 0x0204ED2C - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204ED2C - - thumb_func_start sub_0204ED68 -sub_0204ED68: ; 0x0204ED68 - push {r4, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r0, r4, #0 - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204ED68 \ No newline at end of file diff --git a/asm/unk_0204EDA4.s b/asm/unk_0204EDA4.s deleted file mode 100644 index 3e830a4256..0000000000 --- a/asm/unk_0204EDA4.s +++ /dev/null @@ -1,330 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204EDA4.inc" - - - - .text - - - thumb_func_start sub_0204EDA4 -sub_0204EDA4: ; 0x0204EDA4 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x13 - bl sub_0203F098 - add r1, r5, #0 - add r1, #0x80 - lsl r2, r4, #0x18 - add r6, r0, #0 - ldr r1, [r1, #0] - mov r0, #0x20 - lsr r2, r2, #0x18 - bl sub_0203D6E4 - str r0, [r6, #0] - ldr r1, _0204EDE8 ; =sub_02041D60 - add r0, r5, #0 - bl sub_0203E764 - mov r0, #1 - pop {r4, r5, r6, pc} - nop -_0204EDE8: .word sub_02041D60 - thumb_func_end sub_0204EDA4 - - thumb_func_start sub_0204EDEC -sub_0204EDEC: ; 0x0204EDEC - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, #0x80 - add r5, r0, #0 - ldr r0, [r4, #0] - mov r1, #0x13 - bl sub_0203F098 - add r4, r0, #0 - ldr r0, [r4, #0] - cmp r0, #0 - bne _0204EE18 - bl GF_AssertFail -_0204EE18: - ldr r0, [r4, #0] - bl sub_0203D750 - strh r0, [r5] - ldrh r0, [r5] - cmp r0, #4 - bne _0204EE2A - mov r0, #0xff - strh r0, [r5] -_0204EE2A: - ldr r0, [r4, #0] - bl sub_020181C4 - mov r0, #0 - str r0, [r4, #0] - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204EDEC - - thumb_func_start sub_0204EE38 -sub_0204EE38: ; 0x0204EE38 - mov r0, #0 - bx lr - thumb_func_end sub_0204EE38 - - thumb_func_start sub_0204EE3C -sub_0204EE3C: ; 0x0204EE3C - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, #0x80 - add r6, r0, #0 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - mov r1, #0x20 - bl sub_020997D8 - add r5, r0, #0 - bl sub_020998D8 - strh r0, [r4] - add r0, r5, #0 - bl sub_020181C4 - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204EE3C - - thumb_func_start sub_0204EE90 -sub_0204EE90: ; 0x0204EE90 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - add r0, #0x80 - add r7, r1, #0 - ldr r0, [r0, #0] - mov r1, #0x13 - str r2, [sp] - add r6, r3, #0 - bl sub_0203F098 - str r0, [sp, #4] - mov r0, #0x20 - bl sub_020997B8 - add r4, r0, #0 - ldr r0, [sp, #4] - str r4, [r0, #0] - ldr r0, [sp] - str r0, [r4, #0] - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203D174 - bl sub_02025E38 - str r0, [r4, #4] - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02025E44 - str r0, [r4, #8] - str r6, [r4, #0xc] - add r0, r5, #0 - strb r7, [r4, #0x15] - add r0, #0x80 - ldr r0, [r0, #0] - add r1, r4, #0 - bl sub_0203E284 - ldr r1, _0204EEF8 ; =sub_02041D60 - add r0, r5, #0 - bl sub_0203E764 - add r0, r6, #0 - bl sub_020181C4 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204EEF8: .word sub_02041D60 - thumb_func_end sub_0204EE90 - - thumb_func_start sub_0204EEFC -sub_0204EEFC: ; 0x0204EEFC - mov r0, #1 - bx lr - thumb_func_end sub_0204EEFC - - thumb_func_start sub_0204EF00 -sub_0204EF00: ; 0x0204EF00 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r4, #0 - bl sub_0207A0FC - add r4, r0, #0 - mov r1, #0x20 - bl sub_020997D8 - add r3, r0, #0 - add r0, r5, #0 - mov r1, #1 - add r2, r4, #0 - bl sub_0204EE90 - mov r0, #1 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204EF00 - - thumb_func_start sub_0204EF40 -sub_0204EF40: ; 0x0204EF40 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0207A268 - add r1, r6, #0 - bl sub_0207A0FC - add r6, r0, #0 - mov r0, #0x20 - mov r1, #4 - bl sub_02018144 - add r3, r0, #0 - ldr r0, _0204EF9C ; =0x0000FFFF - strh r4, [r3] - strh r0, [r3, #2] - add r0, r5, #0 - mov r1, #0 - add r2, r6, #0 - bl sub_0204EE90 - mov r0, #1 - pop {r4, r5, r6, pc} - ; .align 2, 0 -_0204EF9C: .word 0x0000FFFF - thumb_func_end sub_0204EF40 - - thumb_func_start sub_0204EFA0 -sub_0204EFA0: ; 0x0204EFA0 - mov r0, #0 - bx lr - thumb_func_end sub_0204EFA0 - - thumb_func_start sub_0204EFA4 -sub_0204EFA4: ; 0x0204EFA4 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, #0x80 - add r5, r0, #0 - ldr r0, [r4, #0] - mov r1, #0x13 - bl sub_0203F098 - ldr r4, [r0, #0] - cmp r4, #0 - bne _0204EFCE - bl GF_AssertFail -_0204EFCE: - ldrb r0, [r4, #0x16] - cmp r0, #0 - bne _0204EFD8 - mov r0, #0 - b _0204EFDA -_0204EFD8: - mov r0, #0xff -_0204EFDA: - strh r0, [r5] - add r0, r4, #0 - bl sub_020997D0 - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204EFA4 - - thumb_func_start sub_0204EFE8 -sub_0204EFE8: ; 0x0204EFE8 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, #0x80 - add r5, r0, #0 - ldr r0, [r4, #0] - mov r1, #0x13 - bl sub_0203F098 - ldr r4, [r0, #0] - cmp r4, #0 - bne _0204F012 - bl GF_AssertFail -_0204F012: - ldrb r0, [r4, #0x16] - cmp r0, #0 - bne _0204F01C - mov r0, #0 - b _0204F01E -_0204F01C: - mov r0, #0xff -_0204F01E: - strh r0, [r5] - add r0, r4, #0 - bl sub_020997D0 - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204EFE8 \ No newline at end of file diff --git a/asm/unk_0204F02C.s b/asm/unk_0204F02C.s deleted file mode 100644 index a3f3004958..0000000000 --- a/asm/unk_0204F02C.s +++ /dev/null @@ -1,37 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204F02C.inc" - - - - .text - - - thumb_func_start sub_0204F02C -sub_0204F02C: ; 0x0204F02C - push {r3, lr} - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0204F02C - - thumb_func_start sub_0204F038 -sub_0204F038: ; 0x0204F038 - push {r3, lr} - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0204F038 - - thumb_func_start sub_0204F044 -sub_0204F044: ; 0x0204F044 - mov r0, #0 - bx lr - thumb_func_end sub_0204F044 - - thumb_func_start sub_0204F048 -sub_0204F048: ; 0x0204F048 - mov r0, #0 - bx lr - thumb_func_end sub_0204F048 \ No newline at end of file diff --git a/asm/unk_0204F04C.s b/asm/unk_0204F04C.s deleted file mode 100644 index 40768d1f70..0000000000 --- a/asm/unk_0204F04C.s +++ /dev/null @@ -1,115 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204F04C.inc" - - - - .text - - - thumb_func_start sub_0204F04C -sub_0204F04C: ; 0x0204F04C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r6, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_020300F4 - mov r2, #0 - add r1, sp, #8 - strb r2, [r1] - lsl r2, r5, #2 - add r2, r4, r2 - lsl r2, r2, #0x18 - mov r1, #0xa - lsr r2, r2, #0x18 - add r3, sp, #8 - bl sub_020300B0 - cmp r4, #3 - bne _0204F0C8 - cmp r5, #0 - bne _0204F0A6 - mov r7, #0x66 - b _0204F0A8 -_0204F0A6: - mov r7, #0x68 -_0204F0A8: - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - str r0, [sp] - add r0, r7, #0 - bl sub_0205E6A8 - add r2, r0, #0 - ldr r0, [sp] - add r1, r7, #0 - mov r3, #0 - bl sub_020306E4 -_0204F0C8: - add r0, r6, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r7, r0, #0 - lsl r0, r5, #0x18 - lsl r1, r4, #0x18 - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - bl sub_0205E430 - str r0, [sp, #4] - lsl r0, r5, #0x18 - lsl r1, r4, #0x18 - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - bl sub_0205E430 - bl sub_0205E6A8 - add r2, r0, #0 - ldr r1, [sp, #4] - add r0, r7, #0 - mov r3, #0 - bl sub_020306E4 - add r6, #0x80 - ldr r0, [r6, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r6, r0, #0 - lsl r0, r5, #0x18 - lsl r1, r4, #0x18 - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - bl sub_0205E488 - add r7, r0, #0 - lsl r0, r5, #0x18 - lsl r1, r4, #0x18 - lsr r0, r0, #0x18 - lsr r1, r1, #0x18 - bl sub_0205E488 - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r6, #0 - add r1, r7, #0 - mov r3, #0 - bl sub_020306E4 - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0204F04C \ No newline at end of file diff --git a/asm/unk_0204F13C.s b/asm/unk_0204F13C.s deleted file mode 100644 index 71d4adadc8..0000000000 --- a/asm/unk_0204F13C.s +++ /dev/null @@ -1,1173 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204F13C.inc" - - - - .text - - - thumb_func_start sub_0204F13C -sub_0204F13C: ; 0x0204F13C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - bl sub_0203E838 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_02030114 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203026C - str r0, [sp, #4] - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x13 - bl sub_0203F098 - add r1, r0, #0 - cmp r7, #4 - bhi _0204F25A - add r0, r7, r7 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0204F1A8: ; jump table - .short _0204F1B2 - _0204F1A8 - 2 ; case 0 - .short _0204F1C2 - _0204F1A8 - 2 ; case 1 - .short _0204F1FA - _0204F1A8 - 2 ; case 2 - .short _0204F22A - _0204F1A8 - 2 ; case 3 - .short _0204F23C - _0204F1A8 - 2 ; case 4 -_0204F1B2: - add r4, #0x80 - ldr r1, [r4, #0] - add r0, r5, #0 - ldr r1, [r1, #0xc] - bl sub_0204F268 - strh r0, [r6] - b _0204F262 -_0204F1C2: - cmp r5, #3 - bne _0204F1E6 - add r4, #0x80 - ldr r0, [r4, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r4, r0, #0 - mov r0, #0x6a - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r4, #0 - mov r1, #0x6a - bl sub_02030698 - strh r0, [r6] - b _0204F262 -_0204F1E6: - lsl r2, r5, #0x18 - mov r3, #0 - ldr r0, [sp, #4] - mov r1, #5 - lsr r2, r2, #0x18 - str r3, [sp] - bl sub_020302B4 - strh r0, [r6] - b _0204F262 -_0204F1FA: - add r4, #0x80 - ldr r0, [r4, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r4, r0, #0 - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - bl sub_0205E55C - add r7, r0, #0 - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - bl sub_0205E55C - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r4, #0 - add r1, r7, #0 - bl sub_02030698 - strh r0, [r6] - b _0204F262 -_0204F22A: - add r4, #0x80 - ldr r0, [r4, #0] - lsl r2, r5, #0x18 - ldr r0, [r0, #0xc] - ldr r1, [sp, #4] - lsr r2, r2, #0x18 - bl sub_0204FA50 - b _0204F262 -_0204F23C: - cmp r5, #0 - bne _0204F244 - mov r2, #0 - b _0204F24E -_0204F244: - cmp r5, #1 - bne _0204F24C - mov r2, #1 - b _0204F24E -_0204F24C: - mov r2, #2 -_0204F24E: - ldr r0, [r4, #0x74] - bl sub_0204F470 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0204F25A: - bl GF_AssertFail - mov r0, #0 - strh r0, [r6] -_0204F262: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0204F13C - - thumb_func_start sub_0204F268 -sub_0204F268: ; 0x0204F268 - push {r4, r5, r6, r7, lr} - sub sp, #0x1c - str r0, [sp] - add r0, r1, #0 - bl sub_0207A268 - str r0, [sp, #4] - bl sub_0207A0F8 - lsl r0, r0, #0x18 - lsr r4, r0, #0x18 - ldr r0, [sp] - cmp r4, r0 - bge _0204F28A - add sp, #0x1c - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0204F28A: - mov r2, #0 - add r5, r2, #0 - add r1, sp, #0x10 -_0204F290: - lsl r0, r2, #1 - strh r5, [r1, r0] - add r0, r2, #1 - lsl r0, r0, #0x18 - lsr r2, r0, #0x18 - cmp r2, #6 - blo _0204F290 - str r5, [sp, #0xc] - cmp r4, #0 - bls _0204F302 -_0204F2A4: - ldr r0, [sp, #4] - add r1, r5, #0 - bl sub_0207A0FC - mov r1, #5 - mov r2, #0 - add r7, r0, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r6, r0, #0x10 - add r0, r7, #0 - mov r1, #0xa1 - mov r2, #0 - bl sub_02074470 - lsl r0, r0, #0x10 - lsr r0, r0, #0x10 - str r0, [sp, #8] - add r0, r7, #0 - mov r1, #0x4c - mov r2, #0 - bl sub_02074470 - cmp r0, #0 - bne _0204F2F8 - ldr r0, [sp, #8] - cmp r0, #0x1e - blo _0204F2F8 - add r0, r6, #0 - bl sub_02078804 - cmp r0, #1 - beq _0204F2F8 - ldr r0, [sp, #0xc] - lsl r1, r5, #1 - add r0, r0, #1 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp, #0xc] - add r0, sp, #0x10 - strh r6, [r0, r1] -_0204F2F8: - add r0, r5, #1 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - cmp r5, r4 - blo _0204F2A4 -_0204F302: - ldr r0, [sp] - cmp r0, #2 - bne _0204F34C - mov r3, #0 - cmp r4, #0 - bls _0204F346 - add r1, sp, #0x10 - add r2, r3, #0 -_0204F312: - add r5, r2, #0 - cmp r4, #0 - bls _0204F33C - lsl r0, r3, #1 - ldrh r0, [r1, r0] -_0204F31C: - cmp r3, r5 - beq _0204F332 - cmp r0, #0 - beq _0204F332 - lsl r6, r5, #1 - ldrh r6, [r1, r6] - cmp r0, r6 - bne _0204F332 - add sp, #0x1c - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0204F332: - add r5, r5, #1 - lsl r5, r5, #0x18 - lsr r5, r5, #0x18 - cmp r5, r4 - blo _0204F31C -_0204F33C: - add r0, r3, #1 - lsl r0, r0, #0x18 - lsr r3, r0, #0x18 - cmp r3, r4 - blo _0204F312 -_0204F346: - add sp, #0x1c - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0204F34C: - ldr r1, [sp, #0xc] - cmp r1, r0 - blt _0204F358 - add sp, #0x1c - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0204F358: - mov r0, #0 - add sp, #0x1c - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204F268 - - thumb_func_start sub_0204F360 -sub_0204F360: ; 0x0204F360 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203026C - lsl r2, r4, #0x18 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - lsr r2, r2, #0x18 - ldr r0, [r0, #0xc] - bl sub_0204FA50 - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204F360 - - thumb_func_start sub_0204F398 -sub_0204F398: ; 0x0204F398 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r2, r0, #0 - ldr r0, [r5, #0x74] - add r1, r4, #0 - bl sub_0204F3D0 - mov r0, #1 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204F398 - - thumb_func_start sub_0204F3D0 -sub_0204F3D0: ; 0x0204F3D0 - push {r3, r4, r5, r6, r7, lr} - add r7, r0, #0 - add r5, r1, #0 - mov r0, #0xb - mov r1, #0xc - add r6, r2, #0 - bl sub_02018144 - add r4, r0, #0 - mov r1, #0 - strb r1, [r4] - strb r1, [r4, #1] - strb r1, [r4, #2] - strb r1, [r4, #3] - strb r1, [r4, #4] - strb r1, [r4, #5] - strb r1, [r4, #6] - strb r1, [r4, #7] - strb r1, [r4, #8] - strb r1, [r4, #9] - strb r1, [r4, #0xa] - strb r1, [r4, #0xb] - strh r5, [r4, #4] - str r6, [r4, #8] - bl sub_02099514 - ldr r1, _0204F410 ; =sub_0204F414 - add r0, r7, #0 - add r2, r4, #0 - bl sub_02050944 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204F410: .word sub_0204F414 - thumb_func_end sub_0204F3D0 - - thumb_func_start sub_0204F414 -sub_0204F414: ; 0x0204F414 - push {r4, lr} - bl sub_02050A64 - add r4, r0, #0 - ldrb r1, [r4] - cmp r1, #0 - beq _0204F42C - cmp r1, #1 - beq _0204F442 - cmp r1, #2 - beq _0204F462 - b _0204F46A -_0204F42C: - mov r0, #0x84 - add r1, r4, #0 - mov r2, #0xc - bl sub_020359DC - cmp r0, #1 - bne _0204F46A - ldrb r0, [r4] - add r0, r0, #1 - strb r0, [r4] - b _0204F46A -_0204F442: - ldrb r0, [r4, #1] - cmp r0, #2 - blo _0204F46A - ldrh r1, [r4, #4] - ldrh r0, [r4, #6] - cmp r1, r0 - bne _0204F454 - mov r1, #0 - b _0204F456 -_0204F454: - mov r1, #1 -_0204F456: - ldr r0, [r4, #8] - strh r1, [r0] - ldrb r0, [r4] - add r0, r0, #1 - strb r0, [r4] - b _0204F46A -_0204F462: - bl sub_020181C4 - mov r0, #1 - pop {r4, pc} -_0204F46A: - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204F414 - - thumb_func_start sub_0204F470 -sub_0204F470: ; 0x0204F470 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r6, r2, #0 - bl sub_02050A60 - add r7, r0, #0 - mov r0, #0xb - mov r1, #0xc - bl sub_02018144 - add r4, r0, #0 - mov r1, #0 - mov r2, #0xc - bl MI_CpuFill8 - strb r6, [r4, #4] - str r5, [r4, #8] - ldr r0, [r7, #0x10] - ldr r1, _0204F4A0 ; =sub_0204F4A4 - add r2, r4, #0 - bl sub_02050944 - pop {r3, r4, r5, r6, r7, pc} - nop -_0204F4A0: .word sub_0204F4A4 - thumb_func_end sub_0204F470 - - thumb_func_start sub_0204F4A4 -sub_0204F4A4: ; 0x0204F4A4 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_02050A60 - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050A64 - add r4, r0, #0 - ldr r1, [r4, #0] - cmp r1, #4 - bhi _0204F506 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0204F4C8: ; jump table - .short _0204F4D2 - _0204F4C8 - 2 ; case 0 - .short _0204F4DE - _0204F4C8 - 2 ; case 1 - .short _0204F4E8 - _0204F4C8 - 2 ; case 2 - .short _0204F4F4 - _0204F4C8 - 2 ; case 3 - .short _0204F4FE - _0204F4C8 - 2 ; case 4 -_0204F4D2: - add r1, r5, #0 - mov r2, #0xb - bl sub_0204F50C - str r0, [r4, #0] - b _0204F506 -_0204F4DE: - add r1, r5, #0 - bl sub_0204F5D8 - str r0, [r4, #0] - b _0204F506 -_0204F4E8: - add r1, r5, #0 - mov r2, #0xb - bl sub_0204F628 - str r0, [r4, #0] - b _0204F506 -_0204F4F4: - add r1, r5, #0 - bl sub_0204F6B0 - str r0, [r4, #0] - b _0204F506 -_0204F4FE: - bl sub_020181C4 - mov r0, #1 - pop {r3, r4, r5, pc} -_0204F506: - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204F4A4 - - thumb_func_start sub_0204F50C -sub_0204F50C: ; 0x0204F50C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x40 - bl sub_02018144 - add r4, r0, #0 - mov r0, #0 - add r1, r4, #0 - mov r2, #0x40 - bl MIi_CpuClearFast - ldr r0, [r6, #0xc] - bl sub_0207A268 - str r0, [r4, #0] - ldr r0, [r6, #0xc] - bl sub_0207D990 - str r0, [r4, #4] - ldr r0, [r6, #0xc] - bl sub_02028430 - str r0, [r4, #8] - ldr r0, [r6, #0xc] - bl sub_02025E44 - add r1, r4, #0 - str r0, [r4, #0xc] - mov r0, #0 - add r1, #0x21 - strb r0, [r1] - add r1, r4, #0 - mov r2, #0x16 - add r1, #0x20 - strb r2, [r1] - str r6, [r4, #0x1c] - add r1, r4, #0 - ldrb r2, [r5, #5] - add r1, #0x22 - strb r2, [r1] -_0204F560: - add r1, r5, r0 - ldrb r2, [r1, #6] - add r1, r4, r0 - add r0, r0, #1 - lsl r0, r0, #0x18 - add r1, #0x2c - lsr r0, r0, #0x18 - strb r2, [r1] - cmp r0, #2 - blo _0204F560 - add r0, r4, #0 - mov r1, #0x1e - add r0, #0x33 - strb r1, [r0] - add r1, r4, #0 - add r1, #0x32 - ldrb r2, [r1] - mov r7, #0xf - mov r1, #1 - bic r2, r7 - orr r2, r1 - add r1, r4, #0 - add r1, #0x32 - strb r2, [r1] - add r1, r4, #0 - add r1, #0x32 - ldrb r3, [r1] - mov r1, #0xf0 - mov r2, #0x10 - bic r3, r1 - orr r3, r2 - add r2, r4, #0 - add r2, #0x32 - strb r3, [r2] - add r0, r4, #0 - ldrb r2, [r5, #4] - add r0, #0x32 - cmp r2, #1 - bne _0204F5C2 - ldrb r2, [r0] - mov r3, #2 - bic r2, r7 - orr r2, r3 - strb r2, [r0] - ldrb r2, [r0] - bic r2, r1 - mov r1, #0x20 - orr r1, r2 - strb r1, [r0] -_0204F5C2: - ldr r1, _0204F5D4 ; =0x020F1E88 - add r0, r6, #0 - add r2, r4, #0 - bl sub_0203CD84 - ldr r0, [r5, #8] - str r4, [r0, #0] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204F5D4: .word 0x020F1E88 - thumb_func_end sub_0204F50C - - thumb_func_start sub_0204F5D8 -sub_0204F5D8: ; 0x0204F5D8 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - bl sub_020509B4 - cmp r0, #0 - beq _0204F5EA - mov r0, #1 - pop {r3, r4, r5, pc} -_0204F5EA: - ldr r0, [r5, #8] - ldr r4, [r0, #0] - add r0, r4, #0 - add r0, #0x22 - ldrb r0, [r0] - cmp r0, #6 - beq _0204F600 - cmp r0, #7 - bne _0204F604 - mov r0, #4 - pop {r3, r4, r5, pc} -_0204F600: - mov r0, #4 - pop {r3, r4, r5, pc} -_0204F604: - add r0, r4, #0 - add r0, #0x2c - add r1, r5, #6 - mov r2, #2 - bl MI_CpuCopy8 - add r0, r4, #0 - add r0, #0x22 - ldrb r0, [r0] - strb r0, [r5, #5] - add r0, r4, #0 - bl sub_020181C4 - ldr r0, [r5, #8] - mov r1, #0 - str r1, [r0, #0] - mov r0, #2 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204F5D8 - - thumb_func_start sub_0204F628 -sub_0204F628: ; 0x0204F628 - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - add r6, r0, #0 - ldr r5, [r7, #0xc] - add r0, r2, #0 - mov r1, #0x30 - bl sub_02018184 - mov r1, #0 - mov r2, #0x30 - add r4, r0, #0 - bl MI_CpuFill8 - add r0, r5, #0 - bl sub_02025E44 - str r0, [r4, #4] - add r0, r5, #0 - bl sub_0207A268 - str r0, [r4, #0] - add r0, r5, #0 - bl sub_0207A274 - str r0, [r4, #0x1c] - add r0, r5, #0 - bl sub_0208C324 - str r0, [r4, #0x2c] - mov r0, #1 - strb r0, [r4, #0x11] - ldrb r0, [r6, #5] - strb r0, [r4, #0x14] - ldr r0, [r4, #0] - bl sub_0207A0F8 - strb r0, [r4, #0x13] - mov r0, #0 - strh r0, [r4, #0x18] - strb r0, [r4, #0x12] - add r0, r5, #0 - bl sub_0202D79C - str r0, [r4, #0x20] - ldr r1, _0204F6A8 ; =0x020EC06C - add r0, r4, #0 - bl sub_0208D720 - add r0, r5, #0 - bl sub_02025E38 - add r1, r0, #0 - add r0, r4, #0 - bl sub_0208E9C0 - ldr r1, _0204F6AC ; =0x020F410C - add r0, r7, #0 - add r2, r4, #0 - bl sub_0203CD84 - ldr r0, [r6, #8] - str r4, [r0, #0] - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204F6A8: .word 0x020EC06C -_0204F6AC: .word 0x020F410C - thumb_func_end sub_0204F628 - - thumb_func_start sub_0204F6B0 -sub_0204F6B0: ; 0x0204F6B0 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - bl sub_020509B4 - cmp r0, #0 - beq _0204F6C2 - mov r0, #3 - pop {r4, pc} -_0204F6C2: - ldr r0, [r4, #8] - ldr r0, [r0, #0] - ldrb r1, [r0, #0x14] - strb r1, [r4, #5] - bl sub_020181C4 - ldr r1, [r4, #8] - mov r0, #0 - str r0, [r1, #0] - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204F6B0 - - thumb_func_start sub_0204F6D8 -sub_0204F6D8: ; 0x0204F6D8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x30 - str r0, [sp, #8] - add r0, #0x80 - ldr r7, [r0, #0] - mov r1, #0xf - add r0, r7, #0 - bl sub_0203F098 - str r0, [sp, #0x24] - ldr r0, [sp, #8] - ldr r1, [r0, #8] - add r2, r1, #1 - str r2, [r0, #8] - ldrb r0, [r1] - add r1, r2, #1 - str r0, [sp, #0x20] - ldr r0, [sp, #8] - str r1, [r0, #8] - ldrb r0, [r2] - add r2, r1, #1 - str r0, [sp, #0x1c] - ldr r0, [sp, #8] - str r2, [r0, #8] - ldrb r0, [r1] - add r1, r2, #1 - str r0, [sp, #0x18] - ldr r0, [sp, #8] - str r1, [r0, #8] - ldrb r0, [r2] - str r0, [sp, #0x14] - ldr r0, [sp, #8] - bl sub_0203E838 - add r1, r0, #0 - ldr r0, [sp, #8] - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r5, r0, #0 - ldr r0, [sp, #8] - bl sub_0203E838 - add r1, r0, #0 - ldr r0, [sp, #8] - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - str r0, [sp, #0x10] - mov r0, #1 - str r0, [sp, #0x2c] - ldr r0, [r7, #0xc] - mov r4, #0 - bl sub_020247C8 - cmp r0, #0 - bne _0204F758 - ldr r1, [sp, #0x10] - add r0, r4, #0 - strh r0, [r1] - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} -_0204F758: - ldr r0, [r7, #0xc] - mov r1, #0x20 - add r2, sp, #0x2c - bl sub_020308A0 - str r0, [sp, #0x28] - ldr r0, [sp, #0x2c] - cmp r0, #1 - bne _0204F782 - add r6, r4, #0 -_0204F76C: - ldr r0, [r7, #0xc] - ldr r1, [sp, #0x28] - mov r2, #0 - add r3, r6, #0 - bl sub_020308BC - add r4, r4, r0 - ldr r0, _0204F8A0 ; =0x000001ED - add r6, r6, #1 - cmp r6, r0 - blo _0204F76C -_0204F782: - ldr r0, [sp, #0x28] - cmp r0, #0 - beq _0204F78C - bl sub_020181C4 -_0204F78C: - add r0, r4, #0 - bl sub_0205DFC4 - add r3, r0, #0 - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - ldr r0, [sp, #0x24] - ldr r1, [sp, #0x20] - ldr r0, [r0, #0] - add r2, r4, #0 - bl sub_0200B60C - ldrh r1, [r5] - mov r6, #0 - add r7, r6, #0 - str r1, [sp, #0xc] - ldr r0, [sp, #0xc] - cmp r0, #0x2f - bhs _0204F7DA - ldr r2, [sp, #0xc] - ldr r0, _0204F8A4 ; =0x020EC078 - lsl r2, r2, #3 - add r0, r0, r2 -_0204F7BC: - ldr r2, [r0, #0] - cmp r2, r4 - bhi _0204F7D2 - ldr r2, [r0, #4] - add r7, r1, #0 - add r2, r6, r2 - lsl r2, r2, #0x10 - lsr r6, r2, #0x10 - ldrh r2, [r5] - add r2, r2, #1 - strh r2, [r5] -_0204F7D2: - add r1, r1, #1 - add r0, #8 - cmp r1, #0x2f - blo _0204F7BC -_0204F7DA: - ldr r0, [sp, #8] - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0202CD88 - mov r1, #0x44 - add r2, r6, #0 - bl sub_0202CF70 - cmp r6, #0 - beq _0204F808 - ldr r0, [sp, #8] - add r0, #0x80 - str r0, [sp, #8] - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0202D750 - add r1, r6, #0 - mov r2, #5 - bl sub_0202D230 -_0204F808: - cmp r4, #0 - bne _0204F814 - ldr r0, [sp, #0x10] - mov r1, #0 - strh r1, [r0] - b _0204F83A -_0204F814: - ldrh r1, [r5] - ldr r0, [sp, #0xc] - cmp r0, r1 - beq _0204F822 - mov r1, #1 - ldr r0, [sp, #0x10] - b _0204F826 -_0204F822: - ldr r0, [sp, #0x10] - mov r1, #2 -_0204F826: - strh r1, [r0] - ldr r0, [sp, #0xc] - cmp r0, #0x2f - blo _0204F83A - ldr r0, [sp, #0x10] - mov r1, #3 - strh r1, [r0] - add sp, #0x30 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0204F83A: - ldr r0, _0204F8A4 ; =0x020EC078 - lsl r1, r7, #3 - ldr r4, [r0, r1] - add r0, r4, #0 - bl sub_0205DFC4 - add r3, r0, #0 - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - ldr r0, [sp, #0x24] - ldr r1, [sp, #0x1c] - ldr r0, [r0, #0] - add r2, r4, #0 - bl sub_0200B60C - ldrh r0, [r5] - lsl r1, r0, #3 - ldr r0, _0204F8A4 ; =0x020EC078 - ldr r0, [r0, r1] - bl sub_0205DFC4 - add r3, r0, #0 - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - ldrh r2, [r5] - ldr r0, [sp, #0x24] - ldr r1, [sp, #0x18] - lsl r4, r2, #3 - ldr r2, _0204F8A4 ; =0x020EC078 - ldr r0, [r0, #0] - ldr r2, [r2, r4] - bl sub_0200B60C - add r0, r6, #0 - bl sub_0205DFC4 - add r3, r0, #0 - mov r0, #1 - str r0, [sp] - str r0, [sp, #4] - ldr r0, [sp, #0x24] - ldr r1, [sp, #0x14] - ldr r0, [r0, #0] - add r2, r6, #0 - bl sub_0200B60C - mov r0, #0 - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204F8A0: .word 0x000001ED -_0204F8A4: .word 0x020EC078 - thumb_func_end sub_0204F6D8 - - thumb_func_start sub_0204F8A8 -sub_0204F8A8: ; 0x0204F8A8 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r5, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - mov r0, #0 - str r0, [sp, #4] - mov r0, #1 - str r0, [sp, #8] - ldr r0, [r5, #0xc] - bl sub_020247C8 - cmp r0, #0 - bne _0204F8E0 - ldr r1, [sp] - mov r0, #0 - strh r0, [r1] - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_0204F8E0: - ldr r0, [r5, #0xc] - mov r1, #0x20 - add r2, sp, #8 - bl sub_020308A0 - add r7, r0, #0 - ldr r0, [sp, #8] - cmp r0, #1 - beq _0204F8F8 - mov r0, #0 - str r0, [sp, #4] - b _0204F936 -_0204F8F8: - mov r4, #0 -_0204F8FA: - ldr r0, [r5, #0xc] - add r1, r7, #0 - mov r2, #0 - add r3, r4, #0 - bl sub_020308BC - mov r1, #0 - add r6, r1, r0 - ldr r0, [r5, #0xc] - add r1, r7, #0 - mov r2, #1 - add r3, r4, #0 - bl sub_020308BC - add r6, r6, r0 - ldr r0, [r5, #0xc] - add r1, r7, #0 - mov r2, #2 - add r3, r4, #0 - bl sub_020308BC - add r0, r6, r0 - beq _0204F92E - ldr r0, [sp, #4] - add r0, r0, #1 - str r0, [sp, #4] -_0204F92E: - ldr r0, _0204F94C ; =0x000001ED - add r4, r4, #1 - cmp r4, r0 - blo _0204F8FA -_0204F936: - cmp r7, #0 - beq _0204F940 - add r0, r7, #0 - bl sub_020181C4 -_0204F940: - ldr r1, [sp, #4] - ldr r0, [sp] - strh r1, [r0] - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204F94C: .word 0x000001ED - thumb_func_end sub_0204F8A8 - - thumb_func_start sub_0204F950 -sub_0204F950: ; 0x0204F950 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - add r1, r4, #0 - add r1, #0x80 - ldr r6, [r1, #0] - bl sub_0203E838 - add r4, #0x80 - add r1, r0, #0 - ldr r0, [r4, #0] - bl sub_0203F118 - str r0, [sp] - mov r0, #1 - str r0, [sp, #4] - ldr r0, [r6, #0xc] - mov r4, #0 - bl sub_020247C8 - cmp r0, #0 - bne _0204F986 - ldr r1, [sp] - add r0, r4, #0 - strh r0, [r1] - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0204F986: - ldr r0, [r6, #0xc] - mov r1, #0x20 - add r2, sp, #4 - bl sub_020308A0 - add r7, r0, #0 - ldr r0, [sp, #4] - cmp r0, #1 - bne _0204F9B0 - add r5, r4, #0 -_0204F99A: - ldr r0, [r6, #0xc] - add r1, r7, #0 - mov r2, #0 - add r3, r5, #0 - bl sub_020308BC - add r4, r4, r0 - ldr r0, _0204F9CC ; =0x000001ED - add r5, r5, #1 - cmp r5, r0 - blo _0204F99A -_0204F9B0: - cmp r7, #0 - beq _0204F9BA - add r0, r7, #0 - bl sub_020181C4 -_0204F9BA: - ldr r0, _0204F9D0 ; =0x00002710 - cmp r4, r0 - bls _0204F9C2 - add r4, r0, #0 -_0204F9C2: - ldr r0, [sp] - strh r4, [r0] - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204F9CC: .word 0x000001ED -_0204F9D0: .word 0x00002710 - thumb_func_end sub_0204F950 - - thumb_func_start sub_0204F9D4 -sub_0204F9D4: ; 0x0204F9D4 - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r6, r0, #0 - mov r0, #0 - bl sub_0205E55C - add r1, r0, #0 - add r0, r6, #0 - mov r2, #0xff - bl sub_02030698 - add r5, #0x80 - ldr r0, [r5, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r5, r0, #0 - mov r0, #0 - bl sub_0205E50C - add r1, r0, #0 - add r0, r5, #0 - mov r2, #0xff - bl sub_02030698 - mov r1, #0 - strh r1, [r4] - cmp r0, #0x32 - bne _0204FA30 - mov r0, #1 - strh r0, [r4] -_0204FA30: - mov r0, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204F9D4 - - .rodata - - - .global Unk_020EC06C -Unk_020EC06C: ; 0x020EC06C - .incbin "incbin/arm9_rodata.bin", 0x742C, 0x7438 - 0x742C - - .global Unk_020EC078 -Unk_020EC078: ; 0x020EC078 - .incbin "incbin/arm9_rodata.bin", 0x7438, 0x178 - diff --git a/asm/unk_0204FA34.s b/asm/unk_0204FA34.s deleted file mode 100644 index 1847c870fa..0000000000 --- a/asm/unk_0204FA34.s +++ /dev/null @@ -1,71 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204FA34.inc" - - - - .text - - - thumb_func_start sub_0204FA34 -sub_0204FA34: ; 0x0204FA34 - push {r4, r5, r6, lr} - add r4, r3, #0 - add r5, r0, #0 - ldrb r0, [r4, #1] - add r6, r2, #0 - add r0, r0, #1 - strb r0, [r4, #1] - bl sub_0203608C - cmp r5, r0 - beq _0204FA4E - ldrh r0, [r6, #4] - strh r0, [r4, #6] -_0204FA4E: - pop {r4, r5, r6, pc} - thumb_func_end sub_0204FA34 - - thumb_func_start sub_0204FA50 -sub_0204FA50: ; 0x0204FA50 - push {r4, r5, r6, lr} - sub sp, #8 - add r5, r0, #0 - mov r3, #0 - add r0, sp, #4 - strb r3, [r0] - add r0, sp, #4 - str r0, [sp] - add r0, r1, #0 - mov r1, #5 - add r4, r2, #0 - bl sub_02030280 - cmp r4, #3 - bne _0204FA88 - add r0, r5, #0 - bl sub_0203068C - add r6, r0, #0 - mov r0, #0x6a - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r6, #0 - mov r1, #0x6a - mov r3, #0 - bl sub_020306E4 -_0204FA88: - add r0, r5, #0 - bl sub_0203068C - add r5, r0, #0 - add r0, r4, #0 - bl sub_0205E50C - add r6, r0, #0 - add r0, r4, #0 - bl sub_0205E50C - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - mov r3, #0 - bl sub_020306E4 - add sp, #8 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0204FA50 \ No newline at end of file diff --git a/asm/unk_0204FAB4.s b/asm/unk_0204FAB4.s deleted file mode 100644 index 3605b68156..0000000000 --- a/asm/unk_0204FAB4.s +++ /dev/null @@ -1,700 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0204FAB4.inc" - - - - .text - - - thumb_func_start sub_0204FAB4 -sub_0204FAB4: ; 0x0204FAB4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r4, r0, #0 - bl sub_0203E838 - add r7, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r6, r0, #0 - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_020302DC - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203041C - str r0, [sp, #4] - add r0, r4, #0 - add r0, #0x80 - ldr r0, [r0, #0] - mov r1, #0x13 - bl sub_0203F098 - add r1, r0, #0 - cmp r7, #4 - bhi _0204FBA4 - add r0, r7, r7 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0204FB20: ; jump table - .short _0204FB2A - _0204FB20 - 2 ; case 0 - .short _0204FB3C - _0204FB20 - 2 ; case 1 - .short _0204FBA4 - _0204FB20 - 2 ; case 2 - .short _0204FB74 - _0204FB20 - 2 ; case 3 - .short _0204FB86 - _0204FB20 - 2 ; case 4 -_0204FB2A: - add r4, #0x80 - ldr r1, [r4, #0] - add r0, r5, #0 - ldr r1, [r1, #0xc] - mov r2, #0 - bl sub_02049EC4 - strh r0, [r6] - b _0204FBAC -_0204FB3C: - cmp r5, #3 - bne _0204FB60 - add r4, #0x80 - ldr r0, [r4, #0] - ldr r0, [r0, #0xc] - bl sub_0203068C - add r4, r0, #0 - mov r0, #0x6c - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r4, #0 - mov r1, #0x6c - bl sub_02030698 - strh r0, [r6] - b _0204FBAC -_0204FB60: - lsl r2, r5, #0x18 - mov r3, #0 - ldr r0, [sp, #4] - mov r1, #9 - lsr r2, r2, #0x18 - str r3, [sp] - bl sub_02030470 - strh r0, [r6] - b _0204FBAC -_0204FB74: - add r4, #0x80 - ldr r0, [r4, #0] - lsl r2, r5, #0x18 - ldr r0, [r0, #0xc] - ldr r1, [sp, #4] - lsr r2, r2, #0x18 - bl sub_0204FBEC - b _0204FBAC -_0204FB86: - cmp r5, #0 - bne _0204FB8E - mov r2, #0 - b _0204FB98 -_0204FB8E: - cmp r5, #1 - bne _0204FB96 - mov r2, #1 - b _0204FB98 -_0204FB96: - mov r2, #2 -_0204FB98: - ldr r0, [r4, #0x74] - bl sub_0204FDB4 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0204FBA4: - bl GF_AssertFail - mov r0, #0 - strh r0, [r6] -_0204FBAC: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204FAB4 - - thumb_func_start sub_0204FBB4 -sub_0204FBB4: ; 0x0204FBB4 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - ldr r0, [r0, #0xc] - bl sub_0203041C - lsl r2, r4, #0x18 - add r5, #0x80 - add r1, r0, #0 - ldr r0, [r5, #0] - lsr r2, r2, #0x18 - ldr r0, [r0, #0xc] - bl sub_0204FBEC - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204FBB4 - - thumb_func_start sub_0204FBEC -sub_0204FBEC: ; 0x0204FBEC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp, #4] - mov r3, #0 - add r0, sp, #8 - strb r3, [r0] - add r0, sp, #8 - str r0, [sp] - add r0, r1, #0 - mov r1, #9 - add r5, r2, #0 - bl sub_02030430 - cmp r5, #3 - bne _0204FC24 - ldr r0, [sp, #4] - bl sub_0203068C - add r4, r0, #0 - mov r0, #0x6c - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r4, #0 - mov r1, #0x6c - mov r3, #0 - bl sub_020306E4 -_0204FC24: - ldr r0, [sp, #4] - bl sub_0203068C - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205E5E0 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0205E5E0 - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r4, #0 - add r1, r6, #0 - mov r3, #0 - bl sub_020306E4 - ldr r0, [sp, #4] - bl sub_0203068C - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205E630 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0205E630 - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r4, #0 - add r1, r6, #0 - mov r3, #0 - bl sub_020306E4 - mov r4, #0 -_0204FC72: - ldr r0, [sp, #4] - bl sub_0203068C - lsl r1, r4, #0x18 - add r6, r0, #0 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0205E5B4 - lsl r1, r4, #0x18 - add r7, r0, #0 - add r0, r5, #0 - lsr r1, r1, #0x18 - bl sub_0205E5B4 - bl sub_0205E6A8 - add r2, r0, #0 - add r0, r6, #0 - add r1, r7, #0 - mov r3, #1 - bl sub_020306E4 - add r4, r4, #1 - cmp r4, #3 - blt _0204FC72 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0204FBEC - - thumb_func_start sub_0204FCAC -sub_0204FCAC: ; 0x0204FCAC - push {r4, r5, r6, lr} - add r5, r0, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F150 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0203E838 - add r1, r0, #0 - add r0, r5, #0 - add r0, #0x80 - ldr r0, [r0, #0] - bl sub_0203F118 - add r3, r0, #0 - ldr r0, [r5, #0x74] - add r1, r4, #0 - add r2, r6, #0 - bl sub_0204FCF8 - mov r0, #1 - pop {r4, r5, r6, pc} - thumb_func_end sub_0204FCAC - - thumb_func_start sub_0204FCF8 -sub_0204FCF8: ; 0x0204FCF8 - push {r3, r4, r5, r6, r7, lr} - str r0, [sp] - add r5, r1, #0 - mov r0, #0xb - mov r1, #0x10 - add r6, r2, #0 - add r7, r3, #0 - bl sub_02018144 - add r4, r0, #0 - add r2, r4, #0 - mov r1, #0x10 - mov r0, #0 -_0204FD12: - strb r0, [r2] - add r2, r2, #1 - sub r1, r1, #1 - bne _0204FD12 - strh r5, [r4, #4] - strh r6, [r4, #6] - add r0, r4, #0 - str r7, [r4, #0xc] - bl sub_02099514 - ldr r0, [sp] - ldr r1, _0204FD34 ; =sub_0204FD38 - add r2, r4, #0 - bl sub_02050944 - pop {r3, r4, r5, r6, r7, pc} - nop -_0204FD34: .word sub_0204FD38 - thumb_func_end sub_0204FCF8 - - thumb_func_start sub_0204FD38 -sub_0204FD38: ; 0x0204FD38 - push {r4, lr} - bl sub_02050A64 - add r4, r0, #0 - ldrb r1, [r4] - cmp r1, #0 - beq _0204FD50 - cmp r1, #1 - beq _0204FD66 - cmp r1, #2 - beq _0204FDA6 - b _0204FDAE -_0204FD50: - mov r0, #0x85 - add r1, r4, #0 - mov r2, #0x10 - bl sub_020359DC - cmp r0, #1 - bne _0204FDAE - ldrb r0, [r4] - add r0, r0, #1 - strb r0, [r4] - b _0204FDAE -_0204FD66: - ldrb r0, [r4, #1] - cmp r0, #2 - blo _0204FDAE - ldr r0, [r4, #0xc] - mov r1, #0 - strh r1, [r0] - ldrh r1, [r4, #4] - ldrh r0, [r4, #8] - cmp r1, r0 - beq _0204FD80 - ldrh r0, [r4, #0xa] - cmp r1, r0 - bne _0204FD88 -_0204FD80: - ldr r1, [r4, #0xc] - ldrh r0, [r1] - add r0, r0, #1 - strh r0, [r1] -_0204FD88: - ldrh r1, [r4, #6] - ldrh r0, [r4, #8] - cmp r1, r0 - beq _0204FD96 - ldrh r0, [r4, #0xa] - cmp r1, r0 - bne _0204FD9E -_0204FD96: - ldr r1, [r4, #0xc] - ldrh r0, [r1] - add r0, r0, #2 - strh r0, [r1] -_0204FD9E: - ldrb r0, [r4] - add r0, r0, #1 - strb r0, [r4] - b _0204FDAE -_0204FDA6: - bl sub_020181C4 - mov r0, #1 - pop {r4, pc} -_0204FDAE: - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204FD38 - - thumb_func_start sub_0204FDB4 -sub_0204FDB4: ; 0x0204FDB4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r6, r2, #0 - bl sub_02050A60 - add r7, r0, #0 - mov r0, #0xb - mov r1, #0x10 - bl sub_02018144 - add r4, r0, #0 - mov r1, #0 - mov r2, #0x10 - bl MI_CpuFill8 - strb r6, [r4, #4] - str r5, [r4, #0xc] - ldr r0, [r7, #0x10] - ldr r1, _0204FDE4 ; =sub_0204FDE8 - add r2, r4, #0 - bl sub_02050944 - pop {r3, r4, r5, r6, r7, pc} - nop -_0204FDE4: .word sub_0204FDE8 - thumb_func_end sub_0204FDB4 - - thumb_func_start sub_0204FDE8 -sub_0204FDE8: ; 0x0204FDE8 - push {r3, r4, r5, lr} - add r4, r0, #0 - bl sub_02050A60 - add r5, r0, #0 - add r0, r4, #0 - bl sub_02050A64 - add r4, r0, #0 - ldr r1, [r4, #0] - cmp r1, #4 - bhi _0204FE4A - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0204FE0C: ; jump table - .short _0204FE16 - _0204FE0C - 2 ; case 0 - .short _0204FE22 - _0204FE0C - 2 ; case 1 - .short _0204FE2C - _0204FE0C - 2 ; case 2 - .short _0204FE38 - _0204FE0C - 2 ; case 3 - .short _0204FE42 - _0204FE0C - 2 ; case 4 -_0204FE16: - add r1, r5, #0 - mov r2, #0xb - bl sub_0204FE50 - str r0, [r4, #0] - b _0204FE4A -_0204FE22: - add r1, r5, #0 - bl sub_0204FF1C - str r0, [r4, #0] - b _0204FE4A -_0204FE2C: - add r1, r5, #0 - mov r2, #0xb - bl sub_0204FF6C - str r0, [r4, #0] - b _0204FE4A -_0204FE38: - add r1, r5, #0 - bl sub_0204FFF4 - str r0, [r4, #0] - b _0204FE4A -_0204FE42: - bl sub_020181C4 - mov r0, #1 - pop {r3, r4, r5, pc} -_0204FE4A: - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0204FDE8 - - thumb_func_start sub_0204FE50 -sub_0204FE50: ; 0x0204FE50 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r0, #0xb - mov r1, #0x40 - bl sub_02018144 - add r4, r0, #0 - mov r0, #0 - add r1, r4, #0 - mov r2, #0x40 - bl MIi_CpuClearFast - ldr r0, [r6, #0xc] - bl sub_0207A268 - str r0, [r4, #0] - ldr r0, [r6, #0xc] - bl sub_0207D990 - str r0, [r4, #4] - ldr r0, [r6, #0xc] - bl sub_02028430 - str r0, [r4, #8] - ldr r0, [r6, #0xc] - bl sub_02025E44 - add r1, r4, #0 - str r0, [r4, #0xc] - mov r0, #0 - add r1, #0x21 - strb r0, [r1] - add r1, r4, #0 - mov r2, #0x17 - add r1, #0x20 - strb r2, [r1] - str r6, [r4, #0x1c] - add r1, r4, #0 - ldrb r2, [r5, #5] - add r1, #0x22 - strb r2, [r1] -_0204FEA4: - add r1, r5, r0 - ldrb r2, [r1, #6] - add r1, r4, r0 - add r0, r0, #1 - lsl r0, r0, #0x18 - add r1, #0x2c - lsr r0, r0, #0x18 - strb r2, [r1] - cmp r0, #3 - blo _0204FEA4 - add r0, r4, #0 - mov r1, #0x64 - add r0, #0x33 - strb r1, [r0] - add r1, r4, #0 - add r1, #0x32 - ldrb r2, [r1] - mov r7, #0xf - mov r1, #3 - bic r2, r7 - orr r2, r1 - add r1, r4, #0 - add r1, #0x32 - strb r2, [r1] - add r1, r4, #0 - add r1, #0x32 - ldrb r3, [r1] - mov r1, #0xf0 - mov r2, #0x30 - bic r3, r1 - orr r3, r2 - add r2, r4, #0 - add r2, #0x32 - strb r3, [r2] - add r0, r4, #0 - ldrb r2, [r5, #4] - add r0, #0x32 - cmp r2, #2 - bne _0204FF06 - ldrb r2, [r0] - mov r3, #2 - bic r2, r7 - orr r2, r3 - strb r2, [r0] - ldrb r2, [r0] - bic r2, r1 - mov r1, #0x20 - orr r1, r2 - strb r1, [r0] -_0204FF06: - ldr r1, _0204FF18 ; =0x020F1E88 - add r0, r6, #0 - add r2, r4, #0 - bl sub_0203CD84 - ldr r0, [r5, #0xc] - str r4, [r0, #0] - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204FF18: .word 0x020F1E88 - thumb_func_end sub_0204FE50 - - thumb_func_start sub_0204FF1C -sub_0204FF1C: ; 0x0204FF1C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r0, r1, #0 - bl sub_020509B4 - cmp r0, #0 - beq _0204FF2E - mov r0, #1 - pop {r3, r4, r5, pc} -_0204FF2E: - ldr r0, [r5, #0xc] - ldr r4, [r0, #0] - add r0, r4, #0 - add r0, #0x22 - ldrb r0, [r0] - cmp r0, #6 - beq _0204FF44 - cmp r0, #7 - bne _0204FF48 - mov r0, #4 - pop {r3, r4, r5, pc} -_0204FF44: - mov r0, #4 - pop {r3, r4, r5, pc} -_0204FF48: - add r0, r4, #0 - add r0, #0x2c - add r1, r5, #6 - mov r2, #3 - bl MI_CpuCopy8 - add r0, r4, #0 - add r0, #0x22 - ldrb r0, [r0] - strb r0, [r5, #5] - add r0, r4, #0 - bl sub_020181C4 - ldr r0, [r5, #0xc] - mov r1, #0 - str r1, [r0, #0] - mov r0, #2 - pop {r3, r4, r5, pc} - thumb_func_end sub_0204FF1C - - thumb_func_start sub_0204FF6C -sub_0204FF6C: ; 0x0204FF6C - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - add r6, r0, #0 - ldr r5, [r7, #0xc] - add r0, r2, #0 - mov r1, #0x30 - bl sub_02018184 - mov r1, #0 - mov r2, #0x30 - add r4, r0, #0 - bl MI_CpuFill8 - add r0, r5, #0 - bl sub_02025E44 - str r0, [r4, #4] - add r0, r5, #0 - bl sub_0207A268 - str r0, [r4, #0] - add r0, r5, #0 - bl sub_0207A274 - str r0, [r4, #0x1c] - add r0, r5, #0 - bl sub_0208C324 - str r0, [r4, #0x2c] - mov r0, #1 - strb r0, [r4, #0x11] - ldrb r0, [r6, #5] - strb r0, [r4, #0x14] - ldr r0, [r4, #0] - bl sub_0207A0F8 - strb r0, [r4, #0x13] - mov r0, #0 - strh r0, [r4, #0x18] - strb r0, [r4, #0x12] - add r0, r5, #0 - bl sub_0202D79C - str r0, [r4, #0x20] - ldr r1, _0204FFEC ; =0x020EC1F0 - add r0, r4, #0 - bl sub_0208D720 - add r0, r5, #0 - bl sub_02025E38 - add r1, r0, #0 - add r0, r4, #0 - bl sub_0208E9C0 - ldr r1, _0204FFF0 ; =0x020F410C - add r0, r7, #0 - add r2, r4, #0 - bl sub_0203CD84 - ldr r0, [r6, #0xc] - str r4, [r0, #0] - mov r0, #3 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0204FFEC: .word 0x020EC1F0 -_0204FFF0: .word 0x020F410C - thumb_func_end sub_0204FF6C - - thumb_func_start sub_0204FFF4 -sub_0204FFF4: ; 0x0204FFF4 - push {r4, lr} - add r4, r0, #0 - add r0, r1, #0 - bl sub_020509B4 - cmp r0, #0 - beq _02050006 - mov r0, #3 - pop {r4, pc} -_02050006: - ldr r0, [r4, #0xc] - ldr r0, [r0, #0] - ldrb r1, [r0, #0x14] - strb r1, [r4, #5] - bl sub_020181C4 - ldr r1, [r4, #0xc] - mov r0, #0 - str r0, [r1, #0] - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0204FFF4 - - .rodata - - - .global Unk_020EC1F0 -Unk_020EC1F0: ; 0x020EC1F0 - .incbin "incbin/arm9_rodata.bin", 0x75B0, 0x9 - diff --git a/asm/unk_0205C22C.s b/asm/unk_0205C22C.s deleted file mode 100644 index f88ecdd28c..0000000000 --- a/asm/unk_0205C22C.s +++ /dev/null @@ -1,984 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0205C22C.inc" - - - - .text - - - thumb_func_start sub_0205C22C -sub_0205C22C: ; 0x0205C22C - push {r3, r4, r5, lr} - ldr r1, _0205C298 ; =0x000004E8 - add r5, r0, #0 - mov r0, #0x1f - bl sub_02018144 - add r4, r0, #0 - ldr r2, _0205C298 ; =0x000004E8 - mov r0, #0 - add r1, r4, #0 - bl MIi_CpuClearFast - mov r0, #0x4e - str r5, [r4, #0] - mov r1, #1 - lsl r0, r0, #4 - str r1, [r4, r0] - ldr r0, _0205C29C ; =sub_0205C304 - add r1, r4, #0 - mov r2, #0xb - bl sub_0200D9E8 - str r0, [r4, #4] - add r0, r5, #0 - bl sub_0205B770 - ldr r1, _0205C2A0 ; =0x000004D4 - str r0, [r4, r1] - ldr r0, [r4, r1] - mov r1, #9 - ldr r0, [r0, #0xc] - bl sub_020245BC - ldr r1, _0205C2A4 ; =0x000004D8 - ldr r2, _0205C2A8 ; =0x00002710 - str r0, [r4, r1] - sub r0, r1, #4 - ldr r0, [r4, r0] - mov r1, #0x59 - ldr r0, [r0, #0x3c] - str r0, [r4, #8] - mov r0, #0xb - bl sub_02017FD4 - mov r0, #0x59 - bl sub_0205C95C - ldr r1, _0205C2AC ; =0x000004DC - str r0, [r4, r1] - add r0, r4, #0 - bl sub_0205C2C8 - add r0, r4, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 -_0205C298: .word 0x000004E8 -_0205C29C: .word sub_0205C304 -_0205C2A0: .word 0x000004D4 -_0205C2A4: .word 0x000004D8 -_0205C2A8: .word 0x00002710 -_0205C2AC: .word 0x000004DC - thumb_func_end sub_0205C22C - - thumb_func_start sub_0205C2B0 -sub_0205C2B0: ; 0x0205C2B0 - mov r3, #0 - mov r1, #3 -_0205C2B4: - ldrb r2, [r0, #0xd] - cmp r2, #0 - beq _0205C2BC - strb r1, [r0, #0xc] -_0205C2BC: - add r3, r3, #1 - add r0, #0x18 - cmp r3, #0x33 - blt _0205C2B4 - bx lr - ; .align 2, 0 - thumb_func_end sub_0205C2B0 - - thumb_func_start sub_0205C2C8 -sub_0205C2C8: ; 0x0205C2C8 - mov r2, #0 - add r1, r2, #0 -_0205C2CC: - strb r1, [r0, #0xc] - strb r1, [r0, #0xd] - strb r1, [r0, #0xe] - strb r1, [r0, #0xf] - add r2, r2, #1 - add r0, #0x18 - cmp r2, #0x33 - blt _0205C2CC - bx lr - ; .align 2, 0 - thumb_func_end sub_0205C2C8 - - thumb_func_start sub_0205C2E0 -sub_0205C2E0: ; 0x0205C2E0 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #4] - bl sub_0200DA58 - ldr r0, _0205C300 ; =0x000004DC - ldr r0, [r4, r0] - bl sub_0205C970 - mov r0, #0x59 - bl sub_0201807C - add r0, r4, #0 - bl sub_020181C4 - pop {r4, pc} - ; .align 2, 0 -_0205C300: .word 0x000004DC - thumb_func_end sub_0205C2E0 - - thumb_func_start sub_0205C304 -sub_0205C304: ; 0x0205C304 - push {r3, r4, r5, lr} - ldr r0, _0205C33C ; =0x000004D4 - add r5, r1, #0 - ldr r0, [r5, r0] - ldr r4, [r5, #0] - bl sub_020509A4 - cmp r0, #0 - bne _0205C33A - ldr r3, _0205C33C ; =0x000004D4 - add r1, r4, #0 - ldr r0, [r5, r3] - ldr r0, [r0, #0x3c] - str r0, [r5, #8] - ldr r2, [r5, r3] - add r3, r3, #4 - ldr r2, [r2, #0x38] - ldr r3, [r5, r3] - add r0, r5, #0 - bl sub_0205C44C - ldr r1, _0205C33C ; =0x000004D4 - add r0, r5, #0 - ldr r1, [r5, r1] - ldr r1, [r1, #0x38] - bl sub_0205C51C -_0205C33A: - pop {r3, r4, r5, pc} - ; .align 2, 0 -_0205C33C: .word 0x000004D4 - thumb_func_end sub_0205C304 - - thumb_func_start sub_0205C340 -sub_0205C340: ; 0x0205C340 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - mov r5, #0 - str r0, [sp] - str r3, [sp, #4] - cmp r2, #0 - bne _0205C374 - ldr r0, _0205C440 ; =0x020ED570 - lsl r1, r1, #1 - ldrh r4, [r0, r1] - ldr r0, [sp] - mov r6, #3 - add r0, #0xc - str r0, [sp] -_0205C35C: - ldr r0, [sp] - add r1, r4, #0 - add r2, r6, #0 - bl sub_0205C444 - add r5, r5, #1 - add r4, r4, #1 - cmp r5, #4 - blt _0205C35C - add sp, #0x14 - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0205C374: - add r0, r2, #0 - str r0, [sp, #0xc] - add r0, #0x50 - str r0, [sp, #0xc] - add r0, #0x30 - str r0, [sp, #0xc] - ldr r0, [r2, #0x50] - mov r2, #0x18 - add r3, r1, #0 - mul r3, r2 - ldr r2, [sp] - add r2, r2, r3 - ldr r2, [r2, #0x18] - cmp r0, r2 - beq _0205C3B8 - ldr r0, _0205C440 ; =0x020ED570 - lsl r1, r1, #1 - ldrh r4, [r0, r1] - ldr r0, [sp] - mov r6, #3 - add r0, #0xc - str r0, [sp] -_0205C3A0: - ldr r0, [sp] - add r1, r4, #0 - add r2, r6, #0 - bl sub_0205C444 - add r5, r5, #1 - add r4, r4, #1 - cmp r5, #4 - blt _0205C3A0 - add sp, #0x14 - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0205C3B8: - ldr r0, _0205C440 ; =0x020ED570 - lsl r1, r1, #1 - ldrh r7, [r0, r1] - ldr r0, [sp, #0xc] - add r6, r5, #0 - str r0, [sp, #8] - ldr r0, [sp] - str r0, [sp, #0x10] - add r0, #0xc - str r0, [sp, #0x10] -_0205C3CC: - mov r0, #0x18 - add r1, r7, #0 - mul r1, r0 - ldr r0, [sp] - add r4, r0, r1 - ldrb r0, [r4, #0xd] - cmp r0, #0 - beq _0205C3E6 - cmp r0, #2 - beq _0205C40C - cmp r0, #4 - beq _0205C426 - b _0205C42A -_0205C3E6: - ldr r0, [sp, #0xc] - add r1, r0, r6 - ldrb r0, [r1, #0x18] - cmp r0, #0 - beq _0205C42A - mov r0, #2 - strb r0, [r4, #0xc] - ldrb r1, [r1, #0x18] - mov r0, #0x7f - and r0, r1 - strb r0, [r4, #0x14] - ldr r1, [sp, #8] - ldr r0, [sp, #4] - ldr r1, [r1, #0] - bl sub_020280E0 - strb r0, [r4, #0xe] - mov r5, #1 - b _0205C42A -_0205C40C: - ldr r0, [sp, #0xc] - add r0, r0, r6 - ldrb r0, [r0, #0x18] - cmp r0, #0 - bne _0205C422 - ldr r0, [sp, #0x10] - add r1, r7, #0 - mov r2, #3 - bl sub_0205C444 - b _0205C42A -_0205C422: - mov r5, #1 - b _0205C42A -_0205C426: - mov r0, #0 - strb r0, [r4, #0xc] -_0205C42A: - ldr r0, [sp, #8] - add r6, r6, #1 - add r0, r0, #4 - add r7, r7, #1 - str r0, [sp, #8] - cmp r6, #4 - blt _0205C3CC - add r0, r5, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - nop -_0205C440: .word 0x020ED570 - thumb_func_end sub_0205C340 - - thumb_func_start sub_0205C444 -sub_0205C444: ; 0x0205C444 - mov r3, #0x18 - mul r3, r1 - strb r2, [r0, r3] - bx lr - thumb_func_end sub_0205C444 - - thumb_func_start sub_0205C44C -sub_0205C44C: ; 0x0205C44C - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - str r0, [sp] - add r5, r0, #0 - str r0, [sp, #0x10] - add r0, #0xc - str r1, [sp, #4] - str r3, [sp, #8] - mov r4, #0 - str r0, [sp, #0x10] -_0205C460: - ldr r0, [sp, #4] - add r1, r4, #0 - bl sub_0205B774 - add r6, r0, #0 - beq _0205C47A - add r7, r6, #0 - add r7, #0x50 - add r0, r7, #0 - str r0, [sp, #0xc] - add r0, #0x10 - str r0, [sp, #0xc] - b _0205C480 -_0205C47A: - mov r7, #0 - add r0, r7, #0 - str r0, [sp, #0xc] -_0205C480: - ldrb r0, [r5, #0xd] - cmp r0, #0 - beq _0205C490 - cmp r0, #2 - beq _0205C4CC - cmp r0, #4 - beq _0205C50A - b _0205C50E -_0205C490: - cmp r6, #0 - beq _0205C50E - ldr r0, [sp, #0xc] - bl sub_02025F8C - strb r0, [r5, #0x14] - ldr r0, [sp, #0xc] - bl sub_02025F20 - add r1, r0, #0 - ldr r0, [sp, #8] - bl sub_020280E0 - strb r0, [r5, #0xe] - ldr r0, [r7, #0] - ldr r3, [sp, #8] - str r0, [r5, #0x18] - ldr r0, [sp] - add r1, r4, #0 - add r2, r6, #0 - bl sub_0205C340 - cmp r0, #0 - beq _0205C4C6 - mov r0, #2 - strb r0, [r5, #0xc] - b _0205C50E -_0205C4C6: - mov r0, #1 - strb r0, [r5, #0xc] - b _0205C50E -_0205C4CC: - cmp r6, #0 - bne _0205C4DC - ldr r0, [sp, #0x10] - add r1, r4, #0 - mov r2, #3 - bl sub_0205C444 - b _0205C4EE -_0205C4DC: - ldr r1, [r7, #0] - ldr r0, [r5, #0x18] - cmp r1, r0 - beq _0205C4EE - ldr r0, [sp, #0x10] - add r1, r4, #0 - mov r2, #3 - bl sub_0205C444 -_0205C4EE: - ldr r0, [sp] - ldr r3, [sp, #8] - add r1, r4, #0 - add r2, r6, #0 - bl sub_0205C340 - cmp r0, #0 - beq _0205C50E - ldrb r0, [r5, #0x15] - cmp r0, #1 - bne _0205C50E - mov r0, #3 - strb r0, [r5, #0xc] - b _0205C50E -_0205C50A: - mov r0, #0 - strb r0, [r5, #0xc] -_0205C50E: - add r4, r4, #1 - add r5, #0x18 - cmp r4, #0xa - blt _0205C460 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0205C44C - - thumb_func_start sub_0205C51C -sub_0205C51C: ; 0x0205C51C - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - str r0, [sp] - ldr r0, [r0, #8] - str r1, [sp, #4] - cmp r0, #0 - bne _0205C52E - bl GF_AssertFail -_0205C52E: - ldr r0, [sp] - ldr r0, [r0, #8] - bl sub_0205EABC - str r0, [sp, #0xc] - ldr r0, [sp] - ldr r0, [r0, #8] - bl sub_0205EAC8 - ldr r4, [sp] - str r0, [sp, #8] - add r6, r4, #0 - mov r7, #0 - add r6, #0xc -_0205C54A: - ldr r0, [sp, #4] - add r1, r7, #1 - bl sub_0206251C - add r5, r0, #0 - bne _0205C55A - bl GF_AssertFail -_0205C55A: - ldrb r0, [r4, #0xd] - cmp r0, #4 - bhi _0205C64E - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0205C56C: ; jump table - .short _0205C576 - _0205C56C - 2 ; case 0 - .short _0205C596 - _0205C56C - 2 ; case 1 - .short _0205C5F6 - _0205C56C - 2 ; case 2 - .short _0205C61E - _0205C56C - 2 ; case 3 - .short _0205C64A - _0205C56C - 2 ; case 4 -_0205C576: - add r0, r5, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205C64E - ldrb r0, [r4, #0xc] - sub r0, r0, #1 - cmp r0, #1 - bhi _0205C64E - ldr r2, [sp, #0xc] - ldr r3, [sp, #8] - add r0, r6, #0 - add r1, r5, #0 - bl sub_0205C6E0 - b _0205C64E -_0205C596: - add r0, r5, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205C64E - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0205C5B6 - mov r0, #0 - strb r0, [r4, #0xd] - strb r0, [r4, #0xc] - add r0, r6, #0 - mov r1, #1 - bl sub_0205C680 - b _0205C64E -_0205C5B6: - add r0, r5, #0 - bl sub_020656AC - add r0, r5, #0 - mov r1, #0 - bl sub_02062DB4 - ldrb r0, [r4, #0xc] - cmp r0, #1 - bne _0205C5EC - ldrb r0, [r4, #0x15] - cmp r0, #0 - bne _0205C5EC - add r0, r5, #0 - mov r1, #3 - bl sub_020633A8 - add r0, r5, #0 - mov r1, #1 - bl sub_020629FC - add r0, r5, #0 - mov r1, #1 - bl sub_02062A04 - mov r0, #1 - strb r0, [r4, #0x15] -_0205C5EC: - mov r0, #2 - strb r0, [r4, #0xd] - mov r0, #0 - strb r0, [r4, #0xc] - b _0205C64E -_0205C5F6: - add r0, r5, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205C64E - add r0, r6, #0 - add r1, r5, #0 - bl sub_0205C7BC - ldrb r0, [r4, #0xc] - cmp r0, #3 - bne _0205C616 - add r0, r6, #0 - add r1, r5, #0 - bl sub_0205C788 -_0205C616: - add r0, r6, #0 - bl sub_0205C6BC - b _0205C64E -_0205C61E: - add r0, r5, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205C64E - add r0, r5, #0 - bl sub_020656AC - mov r0, #4 - strb r0, [r4, #0xd] - mov r0, #0 - strb r0, [r4, #0xc] - strb r0, [r4, #0x15] - add r0, r5, #0 - mov r1, #1 - bl sub_02062D64 - add r0, r5, #0 - mov r1, #0 - bl sub_02062D80 - b _0205C64E -_0205C64A: - mov r0, #0 - strb r0, [r4, #0xd] -_0205C64E: - add r7, r7, #1 - add r4, #0x18 - add r6, #0x18 - cmp r7, #0x32 - bge _0205C65A - b _0205C54A -_0205C65A: - ldr r0, [sp] - ldr r0, [r0, #8] - bl sub_0205EB3C - add r1, r0, #0 - ldr r2, _0205C67C ; =0x000004BC - ldr r0, [sp] - add r0, r0, r2 - bl sub_0205C7BC - ldr r1, _0205C67C ; =0x000004BC - ldr r0, [sp] - add r0, r0, r1 - bl sub_0205C6BC - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0205C67C: .word 0x000004BC - thumb_func_end sub_0205C51C - - thumb_func_start sub_0205C680 -sub_0205C680: ; 0x0205C680 - push {r3, r4, r5, lr} - add r5, r0, #0 - ldr r0, [r5, #0x10] - add r4, r1, #0 - cmp r0, #0 - beq _0205C69E - bl sub_020714F0 - cmp r0, #0 - beq _0205C69A - ldr r0, [r5, #0x10] - bl sub_0207136C -_0205C69A: - mov r0, #0 - str r0, [r5, #0x10] -_0205C69E: - cmp r4, #0 - beq _0205C6BA - ldr r0, [r5, #0x14] - cmp r0, #0 - beq _0205C6BA - bl sub_020714F0 - cmp r0, #0 - beq _0205C6B6 - ldr r0, [r5, #0x14] - bl sub_0207136C -_0205C6B6: - mov r0, #0 - str r0, [r5, #0x14] -_0205C6BA: - pop {r3, r4, r5, pc} - thumb_func_end sub_0205C680 - - thumb_func_start sub_0205C6BC -sub_0205C6BC: ; 0x0205C6BC - push {r4, lr} - add r4, r0, #0 - ldrb r1, [r4, #4] - cmp r1, #0 - beq _0205C6DC - ldrh r1, [r4, #6] - sub r1, r1, #1 - strh r1, [r4, #6] - ldrh r1, [r4, #6] - cmp r1, #0 - bne _0205C6DC - mov r1, #0 - bl sub_0205C680 - mov r0, #0 - strb r0, [r4, #4] -_0205C6DC: - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0205C6BC - - thumb_func_start sub_0205C6E0 -sub_0205C6E0: ; 0x0205C6E0 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x10 - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - str r2, [sp, #4] - str r3, [sp, #8] - bl sub_02062FF0 - add r7, r0, #0 - add r0, r4, #0 - bl sub_02062FF8 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_02063000 - add r6, r0, #0 - ldr r0, [sp, #4] - cmp r7, r0 - bne _0205C710 - ldr r0, [sp, #8] - cmp r6, r0 - beq _0205C780 -_0205C710: - ldr r0, _0205C784 ; =0x0000064F - bl sub_02005748 - ldrb r1, [r5, #8] - add r0, r4, #0 - bl sub_02061AD4 - add r0, r5, #0 - mov r1, #0 - bl sub_0205C680 - mov r0, #1 - str r0, [sp] - ldr r2, [sp, #0xc] - add r0, r4, #0 - add r1, r7, #0 - add r3, r6, #0 - bl sub_02063340 - add r0, r4, #0 - mov r1, #1 - bl sub_0206296C - add r0, r4, #0 - mov r1, #0x44 - bl sub_02065638 - add r0, r4, #0 - mov r1, #0 - bl sub_02062D64 - add r0, r4, #0 - mov r1, #1 - bl sub_02062D80 - mov r1, #1 - strb r1, [r5, #1] - ldrb r0, [r5, #2] - cmp r0, #0 - beq _0205C780 - cmp r0, #1 - bne _0205C76E - add r0, r4, #0 - bl ov5_021F16D4 - str r0, [r5, #0x14] - b _0205C77C -_0205C76E: - cmp r0, #2 - blo _0205C77C - add r0, r4, #0 - mov r1, #2 - bl ov5_021F16D4 - str r0, [r5, #0x14] -_0205C77C: - mov r0, #0 - strb r0, [r5, #2] -_0205C780: - add sp, #0x10 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0205C784: .word 0x0000064F - thumb_func_end sub_0205C6E0 - - thumb_func_start sub_0205C788 -sub_0205C788: ; 0x0205C788 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r0, #0 - add r0, r5, #0 - mov r1, #0x43 - bl sub_02065638 - add r0, r5, #0 - mov r1, #1 - bl sub_02062DB4 - add r0, r5, #0 - mov r1, #0 - bl sub_020633A8 - add r0, r4, #0 - mov r1, #1 - bl sub_0205C680 - mov r0, #0 - strb r0, [r4, #4] - strh r0, [r4, #6] - mov r0, #3 - strb r0, [r4, #1] - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205C788 - - thumb_func_start sub_0205C7BC -sub_0205C7BC: ; 0x0205C7BC - push {r4, lr} - add r4, r0, #0 - ldrb r0, [r4, #3] - cmp r0, #1 - bne _0205C7E0 - ldrb r0, [r4, #4] - cmp r0, #0 - bne _0205C7E0 - add r0, r1, #0 - bl ov5_021F6094 - str r0, [r4, #0x10] - mov r0, #0x1e - strh r0, [r4, #6] - mov r0, #0 - strb r0, [r4, #3] - mov r0, #1 - strb r0, [r4, #4] -_0205C7E0: - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0205C7BC - - thumb_func_start sub_0205C7E4 -sub_0205C7E4: ; 0x0205C7E4 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - add r6, r2, #0 - add r7, r0, #0 - cmp r5, r6 - bge _0205C81E -_0205C7F0: - add r0, r7, #0 - add r1, r5, #0 - bl sub_0206251C - add r4, r0, #0 - bne _0205C800 - bl GF_AssertFail -_0205C800: - add r0, r4, #0 - mov r1, #1 - bl sub_02062D64 - add r0, r4, #0 - mov r1, #0 - bl sub_02062D80 - add r0, r4, #0 - mov r1, #1 - bl sub_02062DB4 - add r5, r5, #1 - cmp r5, r6 - blt _0205C7F0 -_0205C81E: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0205C7E4 - - thumb_func_start sub_0205C820 -sub_0205C820: ; 0x0205C820 - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - mov r1, #0 - add r7, r0, #0 - bl sub_0206251C - add r4, r0, #0 - bne _0205C834 - bl GF_AssertFail -_0205C834: - add r0, r4, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205C8DA - bl sub_02036AA0 - cmp r0, #0 - bne _0205C84E - bl sub_02036A68 - cmp r0, #0 - beq _0205C8D0 -_0205C84E: - mov r6, #0 - add r5, #0xc -_0205C852: - ldrb r0, [r5, #1] - cmp r0, #1 - bne _0205C8BC - add r0, r7, #0 - add r1, r6, #1 - bl sub_0206251C - add r4, r0, #0 - bne _0205C868 - bl GF_AssertFail -_0205C868: - ldrb r1, [r5, #8] - add r0, r4, #0 - bl sub_02061AD4 - add r0, r4, #0 - mov r1, #1 - bl sub_0206296C - add r0, r4, #0 - mov r1, #0x44 - bl sub_02065638 - add r0, r4, #0 - mov r1, #0 - bl sub_02062D64 - add r0, r4, #0 - mov r1, #1 - bl sub_02062D80 - mov r0, #1 - strb r0, [r5, #1] - ldrb r0, [r5, #2] - cmp r0, #0 - beq _0205C8BC - cmp r0, #1 - bne _0205C8AA - add r0, r4, #0 - mov r1, #1 - bl ov5_021F16D4 - str r0, [r5, #0x14] - b _0205C8B8 -_0205C8AA: - cmp r0, #2 - blo _0205C8B8 - add r0, r4, #0 - mov r1, #2 - bl ov5_021F16D4 - str r0, [r5, #0x14] -_0205C8B8: - mov r0, #0 - strb r0, [r5, #2] -_0205C8BC: - add r6, r6, #1 - add r5, #0x18 - cmp r6, #0xa - blt _0205C852 - add r0, r7, #0 - mov r1, #0xb - mov r2, #0x33 - bl sub_0205C7E4 - pop {r3, r4, r5, r6, r7, pc} -_0205C8D0: - add r0, r7, #0 - mov r1, #1 - mov r2, #0x33 - bl sub_0205C7E4 -_0205C8DA: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0205C820 - - thumb_func_start sub_0205C8DC -sub_0205C8DC: ; 0x0205C8DC - push {r4, lr} - add r4, r0, #0 - mov r0, #8 - mov r1, #0x59 - bl sub_02023790 - str r0, [r4, #0] - mov r1, #0 - add r0, r4, #0 - str r1, [r4, #4] - add r0, #0x14 - str r1, [r4, #8] - bl sub_02014A9C - mov r0, #0 - str r0, [r4, #0x10] - str r0, [r4, #0xc] - pop {r4, pc} - thumb_func_end sub_0205C8DC - - thumb_func_start sub_0205C900 -sub_0205C900: ; 0x0205C900 - push {r4, r5, r6, lr} - add r6, r0, #0 - mov r4, #0 - add r5, r6, #0 -_0205C908: - add r0, r5, #0 - bl sub_0205C8DC - add r4, r4, #1 - add r5, #0x1c - cmp r4, #0x1e - blt _0205C908 - mov r0, #0xd2 - mov r1, #0 - lsl r0, r0, #2 - str r1, [r6, r0] - add r0, r0, #4 - str r1, [r6, r0] - pop {r4, r5, r6, pc} - thumb_func_end sub_0205C900 - - thumb_func_start sub_0205C924 -sub_0205C924: ; 0x0205C924 - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #0] - bl sub_020181C4 - ldr r0, [r4, #4] - cmp r0, #0 - beq _0205C938 - bl sub_020237BC -_0205C938: - ldr r0, [r4, #8] - cmp r0, #0 - beq _0205C942 - bl sub_020237BC -_0205C942: - pop {r4, pc} - thumb_func_end sub_0205C924 - - thumb_func_start sub_0205C944 -sub_0205C944: ; 0x0205C944 - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r4, #0 -_0205C94A: - add r0, r5, #0 - bl sub_0205C924 - add r4, r4, #1 - add r5, #0x1c - cmp r4, #0x1e - blt _0205C94A - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205C944 - - thumb_func_start sub_0205C95C -sub_0205C95C: ; 0x0205C95C - push {r4, lr} - mov r1, #0x35 - lsl r1, r1, #4 - bl sub_02018144 - add r4, r0, #0 - bl sub_0205C900 - add r0, r4, #0 - pop {r4, pc} - thumb_func_end sub_0205C95C - - thumb_func_start sub_0205C970 -sub_0205C970: ; 0x0205C970 - push {r4, lr} - add r4, r0, #0 - bl sub_0205C944 - add r0, r4, #0 - bl sub_020181C4 - pop {r4, pc} - thumb_func_end sub_0205C970 \ No newline at end of file diff --git a/asm/unk_0205C980.s b/asm/unk_0205C980.s deleted file mode 100644 index eb287f7456..0000000000 --- a/asm/unk_0205C980.s +++ /dev/null @@ -1,179 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0205C980.inc" - - - - .text - - - thumb_func_start sub_0205C980 -sub_0205C980: ; 0x0205C980 - push {r3, r4, r5, r6, r7, lr} - add r7, r2, #0 - lsl r0, r0, #0x1d - ldr r2, _0205C9B4 ; =0x020ED770 - lsr r0, r0, #0x19 - add r5, r2, r0 - lsl r2, r1, #3 - mov r1, #0xc - ldr r0, _0205C9B8 ; =0x020ED7F0 - mul r1, r2 - mov r4, #0 - add r6, r0, r1 -_0205C998: - ldr r3, [r5, #0] - mov r2, #0xc - mul r2, r3 - add r2, r6, r2 - ldr r2, [r2, #4] - add r0, r7, #0 - add r1, r4, #0 - bl sub_0200B960 - add r4, r4, #1 - add r5, r5, #4 - cmp r4, #4 - blt _0205C998 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0205C9B4: .word 0x020ED770 -_0205C9B8: .word 0x020ED7F0 - thumb_func_end sub_0205C980 - - thumb_func_start sub_0205C9BC -sub_0205C9BC: ; 0x0205C9BC - lsl r0, r0, #0x1d - lsr r3, r0, #0x19 - ldr r0, _0205C9D8 ; =0x020ED770 - lsl r2, r2, #2 - add r0, r0, r3 - ldr r0, [r2, r0] - lsl r1, r1, #3 - add r1, r1, r0 - mov r0, #0xc - add r2, r1, #0 - mul r2, r0 - ldr r0, _0205C9DC ; =0x020ED7F0 - ldr r0, [r0, r2] - bx lr - ; .align 2, 0 -_0205C9D8: .word 0x020ED770 -_0205C9DC: .word 0x020ED7F0 - thumb_func_end sub_0205C9BC - - thumb_func_start sub_0205C9E0 -sub_0205C9E0: ; 0x0205C9E0 - push {r3, r4} - lsl r4, r0, #3 - mov r0, #0xc - ldr r2, _0205CA08 ; =0x020ED7F0 - mul r0, r4 - mov r3, #0 - add r2, r2, r0 -_0205C9EE: - ldr r0, [r2, #0] - cmp r1, r0 - bne _0205C9FA - add r0, r3, r4 - pop {r3, r4} - bx lr -_0205C9FA: - add r3, r3, #1 - add r2, #0xc - cmp r3, #8 - blt _0205C9EE - mov r0, #0 - pop {r3, r4} - bx lr - ; .align 2, 0 -_0205CA08: .word 0x020ED7F0 - thumb_func_end sub_0205C9E0 - - thumb_func_start sub_0205CA0C -sub_0205CA0C: ; 0x0205CA0C - ldr r3, _0205CA10 ; =sub_0205C9E0 - bx r3 - ; .align 2, 0 -_0205CA10: .word sub_0205C9E0 - thumb_func_end sub_0205CA0C - - thumb_func_start sub_0205CA14 -sub_0205CA14: ; 0x0205CA14 - push {r4, lr} - add r4, r2, #0 - bl sub_0205C9E0 - cmp r4, #0 - beq _0205CA42 - cmp r4, #1 - beq _0205CA32 - cmp r4, #2 - bne _0205CA3C - mov r1, #0xc - mul r1, r0 - ldr r0, _0205CA44 ; =0x020ED7F4 - ldr r0, [r0, r1] - pop {r4, pc} -_0205CA32: - mov r1, #0xc - mul r1, r0 - ldr r0, _0205CA48 ; =0x020ED7F8 - ldr r0, [r0, r1] - pop {r4, pc} -_0205CA3C: - bl GF_AssertFail - mov r0, #0 -_0205CA42: - pop {r4, pc} - ; .align 2, 0 -_0205CA44: .word 0x020ED7F4 -_0205CA48: .word 0x020ED7F8 - thumb_func_end sub_0205CA14 - - thumb_func_start sub_0205CA4C -sub_0205CA4C: ; 0x0205CA4C - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r5, r0, #0 - mov r0, #0x56 - mov r1, #7 - add r2, sp, #0 - add r3, r5, #0 - bl sub_02006F88 - mov r1, #9 - add r4, r0, #0 - add r0, r5, #0 - lsl r1, r1, #6 - bl sub_02018144 - add r5, r0, #0 - ldr r0, [sp] - mov r2, #0 - ldr r3, [r0, #0xc] - mov r0, #1 - add r6, r5, #0 - lsl r0, r0, #8 -_0205CA78: - ldrh r1, [r3] - add r2, r2, #1 - add r3, r3, #2 - strh r1, [r6] - add r6, r6, #2 - cmp r2, r0 - blt _0205CA78 - add r0, r4, #0 - bl sub_020181C4 - add r0, r5, #0 - add sp, #4 - pop {r3, r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0205CA4C - - .rodata - - - .global Unk_020ED770 -Unk_020ED770: ; 0x020ED770 - .incbin "incbin/arm9_rodata.bin", 0x8B30, 0x8BB0 - 0x8B30 - - .global Unk_020ED7F0 -Unk_020ED7F0: ; 0x020ED7F0 - .incbin "incbin/arm9_rodata.bin", 0x8BB0, 0xC0 - diff --git a/asm/unk_0205D8CC.s b/asm/unk_0205D8CC.s deleted file mode 100644 index 0ccc68bcce..0000000000 --- a/asm/unk_0205D8CC.s +++ /dev/null @@ -1,276 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0205D8CC.inc" - - - - .text - - - thumb_func_start sub_0205D8CC -sub_0205D8CC: ; 0x0205D8CC - push {r4, lr} - add r4, r0, #0 - cmp r1, #1 - bne _0205D8D8 - bl sub_0201D710 -_0205D8D8: - mov r1, #0x1a - add r0, r4, #0 - lsl r1, r1, #4 - mov r2, #4 - bl sub_02002E7C - mov r1, #6 - add r0, r4, #0 - lsl r1, r1, #6 - mov r2, #4 - bl sub_02002E98 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0205D8CC - - thumb_func_start sub_0205D8F4 -sub_0205D8F4: ; 0x0205D8F4 - push {lr} - sub sp, #0x14 - cmp r2, #3 - bne _0205D91C - mov r2, #0x13 - str r2, [sp] - mov r2, #0x1b - str r2, [sp, #4] - mov r2, #4 - str r2, [sp, #8] - mov r2, #0xc - str r2, [sp, #0xc] - ldr r2, _0205D940 ; =0x00000237 - mov r3, #2 - str r2, [sp, #0x10] - mov r2, #3 - bl sub_0201A7E8 - add sp, #0x14 - pop {pc} -_0205D91C: - mov r2, #0x13 - str r2, [sp] - mov r2, #0x1b - str r2, [sp, #4] - mov r2, #4 - str r2, [sp, #8] - mov r2, #0xc - str r2, [sp, #0xc] - mov r2, #0x65 - lsl r2, r2, #2 - str r2, [sp, #0x10] - mov r2, #7 - mov r3, #2 - bl sub_0201A7E8 - add sp, #0x14 - pop {pc} - nop -_0205D940: .word 0x00000237 - thumb_func_end sub_0205D8F4 - - thumb_func_start sub_0205D944 -sub_0205D944: ; 0x0205D944 - push {r4, r5, r6, lr} - sub sp, #8 - add r4, r1, #0 - add r5, r0, #0 - bl sub_0201C290 - add r6, r0, #0 - add r0, r4, #0 - bl sub_02027B50 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - mov r0, #4 - str r0, [sp, #4] - ldr r0, [r5, #0] - ldr r2, _0205D984 ; =0x000003E2 - add r1, r6, #0 - mov r3, #0xa - bl sub_0200DD0C - add r0, r5, #0 - bl sub_0205D988 - ldr r2, _0205D984 ; =0x000003E2 - add r0, r5, #0 - mov r1, #0 - mov r3, #0xa - bl sub_0200E060 - add sp, #8 - pop {r4, r5, r6, pc} - ; .align 2, 0 -_0205D984: .word 0x000003E2 - thumb_func_end sub_0205D944 - - thumb_func_start sub_0205D988 -sub_0205D988: ; 0x0205D988 - ldr r3, _0205D990 ; =sub_0201ADA4 - mov r1, #0xf - bx r3 - nop -_0205D990: .word sub_0201ADA4 - thumb_func_end sub_0205D988 - - thumb_func_start sub_0205D994 -sub_0205D994: ; 0x0205D994 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r5, r0, #0 - add r0, r3, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_02002AC8 - mov r0, #0 - bl sub_02002AE4 - mov r0, #0 - bl sub_02002B20 - add r0, r6, #0 - bl sub_02027AC0 - mov r3, #0 - str r3, [sp] - str r0, [sp, #4] - add r0, r5, #0 - mov r1, #1 - add r2, r4, #0 - str r3, [sp, #8] - bl sub_0201D738 - add sp, #0xc - pop {r3, r4, r5, r6, pc} - thumb_func_end sub_0205D994 - - thumb_func_start sub_0205D9CC -sub_0205D9CC: ; 0x0205D9CC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - add r0, sp, #0x10 - ldrb r0, [r0, #0x10] - add r6, r1, #0 - add r7, r2, #0 - add r4, r3, #0 - bl sub_02002AC8 - ldr r0, [sp, #0x24] - bl sub_02002AE4 - mov r0, #0 - bl sub_02002B20 - mov r3, #0 - str r3, [sp] - str r4, [sp, #4] - add r0, r5, #0 - add r1, r7, #0 - add r2, r6, #0 - str r3, [sp, #8] - bl sub_0201D738 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0205D9CC - - thumb_func_start sub_0205DA04 -sub_0205DA04: ; 0x0205DA04 - push {r3, lr} - bl sub_0201D724 - cmp r0, #0 - bne _0205DA12 - mov r0, #1 - b _0205DA14 -_0205DA12: - mov r0, #0 -_0205DA14: - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0205DA04 - - thumb_func_start sub_0205DA1C -sub_0205DA1C: ; 0x0205DA1C - push {r4, r5, lr} - sub sp, #0x14 - cmp r2, #1 - bhi _0205DA2A - mov r4, #9 - mov r5, #0x14 - b _0205DA2E -_0205DA2A: - mov r4, #2 - mov r5, #0x1b -_0205DA2E: - cmp r3, #3 - bne _0205DA56 - mov r2, #0x13 - str r2, [sp] - lsl r2, r5, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #4] - mov r2, #4 - str r2, [sp, #8] - mov r2, #9 - str r2, [sp, #0xc] - ldr r2, _0205DA7C ; =0x00000237 - lsl r3, r4, #0x18 - str r2, [sp, #0x10] - mov r2, #3 - lsr r3, r3, #0x18 - bl sub_0201A7E8 - add sp, #0x14 - pop {r4, r5, pc} -_0205DA56: - mov r2, #0x13 - str r2, [sp] - lsl r2, r5, #0x18 - lsr r2, r2, #0x18 - str r2, [sp, #4] - mov r2, #4 - str r2, [sp, #8] - mov r2, #9 - str r2, [sp, #0xc] - mov r2, #0x65 - lsl r2, r2, #2 - lsl r3, r4, #0x18 - str r2, [sp, #0x10] - mov r2, #7 - lsr r3, r3, #0x18 - bl sub_0201A7E8 - add sp, #0x14 - pop {r4, r5, pc} - ; .align 2, 0 -_0205DA7C: .word 0x00000237 - thumb_func_end sub_0205DA1C - - thumb_func_start sub_0205DA80 -sub_0205DA80: ; 0x0205DA80 - push {r3, r4, r5, r6, lr} - sub sp, #0xc - add r4, r1, #0 - add r5, r0, #0 - add r6, r2, #0 - bl sub_0201C290 - add r1, r0, #0 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - str r6, [sp, #4] - mov r0, #4 - str r0, [sp, #8] - ldr r0, [r5, #0] - ldr r2, _0205DAC4 ; =0x000002A3 - mov r3, #9 - bl sub_0200E2A4 - add r0, r5, #0 - mov r1, #0xf - bl sub_0201ADA4 - lsl r0, r4, #0x18 - lsr r0, r0, #0x18 - str r0, [sp] - ldr r2, _0205DAC4 ; =0x000002A3 - add r0, r5, #0 - mov r1, #0 - mov r3, #9 - bl sub_0200E69C - add sp, #0xc - pop {r3, r4, r5, r6, pc} - ; .align 2, 0 -_0205DAC4: .word 0x000002A3 - thumb_func_end sub_0205DA80 \ No newline at end of file diff --git a/asm/unk_0205DAC8.s b/asm/unk_0205DAC8.s deleted file mode 100644 index 07c3425a44..0000000000 --- a/asm/unk_0205DAC8.s +++ /dev/null @@ -1,1077 +0,0 @@ - .include "macros/function.inc" - - - - .text - - - thumb_func_start sub_0205DAC8 -sub_0205DAC8: ; 0x0205DAC8 - cmp r0, #2 - bne _0205DAD0 - mov r0, #1 - bx lr -_0205DAD0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DAC8 - - thumb_func_start sub_0205DAD4 -sub_0205DAD4: ; 0x0205DAD4 - cmp r0, #3 - bne _0205DADC - mov r0, #1 - bx lr -_0205DADC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DAD4 - - thumb_func_start sub_0205DAE0 -sub_0205DAE0: ; 0x0205DAE0 - cmp r0, #0x80 - bne _0205DAE8 - mov r0, #1 - bx lr -_0205DAE8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DAE0 - - thumb_func_start sub_0205DAEC -sub_0205DAEC: ; 0x0205DAEC - cmp r0, #0x69 - bne _0205DAF4 - mov r0, #1 - bx lr -_0205DAF4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DAEC - - thumb_func_start sub_0205DAF8 -sub_0205DAF8: ; 0x0205DAF8 - cmp r0, #0x62 - bne _0205DB00 - mov r0, #1 - bx lr -_0205DB00: - mov r0, #0 - bx lr - thumb_func_end sub_0205DAF8 - - thumb_func_start sub_0205DB04 -sub_0205DB04: ; 0x0205DB04 - cmp r0, #0x63 - bne _0205DB0C - mov r0, #1 - bx lr -_0205DB0C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB04 - - thumb_func_start sub_0205DB10 -sub_0205DB10: ; 0x0205DB10 - cmp r0, #0x64 - bne _0205DB18 - mov r0, #1 - bx lr -_0205DB18: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB10 - - thumb_func_start sub_0205DB1C -sub_0205DB1C: ; 0x0205DB1C - cmp r0, #0x65 - bne _0205DB24 - mov r0, #1 - bx lr -_0205DB24: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB1C - - thumb_func_start sub_0205DB28 -sub_0205DB28: ; 0x0205DB28 - cmp r0, #0x6c - bne _0205DB30 - mov r0, #1 - bx lr -_0205DB30: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB28 - - thumb_func_start sub_0205DB34 -sub_0205DB34: ; 0x0205DB34 - cmp r0, #0x6d - bne _0205DB3C - mov r0, #1 - bx lr -_0205DB3C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB34 - - thumb_func_start sub_0205DB40 -sub_0205DB40: ; 0x0205DB40 - cmp r0, #0x6e - bne _0205DB48 - mov r0, #1 - bx lr -_0205DB48: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB40 - - thumb_func_start sub_0205DB4C -sub_0205DB4C: ; 0x0205DB4C - cmp r0, #0x6f - bne _0205DB54 - mov r0, #1 - bx lr -_0205DB54: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB4C - - thumb_func_start sub_0205DB58 -sub_0205DB58: ; 0x0205DB58 - ldr r1, _0205DB68 ; =0x020ED8C4 - ldrb r1, [r1, r0] - mov r0, #1 - tst r1, r0 - bne _0205DB64 - mov r0, #0 -_0205DB64: - bx lr - nop -_0205DB68: .word 0x020ED8C4 - thumb_func_end sub_0205DB58 - - thumb_func_start sub_0205DB6C -sub_0205DB6C: ; 0x0205DB6C - cmp r0, #0x21 - bne _0205DB74 - mov r0, #1 - bx lr -_0205DB74: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB6C - - thumb_func_start sub_0205DB78 -sub_0205DB78: ; 0x0205DB78 - cmp r0, #0x17 - bne _0205DB80 - mov r0, #1 - bx lr -_0205DB80: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB78 - - thumb_func_start sub_0205DB84 -sub_0205DB84: ; 0x0205DB84 - cmp r0, #0x3a - bne _0205DB8C - mov r0, #1 - bx lr -_0205DB8C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB84 - - thumb_func_start sub_0205DB90 -sub_0205DB90: ; 0x0205DB90 - cmp r0, #0x3b - bne _0205DB98 - mov r0, #1 - bx lr -_0205DB98: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB90 - - thumb_func_start sub_0205DB9C -sub_0205DB9C: ; 0x0205DB9C - cmp r0, #0x39 - bne _0205DBA4 - mov r0, #1 - bx lr -_0205DBA4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DB9C - - thumb_func_start sub_0205DBA8 -sub_0205DBA8: ; 0x0205DBA8 - cmp r0, #0x38 - bne _0205DBB0 - mov r0, #1 - bx lr -_0205DBB0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBA8 - - thumb_func_start sub_0205DBB4 -sub_0205DBB4: ; 0x0205DBB4 - cmp r0, #0x5a - bne _0205DBBC - mov r0, #1 - bx lr -_0205DBBC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBB4 - - thumb_func_start sub_0205DBC0 -sub_0205DBC0: ; 0x0205DBC0 - cmp r0, #0x5b - bne _0205DBC8 - mov r0, #1 - bx lr -_0205DBC8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBC0 - - thumb_func_start sub_0205DBCC -sub_0205DBCC: ; 0x0205DBCC - cmp r0, #0x5c - bne _0205DBD4 - mov r0, #1 - bx lr -_0205DBD4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBCC - - thumb_func_start sub_0205DBD8 -sub_0205DBD8: ; 0x0205DBD8 - cmp r0, #0x5d - bne _0205DBE0 - mov r0, #1 - bx lr -_0205DBE0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBD8 - - thumb_func_start sub_0205DBE4 -sub_0205DBE4: ; 0x0205DBE4 - cmp r0, #0x83 - bne _0205DBEC - mov r0, #1 - bx lr -_0205DBEC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBE4 - - thumb_func_start sub_0205DBF0 -sub_0205DBF0: ; 0x0205DBF0 - cmp r0, #0x85 - bne _0205DBF8 - mov r0, #1 - bx lr -_0205DBF8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBF0 - - thumb_func_start sub_0205DBFC -sub_0205DBFC: ; 0x0205DBFC - cmp r0, #0x56 - bne _0205DC04 - mov r0, #1 - bx lr -_0205DC04: - mov r0, #0 - bx lr - thumb_func_end sub_0205DBFC - - thumb_func_start sub_0205DC08 -sub_0205DC08: ; 0x0205DC08 - cmp r0, #0x57 - bne _0205DC10 - mov r0, #1 - bx lr -_0205DC10: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC08 - - thumb_func_start sub_0205DC14 -sub_0205DC14: ; 0x0205DC14 - cmp r0, #0x58 - bne _0205DC1C - mov r0, #1 - bx lr -_0205DC1C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC14 - - thumb_func_start sub_0205DC20 -sub_0205DC20: ; 0x0205DC20 - cmp r0, #0x59 - bne _0205DC28 - mov r0, #1 - bx lr -_0205DC28: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC20 - - thumb_func_start sub_0205DC2C -sub_0205DC2C: ; 0x0205DC2C - cmp r0, #0x6a - bne _0205DC34 - mov r0, #1 - bx lr -_0205DC34: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC2C - - thumb_func_start sub_0205DC38 -sub_0205DC38: ; 0x0205DC38 - cmp r0, #0x6b - bne _0205DC40 - mov r0, #1 - bx lr -_0205DC40: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC38 - - thumb_func_start sub_0205DC44 -sub_0205DC44: ; 0x0205DC44 - cmp r0, #0x5e - bne _0205DC4C - mov r0, #1 - bx lr -_0205DC4C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC44 - - thumb_func_start sub_0205DC50 -sub_0205DC50: ; 0x0205DC50 - cmp r0, #0x5f - bne _0205DC58 - mov r0, #1 - bx lr -_0205DC58: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC50 - - thumb_func_start sub_0205DC5C -sub_0205DC5C: ; 0x0205DC5C - cmp r0, #0x20 - bne _0205DC64 - mov r0, #1 - bx lr -_0205DC64: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC5C - - thumb_func_start sub_0205DC68 -sub_0205DC68: ; 0x0205DC68 - cmp r0, #0x4b - bne _0205DC70 - mov r0, #1 - bx lr -_0205DC70: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC68 - - thumb_func_start sub_0205DC74 -sub_0205DC74: ; 0x0205DC74 - cmp r0, #0x4c - bne _0205DC7C - mov r0, #1 - bx lr -_0205DC7C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC74 - - thumb_func_start sub_0205DC80 -sub_0205DC80: ; 0x0205DC80 - cmp r0, #0xe0 - bne _0205DC88 - mov r0, #1 - bx lr -_0205DC88: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC80 - - thumb_func_start sub_0205DC8C -sub_0205DC8C: ; 0x0205DC8C - cmp r0, #0xea - bne _0205DC94 - mov r0, #1 - bx lr -_0205DC94: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC8C - - thumb_func_start sub_0205DC98 -sub_0205DC98: ; 0x0205DC98 - cmp r0, #0xe1 - bne _0205DCA0 - mov r0, #1 - bx lr -_0205DCA0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DC98 - - thumb_func_start sub_0205DCA4 -sub_0205DCA4: ; 0x0205DCA4 - cmp r0, #0xe2 - bne _0205DCAC - mov r0, #1 - bx lr -_0205DCAC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCA4 - - thumb_func_start sub_0205DCB0 -sub_0205DCB0: ; 0x0205DCB0 - cmp r0, #0xe4 - bne _0205DCB8 - mov r0, #1 - bx lr -_0205DCB8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCB0 - - thumb_func_start sub_0205DCBC -sub_0205DCBC: ; 0x0205DCBC - cmp r0, #0xe5 - bne _0205DCC4 - mov r0, #1 - bx lr -_0205DCC4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCBC - - thumb_func_start sub_0205DCC8 -sub_0205DCC8: ; 0x0205DCC8 - cmp r0, #0xeb - bne _0205DCD0 - mov r0, #1 - bx lr -_0205DCD0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCC8 - - thumb_func_start sub_0205DCD4 -sub_0205DCD4: ; 0x0205DCD4 - cmp r0, #0xec - bne _0205DCDC - mov r0, #1 - bx lr -_0205DCDC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCD4 - - thumb_func_start sub_0205DCE0 -sub_0205DCE0: ; 0x0205DCE0 - cmp r0, #0xa4 - beq _0205DCE8 - cmp r0, #0xa5 - bne _0205DCEC -_0205DCE8: - mov r0, #1 - bx lr -_0205DCEC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCE0 - - thumb_func_start sub_0205DCF0 -sub_0205DCF0: ; 0x0205DCF0 - cmp r0, #0xa5 - bne _0205DCF8 - mov r0, #1 - bx lr -_0205DCF8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCF0 - - thumb_func_start sub_0205DCFC -sub_0205DCFC: ; 0x0205DCFC - cmp r0, #0xa6 - beq _0205DD04 - cmp r0, #0xa7 - bne _0205DD08 -_0205DD04: - mov r0, #1 - bx lr -_0205DD08: - mov r0, #0 - bx lr - thumb_func_end sub_0205DCFC - - thumb_func_start sub_0205DD0C -sub_0205DD0C: ; 0x0205DD0C - cmp r0, #0xa7 - bne _0205DD14 - mov r0, #1 - bx lr -_0205DD14: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD0C - - thumb_func_start sub_0205DD18 -sub_0205DD18: ; 0x0205DD18 - add r0, #0x5f - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #7 - bhi _0205DD32 - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - mov r0, #0x87 - tst r0, r2 - beq _0205DD32 - add r3, r1, #0 -_0205DD32: - add r0, r3, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_0205DD18 - - thumb_func_start sub_0205DD38 -sub_0205DD38: ; 0x0205DD38 - cmp r0, #0xa8 - bne _0205DD40 - mov r0, #1 - bx lr -_0205DD40: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD38 - - thumb_func_start sub_0205DD44 -sub_0205DD44: ; 0x0205DD44 - cmp r0, #0xa1 - bne _0205DD4C - mov r0, #1 - bx lr -_0205DD4C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD44 - - thumb_func_start sub_0205DD50 -sub_0205DD50: ; 0x0205DD50 - cmp r0, #0xa2 - bne _0205DD58 - mov r0, #1 - bx lr -_0205DD58: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD50 - - thumb_func_start sub_0205DD5C -sub_0205DD5C: ; 0x0205DD5C - cmp r0, #0xa3 - bne _0205DD64 - mov r0, #1 - bx lr -_0205DD64: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD5C - - thumb_func_start sub_0205DD68 -sub_0205DD68: ; 0x0205DD68 - cmp r0, #0xd9 - beq _0205DD70 - cmp r0, #0xda - bne _0205DD74 -_0205DD70: - mov r0, #1 - bx lr -_0205DD74: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD68 - - thumb_func_start sub_0205DD78 -sub_0205DD78: ; 0x0205DD78 - cmp r0, #0xd9 - bne _0205DD80 - mov r0, #1 - bx lr -_0205DD80: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD78 - - thumb_func_start sub_0205DD84 -sub_0205DD84: ; 0x0205DD84 - cmp r0, #0xda - bne _0205DD8C - mov r0, #1 - bx lr -_0205DD8C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD84 - - thumb_func_start sub_0205DD90 -sub_0205DD90: ; 0x0205DD90 - cmp r0, #0xd7 - bne _0205DD98 - mov r0, #1 - bx lr -_0205DD98: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD90 - - thumb_func_start sub_0205DD9C -sub_0205DD9C: ; 0x0205DD9C - cmp r0, #0xd8 - bne _0205DDA4 - mov r0, #1 - bx lr -_0205DDA4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DD9C - - thumb_func_start sub_0205DDA8 -sub_0205DDA8: ; 0x0205DDA8 - cmp r0, #8 - bne _0205DDB0 - mov r0, #1 - bx lr -_0205DDB0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DDA8 - - thumb_func_start sub_0205DDB4 -sub_0205DDB4: ; 0x0205DDB4 - cmp r0, #0x13 - bne _0205DDBC - mov r0, #1 - bx lr -_0205DDBC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DDB4 - - thumb_func_start sub_0205DDC0 -sub_0205DDC0: ; 0x0205DDC0 - cmp r0, #0xdb - bne _0205DDC8 - mov r0, #1 - bx lr -_0205DDC8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DDC0 - - thumb_func_start sub_0205DDCC -sub_0205DDCC: ; 0x0205DDCC - add r0, #0xce - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #0x17 - bhi _0205DDE6 - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DDEC ; =0x0080000D - tst r0, r2 - beq _0205DDE6 - add r3, r1, #0 -_0205DDE6: - add r0, r3, #0 - bx lr - nop -_0205DDEC: .word 0x0080000D - thumb_func_end sub_0205DDCC - - thumb_func_start sub_0205DDF0 -sub_0205DDF0: ; 0x0205DDF0 - add r0, #0xcd - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #0x16 - bhi _0205DE0A - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DE10 ; =0x00400019 - tst r0, r2 - beq _0205DE0A - add r3, r1, #0 -_0205DE0A: - add r0, r3, #0 - bx lr - nop -_0205DE10: .word 0x00400019 - thumb_func_end sub_0205DDF0 - - thumb_func_start sub_0205DE14 -sub_0205DE14: ; 0x0205DE14 - add r0, #0xcf - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #0x19 - bhi _0205DE2E - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DE34 ; =0x02000051 - tst r0, r2 - beq _0205DE2E - add r3, r1, #0 -_0205DE2E: - add r0, r3, #0 - bx lr - nop -_0205DE34: .word 0x02000051 - thumb_func_end sub_0205DE14 - - thumb_func_start sub_0205DE38 -sub_0205DE38: ; 0x0205DE38 - add r0, #0xd0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #0x1a - bhi _0205DE52 - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DE58 ; =0x04000051 - tst r0, r2 - beq _0205DE52 - add r3, r1, #0 -_0205DE52: - add r0, r3, #0 - bx lr - nop -_0205DE58: .word 0x04000051 - thumb_func_end sub_0205DE38 - - thumb_func_start sub_0205DE5C -sub_0205DE5C: ; 0x0205DE5C - cmp r0, #0x16 - beq _0205DE64 - cmp r0, #0x1d - bne _0205DE68 -_0205DE64: - mov r0, #1 - bx lr -_0205DE68: - mov r0, #0 - bx lr - thumb_func_end sub_0205DE5C - - thumb_func_start sub_0205DE6C -sub_0205DE6C: ; 0x0205DE6C - ldr r1, _0205DE80 ; =0x020ED8C4 - ldrb r1, [r1, r0] - mov r0, #2 - tst r0, r1 - beq _0205DE7A - mov r0, #1 - bx lr -_0205DE7A: - mov r0, #0 - bx lr - nop -_0205DE80: .word 0x020ED8C4 - thumb_func_end sub_0205DE6C - - thumb_func_start sub_0205DE84 -sub_0205DE84: ; 0x0205DE84 - cmp r0, #0x86 - bne _0205DE8C - mov r0, #1 - bx lr -_0205DE8C: - mov r0, #0 - bx lr - thumb_func_end sub_0205DE84 - - thumb_func_start sub_0205DE90 -sub_0205DE90: ; 0x0205DE90 - add r0, #0xf0 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #0x1c - bhi _0205DEAA - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DEB0 ; =0x10002041 - tst r0, r2 - beq _0205DEAA - add r3, r1, #0 -_0205DEAA: - add r0, r3, #0 - bx lr - nop -_0205DEB0: .word 0x10002041 - thumb_func_end sub_0205DE90 - - thumb_func_start sub_0205DEB4 -sub_0205DEB4: ; 0x0205DEB4 - cmp r0, #0x40 - bne _0205DEBC - mov r0, #1 - bx lr -_0205DEBC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DEB4 - - thumb_func_start sub_0205DEC0 -sub_0205DEC0: ; 0x0205DEC0 - cmp r0, #0x41 - bne _0205DEC8 - mov r0, #1 - bx lr -_0205DEC8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DEC0 - - thumb_func_start sub_0205DECC -sub_0205DECC: ; 0x0205DECC - cmp r0, #0x42 - bne _0205DED4 - mov r0, #1 - bx lr -_0205DED4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DECC - - thumb_func_start sub_0205DED8 -sub_0205DED8: ; 0x0205DED8 - cmp r0, #0x43 - bne _0205DEE0 - mov r0, #1 - bx lr -_0205DEE0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DED8 - - thumb_func_start sub_0205DEE4 -sub_0205DEE4: ; 0x0205DEE4 - cmp r0, #0x67 - bne _0205DEEC - mov r0, #1 - bx lr -_0205DEEC: - mov r0, #0 - bx lr - thumb_func_end sub_0205DEE4 - - thumb_func_start sub_0205DEF0 -sub_0205DEF0: ; 0x0205DEF0 - cmp r0, #0x70 - bne _0205DEF8 - mov r0, #1 - bx lr -_0205DEF8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DEF0 - - thumb_func_start sub_0205DEFC -sub_0205DEFC: ; 0x0205DEFC - add r0, #0x8f - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #0xc - bhi _0205DF0A - mov r0, #1 - bx lr -_0205DF0A: - mov r0, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_0205DEFC - - thumb_func_start sub_0205DF10 -sub_0205DF10: ; 0x0205DF10 - add r0, #0x8d - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #9 - bhi _0205DF2A - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DF30 ; =0x00000221 - tst r0, r2 - beq _0205DF2A - add r3, r1, #0 -_0205DF2A: - add r0, r3, #0 - bx lr - nop -_0205DF30: .word 0x00000221 - thumb_func_end sub_0205DF10 - - thumb_func_start sub_0205DF34 -sub_0205DF34: ; 0x0205DF34 - add r0, #0x8c - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - mov r3, #0 - cmp r0, #9 - bhi _0205DF4E - mov r1, #1 - add r2, r1, #0 - lsl r2, r0 - ldr r0, _0205DF54 ; =0x00000221 - tst r0, r2 - beq _0205DF4E - add r3, r1, #0 -_0205DF4E: - add r0, r3, #0 - bx lr - nop -_0205DF54: .word 0x00000221 - thumb_func_end sub_0205DF34 - - thumb_func_start sub_0205DF58 -sub_0205DF58: ; 0x0205DF58 - cmp r0, #0x75 - bne _0205DF60 - mov r0, #1 - bx lr -_0205DF60: - mov r0, #0 - bx lr - thumb_func_end sub_0205DF58 - - thumb_func_start sub_0205DF64 -sub_0205DF64: ; 0x0205DF64 - add r0, #0x8a - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #3 - bhi _0205DF72 - mov r0, #1 - bx lr -_0205DF72: - mov r0, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_0205DF64 - - thumb_func_start sub_0205DF78 -sub_0205DF78: ; 0x0205DF78 - add r0, #0x86 - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - cmp r0, #3 - bhi _0205DF86 - mov r0, #1 - bx lr -_0205DF86: - mov r0, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_0205DF78 - - thumb_func_start sub_0205DF8C -sub_0205DF8C: ; 0x0205DF8C - cmp r0, #0xff - bne _0205DF94 - mov r0, #1 - bx lr -_0205DF94: - mov r0, #0 - bx lr - thumb_func_end sub_0205DF8C - - thumb_func_start sub_0205DF98 -sub_0205DF98: ; 0x0205DF98 - mov r0, #0xff - bx lr - thumb_func_end sub_0205DF98 - - thumb_func_start sub_0205DF9C -sub_0205DF9C: ; 0x0205DF9C - cmp r0, #0x2c - beq _0205DFA4 - cmp r0, #0x1d - bne _0205DFA8 -_0205DFA4: - mov r0, #1 - bx lr -_0205DFA8: - mov r0, #0 - bx lr - thumb_func_end sub_0205DF9C - - thumb_func_start sub_0205DFAC -sub_0205DFAC: ; 0x0205DFAC - cmp r0, #0xa9 - bne _0205DFB4 - mov r0, #1 - bx lr -_0205DFB4: - mov r0, #0 - bx lr - thumb_func_end sub_0205DFAC - - thumb_func_start sub_0205DFB8 -sub_0205DFB8: ; 0x0205DFB8 - cmp r0, #0x2d - bne _0205DFC0 - mov r0, #1 - bx lr -_0205DFC0: - mov r0, #0 - bx lr - thumb_func_end sub_0205DFB8 - - .rodata - - - .global Unk_020ED8C4 -Unk_020ED8C4: ; 0x020ED8C4 - .incbin "incbin/arm9_rodata.bin", 0x8C84, 0x100 - diff --git a/asm/unk_0205F180.s b/asm/unk_0205F180.s deleted file mode 100644 index d4ad0e52eb..0000000000 --- a/asm/unk_0205F180.s +++ /dev/null @@ -1,5031 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0205F180.inc" - - - - .text - - - thumb_func_start sub_0205F180 -sub_0205F180: ; 0x0205F180 - push {r3, r4, r5, r6, r7, lr} - add r7, r1, #0 - mov r1, #0 - add r4, r2, #0 - mvn r1, r1 - add r5, r0, #0 - add r6, r3, #0 - cmp r4, r1 - bne _0205F19E - add r2, sp, #8 - ldrh r2, [r2, #0x10] - add r1, r6, #0 - bl sub_02061348 - add r4, r0, #0 -_0205F19E: - add r0, r5, #0 - add r1, r6, #0 - bl sub_02060324 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205F22C - cmp r0, #0 - beq _0205F222 - add r3, sp, #8 - ldrh r3, [r3, #0x10] - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_0205F350 - add r0, r5, #0 - bl ov5_021DFB5C - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205F62C - cmp r0, #1 - bne _0205F1DA - add r0, r5, #0 - bl ov5_021E0EEC - pop {r3, r4, r5, r6, r7, pc} -_0205F1DA: - add r0, r5, #0 - bl sub_0205EB74 - cmp r0, #0 - bne _0205F204 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205FC48 - cmp r0, #0 - beq _0205F1F8 - add r0, r5, #0 - bl ov5_021E0EEC - b _0205F204 -_0205F1F8: - ldr r0, [sp, #0x1c] - cmp r0, #1 - bne _0205F204 - add r0, r5, #0 - bl ov5_021E0E94 -_0205F204: - add r0, sp, #8 - ldrh r0, [r0, #0x10] - add r1, r7, #0 - add r2, r4, #0 - str r0, [sp] - add r0, r5, #0 - add r3, r6, #0 - bl sub_0205FB88 - add r0, r5, #0 - bl sub_0205F378 - add r0, r5, #0 - bl sub_0205F3B8 -_0205F222: - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0205F180 - - thumb_func_start sub_0205F224 -sub_0205F224: ; 0x0205F224 - ldr r3, _0205F228 ; =sub_0205F22C - bx r3 - ; .align 2, 0 -_0205F228: .word sub_0205F22C - thumb_func_end sub_0205F224 - - thumb_func_start sub_0205F22C -sub_0205F22C: ; 0x0205F22C - push {r4, r5, r6, r7, lr} - sub sp, #0x24 - add r5, r0, #0 - add r6, r1, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205F248 - add sp, #0x24 - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0205F248: - mov r0, #0 - mvn r0, r0 - cmp r6, r0 - bne _0205F256 - add sp, #0x24 - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0205F256: - add r0, r4, #0 - bl sub_02062BB8 - bl sub_020613D8 - cmp r0, #1 - bne _0205F34A - add r0, r5, #0 - bl sub_0205F158 - cmp r0, #1 - bne _0205F318 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_020611FC - str r0, [sp, #8] - ldr r1, [sp, #8] - mov r0, #0x80 - bic r1, r0 - beq _0205F324 - add r0, r5, #0 - bl sub_0205F108 - cmp r0, #2 - bne _0205F324 - add r0, r4, #0 - bl sub_02062C00 - add r7, r0, #0 - add r0, r4, #0 - bl sub_02063020 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_02063030 - str r0, [sp, #0x10] - add r0, r4, #0 - bl sub_02063040 - str r0, [sp, #0x14] - ldr r0, [sp, #0x10] - add r2, sp, #0x20 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - str r0, [sp, #4] - ldr r0, [sp, #0xc] - add r1, r6, #0 - str r0, [sp, #0x20] - ldr r0, [sp, #4] - add r3, sp, #0x1c - str r0, [sp, #0x1c] - ldr r0, [sp, #0x14] - str r0, [sp, #0x18] - add r0, sp, #0x18 - str r0, [sp] - add r0, r5, #0 - bl sub_02061674 - ldr r1, [sp, #0x20] - ldr r2, [sp, #0x1c] - ldr r3, [sp, #0x18] - add r0, r7, #0 - bl ov9_02250FBC - cmp r0, #0 - bne _0205F324 - ldr r1, [sp, #0x20] - ldr r2, [sp, #0x1c] - ldr r3, [sp, #0x18] - add r0, r7, #0 - bl ov9_02250FD8 - cmp r0, #1 - bne _0205F324 - ldr r1, [sp, #0x20] - ldr r2, [sp, #0x1c] - ldr r3, [sp, #0x18] - add r0, r7, #0 - bl ov9_02251000 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_020611FC - str r0, [sp, #8] - ldr r1, [sp, #0xc] - ldr r2, [sp, #4] - ldr r3, [sp, #0x14] - add r0, r7, #0 - bl ov9_02251000 - b _0205F324 -_0205F318: - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02060B7C - str r0, [sp, #8] -_0205F324: - ldr r0, [sp, #8] - cmp r0, #0 - bne _0205F330 - add sp, #0x24 - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0205F330: - cmp r0, #0x20 - bne _0205F344 - add r0, r5, #0 - bl sub_0205EB74 - cmp r0, #2 - bne _0205F344 - add sp, #0x24 - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0205F344: - add sp, #0x24 - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_0205F34A: - mov r0, #0 - add sp, #0x24 - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_0205F22C - - thumb_func_start sub_0205F350 -sub_0205F350: ; 0x0205F350 - push {r4, r5, r6, lr} - add r6, r3, #0 - add r5, r0, #0 - add r0, r6, #0 - bl sub_02061310 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0206132C - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205EBEC - add r0, r5, #0 - bl sub_0205F054 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0205F350 - - thumb_func_start sub_0205F378 -sub_0205F378: ; 0x0205F378 - push {r4, lr} - add r4, r0, #0 - bl sub_0205F060 - cmp r0, #1 - bne _0205F3B4 - add r0, r4, #0 - bl sub_0205EB0C - cmp r0, #1 - bne _0205F3B4 - add r0, r4, #0 - mov r1, #0 - bl sub_0205EF6C - add r0, r4, #0 - bl sub_0205F008 - cmp r0, #1 - bne _0205F3B4 - add r0, r4, #0 - mov r1, #0 - bl sub_0205EFF0 - add r0, r4, #0 - bl sub_0205EB3C - mov r1, #0 - bl sub_02062EE0 -_0205F3B4: - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0205F378 - - thumb_func_start sub_0205F3B8 -sub_0205F3B8: ; 0x0205F3B8 - push {r4, r5, r6, lr} - add r4, r0, #0 - bl sub_0205EB0C - cmp r0, #1 - bne _0205F47A - add r0, r4, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_02062BE8 - lsl r0, r0, #0x18 - lsr r5, r0, #0x18 - add r0, r4, #0 - bl sub_02062BB8 - bl sub_0206587C - add r1, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r1, r0 - bne _0205F3EC - add r6, r5, #0 - b _0205F3F6 -_0205F3EC: - add r0, r4, #0 - bl sub_02064238 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 -_0205F3F6: - add r0, r4, #0 - add r1, r5, #0 - bl sub_020640D4 - cmp r0, #1 - beq _0205F40C - add r0, r5, #0 - bl sub_0205DFAC - cmp r0, #1 - bne _0205F412 -_0205F40C: - ldr r0, _0205F47C ; =0x00000549 - bl sub_02005748 -_0205F412: - add r0, r5, #0 - bl sub_0205DE5C - cmp r0, #1 - bne _0205F422 - ldr r0, _0205F480 ; =0x00000641 - bl sub_02005748 -_0205F422: - add r0, r5, #0 - bl sub_0205DB78 - cmp r0, #1 - bne _0205F432 - ldr r0, _0205F484 ; =0x00000642 - bl sub_02005748 -_0205F432: - add r0, r5, #0 - bl sub_0205DB6C - add r0, r5, #0 - bl sub_0205DCE0 - cmp r0, #1 - bne _0205F452 - add r0, r5, #0 - bl sub_0205DCF0 - cmp r0, #1 - beq _0205F452 - ldr r0, _0205F488 ; =0x00000655 - bl sub_02005748 -_0205F452: - add r0, r4, #0 - bl sub_02062BB8 - bl sub_020613D8 - cmp r0, #0 - bne _0205F47A - add r0, r5, #0 - bl sub_0205DAD4 - cmp r0, #1 - beq _0205F474 - add r0, r6, #0 - bl sub_0205DAD4 - cmp r0, #1 - bne _0205F47A -_0205F474: - ldr r0, _0205F48C ; =0x00000653 - bl sub_02005748 -_0205F47A: - pop {r4, r5, r6, pc} - ; .align 2, 0 -_0205F47C: .word 0x00000549 -_0205F480: .word 0x00000641 -_0205F484: .word 0x00000642 -_0205F488: .word 0x00000655 -_0205F48C: .word 0x00000653 - thumb_func_end sub_0205F3B8 - - thumb_func_start sub_0205F490 -sub_0205F490: ; 0x0205F490 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0205EB0C - add r6, r0, #0 - add r0, r5, #0 - bl sub_0205EB14 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205EB3C - add r7, r0, #0 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB10 - mov r1, #0 - add r0, r5, #0 - mvn r1, r1 - bl sub_0205F644 - cmp r0, #0 - beq _0205F4CE - cmp r0, #5 - beq _0205F4CE - add r0, r5, #0 - mov r1, #2 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F4CE: - add r0, r7, #0 - bl sub_020655F4 - cmp r0, #0 - bne _0205F51A - cmp r6, #0 - beq _0205F568 - cmp r6, #1 - beq _0205F4E6 - cmp r6, #2 - beq _0205F510 - pop {r3, r4, r5, r6, r7, pc} -_0205F4E6: - add r0, r7, #0 - bl sub_02062BB8 - bl sub_020613D8 - cmp r0, #1 - beq _0205F568 - cmp r4, #0 - beq _0205F4FC - cmp r4, #3 - bne _0205F506 -_0205F4FC: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F506: - add r0, r5, #0 - mov r1, #2 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F510: - add r0, r5, #0 - mov r1, #2 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F51A: - add r0, r7, #0 - bl sub_02065684 - cmp r0, #1 - bne _0205F568 - cmp r6, #0 - beq _0205F568 - cmp r6, #1 - beq _0205F532 - cmp r6, #2 - beq _0205F54E - pop {r3, r4, r5, r6, r7, pc} -_0205F532: - cmp r4, #0 - beq _0205F568 - cmp r4, #3 - bne _0205F544 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F544: - add r0, r5, #0 - mov r1, #3 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F54E: - cmp r4, #0 - beq _0205F568 - cmp r4, #3 - bne _0205F560 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB10 - pop {r3, r4, r5, r6, r7, pc} -_0205F560: - add r0, r5, #0 - mov r1, #3 - bl sub_0205EB10 -_0205F568: - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0205F490 - - thumb_func_start sub_0205F56C -sub_0205F56C: ; 0x0205F56C - push {r4, lr} - add r4, r0, #0 - mov r1, #0 - bl sub_0205EB08 - add r0, r4, #0 - mov r1, #0 - bl sub_0205EB10 - add r0, r4, #0 - bl sub_0205EBC0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_0205F56C - - thumb_func_start sub_0205F588 -sub_0205F588: ; 0x0205F588 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0205EB0C - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205EB14 - cmp r4, #0 - bne _0205F5A0 - mov r0, #1 - pop {r3, r4, r5, pc} -_0205F5A0: - cmp r4, #2 - bne _0205F5A8 - mov r0, #1 - pop {r3, r4, r5, pc} -_0205F5A8: - cmp r4, #1 - bne _0205F5DE - cmp r0, #0 - beq _0205F5B4 - cmp r0, #3 - bne _0205F5B8 -_0205F5B4: - mov r0, #1 - pop {r3, r4, r5, pc} -_0205F5B8: - add r0, r5, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_020655F4 - cmp r0, #1 - bne _0205F5CC - mov r0, #1 - pop {r3, r4, r5, pc} -_0205F5CC: - add r0, r4, #0 - bl sub_02062BB8 - bl sub_020613D8 - cmp r0, #1 - bne _0205F5DE - mov r0, #1 - pop {r3, r4, r5, pc} -_0205F5DE: - mov r0, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205F588 - - thumb_func_start sub_0205F5E4 -sub_0205F5E4: ; 0x0205F5E4 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r4, r0, #0 - mov r1, #0 - bl sub_0205EB08 - add r0, r4, #0 - mov r1, #0 - bl sub_0205EB10 - add r0, r4, #0 - bl sub_0205EB3C - add r4, r0, #0 - add r1, r5, #0 - bl sub_02062974 - add r0, r4, #0 - mov r1, #0 - bl sub_02062A0C - add r0, r4, #0 - bl sub_02064208 - add r0, r4, #0 - bl sub_020656DC - add r0, r5, #0 - mov r1, #0 - bl sub_02065838 - add r1, r0, #0 - add r0, r4, #0 - bl sub_02065638 - pop {r3, r4, r5, pc} - thumb_func_end sub_0205F5E4 - - thumb_func_start sub_0205F62C -sub_0205F62C: ; 0x0205F62C - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0205F644 - add r1, r0, #0 - add r0, r5, #0 - add r2, r4, #0 - bl sub_0205F6A4 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205F62C - - thumb_func_start sub_0205F644 -sub_0205F644: ; 0x0205F644 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - mov r4, #0 - bl sub_0205EB3C - bl sub_02062BE8 - add r7, r0, #0 - add r0, r5, #0 - add r1, r7, #0 - add r2, r6, #0 - bl sub_02061630 - cmp r0, #1 - bne _0205F668 - mov r0, #5 - pop {r3, r4, r5, r6, r7, pc} -_0205F668: - add r0, r5, #0 - bl sub_0205EF84 - cmp r0, #1 - bne _0205F676 - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} -_0205F676: - lsl r0, r7, #0x18 - ldr r5, _0205F69C ; =0x020EDB84 - lsr r6, r0, #0x18 -_0205F67C: - ldr r1, [r5, #0] - add r0, r6, #0 - blx r1 - cmp r0, #1 - bne _0205F68E - ldr r0, _0205F6A0 ; =0x020EDB88 - lsl r1, r4, #3 - ldr r0, [r0, r1] - pop {r3, r4, r5, r6, r7, pc} -_0205F68E: - add r5, #8 - ldr r0, [r5, #0] - add r4, r4, #1 - cmp r0, #0 - bne _0205F67C - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0205F69C: .word 0x020EDB84 -_0205F6A0: .word 0x020EDB88 - thumb_func_end sub_0205F644 - - thumb_func_start sub_0205F6A4 -sub_0205F6A4: ; 0x0205F6A4 - push {r3, lr} - add r3, r1, #0 - add r1, r2, #0 - ldr r2, _0205F6C0 ; =0x020EDAEC - lsl r3, r3, #2 - ldr r2, [r2, r3] - blx r2 - cmp r0, #1 - bne _0205F6BA - mov r0, #1 - pop {r3, pc} -_0205F6BA: - mov r0, #0 - pop {r3, pc} - nop -_0205F6C0: .word 0x020EDAEC - thumb_func_end sub_0205F6A4 - - thumb_func_start sub_0205F6C4 -sub_0205F6C4: ; 0x0205F6C4 - push {r3, lr} - bl sub_0205FA6C - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0205F6C4 - - thumb_func_start sub_0205F6D0 -sub_0205F6D0: ; 0x0205F6D0 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_0206299C - add r6, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - bl sub_0205FAB0 - add r7, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02060B7C - str r0, [sp] - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - ldr r0, [sp] - cmp r0, #0 - beq _0205F782 - add r0, r5, #0 - bl sub_0205FA6C - cmp r7, #1 - beq _0205F722 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF6C - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB08 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0205F722: - add r0, r6, #0 - bl sub_0206447C - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02060B7C - cmp r0, #0 - beq _0205F73C - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0205F73C: - mov r1, #6 - add r0, r4, #0 - lsl r1, r1, #6 - bl sub_020628BC - add r0, r6, #0 - mov r1, #8 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #3 - bl sub_02060B64 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF6C - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - mov r1, #0 - mvn r1, r1 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0205F782: - add r0, r5, #0 - add r1, r7, #0 - bl sub_0205FB10 - cmp r0, #0 - bne _0205F7EA - add r0, r5, #0 - bl sub_0205FA6C - add r0, r6, #0 - bl sub_0206447C - add r6, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_02060B7C - cmp r0, #0 - beq _0205F7AE - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0205F7AE: - mov r1, #6 - add r0, r4, #0 - lsl r1, r1, #6 - bl sub_020628BC - add r0, r6, #0 - mov r1, #8 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #3 - bl sub_02060B64 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF6C - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - mov r1, #0 - mvn r1, r1 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - b _0205F7FC -_0205F7EA: - mov r1, #6 - add r0, r4, #0 - lsl r1, r1, #6 - bl sub_020628BC - add r0, r5, #0 - add r1, r6, #0 - bl sub_0205FB40 -_0205F7FC: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0205F6D0 - - thumb_func_start sub_0205F808 -sub_0205F808: ; 0x0205F808 - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r7, r1, #0 - bl sub_0205EB3C - add r6, r0, #0 - bl sub_0206299C - add r4, r0, #0 - ldr r0, _0205F958 ; =0x00000654 - bl sub_02005748 - cmp r4, #0 - bne _0205F8C2 - add r0, r5, #0 - bl sub_0205EB74 - cmp r0, #1 - bne _0205F85C - add r0, r5, #0 - bl sub_0205EBB8 - cmp r0, #3 - blt _0205F85C - cmp r7, #0 - bne _0205F85C - add r0, r4, #0 - mov r1, #0x15 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - mov r3, #6 - bl sub_02060B64 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0205F85C: - add r0, r4, #0 - bl sub_0206447C - add r4, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - add r2, r4, #0 - bl sub_02060B7C - cmp r0, #0 - beq _0205F876 - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} -_0205F876: - mov r1, #6 - add r0, r6, #0 - lsl r1, r1, #6 - bl sub_020628BC - add r0, r4, #0 - mov r1, #8 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - mov r3, #3 - bl sub_02060B64 - add r0, r5, #0 - bl sub_0205EBC0 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - add r0, r5, #0 - mov r1, #1 - bl sub_0205F01C - mov r1, #0 - mvn r1, r1 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0205F8C2: - cmp r4, #1 - bne _0205F954 - add r0, r5, #0 - bl sub_0205F034 - cmp r0, #0 - bne _0205F90E - add r0, r4, #0 - mov r1, #0x15 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - mov r3, #6 - bl sub_02060B64 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - add r0, r5, #0 - bl sub_0205EC88 - cmp r0, #1 - bne _0205F8FE - add r0, r5, #0 - mov r1, #3 - bl sub_0205EBBC -_0205F8FE: - mov r1, #0 - mvn r1, r1 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0205F90E: - mov r1, #6 - add r0, r6, #0 - lsl r1, r1, #6 - bl sub_020628BC - add r0, r4, #0 - mov r1, #8 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r6, #0 - mov r3, #3 - bl sub_02060B64 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - add r0, r5, #0 - mov r1, #1 - bl sub_0205F01C - mov r1, #0 - mvn r1, r1 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_0205F954: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0205F958: .word 0x00000654 - thumb_func_end sub_0205F808 - - thumb_func_start sub_0205F95C -sub_0205F95C: ; 0x0205F95C - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_0206299C - add r0, r5, #0 - bl sub_0205EC88 - cmp r0, #1 - bne _0205F988 - ldr r0, _0205F9A8 ; =0x00000656 - bl sub_02005748 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x5f - mov r3, #2 - bl sub_02060B64 - b _0205F994 -_0205F988: - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x5d - mov r3, #3 - bl sub_02060B64 -_0205F994: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - add r0, r5, #0 - mov r1, #1 - bl sub_0205F074 - mov r0, #1 - pop {r3, r4, r5, pc} - ; .align 2, 0 -_0205F9A8: .word 0x00000656 - thumb_func_end sub_0205F95C - - thumb_func_start sub_0205F9AC -sub_0205F9AC: ; 0x0205F9AC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_0206299C - add r0, r5, #0 - bl sub_0205EC88 - cmp r0, #1 - bne _0205F9D8 - ldr r0, _0205F9F8 ; =0x00000656 - bl sub_02005748 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x5e - mov r3, #2 - bl sub_02060B64 - b _0205F9E4 -_0205F9D8: - add r0, r5, #0 - add r1, r4, #0 - mov r2, #0x5c - mov r3, #2 - bl sub_02060B64 -_0205F9E4: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - add r0, r5, #0 - mov r1, #1 - bl sub_0205F074 - mov r0, #1 - pop {r3, r4, r5, pc} - ; .align 2, 0 -_0205F9F8: .word 0x00000656 - thumb_func_end sub_0205F9AC - - thumb_func_start sub_0205F9FC -sub_0205F9FC: ; 0x0205F9FC - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0205EB3C - add r4, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r2, #1 - bl sub_02060B7C - cmp r0, #0 - bne _0205FA3C - mov r0, #1 - mov r1, #0x14 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #6 - bl sub_02060B64 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - add r0, r5, #0 - mov r1, #3 - bl sub_0205EBBC - mov r0, #1 - pop {r3, r4, r5, pc} -_0205FA3C: - mov r0, #1 - add r1, r0, #0 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #1 - bl sub_02060B64 - add r0, r5, #0 - bl sub_0205EBC0 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB08 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EF98 - mov r0, #1 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205F9FC - - thumb_func_start sub_0205FA6C -sub_0205FA6C: ; 0x0205FA6C - push {r4, lr} - add r4, r0, #0 - bl sub_0205EF58 - cmp r0, #1 - bne _0205FAAE - add r0, r4, #0 - bl sub_0205EB3C - mov r1, #6 - lsl r1, r1, #6 - bl sub_020628C4 - add r0, r4, #0 - bl sub_0205F08C - cmp r0, #0 - bne _0205FA96 - add r0, r4, #0 - bl sub_0205EBC0 -_0205FA96: - add r0, r4, #0 - mov r1, #0 - bl sub_0205EF40 - add r0, r4, #0 - mov r1, #0 - bl sub_0205F074 - add r0, r4, #0 - mov r1, #0 - bl sub_0205F01C -_0205FAAE: - pop {r4, pc} - thumb_func_end sub_0205FA6C - - thumb_func_start sub_0205FAB0 -sub_0205FAB0: ; 0x0205FAB0 - push {r4, r5, r6, lr} - sub sp, #0x18 - add r5, r1, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_02062C00 - add r6, r0, #0 - add r0, r4, #0 - add r1, sp, #0xc - bl sub_02063050 - add r4, sp, #0xc - add r3, sp, #0 - ldmia r4!, {r0, r1} - add r2, r3, #0 - stmia r3!, {r0, r1} - ldr r0, [r4, #0] - add r1, r2, #0 - mov r2, #1 - str r0, [r3, #0] - add r0, r5, #0 - lsl r2, r2, #0xe - bl sub_02064418 - add r0, r6, #0 - add r1, sp, #0 - bl sub_020644A4 - cmp r0, #0 - beq _0205FAF8 - ldr r1, [sp, #4] - ldr r0, [sp, #0x10] - cmp r0, r1 - bne _0205FAFE -_0205FAF8: - add sp, #0x18 - mov r0, #0 - pop {r4, r5, r6, pc} -_0205FAFE: - cmp r0, r1 - ble _0205FB08 - add sp, #0x18 - mov r0, #2 - pop {r4, r5, r6, pc} -_0205FB08: - mov r0, #1 - add sp, #0x18 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0205FAB0 - - thumb_func_start sub_0205FB10 -sub_0205FB10: ; 0x0205FB10 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0205EBB8 - add r1, r0, #0 - cmp r4, #1 - bne _0205FB28 - sub r1, r1, #1 - bpl _0205FB34 - mov r0, #0 - pop {r3, r4, r5, pc} -_0205FB28: - cmp r4, #2 - bne _0205FB34 - add r1, r1, #1 - cmp r1, #3 - ble _0205FB34 - mov r1, #3 -_0205FB34: - add r0, r5, #0 - bl sub_0205EBBC - mov r0, #1 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205FB10 - - thumb_func_start sub_0205FB40 -sub_0205FB40: ; 0x0205FB40 - push {r3, r4, r5, r6, r7, lr} - add r6, r0, #0 - add r7, r1, #0 - bl sub_0205EB3C - str r0, [sp] - add r0, r6, #0 - mov r4, #0x10 - bl sub_0205EBB8 - mov r5, #5 - cmp r0, #1 - beq _0205FB64 - cmp r0, #2 - beq _0205FB68 - cmp r0, #3 - beq _0205FB6E - b _0205FB72 -_0205FB64: - mov r4, #0x50 - b _0205FB72 -_0205FB68: - mov r4, #0x14 - mov r5, #6 - b _0205FB72 -_0205FB6E: - mov r4, #0x14 - mov r5, #6 -_0205FB72: - add r0, r7, #0 - add r1, r4, #0 - bl sub_02065838 - add r2, r0, #0 - ldr r1, [sp] - add r0, r6, #0 - add r3, r5, #0 - bl sub_02060B64 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0205FB40 - - thumb_func_start sub_0205FB88 -sub_0205FB88: ; 0x0205FB88 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r6, r0, #0 - add r7, r1, #0 - str r2, [sp, #8] - add r5, r3, #0 - bl sub_0205EB74 - add r4, r0, #0 - add r0, r6, #0 - bl sub_0205EB3C - add r1, r0, #0 - cmp r4, #0 - beq _0205FBAE - cmp r4, #1 - beq _0205FBC4 - cmp r4, #2 - bne _0205FBDA -_0205FBAE: - str r5, [sp] - add r0, sp, #0x10 - ldrh r0, [r0, #0x10] - ldr r3, [sp, #8] - add r2, r7, #0 - str r0, [sp, #4] - add r0, r6, #0 - bl sub_0205FBE4 - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_0205FBC4: - str r5, [sp] - add r0, sp, #0x10 - ldrh r0, [r0, #0x10] - ldr r3, [sp, #8] - add r2, r7, #0 - str r0, [sp, #4] - add r0, r6, #0 - bl sub_020602DC - add sp, #0xc - pop {r4, r5, r6, r7, pc} -_0205FBDA: - bl GF_AssertFail - add sp, #0xc - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0205FB88 - - thumb_func_start sub_0205FBE4 -sub_0205FBE4: ; 0x0205FBE4 - push {r3, r4, r5, r6, lr} - sub sp, #4 - add r6, r3, #0 - add r4, r1, #0 - add r1, r6, #0 - add r5, r0, #0 - bl sub_0205FC48 - cmp r0, #0 - beq _0205FC04 - cmp r0, #1 - beq _0205FC1A - cmp r0, #2 - beq _0205FC30 - add sp, #4 - pop {r3, r4, r5, r6, pc} -_0205FC04: - add r3, sp, #8 - ldrh r0, [r3, #0x14] - add r1, r4, #0 - add r2, r6, #0 - str r0, [sp] - ldrh r3, [r3, #0x10] - add r0, r5, #0 - bl sub_0205FD20 - add sp, #4 - pop {r3, r4, r5, r6, pc} -_0205FC1A: - add r3, sp, #8 - ldrh r0, [r3, #0x14] - add r1, r4, #0 - add r2, r6, #0 - str r0, [sp] - ldrh r3, [r3, #0x10] - add r0, r5, #0 - bl sub_0205FD40 - add sp, #4 - pop {r3, r4, r5, r6, pc} -_0205FC30: - add r3, sp, #8 - ldrh r0, [r3, #0x14] - add r1, r4, #0 - add r2, r6, #0 - str r0, [sp] - ldrh r3, [r3, #0x10] - add r0, r5, #0 - bl sub_02060258 - add sp, #4 - pop {r3, r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0205FBE4 - - thumb_func_start sub_0205FC48 -sub_0205FC48: ; 0x0205FC48 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_0205FCC0 - add r4, r0, #0 - bl sub_0205FC64 - add r1, r0, #0 - add r0, r5, #0 - bl sub_0205EB08 - add r0, r4, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205FC48 - - thumb_func_start sub_0205FC64 -sub_0205FC64: ; 0x0205FC64 - push {r3, lr} - cmp r0, #0 - beq _0205FC74 - cmp r0, #1 - beq _0205FC78 - cmp r0, #2 - beq _0205FC7C - b _0205FC80 -_0205FC74: - mov r0, #0 - pop {r3, pc} -_0205FC78: - mov r0, #1 - pop {r3, pc} -_0205FC7C: - mov r0, #2 - pop {r3, pc} -_0205FC80: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0205FC64 - - thumb_func_start sub_0205FC88 -sub_0205FC88: ; 0x0205FC88 - push {r3, r4, r5, lr} - add r5, r1, #0 - add r0, r5, #0 - add r4, r2, #0 - bl sub_0205DD5C - cmp r0, #1 - bne _0205FC9C - mov r0, #4 - pop {r3, r4, r5, pc} -_0205FC9C: - add r0, r5, #0 - bl sub_0205DD50 - cmp r0, #1 - bne _0205FCAA - mov r0, #8 - pop {r3, r4, r5, pc} -_0205FCAA: - add r0, r5, #0 - bl sub_0205DD44 - cmp r0, #1 - bne _0205FCB6 - mov r4, #0xc -_0205FCB6: - add r0, r4, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_0205FC88 - - thumb_func_start sub_0205FCBC -sub_0205FCBC: ; 0x0205FCBC - add r0, r2, #0 - bx lr - thumb_func_end sub_0205FCBC - - thumb_func_start sub_0205FCC0 -sub_0205FCC0: ; 0x0205FCC0 - push {r4, r5, r6, lr} - add r4, r1, #0 - mov r1, #0 - mvn r1, r1 - add r5, r0, #0 - cmp r4, r1 - bne _0205FCD8 - mov r1, #0 - bl sub_0205EB08 - mov r0, #0 - pop {r4, r5, r6, pc} -_0205FCD8: - bl sub_0205EA78 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0205F108 - cmp r0, #0 - beq _0205FCF8 - cmp r0, #1 - beq _0205FCF8 - cmp r0, #2 - beq _0205FCF8 - add r0, r5, #0 - bl sub_0205EA94 - add r6, r0, #0 -_0205FCF8: - cmp r6, r4 - beq _0205FD12 - add r0, r5, #0 - bl sub_0205EB0C - cmp r0, #1 - beq _0205FD12 - add r0, r5, #0 - mov r1, #2 - bl sub_0205EB08 - mov r0, #2 - pop {r4, r5, r6, pc} -_0205FD12: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #1 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_0205FCC0 - - thumb_func_start sub_0205FD20 -sub_0205FD20: ; 0x0205FD20 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0206298C - mov r1, #0 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #1 - bl sub_02060B64 - pop {r3, r4, r5, pc} - thumb_func_end sub_0205FD20 - - thumb_func_start sub_0205FD40 -sub_0205FD40: ; 0x0205FD40 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - str r3, [sp, #4] - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - ldr r4, [sp, #0x20] - bl sub_0205F108 - cmp r0, #5 - bhi _0205FDB6 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0205FD62: ; jump table - .short _0205FDB6 - _0205FD62 - 2 ; case 0 - .short _0205FDB6 - _0205FD62 - 2 ; case 1 - .short _0205FD6E - _0205FD62 - 2 ; case 2 - .short _0205FD80 - _0205FD62 - 2 ; case 3 - .short _0205FD92 - _0205FD62 - 2 ; case 4 - .short _0205FDA4 - _0205FD62 - 2 ; case 5 -_0205FD6E: - str r4, [sp] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_0205FECC - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0205FD80: - str r4, [sp] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_020600CC - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0205FD92: - str r4, [sp] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060150 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0205FDA4: - str r4, [sp] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_020601D4 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0205FDB6: - str r4, [sp] - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_0205FDC8 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0205FD40 - - thumb_func_start sub_0205FDC8 -sub_0205FDC8: ; 0x0205FDC8 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - add r7, r1, #0 - str r2, [sp] - bl sub_02060B7C - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205EB74 - cmp r0, #2 - beq _0205FE66 - mov r6, #4 - add r0, r4, #0 - tst r0, r6 - beq _0205FDF2 - mov r0, #0x38 - str r0, [sp, #4] - mov r6, #3 - b _0205FEAE -_0205FDF2: - mov r0, #0x80 - tst r0, r4 - beq _0205FE00 - mov r0, #0x75 - str r0, [sp, #4] - mov r6, #2 - b _0205FEAE -_0205FE00: - cmp r4, #0 - beq _0205FE20 - mov r0, #0x1c - str r0, [sp, #4] - mov r0, #8 - mov r6, #1 - tst r0, r4 - bne _0205FE16 - ldr r0, _0205FEC8 ; =0x00000601 - bl sub_02005748 -_0205FE16: - ldr r1, [sp] - add r0, r7, #0 - bl sub_02062994 - b _0205FEAE -_0205FE20: - add r0, r5, #0 - mov r4, #0xc - bl sub_0205EC0C - bl sub_0205EC40 - cmp r0, #1 - bne _0205FE42 - add r1, sp, #0x10 - ldrh r1, [r1, #0x10] - add r0, r5, #0 - bl sub_020613FC - cmp r0, #1 - bne _0205FE42 - mov r4, #0x58 - mov r6, #5 -_0205FE42: - add r0, r7, #0 - bl sub_02062BE8 - add r1, r0, #0 - lsl r1, r1, #0x18 - add r0, r7, #0 - lsr r1, r1, #0x18 - add r2, r4, #0 - bl sub_0205FC88 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0205FEAE -_0205FE66: - cmp r4, #0 - beq _0205FE6E - cmp r4, #0x20 - bne _0205FE94 -_0205FE6E: - add r0, r7, #0 - mov r6, #5 - bl sub_02062BE8 - add r1, r0, #0 - lsl r1, r1, #0x18 - add r0, r7, #0 - lsr r1, r1, #0x18 - mov r2, #0x10 - bl sub_0205FCBC - str r0, [sp, #4] - add r0, r5, #0 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0205FEAE -_0205FE94: - mov r0, #0x1c - str r0, [sp, #4] - mov r0, #8 - mov r6, #1 - tst r0, r4 - bne _0205FEA6 - ldr r0, _0205FEC8 ; =0x00000601 - bl sub_02005748 -_0205FEA6: - ldr r1, [sp] - add r0, r7, #0 - bl sub_02062994 -_0205FEAE: - ldr r0, [sp] - ldr r1, [sp, #4] - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r7, #0 - add r3, r6, #0 - bl sub_02060B64 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_0205FEC8: .word 0x00000601 - thumb_func_end sub_0205FDC8 - - thumb_func_start sub_0205FECC -sub_0205FECC: ; 0x0205FECC - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - add r4, r1, #0 - str r2, [sp, #4] - bl sub_020611FC - add r6, r0, #0 - mov r0, #0x80 - add r1, r6, #0 - bic r1, r0 - beq _0205FF56 - add r0, r4, #0 - bl sub_02062C00 - add r7, r0, #0 - add r0, r4, #0 - bl sub_02063020 - str r0, [sp, #0x10] - add r0, r4, #0 - bl sub_02063030 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_02063040 - ldr r1, [sp, #0xc] - str r0, [sp, #8] - lsr r0, r1, #0x1f - add r0, r1, r0 - asr r0, r0, #1 - str r0, [sp, #0xc] - add r0, sp, #8 - str r0, [sp] - ldr r1, [sp, #4] - add r0, r5, #0 - add r2, sp, #0x10 - add r3, sp, #0xc - bl sub_02061674 - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - ldr r3, [sp, #8] - add r0, r7, #0 - bl ov9_02250FBC - cmp r0, #0 - bne _0205FF56 - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - ldr r3, [sp, #8] - add r0, r7, #0 - bl ov9_02250FD8 - cmp r0, #1 - bne _0205FF56 - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - ldr r3, [sp, #8] - add r0, r7, #0 - bl ov9_02251000 - ldr r2, [sp, #4] - add r0, r5, #0 - add r1, r4, #0 - bl sub_020611FC - add r6, r0, #0 -_0205FF56: - add r0, r5, #0 - bl sub_0205EB74 - cmp r0, #2 - beq _0205FFC2 - mov r0, #0x80 - tst r0, r6 - beq _0205FF78 - add r0, r5, #0 - mov r7, #0x75 - mov r6, #2 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0205FFEE -_0205FF78: - cmp r6, #0 - beq _0205FF90 - ldr r0, _02060008 ; =0x00000601 - mov r7, #0x1c - mov r6, #1 - bl sub_02005748 - ldr r1, [sp, #4] - add r0, r4, #0 - bl sub_02062994 - b _0205FFEE -_0205FF90: - add r0, r5, #0 - mov r7, #0xc - mov r6, #4 - bl sub_0205EC0C - bl sub_0205EC40 - cmp r0, #1 - bne _0205FFB4 - add r1, sp, #0x18 - ldrh r1, [r1, #0x10] - add r0, r5, #0 - bl sub_020613FC - cmp r0, #1 - bne _0205FFB4 - mov r7, #0x58 - mov r6, #5 -_0205FFB4: - add r0, r5, #0 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0205FFEE -_0205FFC2: - cmp r6, #0 - beq _0205FFCA - cmp r6, #0x20 - bne _0205FFDC -_0205FFCA: - add r0, r5, #0 - mov r6, #5 - mov r7, #0x10 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0205FFEE -_0205FFDC: - ldr r0, _02060008 ; =0x00000601 - mov r7, #0x1c - mov r6, #1 - bl sub_02005748 - ldr r1, [sp, #4] - add r0, r4, #0 - bl sub_02062994 -_0205FFEE: - ldr r0, [sp, #4] - add r1, r7, #0 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - add r3, r6, #0 - bl sub_02060B64 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - nop -_02060008: .word 0x00000601 - thumb_func_end sub_0205FECC - - thumb_func_start sub_0206000C -sub_0206000C: ; 0x0206000C - push {r4, r5, r6, r7, lr} - sub sp, #0xc - ldr r3, [sp, #0x34] - add r5, r0, #0 - str r1, [sp] - add r4, r2, #0 - ldr r7, [sp, #0x30] - str r3, [sp, #0x34] - bl sub_020611FC - add r6, r0, #0 - add r0, r5, #0 - bl sub_0205EB74 - cmp r0, #2 - beq _0206007E - cmp r6, #0 - beq _0206004C - lsl r0, r4, #2 - str r0, [sp, #8] - ldr r4, [r7, r0] - ldr r0, _020600C8 ; =0x00000601 - mov r6, #1 - bl sub_02005748 - ldr r2, [sp, #0x34] - ldr r1, [sp, #8] - ldr r0, [sp] - ldr r1, [r2, r1] - bl sub_02062994 - b _020600B6 -_0206004C: - ldr r0, [sp, #0x24] - lsl r7, r4, #2 - ldr r4, [r0, r7] - add r0, r5, #0 - mov r6, #4 - bl sub_0205EC0C - bl sub_0205EC40 - cmp r0, #1 - bne _02060076 - add r1, sp, #0x10 - ldrh r1, [r1, #0x10] - add r0, r5, #0 - bl sub_020613FC - cmp r0, #1 - bne _02060076 - ldr r0, [sp, #0x28] - mov r6, #5 - ldr r4, [r0, r7] -_02060076: - add r0, r5, #0 - bl sub_020615C8 - b _020600B6 -_0206007E: - cmp r6, #0 - beq _02060086 - cmp r6, #0x20 - bne _0206009C -_02060086: - ldr r1, [sp, #0x2c] - lsl r0, r4, #2 - ldr r4, [r1, r0] - add r0, r5, #0 - mov r6, #4 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _020600B6 -_0206009C: - lsl r0, r4, #2 - str r0, [sp, #4] - ldr r4, [r7, r0] - ldr r0, _020600C8 ; =0x00000601 - mov r6, #1 - bl sub_02005748 - ldr r2, [sp, #0x34] - ldr r1, [sp, #4] - ldr r0, [sp] - ldr r1, [r2, r1] - bl sub_02062994 -_020600B6: - ldr r1, [sp] - add r0, r5, #0 - add r2, r4, #0 - add r3, r6, #0 - bl sub_02060B64 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_020600C8: .word 0x00000601 - thumb_func_end sub_0206000C - - thumb_func_start sub_020600CC -sub_020600CC: ; 0x020600CC - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x78 - ldr r5, _0206013C ; =0x020EDACC - add r4, sp, #0x68 - str r0, [sp, #0x18] - str r1, [sp, #0x1c] - ldmia r5!, {r0, r1} - add r7, r4, #0 - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _02060140 ; =0x020EDABC - add r4, sp, #0x58 - ldmia r5!, {r0, r1} - str r4, [sp, #0x20] - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _02060144 ; =0x020EDAAC - add r4, sp, #0x48 - ldmia r5!, {r0, r1} - str r4, [sp, #0x24] - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _02060148 ; =0x020EDA9C - add r4, sp, #0x38 - ldmia r5!, {r0, r1} - mov ip, r4 - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _0206014C ; =0x020EDA8C - add r4, sp, #0x28 - add r6, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, sp, #0x80 - ldrh r0, [r0, #0x10] - ldr r1, [sp, #0x1c] - str r0, [sp] - ldr r0, [sp, #0x20] - str r7, [sp, #4] - str r0, [sp, #8] - ldr r0, [sp, #0x24] - str r0, [sp, #0xc] - mov r0, ip - str r0, [sp, #0x10] - ldr r0, [sp, #0x18] - str r6, [sp, #0x14] - bl sub_0206000C - add sp, #0x78 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_0206013C: .word 0x020EDACC -_02060140: .word 0x020EDABC -_02060144: .word 0x020EDAAC -_02060148: .word 0x020EDA9C -_0206014C: .word 0x020EDA8C - thumb_func_end sub_020600CC - - thumb_func_start sub_02060150 -sub_02060150: ; 0x02060150 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x78 - ldr r5, _020601C0 ; =0x020EDA7C - add r4, sp, #0x68 - str r0, [sp, #0x18] - str r1, [sp, #0x1c] - ldmia r5!, {r0, r1} - add r7, r4, #0 - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _020601C4 ; =0x020EDA5C - add r4, sp, #0x58 - ldmia r5!, {r0, r1} - str r4, [sp, #0x20] - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _020601C8 ; =0x020ED9EC - add r4, sp, #0x48 - ldmia r5!, {r0, r1} - str r4, [sp, #0x24] - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _020601CC ; =0x020ED9CC - add r4, sp, #0x38 - ldmia r5!, {r0, r1} - mov ip, r4 - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _020601D0 ; =0x020EDADC - add r4, sp, #0x28 - add r6, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, sp, #0x80 - ldrh r0, [r0, #0x10] - ldr r1, [sp, #0x1c] - str r0, [sp] - ldr r0, [sp, #0x20] - str r7, [sp, #4] - str r0, [sp, #8] - ldr r0, [sp, #0x24] - str r0, [sp, #0xc] - mov r0, ip - str r0, [sp, #0x10] - ldr r0, [sp, #0x18] - str r6, [sp, #0x14] - bl sub_0206000C - add sp, #0x78 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_020601C0: .word 0x020EDA7C -_020601C4: .word 0x020EDA5C -_020601C8: .word 0x020ED9EC -_020601CC: .word 0x020ED9CC -_020601D0: .word 0x020EDADC - thumb_func_end sub_02060150 - - thumb_func_start sub_020601D4 -sub_020601D4: ; 0x020601D4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x78 - ldr r5, _02060244 ; =0x020EDA2C - add r4, sp, #0x68 - str r0, [sp, #0x18] - str r1, [sp, #0x1c] - ldmia r5!, {r0, r1} - add r7, r4, #0 - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _02060248 ; =0x020EDA1C - add r4, sp, #0x58 - ldmia r5!, {r0, r1} - str r4, [sp, #0x20] - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _0206024C ; =0x020EDA6C - add r4, sp, #0x48 - ldmia r5!, {r0, r1} - str r4, [sp, #0x24] - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _02060250 ; =0x020ED9DC - add r4, sp, #0x38 - ldmia r5!, {r0, r1} - mov ip, r4 - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldr r5, _02060254 ; =0x020EDA3C - add r4, sp, #0x28 - add r6, r4, #0 - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - ldmia r5!, {r0, r1} - stmia r4!, {r0, r1} - add r0, sp, #0x80 - ldrh r0, [r0, #0x10] - ldr r1, [sp, #0x1c] - str r0, [sp] - ldr r0, [sp, #0x20] - str r7, [sp, #4] - str r0, [sp, #8] - ldr r0, [sp, #0x24] - str r0, [sp, #0xc] - mov r0, ip - str r0, [sp, #0x10] - ldr r0, [sp, #0x18] - str r6, [sp, #0x14] - bl sub_0206000C - add sp, #0x78 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_02060244: .word 0x020EDA2C -_02060248: .word 0x020EDA1C -_0206024C: .word 0x020EDA6C -_02060250: .word 0x020ED9DC -_02060254: .word 0x020EDA3C - thumb_func_end sub_020601D4 - - thumb_func_start sub_02060258 -sub_02060258: ; 0x02060258 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x30 - add r5, r2, #0 - add r7, r0, #0 - add r6, r1, #0 - add r4, r5, #0 - bl sub_0205F108 - cmp r0, #3 - beq _02060276 - cmp r0, #4 - beq _0206028A - cmp r0, #5 - beq _0206029E - b _020602B0 -_02060276: - ldr r4, _020602D0 ; =0x020EDA0C - add r3, sp, #0x20 - add r2, r3, #0 - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - lsl r0, r5, #2 - ldr r4, [r2, r0] - b _020602B0 -_0206028A: - ldr r4, _020602D4 ; =0x020EDA4C - add r3, sp, #0x10 - add r2, r3, #0 - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - lsl r0, r5, #2 - ldr r4, [r2, r0] - b _020602B0 -_0206029E: - ldr r4, _020602D8 ; =0x020ED9FC - add r3, sp, #0 - add r2, r3, #0 - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - ldmia r4!, {r0, r1} - stmia r3!, {r0, r1} - lsl r0, r5, #2 - ldr r4, [r2, r0] -_020602B0: - add r0, r4, #0 - mov r1, #0x28 - bl sub_02065838 - add r2, r0, #0 - add r0, r7, #0 - add r1, r6, #0 - mov r3, #1 - bl sub_02060B64 - add r0, r6, #0 - add r1, r5, #0 - bl sub_02062994 - add sp, #0x30 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_020602D0: .word 0x020EDA0C -_020602D4: .word 0x020EDA4C -_020602D8: .word 0x020ED9FC - thumb_func_end sub_02060258 - - thumb_func_start sub_020602DC -sub_020602DC: ; 0x020602DC - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - add r7, r3, #0 - bl sub_0205EC88 - cmp r0, #1 - add r0, sp, #0x10 - bne _0206030A - ldrh r1, [r0, #0x10] - add r2, r6, #0 - add r3, r7, #0 - str r1, [sp] - ldrh r0, [r0, #0x14] - add r1, r4, #0 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_0206078C - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0206030A: - ldrh r1, [r0, #0x10] - add r2, r6, #0 - add r3, r7, #0 - str r1, [sp] - ldrh r0, [r0, #0x14] - add r1, r4, #0 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_02060420 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_020602DC - - thumb_func_start sub_02060324 -sub_02060324: ; 0x02060324 - push {r3, r4, r5, lr} - add r4, r0, #0 - add r5, r1, #0 - bl sub_0205EB74 - cmp r0, #1 - bne _02060384 - mov r0, #2 - tst r0, r5 - beq _02060384 - add r0, r4, #0 - bl sub_0205EB3C - bl sub_02062BE8 - add r5, r0, #0 - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DD90 - cmp r0, #0 - bne _02060384 - lsl r0, r5, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DD9C - cmp r0, #0 - bne _02060384 - add r0, r4, #0 - mov r5, #1 - bl sub_0205EC88 - cmp r0, #1 - bne _0206036A - mov r5, #0 -_0206036A: - add r0, r4, #0 - add r1, r5, #0 - bl sub_0205EC78 - cmp r5, #0 - bne _0206037E - ldr r0, _02060388 ; =0x0000061C - bl sub_02005748 - pop {r3, r4, r5, pc} -_0206037E: - ldr r0, _0206038C ; =0x00000619 - bl sub_02005748 -_02060384: - pop {r3, r4, r5, pc} - nop -_02060388: .word 0x0000061C -_0206038C: .word 0x00000619 - thumb_func_end sub_02060324 - - thumb_func_start sub_02060390 -sub_02060390: ; 0x02060390 - push {r3, r4, r5, lr} - add r5, r1, #0 - mov r4, #0x4c - bl sub_0205EBB8 - cmp r0, #1 - beq _020603A8 - cmp r0, #2 - beq _020603AC - cmp r0, #3 - beq _020603B0 - b _020603B2 -_020603A8: - mov r4, #0x10 - b _020603B2 -_020603AC: - mov r4, #0x50 - b _020603B2 -_020603B0: - mov r4, #0x14 -_020603B2: - add r0, r5, #0 - add r1, r4, #0 - bl sub_02065838 - pop {r3, r4, r5, pc} - thumb_func_end sub_02060390 - - thumb_func_start sub_020603BC -sub_020603BC: ; 0x020603BC - push {r3, r4, r5, lr} - add r5, r0, #0 - mov r1, #1 - mov r2, #3 - bl sub_0205EBCC - add r4, r0, #0 - add r0, r5, #0 - bl sub_0205EFB0 - cmp r0, #0 - bne _020603E0 - cmp r4, #2 - blt _020603E0 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF98 -_020603E0: - cmp r4, #3 - bne _020603E8 - mov r0, #1 - pop {r3, r4, r5, pc} -_020603E8: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_020603BC - - thumb_func_start sub_020603EC -sub_020603EC: ; 0x020603EC - push {r4, r5, r6, lr} - add r5, r0, #0 - mov r6, #1 - bl sub_0205EBB8 - sub r4, r0, #1 - bpl _020603FE - mov r4, #0 - add r6, r4, #0 -_020603FE: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205EBBC - add r0, r5, #0 - bl sub_0205EFB0 - cmp r0, #1 - bne _0206041C - cmp r4, #0 - bne _0206041C - add r0, r5, #0 - mov r1, #0 - bl sub_0205EF98 -_0206041C: - add r0, r6, #0 - pop {r4, r5, r6, pc} - thumb_func_end sub_020603EC - - thumb_func_start sub_02060420 -sub_02060420: ; 0x02060420 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r1, #0 - add r1, r3, #0 - add r6, r0, #0 - str r3, [sp, #4] - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x24] - bl sub_02060494 - cmp r0, #3 - bhi _02060490 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02060444: ; jump table - .short _0206044C - _02060444 - 2 ; case 0 - .short _0206045E - _02060444 - 2 ; case 1 - .short _02060470 - _02060444 - 2 ; case 2 - .short _02060482 - _02060444 - 2 ; case 3 -_0206044C: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_02060548 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_0206045E: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_02060570 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_02060470: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_02060688 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_02060482: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_020606C8 -_02060490: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02060420 - - thumb_func_start sub_02060494 -sub_02060494: ; 0x02060494 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_020604E4 - add r4, r0, #0 - bl sub_020604B0 - add r1, r0, #0 - add r0, r5, #0 - bl sub_0205EB08 - add r0, r4, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_02060494 - - thumb_func_start sub_020604B0 -sub_020604B0: ; 0x020604B0 - push {r3, lr} - cmp r0, #3 - bhi _020604DA - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020604C2: ; jump table - .short _020604CA - _020604C2 - 2 ; case 0 - .short _020604CE - _020604C2 - 2 ; case 1 - .short _020604D2 - _020604C2 - 2 ; case 2 - .short _020604D6 - _020604C2 - 2 ; case 3 -_020604CA: - mov r0, #0 - pop {r3, pc} -_020604CE: - mov r0, #1 - pop {r3, pc} -_020604D2: - mov r0, #2 - pop {r3, pc} -_020604D6: - mov r0, #1 - pop {r3, pc} -_020604DA: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_020604B0 - - thumb_func_start sub_020604E4 -sub_020604E4: ; 0x020604E4 - push {r4, r5, r6, lr} - add r4, r1, #0 - mov r1, #0 - mvn r1, r1 - add r5, r0, #0 - cmp r4, r1 - bne _02060512 - bl sub_0205EFB0 - cmp r0, #1 - bne _02060506 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #3 - pop {r4, r5, r6, pc} -_02060506: - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB08 - mov r0, #0 - pop {r4, r5, r6, pc} -_02060512: - bl sub_0205EA78 - add r6, r0, #0 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EF98 - cmp r6, r4 - beq _0206053A - add r0, r5, #0 - bl sub_0205EB0C - cmp r0, #1 - beq _0206053A - add r0, r5, #0 - mov r1, #2 - bl sub_0205EB08 - mov r0, #2 - pop {r4, r5, r6, pc} -_0206053A: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #1 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_020604E4 - - thumb_func_start sub_02060548 -sub_02060548: ; 0x02060548 - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0206298C - mov r1, #0 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #1 - bl sub_02060B64 - add r0, r5, #0 - bl sub_0205EBC0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_02060548 - - thumb_func_start sub_02060570 -sub_02060570: ; 0x02060570 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - str r1, [sp] - str r2, [sp, #4] - bl sub_02060B7C - add r4, r0, #0 - mov r0, #4 - tst r0, r4 - beq _02060598 - add r0, r5, #0 - mov r7, #0x38 - mov r6, #3 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0206066C -_02060598: - mov r0, #0x80 - tst r0, r4 - beq _020605B0 - add r0, r5, #0 - mov r7, #0x75 - mov r6, #2 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _0206066C -_020605B0: - mov r0, #0x10 - tst r0, r4 - beq _020605D0 - add r0, r5, #0 - mov r7, #0x50 - mov r6, #5 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - b _0206066C -_020605D0: - mov r0, #0x40 - tst r0, r4 - beq _020605FC - ldr r0, [sp] - mov r7, #0 - mov r6, #1 - bl sub_0206299C - str r0, [sp, #4] - ldr r0, [sp] - ldr r1, [sp, #4] - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - sub r1, r6, #2 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - b _0206066C -_020605FC: - cmp r4, #0 - beq _02060654 - ldr r1, [sp] - ldr r2, [sp, #4] - add r0, r5, #0 - bl sub_020615E0 - cmp r0, #0 - bne _0206062E - mov r0, #8 - mov r7, #0x1c - mov r6, #1 - tst r0, r4 - bne _0206061E - ldr r0, _02060684 ; =0x00000601 - bl sub_02005748 -_0206061E: - ldr r0, [sp] - ldr r1, [sp, #4] - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - b _0206066C -_0206062E: - ldr r0, [sp] - mov r7, #0 - mov r6, #1 - bl sub_0206299C - str r0, [sp, #4] - ldr r0, [sp] - ldr r1, [sp, #4] - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - sub r1, r6, #2 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - b _0206066C -_02060654: - add r0, r5, #0 - mov r7, #0x50 - mov r6, #5 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - add r0, r5, #0 - mov r1, #2 - bl sub_0205EBBC -_0206066C: - ldr r0, [sp, #4] - add r1, r7, #0 - bl sub_02065838 - add r2, r0, #0 - ldr r1, [sp] - add r0, r5, #0 - add r3, r6, #0 - bl sub_02060B64 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_02060684: .word 0x00000601 - thumb_func_end sub_02060570 - - thumb_func_start sub_02060688 -sub_02060688: ; 0x02060688 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0205EBC0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_020615E0 - cmp r0, #1 - beq _020606C4 - add r0, r6, #0 - mov r1, #0x28 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #1 - bl sub_02060B64 - add r0, r4, #0 - add r1, r6, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 -_020606C4: - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_02060688 - - thumb_func_start sub_020606C8 -sub_020606C8: ; 0x020606C8 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - str r1, [sp] - bl sub_020603EC - str r0, [sp, #4] - add r0, r5, #0 - bl sub_0205EA94 - add r7, r0, #0 - ldr r1, [sp] - add r0, r5, #0 - add r2, r7, #0 - bl sub_02060B7C - add r4, r0, #0 - mov r0, #4 - tst r0, r4 - beq _020606FE - add r0, r7, #0 - mov r1, #0x38 - bl sub_02065838 - str r0, [sp, #8] - mov r6, #3 - b _02060768 -_020606FE: - mov r0, #0x80 - tst r0, r4 - beq _02060712 - add r0, r7, #0 - mov r1, #0x75 - bl sub_02065838 - str r0, [sp, #8] - mov r6, #2 - b _02060768 -_02060712: - mov r0, #0x40 - tst r0, r4 - beq _0206072C - add r0, r7, #0 - mov r1, #0 - bl sub_02065838 - str r0, [sp, #8] - add r0, r5, #0 - mov r6, #1 - bl sub_0205EBC0 - b _02060768 -_0206072C: - cmp r4, #0 - beq _0206075C - mov r0, #0 - str r0, [sp, #4] - add r0, r7, #0 - mov r1, #0x1c - bl sub_02065838 - str r0, [sp, #8] - mov r0, #8 - mov r6, #1 - tst r0, r4 - bne _0206074C - ldr r0, _02060788 ; =0x00000601 - bl sub_02005748 -_0206074C: - ldr r0, [sp] - add r1, r7, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - b _02060768 -_0206075C: - add r0, r5, #0 - add r1, r7, #0 - bl sub_02060390 - str r0, [sp, #8] - mov r6, #5 -_02060768: - ldr r0, [sp, #4] - cmp r0, #0 - bne _02060776 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EF98 -_02060776: - ldr r1, [sp] - ldr r2, [sp, #8] - add r0, r5, #0 - add r3, r6, #0 - bl sub_02060B64 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_02060788: .word 0x00000601 - thumb_func_end sub_020606C8 - - thumb_func_start sub_0206078C -sub_0206078C: ; 0x0206078C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r7, r1, #0 - add r1, r3, #0 - add r6, r0, #0 - str r3, [sp, #4] - ldr r5, [sp, #0x20] - ldr r4, [sp, #0x24] - bl sub_02060800 - cmp r0, #3 - bhi _020607FC - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020607B0: ; jump table - .short _020607B8 - _020607B0 - 2 ; case 0 - .short _020607CA - _020607B0 - 2 ; case 1 - .short _020607DC - _020607B0 - 2 ; case 2 - .short _020607EE - _020607B0 - 2 ; case 3 -_020607B8: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_020608BC - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_020607CA: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_020608E4 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_020607DC: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_02060A60 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} -_020607EE: - ldr r2, [sp, #4] - add r0, r6, #0 - add r1, r7, #0 - add r3, r5, #0 - str r4, [sp] - bl sub_02060AA0 -_020607FC: - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_0206078C - - thumb_func_start sub_02060800 -sub_02060800: ; 0x02060800 - push {r3, r4, r5, lr} - add r5, r0, #0 - bl sub_02060850 - add r4, r0, #0 - bl sub_0206081C - add r1, r0, #0 - add r0, r5, #0 - bl sub_0205EB08 - add r0, r4, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_02060800 - - thumb_func_start sub_0206081C -sub_0206081C: ; 0x0206081C - push {r3, lr} - cmp r0, #3 - bhi _02060846 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_0206082E: ; jump table - .short _02060836 - _0206082E - 2 ; case 0 - .short _0206083A - _0206082E - 2 ; case 1 - .short _0206083E - _0206082E - 2 ; case 2 - .short _02060842 - _0206082E - 2 ; case 3 -_02060836: - mov r0, #0 - pop {r3, pc} -_0206083A: - mov r0, #1 - pop {r3, pc} -_0206083E: - mov r0, #2 - pop {r3, pc} -_02060842: - mov r0, #1 - pop {r3, pc} -_02060846: - bl GF_AssertFail - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0206081C - - thumb_func_start sub_02060850 -sub_02060850: ; 0x02060850 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0205EBB8 - add r6, r0, #0 - mov r0, #0 - mvn r0, r0 - cmp r4, r0 - bne _02060880 - cmp r6, #2 - bge _02060874 - add r0, r5, #0 - mov r1, #0 - bl sub_0205EB08 - mov r0, #0 - pop {r4, r5, r6, pc} -_02060874: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #3 - pop {r4, r5, r6, pc} -_02060880: - add r0, r5, #0 - bl sub_0205EA78 - cmp r0, r4 - beq _020608B0 - add r0, r5, #0 - bl sub_0205EB0C - cmp r0, #1 - beq _020608B0 - cmp r6, #2 - bge _020608A4 - add r0, r5, #0 - mov r1, #2 - bl sub_0205EB08 - mov r0, #2 - pop {r4, r5, r6, pc} -_020608A4: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #3 - pop {r4, r5, r6, pc} -_020608B0: - add r0, r5, #0 - mov r1, #1 - bl sub_0205EB08 - mov r0, #1 - pop {r4, r5, r6, pc} - thumb_func_end sub_02060850 - - thumb_func_start sub_020608BC -sub_020608BC: ; 0x020608BC - push {r3, r4, r5, lr} - add r4, r1, #0 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0206298C - mov r1, #0 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #1 - bl sub_02060B64 - add r0, r5, #0 - bl sub_0205EBC0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_020608BC - - thumb_func_start sub_020608E4 -sub_020608E4: ; 0x020608E4 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r0, #0 - str r1, [sp] - add r6, r2, #0 - bl sub_02060B7C - add r4, r0, #0 - mov r0, #4 - tst r0, r4 - beq _0206091A - add r0, r6, #0 - mov r1, #0x38 - bl sub_02065838 - str r0, [sp, #4] - add r0, r5, #0 - mov r7, #3 - bl sub_020603BC - add r0, r5, #0 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _02060A4A -_0206091A: - mov r0, #0x80 - tst r0, r4 - beq _02060940 - add r0, r6, #0 - mov r1, #0x75 - bl sub_02065838 - str r0, [sp, #4] - add r0, r5, #0 - mov r7, #2 - bl sub_020603BC - add r0, r5, #0 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 - b _02060A4A -_02060940: - mov r0, #0x10 - tst r0, r4 - beq _02060994 - add r0, r5, #0 - bl sub_0205EBB8 - cmp r0, #3 - blt _0206096C - add r0, r5, #0 - add r1, r6, #0 - bl sub_02060390 - str r0, [sp, #4] - add r0, r5, #0 - mov r7, #5 - bl sub_0205F048 - add r0, r5, #0 - mov r1, #1 - bl sub_0205EF40 - b _02060A4A -_0206096C: - add r0, r6, #0 - mov r1, #0x1c - bl sub_02065838 - str r0, [sp, #4] - mov r0, #8 - mov r7, #1 - tst r0, r4 - bne _02060984 - ldr r0, _02060A5C ; =0x00000601 - bl sub_02005748 -_02060984: - ldr r0, [sp] - add r1, r6, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - b _02060A4A -_02060994: - mov r0, #0x40 - tst r0, r4 - beq _020609C6 - ldr r0, [sp] - bl sub_0206299C - mov r1, #0 - add r4, r0, #0 - bl sub_02065838 - str r0, [sp, #4] - ldr r0, [sp] - add r1, r4, #0 - mov r7, #1 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - sub r1, r7, #2 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - b _02060A4A -_020609C6: - cmp r4, #0 - beq _02060A2C - ldr r1, [sp] - add r0, r5, #0 - add r2, r6, #0 - bl sub_020615E0 - cmp r0, #0 - bne _02060A00 - add r0, r6, #0 - mov r1, #0x1c - bl sub_02065838 - str r0, [sp, #4] - mov r0, #8 - mov r7, #1 - tst r0, r4 - bne _020609F0 - ldr r0, _02060A5C ; =0x00000601 - bl sub_02005748 -_020609F0: - ldr r0, [sp] - add r1, r6, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - b _02060A4A -_02060A00: - ldr r0, [sp] - mov r7, #1 - bl sub_0206299C - mov r1, #0 - add r4, r0, #0 - bl sub_02065838 - str r0, [sp, #4] - ldr r0, [sp] - add r1, r4, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - sub r1, r7, #2 - add r0, r5, #0 - add r2, r1, #0 - bl sub_0205EBEC - b _02060A4A -_02060A2C: - add r0, r5, #0 - add r1, r6, #0 - mov r7, #5 - bl sub_02060390 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_020603BC - add r0, r5, #0 - bl sub_020615C8 - add r0, r5, #0 - bl sub_0205F048 -_02060A4A: - ldr r1, [sp] - ldr r2, [sp, #4] - add r0, r5, #0 - add r3, r7, #0 - bl sub_02060B64 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - nop -_02060A5C: .word 0x00000601 - thumb_func_end sub_020608E4 - - thumb_func_start sub_02060A60 -sub_02060A60: ; 0x02060A60 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0205EBC0 - add r0, r5, #0 - add r1, r4, #0 - add r2, r6, #0 - bl sub_020615E0 - cmp r0, #1 - beq _02060A9C - add r0, r6, #0 - mov r1, #0x28 - bl sub_02065838 - add r2, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - mov r3, #1 - bl sub_02060B64 - add r0, r4, #0 - add r1, r6, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 -_02060A9C: - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_02060A60 - - thumb_func_start sub_02060AA0 -sub_02060AA0: ; 0x02060AA0 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r5, r0, #0 - str r1, [sp] - bl sub_020603EC - str r0, [sp, #4] - add r0, r5, #0 - bl sub_0205EA94 - add r7, r0, #0 - ldr r1, [sp] - add r0, r5, #0 - add r2, r7, #0 - bl sub_02060B7C - add r4, r0, #0 - mov r0, #4 - tst r0, r4 - beq _02060AD6 - add r0, r7, #0 - mov r1, #0x38 - bl sub_02065838 - str r0, [sp, #8] - mov r6, #3 - b _02060B40 -_02060AD6: - mov r0, #0x80 - tst r0, r4 - beq _02060AEA - add r0, r7, #0 - mov r1, #0x75 - bl sub_02065838 - str r0, [sp, #8] - mov r6, #2 - b _02060B40 -_02060AEA: - mov r0, #0x40 - tst r0, r4 - beq _02060B04 - add r0, r7, #0 - mov r1, #0 - bl sub_02065838 - str r0, [sp, #8] - add r0, r5, #0 - mov r6, #1 - bl sub_0205EBC0 - b _02060B40 -_02060B04: - cmp r4, #0 - beq _02060B34 - mov r0, #0 - str r0, [sp, #4] - add r0, r7, #0 - mov r1, #0x1c - mov r6, #1 - bl sub_02065838 - str r0, [sp, #8] - mov r0, #8 - tst r0, r4 - bne _02060B24 - ldr r0, _02060B60 ; =0x00000601 - bl sub_02005748 -_02060B24: - ldr r0, [sp] - add r1, r7, #0 - bl sub_02062994 - add r0, r5, #0 - bl sub_0205EBC0 - b _02060B40 -_02060B34: - add r0, r5, #0 - add r1, r7, #0 - bl sub_02060390 - str r0, [sp, #8] - mov r6, #5 -_02060B40: - ldr r0, [sp, #4] - cmp r0, #0 - bne _02060B4E - add r0, r5, #0 - mov r1, #0 - bl sub_0205EF98 -_02060B4E: - ldr r1, [sp] - ldr r2, [sp, #8] - add r0, r5, #0 - add r3, r6, #0 - bl sub_02060B64 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - nop -_02060B60: .word 0x00000601 - thumb_func_end sub_02060AA0 - - thumb_func_start sub_02060B64 -sub_02060B64: ; 0x02060B64 - push {r3, r4, r5, lr} - add r4, r2, #0 - add r5, r1, #0 - add r1, r4, #0 - add r2, r3, #0 - bl sub_0205EC20 - add r0, r5, #0 - add r1, r4, #0 - bl sub_02065638 - pop {r3, r4, r5, pc} - thumb_func_end sub_02060B64 - - thumb_func_start sub_02060B7C -sub_02060B7C: ; 0x02060B7C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - mov r4, #0 - bl sub_02060C24 - mov r1, #0xa - str r0, [sp] - tst r0, r1 - beq _02060BA8 - mov r0, #1 - orr r4, r0 - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060E40 - cmp r0, #0 - beq _02060BA8 - mov r0, #8 - orr r4, r0 -_02060BA8: - ldr r0, [sp] - mov r1, #4 - tst r0, r1 - beq _02060BB4 - mov r0, #2 - orr r4, r0 -_02060BB4: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060CE4 - cmp r0, #0 - beq _02060BC6 - mov r0, #4 - orr r4, r0 -_02060BC6: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060D98 - cmp r0, #0 - beq _02060BD8 - mov r0, #0x80 - orr r4, r0 -_02060BD8: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060EE4 - cmp r0, #1 - bne _02060BEA - mov r0, #0x10 - orr r4, r0 -_02060BEA: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060F4C - cmp r0, #1 - bne _02060BFC - mov r0, #0x20 - orr r4, r0 -_02060BFC: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02060FA8 - cmp r0, #1 - bne _02060C0E - mov r0, #0x41 - orr r4, r0 -_02060C0E: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02061058 - cmp r0, #1 - bne _02060C20 - mov r0, #1 - orr r4, r0 -_02060C20: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02060B7C - - thumb_func_start sub_02060C24 -sub_02060C24: ; 0x02060C24 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x28 - add r5, r1, #0 - str r2, [sp, #4] - add r0, r5, #0 - bl sub_02063020 - add r7, r0, #0 - ldr r0, [sp, #4] - bl sub_0206419C - str r0, [sp, #0x14] - add r0, r5, #0 - bl sub_02063030 - str r0, [sp, #8] - add r0, r5, #0 - bl sub_02063040 - str r0, [sp, #0xc] - ldr r0, [sp, #4] - bl sub_020641A8 - str r0, [sp, #0x10] - add r0, r5, #0 - add r1, sp, #0x1c - bl sub_02063050 - ldr r1, [sp, #0x14] - ldr r6, [sp, #0xc] - ldr r3, [sp, #0x10] - ldr r2, [sp, #8] - add r0, r5, #0 - add r1, r7, r1 - add r3, r6, r3 - mov r4, #0 - bl sub_02063FAC - cmp r0, #1 - bne _02060C78 - mov r0, #1 - orr r4, r0 -_02060C78: - add r0, r5, #0 - bl sub_02062C00 - ldr r2, [sp, #0x14] - add r1, sp, #0x18 - str r1, [sp] - ldr r6, [sp, #0xc] - ldr r3, [sp, #0x10] - add r1, sp, #0x1c - add r2, r7, r2 - add r3, r6, r3 - bl sub_0205507C - cmp r0, #1 - bne _02060CA8 - mov r0, #2 - orr r4, r0 - add r1, sp, #0x18 - mov r0, #0 - ldrsb r0, [r1, r0] - cmp r0, #0 - beq _02060CA8 - mov r0, #8 - orr r4, r0 -_02060CA8: - ldr r3, [sp, #0xc] - ldr r2, [sp, #0x10] - ldr r1, [sp, #0x14] - add r2, r3, r2 - ldr r3, [sp, #4] - add r0, r5, #0 - add r1, r7, r1 - bl sub_02064004 - cmp r0, #1 - bne _02060CC2 - mov r0, #2 - orr r4, r0 -_02060CC2: - add r0, r5, #0 - ldr r1, [sp, #0x14] - ldr r5, [sp, #0xc] - ldr r3, [sp, #0x10] - ldr r2, [sp, #8] - add r1, r7, r1 - add r3, r5, r3 - bl sub_02063F00 - cmp r0, #1 - bne _02060CDC - mov r0, #4 - orr r4, r0 -_02060CDC: - add r0, r4, #0 - add sp, #0x28 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_02060C24 - - thumb_func_start sub_02060CE4 -sub_02060CE4: ; 0x02060CE4 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - mov r0, #0 - add r4, r2, #0 - mvn r0, r0 - add r7, r1, #0 - cmp r4, r0 - beq _02060D92 - add r0, r7, #0 - bl sub_02062C00 - str r0, [sp, #4] - add r0, r7, #0 - bl sub_02063020 - add r5, r0, #0 - add r0, r4, #0 - bl sub_0206419C - add r6, r0, #0 - add r0, r7, #0 - bl sub_02063040 - add r7, r0, #0 - add r0, r4, #0 - bl sub_020641A8 - str r0, [sp, #8] - ldr r2, [sp, #8] - ldr r0, [sp, #4] - add r1, r5, r6 - add r2, r7, r2 - mov r3, #0 - str r4, [sp] - bl sub_020683D8 - cmp r0, #1 - bne _02060D36 - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02060D36: - ldr r2, [sp, #8] - ldr r0, [sp, #4] - add r1, r5, r6 - add r2, r7, r2 - bl sub_02054F94 - cmp r4, #3 - bhi _02060D92 - add r1, r4, r4 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02060D52: ; jump table - .short _02060D5A - _02060D52 - 2 ; case 0 - .short _02060D68 - _02060D52 - 2 ; case 1 - .short _02060D76 - _02060D52 - 2 ; case 2 - .short _02060D84 - _02060D52 - 2 ; case 3 -_02060D5A: - bl sub_0205DB84 - cmp r0, #1 - bne _02060D92 - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02060D68: - bl sub_0205DB90 - cmp r0, #1 - bne _02060D92 - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02060D76: - bl sub_0205DB9C - cmp r0, #1 - bne _02060D92 - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02060D84: - bl sub_0205DBA8 - cmp r0, #1 - bne _02060D92 - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02060D92: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_02060CE4 - - thumb_func_start sub_02060D98 -sub_02060D98: ; 0x02060D98 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - mov r5, #0 - add r4, r2, #0 - sub r0, r5, #1 - add r7, r1, #0 - cmp r4, r0 - beq _02060E3A - add r0, r7, #0 - bl sub_02062C00 - str r0, [sp] - add r0, r7, #0 - bl sub_02063020 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0206419C - str r0, [sp, #4] - add r0, r7, #0 - bl sub_02063040 - add r7, r0, #0 - add r0, r4, #0 - bl sub_020641A8 - str r0, [sp, #8] - ldr r1, [sp, #4] - ldr r2, [sp, #8] - ldr r0, [sp] - add r1, r6, r1 - add r2, r7, r2 - bl sub_02054F94 - cmp r4, #3 - bhi _02060E14 - add r1, r4, r4 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02060DEE: ; jump table - .short _02060DF6 - _02060DEE - 2 ; case 0 - .short _02060DFE - _02060DEE - 2 ; case 1 - .short _02060E06 - _02060DEE - 2 ; case 2 - .short _02060E0E - _02060DEE - 2 ; case 3 -_02060DF6: - bl sub_0205DBB4 - add r5, r0, #0 - b _02060E14 -_02060DFE: - bl sub_0205DBC0 - add r5, r0, #0 - b _02060E14 -_02060E06: - bl sub_0205DBCC - add r5, r0, #0 - b _02060E14 -_02060E0E: - bl sub_0205DBD8 - add r5, r0, #0 -_02060E14: - cmp r5, #1 - bne _02060E3A - ldr r0, [sp] - mov r1, #9 - bl sub_02071CB4 - cmp r0, #1 - bne _02060E3A - ldr r1, [sp, #4] - ldr r2, [sp, #8] - ldr r0, [sp] - add r1, r6, r1 - add r2, r7, r2 - add r3, r4, #0 - bl ov9_022511A0 - cmp r0, #1 - bne _02060E3A - mov r5, #0 -_02060E3A: - add r0, r5, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_02060D98 - - thumb_func_start sub_02060E40 -sub_02060E40: ; 0x02060E40 - push {r3, r4, r5, r6, r7, lr} - mov r0, #0 - add r4, r2, #0 - mvn r0, r0 - add r5, r1, #0 - cmp r4, r0 - beq _02060EE0 - add r0, r5, #0 - bl sub_02062C00 - add r7, r0, #0 - add r0, r5, #0 - bl sub_02063020 - add r6, r0, #0 - add r0, r5, #0 - bl sub_02063040 - str r0, [sp] - ldr r2, [sp] - add r0, r7, #0 - add r1, r6, #0 - bl sub_02054F94 - cmp r4, #3 - bhi _02060EB8 - add r1, r4, r4 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_02060E80: ; jump table - .short _02060E88 - _02060E80 - 2 ; case 0 - .short _02060E94 - _02060E80 - 2 ; case 1 - .short _02060EA0 - _02060E80 - 2 ; case 2 - .short _02060EAC - _02060E80 - 2 ; case 3 -_02060E88: - bl sub_0205DB10 - cmp r0, #1 - bne _02060EB8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060E94: - bl sub_0205DB1C - cmp r0, #1 - bne _02060EB8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060EA0: - bl sub_0205DB04 - cmp r0, #1 - bne _02060EB8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060EAC: - bl sub_0205DAF8 - cmp r0, #1 - bne _02060EB8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060EB8: - add r0, r4, #0 - bl sub_0206419C - add r5, r0, #0 - add r0, r4, #0 - bl sub_020641A8 - add r3, r0, #0 - ldr r2, [sp] - add r0, r7, #0 - add r1, r6, r5 - add r2, r2, r3 - bl sub_02054F94 - bl sub_0205DAEC - cmp r0, #1 - bne _02060EE0 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060EE0: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02060E40 - - thumb_func_start sub_02060EE4 -sub_02060EE4: ; 0x02060EE4 - push {r3, r4, r5, r6, r7, lr} - mov r0, #0 - add r5, r2, #0 - mvn r0, r0 - add r4, r1, #0 - cmp r5, r0 - beq _02060F48 - add r0, r4, #0 - bl sub_02062C00 - str r0, [sp] - add r0, r4, #0 - bl sub_02063020 - add r6, r0, #0 - add r0, r5, #0 - bl sub_0206419C - add r7, r0, #0 - add r0, r4, #0 - bl sub_02063040 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020641A8 - add r2, r0, #0 - ldr r0, [sp] - add r1, r6, r7 - add r2, r4, r2 - bl sub_02054F94 - add r4, r0, #0 - cmp r5, #3 - bne _02060F36 - bl sub_0205DD90 - cmp r0, #0 - beq _02060F36 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060F36: - cmp r5, #2 - bne _02060F48 - add r0, r4, #0 - bl sub_0205DD9C - cmp r0, #0 - beq _02060F48 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060F48: - mov r0, #0 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02060EE4 - - thumb_func_start sub_02060F4C -sub_02060F4C: ; 0x02060F4C - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - mov r0, #0 - add r4, r2, #0 - mvn r0, r0 - add r5, r1, #0 - cmp r4, r0 - beq _02060FA2 - add r0, r5, #0 - bl sub_02062C00 - str r0, [sp] - add r0, r5, #0 - bl sub_02063020 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0206419C - add r7, r0, #0 - add r0, r5, #0 - bl sub_02063040 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_020641A8 - add r3, r0, #0 - ldr r2, [sp, #4] - ldr r0, [sp] - add r1, r6, r7 - add r2, r2, r3 - bl sub_02054F94 - add r1, r0, #0 - add r0, r5, #0 - bl sub_0206406C - cmp r0, #0 - beq _02060FA2 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_02060FA2: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02060F4C - - thumb_func_start sub_02060FA8 -sub_02060FA8: ; 0x02060FA8 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp] - mov r0, #0 - add r4, r2, #0 - mvn r0, r0 - add r5, r1, #0 - cmp r4, r0 - beq _02061052 - add r0, r5, #0 - bl sub_02062C00 - str r0, [sp, #4] - add r0, r5, #0 - bl sub_02063020 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0206419C - add r7, r0, #0 - add r0, r5, #0 - bl sub_02063040 - str r0, [sp, #8] - add r0, r4, #0 - bl sub_020641A8 - add r2, r0, #0 - ldr r3, [sp, #8] - ldr r0, [sp, #4] - add r1, r6, r7 - add r2, r3, r2 - bl sub_02054F94 - add r6, r0, #0 - ldr r0, [sp] - bl sub_0205EB74 - cmp r0, #1 - bne _02061034 - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206415C - cmp r0, #1 - bne _02061016 - cmp r4, #1 - bls _02061010 - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02061010: - add sp, #0xc - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_02061016: - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206417C - cmp r0, #1 - bne _02061052 - sub r0, r4, #2 - cmp r0, #1 - bls _0206102E - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_0206102E: - add sp, #0xc - mov r0, #0 - pop {r4, r5, r6, r7, pc} -_02061034: - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206415C - cmp r0, #1 - beq _0206104C - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206417C - cmp r0, #1 - bne _02061052 -_0206104C: - add sp, #0xc - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_02061052: - mov r0, #0 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_02060FA8 - - thumb_func_start sub_02061058 -sub_02061058: ; 0x02061058 - push {r3, r4, r5, r6, r7, lr} - sub sp, #8 - add r5, r1, #0 - mov r1, #0 - add r4, r2, #0 - mvn r1, r1 - cmp r4, r1 - beq _020610FA - bl sub_0205EB74 - cmp r0, #1 - bne _020610FA - add r0, r5, #0 - bl sub_02062C00 - str r0, [sp] - add r0, r5, #0 - bl sub_02063020 - add r6, r0, #0 - add r0, r4, #0 - bl sub_0206419C - add r7, r0, #0 - add r0, r5, #0 - bl sub_02063040 - str r0, [sp, #4] - add r0, r4, #0 - bl sub_020641A8 - add r3, r0, #0 - ldr r2, [sp, #4] - ldr r0, [sp] - add r1, r6, r7 - add r2, r2, r3 - bl sub_02054F94 - add r4, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0206406C - cmp r0, #0 - beq _020610B8 - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020610B8: - add r0, r5, #0 - add r1, r4, #0 - bl sub_020640D4 - cmp r0, #0 - beq _020610CA - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020610CA: - add r0, r4, #0 - bl sub_0205DAD4 - cmp r0, #0 - beq _020610DA - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020610DA: - add r0, r4, #0 - bl sub_0205DCE0 - cmp r0, #0 - beq _020610EA - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020610EA: - add r0, r4, #0 - bl sub_0205DCFC - cmp r0, #0 - beq _020610FA - add sp, #8 - mov r0, #1 - pop {r3, r4, r5, r6, r7, pc} -_020610FA: - mov r0, #0 - add sp, #8 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02061058 - - thumb_func_start sub_02061100 -sub_02061100: ; 0x02061100 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r1, #0 - add r6, r0, #0 - add r0, r5, #0 - add r7, r2, #0 - mov r4, #0 - bl sub_02062C00 - mov r1, #9 - str r0, [sp, #4] - bl sub_02071CB4 - cmp r0, #1 - bne _02061178 - add r0, r5, #0 - bl sub_02063020 - str r0, [sp, #0x10] - add r0, r5, #0 - bl sub_02063030 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - str r0, [sp, #0xc] - add r0, r5, #0 - bl sub_02063040 - str r0, [sp, #8] - add r0, sp, #8 - str r0, [sp] - add r0, r6, #0 - add r1, r7, #0 - add r2, sp, #0x10 - add r3, sp, #0xc - bl sub_02061674 - ldr r0, [sp, #4] - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - ldr r3, [sp, #8] - bl ov9_02250F90 - cmp r0, #1 - bne _02061160 - mov r0, #2 - orr r4, r0 -_02061160: - ldr r0, [sp, #0xc] - ldr r1, [sp, #0x10] - lsl r2, r0, #1 - ldr r3, [sp, #8] - add r0, r5, #0 - str r2, [sp, #0xc] - bl sub_02063F00 - cmp r0, #1 - bne _02061178 - mov r0, #4 - orr r4, r0 -_02061178: - add r0, r4, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_02061100 - - thumb_func_start sub_02061180 -sub_02061180: ; 0x02061180 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - mov r0, #0 - add r6, r2, #0 - mvn r0, r0 - add r4, r1, #0 - cmp r6, r0 - beq _020611F6 - add r0, r4, #0 - bl sub_02062C00 - mov r1, #9 - add r7, r0, #0 - bl sub_02071CB4 - cmp r0, #1 - bne _020611F6 - add r0, r4, #0 - bl sub_02063020 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_02063030 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - str r0, [sp, #8] - add r0, r4, #0 - bl sub_02063040 - str r0, [sp, #4] - add r0, sp, #4 - str r0, [sp] - add r0, r5, #0 - add r1, r6, #0 - add r2, sp, #0xc - add r3, sp, #8 - bl sub_02061674 - add r0, sp, #0x10 - str r0, [sp] - ldr r1, [sp, #0xc] - ldr r2, [sp, #8] - ldr r3, [sp, #4] - add r0, r7, #0 - bl ov9_02251044 - ldr r0, [sp, #0x10] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DB58 - cmp r0, #0 - beq _020611F6 - add sp, #0x14 - mov r0, #1 - pop {r4, r5, r6, r7, pc} -_020611F6: - mov r0, #0 - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_02061180 - - thumb_func_start sub_020611FC -sub_020611FC: ; 0x020611FC - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r6, r1, #0 - add r7, r2, #0 - mov r4, #0 - bl sub_02061100 - mov r1, #0xa - tst r1, r0 - beq _02061214 - mov r1, #1 - orr r4, r1 -_02061214: - mov r1, #4 - tst r0, r1 - beq _0206121E - mov r0, #2 - orr r4, r0 -_0206121E: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02061180 - cmp r0, #1 - bne _02061230 - mov r0, #0x20 - orr r4, r0 -_02061230: - add r0, r5, #0 - add r1, r6, #0 - add r2, r7, #0 - bl sub_02061248 - cmp r0, #1 - bne _02061242 - mov r0, #0x80 - orr r4, r0 -_02061242: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_020611FC - - thumb_func_start sub_02061248 -sub_02061248: ; 0x02061248 - push {r3, r4, r5, r6, r7, lr} - sub sp, #0x18 - mov r6, #0 - add r5, r1, #0 - add r4, r2, #0 - sub r1, r6, #1 - add r7, r0, #0 - cmp r4, r1 - beq _02061302 - bl sub_0205F108 - cmp r0, #2 - bne _02061302 - add r0, r5, #0 - bl sub_02062C00 - mov r1, #9 - str r0, [sp, #4] - bl sub_02071CB4 - cmp r0, #1 - bne _02061302 - add r0, r5, #0 - bl sub_02063020 - str r0, [sp, #0x10] - add r0, r5, #0 - bl sub_02063030 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - str r0, [sp, #0xc] - add r0, r5, #0 - bl sub_02063040 - str r0, [sp, #8] - add r0, sp, #8 - str r0, [sp] - add r0, r7, #0 - add r1, r4, #0 - add r2, sp, #0x10 - add r3, sp, #0xc - bl sub_02061674 - add r0, sp, #0x14 - str r0, [sp] - ldr r0, [sp, #4] - ldr r1, [sp, #0x10] - ldr r2, [sp, #0xc] - ldr r3, [sp, #8] - bl ov9_02251044 - add r6, r0, #0 - cmp r4, #3 - bhi _02061302 - add r0, r4, r4 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020612C4: ; jump table - .short _020612CC - _020612C4 - 2 ; case 0 - .short _020612DA - _020612C4 - 2 ; case 1 - .short _020612E8 - _020612C4 - 2 ; case 2 - .short _020612F6 - _020612C4 - 2 ; case 3 -_020612CC: - ldr r0, [sp, #0x14] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DBB4 - add r6, r0, #0 - b _02061302 -_020612DA: - ldr r0, [sp, #0x14] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DBC0 - add r6, r0, #0 - b _02061302 -_020612E8: - ldr r0, [sp, #0x14] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DBCC - add r6, r0, #0 - b _02061302 -_020612F6: - ldr r0, [sp, #0x14] - lsl r0, r0, #0x18 - lsr r0, r0, #0x18 - bl sub_0205DBD8 - add r6, r0, #0 -_02061302: - add r0, r6, #0 - add sp, #0x18 - pop {r3, r4, r5, r6, r7, pc} - thumb_func_end sub_02061248 - - thumb_func_start sub_02061308 -sub_02061308: ; 0x02061308 - ldr r3, _0206130C ; =sub_02061348 - bx r3 - ; .align 2, 0 -_0206130C: .word sub_02061348 - thumb_func_end sub_02061308 - - thumb_func_start sub_02061310 -sub_02061310: ; 0x02061310 - mov r1, #0x20 - tst r1, r0 - beq _0206131A - mov r0, #2 - bx lr -_0206131A: - mov r1, #0x10 - tst r0, r1 - beq _02061324 - mov r1, #3 - b _02061326 -_02061324: - sub r1, #0x11 -_02061326: - add r0, r1, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_02061310 - - thumb_func_start sub_0206132C -sub_0206132C: ; 0x0206132C - mov r1, #0x40 - tst r1, r0 - beq _02061336 - mov r0, #0 - bx lr -_02061336: - mov r1, #0x80 - tst r0, r1 - beq _02061340 - mov r1, #1 - b _02061342 -_02061340: - sub r1, #0x81 -_02061342: - add r0, r1, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_0206132C - - thumb_func_start sub_02061348 -sub_02061348: ; 0x02061348 - push {r3, r4, r5, r6, r7, lr} - add r5, r2, #0 - add r6, r0, #0 - add r0, r5, #0 - bl sub_02061310 - add r4, r0, #0 - add r0, r5, #0 - bl sub_0206132C - mov r1, #0 - mvn r1, r1 - add r5, r0, #0 - cmp r4, r1 - beq _020613A8 - cmp r5, r1 - bne _0206136E - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} -_0206136E: - add r0, r6, #0 - bl sub_0205EA94 - add r7, r0, #0 - add r0, r6, #0 - bl sub_0205EBE0 - str r0, [sp] - add r0, r6, #0 - bl sub_0205EBE8 - mov r1, #0 - mvn r1, r1 - cmp r7, r1 - beq _020613A6 - ldr r1, [sp] - cmp r4, r1 - bne _0206139A - cmp r5, r0 - bne _0206139A - add r0, r7, #0 - pop {r3, r4, r5, r6, r7, pc} -_0206139A: - cmp r5, r0 - beq _020613A2 - add r0, r5, #0 - pop {r3, r4, r5, r6, r7, pc} -_020613A2: - add r0, r4, #0 - pop {r3, r4, r5, r6, r7, pc} -_020613A6: - add r0, r5, #0 -_020613A8: - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_02061348 - - thumb_func_start sub_020613AC -sub_020613AC: ; 0x020613AC - push {r4, lr} - bl sub_0205EB3C - add r4, r0, #0 - bl sub_020655F4 - cmp r0, #1 - bne _020613C0 - mov r0, #1 - pop {r4, pc} -_020613C0: - add r0, r4, #0 - bl sub_02062BB8 - bl sub_020613D8 - cmp r0, #1 - bne _020613D2 - mov r0, #1 - pop {r4, pc} -_020613D2: - mov r0, #0 - pop {r4, pc} - ; .align 2, 0 - thumb_func_end sub_020613AC - - thumb_func_start sub_020613D8 -sub_020613D8: ; 0x020613D8 - sub r0, #0x1c - cmp r0, #3 - bhi _020613F6 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020613EA: ; jump table - .short _020613F2 - _020613EA - 2 ; case 0 - .short _020613F2 - _020613EA - 2 ; case 1 - .short _020613F2 - _020613EA - 2 ; case 2 - .short _020613F2 - _020613EA - 2 ; case 3 -_020613F2: - mov r0, #1 - bx lr -_020613F6: - mov r0, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_020613D8 - - thumb_func_start sub_020613FC -sub_020613FC: ; 0x020613FC - mov r0, #2 - tst r0, r1 - beq _02061406 - mov r0, #1 - bx lr -_02061406: - mov r0, #0 - bx lr - ; .align 2, 0 - thumb_func_end sub_020613FC - - thumb_func_start sub_0206140C -sub_0206140C: ; 0x0206140C - push {r3, lr} - bl sub_0205EC14 - sub r0, #0x58 - cmp r0, #3 - bhi _02061430 - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02061424: ; jump table - .short _0206142C - _02061424 - 2 ; case 0 - .short _0206142C - _02061424 - 2 ; case 1 - .short _0206142C - _02061424 - 2 ; case 2 - .short _0206142C - _02061424 - 2 ; case 3 -_0206142C: - mov r0, #1 - pop {r3, pc} -_02061430: - mov r0, #0 - pop {r3, pc} - thumb_func_end sub_0206140C - - thumb_func_start sub_02061434 -sub_02061434: ; 0x02061434 - push {r3, r4, r5, lr} - add r5, r0, #0 - add r4, r1, #0 - bl sub_0205EB74 - cmp r0, #0 - beq _0206144A - cmp r0, #1 - beq _0206145A - cmp r0, #2 - bne _02061470 -_0206144A: - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205FCC0 - bl sub_0205FC64 - add r4, r0, #0 - b _02061476 -_0206145A: - add r0, r5, #0 - bl sub_0205EC88 - add r0, r5, #0 - add r1, r4, #0 - bl sub_02060850 - bl sub_0206081C - add r4, r0, #0 - b _02061476 -_02061470: - mov r4, #0 - bl GF_AssertFail -_02061476: - add r0, r4, #0 - pop {r3, r4, r5, pc} - ; .align 2, 0 - thumb_func_end sub_02061434 - - thumb_func_start sub_0206147C -sub_0206147C: ; 0x0206147C - push {r3, r4, r5, r6, r7, lr} - add r5, r0, #0 - add r7, r2, #0 - add r6, r3, #0 - bl sub_02061348 - str r0, [sp] - ldr r1, [sp] - add r0, r5, #0 - bl sub_02061434 - add r4, r0, #0 - add r0, r5, #0 - add r1, r4, #0 - bl sub_0205EB08 - cmp r4, #0 - bne _020614AE - add r0, r5, #0 - bl sub_0205EA78 - mov r1, #0 - bl sub_02065838 - pop {r3, r4, r5, r6, r7, pc} -_020614AE: - cmp r4, #2 - bne _020614BC - ldr r0, [sp] - mov r1, #0x28 - bl sub_02065838 - pop {r3, r4, r5, r6, r7, pc} -_020614BC: - add r0, r5, #0 - bl sub_0205EB3C - ldr r0, [sp, #0x1c] - mov r4, #4 - add r1, r0, #0 - tst r1, r4 - beq _020614D0 - mov r4, #0x38 - b _02061536 -_020614D0: - mov r1, #0x80 - tst r1, r0 - beq _020614DA - mov r4, #0x75 - b _02061536 -_020614DA: - cmp r0, #0 - beq _020614EE - mov r1, #8 - mov r4, #0x1c - tst r0, r1 - bne _02061536 - ldr r0, _02061540 ; =0x00000601 - bl sub_02005748 - b _02061536 -_020614EE: - cmp r6, #5 - bhi _02061520 - add r0, r6, r6 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_020614FE: ; jump table - .short _0206150A - _020614FE - 2 ; case 0 - .short _0206150C - _020614FE - 2 ; case 1 - .short _02061510 - _020614FE - 2 ; case 2 - .short _02061514 - _020614FE - 2 ; case 3 - .short _02061518 - _020614FE - 2 ; case 4 - .short _0206151C - _020614FE - 2 ; case 5 -_0206150A: - b _02061522 -_0206150C: - mov r4, #8 - b _02061522 -_02061510: - mov r4, #0xc - b _02061522 -_02061514: - mov r4, #0x4c - b _02061522 -_02061518: - mov r4, #0x10 - b _02061522 -_0206151C: - mov r4, #0x14 - b _02061522 -_02061520: - mov r4, #4 -_02061522: - ldr r0, [sp, #0x18] - cmp r0, #1 - bne _02061536 - add r0, r5, #0 - add r1, r7, #0 - bl sub_020613FC - cmp r0, #1 - bne _02061536 - mov r4, #0x58 -_02061536: - ldr r0, [sp] - add r1, r4, #0 - bl sub_02065838 - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 -_02061540: .word 0x00000601 - thumb_func_end sub_0206147C - - thumb_func_start sub_02061544 -sub_02061544: ; 0x02061544 - push {r3, lr} - bl sub_0205EB3C - bl sub_020655F4 - pop {r3, pc} - thumb_func_end sub_02061544 - - thumb_func_start sub_02061550 -sub_02061550: ; 0x02061550 - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0205EB3C - add r1, r0, #0 - add r0, r5, #0 - add r2, r4, #0 - add r3, r6, #0 - bl sub_02060B64 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_02061550 - - thumb_func_start sub_0206156C -sub_0206156C: ; 0x0206156C - push {r4, lr} - add r4, r1, #0 - bl sub_0205EB3C - add r1, r4, #0 - bl sub_02064238 - pop {r4, pc} - thumb_func_end sub_0206156C - - thumb_func_start sub_0206157C -sub_0206157C: ; 0x0206157C - push {r3, r4, r5, r6, r7, lr} - add r5, r1, #0 - str r0, [sp] - add r6, r2, #0 - add r7, r3, #0 - bl sub_0205EABC - add r4, r0, #0 - add r0, r5, #0 - bl sub_0206419C - add r0, r4, r0 - str r0, [r6, #0] - ldr r0, [sp] - bl sub_0205EAC8 - add r4, r0, #0 - add r0, r5, #0 - bl sub_020641A8 - add r0, r4, r0 - str r0, [r7, #0] - pop {r3, r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_0206157C - - thumb_func_start sub_020615AC -sub_020615AC: ; 0x020615AC - push {r4, r5, r6, lr} - add r5, r0, #0 - add r4, r1, #0 - add r6, r2, #0 - bl sub_0205EA78 - add r1, r0, #0 - add r0, r5, #0 - add r2, r4, #0 - add r3, r6, #0 - bl sub_0206157C - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_020615AC - - thumb_func_start sub_020615C8 -sub_020615C8: ; 0x020615C8 - push {r3, lr} - bl sub_0205EB3C - bl sub_02062C00 - ldr r0, [r0, #0xc] - bl sub_0202CD88 - mov r1, #0 - bl sub_0202CF28 - pop {r3, pc} - thumb_func_end sub_020615C8 - - thumb_func_start sub_020615E0 -sub_020615E0: ; 0x020615E0 - push {r4, r5, r6, lr} - mov r0, #0 - add r4, r2, #0 - mvn r0, r0 - add r5, r1, #0 - cmp r4, r0 - beq _0206162A - add r0, r5, #0 - bl sub_02062BE8 - lsl r0, r0, #0x18 - lsr r6, r0, #0x18 - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206415C - cmp r0, #1 - bne _02061610 - cmp r4, #1 - bls _0206160C - mov r0, #1 - pop {r4, r5, r6, pc} -_0206160C: - mov r0, #0 - pop {r4, r5, r6, pc} -_02061610: - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206417C - cmp r0, #1 - bne _0206162A - sub r0, r4, #2 - cmp r0, #1 - bls _02061626 - mov r0, #1 - pop {r4, r5, r6, pc} -_02061626: - mov r0, #0 - pop {r4, r5, r6, pc} -_0206162A: - mov r0, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 - thumb_func_end sub_020615E0 - - thumb_func_start sub_02061630 -sub_02061630: ; 0x02061630 - push {r3, r4, r5, lr} - add r4, r1, #0 - mov r1, #0 - mvn r1, r1 - add r5, r0, #0 - cmp r2, r1 - beq _02061642 - mov r0, #0 - pop {r3, r4, r5, pc} -_02061642: - bl sub_0205EB74 - cmp r0, #1 - beq _0206164E - mov r0, #0 - pop {r3, r4, r5, pc} -_0206164E: - add r0, r5, #0 - bl sub_0205EFDC - cmp r0, #0 - bne _0206165C - mov r0, #0 - pop {r3, r4, r5, pc} -_0206165C: - add r0, r5, #0 - bl sub_0205EB3C - add r1, r4, #0 - bl sub_0206413C - cmp r0, #1 - bne _02061670 - mov r0, #1 - pop {r3, r4, r5, pc} -_02061670: - mov r0, #0 - pop {r3, r4, r5, pc} - thumb_func_end sub_02061630 - - thumb_func_start sub_02061674 -sub_02061674: ; 0x02061674 - push {r4, r5, r6, lr} - add r4, r1, #0 - add r5, r2, #0 - add r6, r3, #0 - bl sub_0205F108 - cmp r0, #5 - bhi _020616DE - add r0, r0, r0 - add r0, pc - ldrh r0, [r0, #6] - lsl r0, r0, #0x10 - asr r0, r0, #0x10 - add pc, r0 -_02061690: ; jump table - .short _0206169C - _02061690 - 2 ; case 0 - .short _0206169C - _02061690 - 2 ; case 1 - .short _0206169C - _02061690 - 2 ; case 2 - .short _020616A4 - _02061690 - 2 ; case 3 - .short _020616AC - _02061690 - 2 ; case 4 - .short _020616B4 - _02061690 - 2 ; case 5 -_0206169C: - ldr r1, _020616E0 ; =0x020EDB04 - lsl r0, r4, #3 - add r0, r1, r0 - b _020616BE -_020616A4: - ldr r1, _020616E4 ; =0x020EDB24 - lsl r0, r4, #3 - add r0, r1, r0 - b _020616BE -_020616AC: - ldr r1, _020616E8 ; =0x020EDB44 - lsl r0, r4, #3 - add r0, r1, r0 - b _020616BE -_020616B4: - ldr r1, _020616EC ; =0x020EDB64 - lsl r0, r4, #3 - add r0, r1, r0 - b _020616BE -_020616BC: - .byte 0x70, 0xBD -_020616BE: - mov r1, #0 - ldrsh r1, [r0, r1] - ldr r2, [r5, #0] - ldr r3, [sp, #0x10] - add r1, r2, r1 - str r1, [r5, #0] - mov r1, #2 - ldrsh r1, [r0, r1] - ldr r2, [r6, #0] - add r1, r2, r1 - str r1, [r6, #0] - mov r1, #4 - ldrsh r0, [r0, r1] - ldr r2, [r3, #0] - add r0, r2, r0 - str r0, [r3, #0] -_020616DE: - pop {r4, r5, r6, pc} - ; .align 2, 0 -_020616E0: .word 0x020EDB04 -_020616E4: .word 0x020EDB24 -_020616E8: .word 0x020EDB44 -_020616EC: .word 0x020EDB64 - thumb_func_end sub_02061674 - - thumb_func_start sub_020616F0 -sub_020616F0: ; 0x020616F0 - push {r4, r5, r6, r7, lr} - sub sp, #0x14 - add r5, r0, #0 - add r6, r1, #0 - bl sub_0205F158 - cmp r0, #0 - bne _0206170C - add r0, r5, #0 - add r1, r6, #0 - bl sub_0206156C - str r0, [sp, #0x10] - b _02061758 -_0206170C: - add r0, r5, #0 - bl sub_0205EB3C - add r4, r0, #0 - bl sub_02062C00 - add r7, r0, #0 - add r0, r4, #0 - bl sub_02063020 - str r0, [sp, #0xc] - add r0, r4, #0 - bl sub_02063030 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - str r0, [sp, #8] - add r0, r4, #0 - bl sub_02063040 - str r0, [sp, #4] - add r0, sp, #4 - str r0, [sp] - add r0, r5, #0 - add r1, r6, #0 - add r2, sp, #0xc - add r3, sp, #8 - bl sub_02061674 - add r0, sp, #0x10 - str r0, [sp] - ldr r1, [sp, #0xc] - ldr r2, [sp, #8] - ldr r3, [sp, #4] - add r0, r7, #0 - bl ov9_02251044 -_02061758: - ldr r0, [sp, #0x10] - add sp, #0x14 - pop {r4, r5, r6, r7, pc} - ; .align 2, 0 - thumb_func_end sub_020616F0 - - thumb_func_start sub_02061760 -sub_02061760: ; 0x02061760 - push {r4, r5, r6, r7, lr} - sub sp, #0xc - str r0, [sp, #4] - bl sub_0205EB3C - add r5, r0, #0 - bl sub_02062C00 - add r6, r0, #0 - add r0, r5, #0 - bl sub_02063020 - add r7, r0, #0 - add r0, r5, #0 - bl sub_02063030 - lsr r1, r0, #0x1f - add r1, r0, r1 - add r0, r5, #0 - asr r4, r1, #1 - bl sub_02063040 - add r5, r0, #0 - ldr r0, [sp, #4] - bl sub_0205F158 - cmp r0, #0 - bne _020617A6 - add r0, r6, #0 - add r1, r7, #0 - add r2, r5, #0 - bl sub_02054F94 - str r0, [sp, #8] - b _020617B6 -_020617A6: - add r0, sp, #8 - str r0, [sp] - add r0, r6, #0 - add r1, r7, #0 - add r2, r4, #0 - add r3, r5, #0 - bl ov9_02251044 -_020617B6: - ldr r0, [sp, #8] - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_02061760 - - thumb_func_start sub_020617BC -sub_020617BC: ; 0x020617BC - push {r4, r5, r6, r7, lr} - sub sp, #0xc - add r7, r0, #0 - add r5, r1, #0 - add r6, r2, #0 - add r4, r3, #0 - bl sub_0205EAA0 - str r0, [sp, #4] - add r0, r7, #0 - bl sub_0205EB3C - str r0, [sp, #8] - bl sub_02063020 - str r0, [r5, #0] - ldr r0, [sp, #8] - bl sub_02063030 - lsr r1, r0, #0x1f - add r1, r0, r1 - asr r0, r1, #1 - str r0, [r6, #0] - ldr r0, [sp, #8] - bl sub_02063040 - str r0, [r4, #0] - ldr r1, [sp, #4] - add r0, r7, #0 - add r2, r5, #0 - add r3, r6, #0 - str r4, [sp] - bl sub_02061674 - add sp, #0xc - pop {r4, r5, r6, r7, pc} - thumb_func_end sub_020617BC - - .rodata - - - .global Unk_020ED9CC -Unk_020ED9CC: ; 0x020ED9CC - .incbin "incbin/arm9_rodata.bin", 0x8D8C, 0x8D9C - 0x8D8C - - .global Unk_020ED9DC -Unk_020ED9DC: ; 0x020ED9DC - .incbin "incbin/arm9_rodata.bin", 0x8D9C, 0x8DAC - 0x8D9C - - .global Unk_020ED9EC -Unk_020ED9EC: ; 0x020ED9EC - .incbin "incbin/arm9_rodata.bin", 0x8DAC, 0x8DBC - 0x8DAC - - .global Unk_020ED9FC -Unk_020ED9FC: ; 0x020ED9FC - .incbin "incbin/arm9_rodata.bin", 0x8DBC, 0x8DCC - 0x8DBC - - .global Unk_020EDA0C -Unk_020EDA0C: ; 0x020EDA0C - .incbin "incbin/arm9_rodata.bin", 0x8DCC, 0x8DDC - 0x8DCC - - .global Unk_020EDA1C -Unk_020EDA1C: ; 0x020EDA1C - .incbin "incbin/arm9_rodata.bin", 0x8DDC, 0x8DEC - 0x8DDC - - .global Unk_020EDA2C -Unk_020EDA2C: ; 0x020EDA2C - .incbin "incbin/arm9_rodata.bin", 0x8DEC, 0x8DFC - 0x8DEC - - .global Unk_020EDA3C -Unk_020EDA3C: ; 0x020EDA3C - .incbin "incbin/arm9_rodata.bin", 0x8DFC, 0x8E0C - 0x8DFC - - .global Unk_020EDA4C -Unk_020EDA4C: ; 0x020EDA4C - .incbin "incbin/arm9_rodata.bin", 0x8E0C, 0x8E1C - 0x8E0C - - .global Unk_020EDA5C -Unk_020EDA5C: ; 0x020EDA5C - .incbin "incbin/arm9_rodata.bin", 0x8E1C, 0x8E2C - 0x8E1C - - .global Unk_020EDA6C -Unk_020EDA6C: ; 0x020EDA6C - .incbin "incbin/arm9_rodata.bin", 0x8E2C, 0x8E3C - 0x8E2C - - .global Unk_020EDA7C -Unk_020EDA7C: ; 0x020EDA7C - .incbin "incbin/arm9_rodata.bin", 0x8E3C, 0x8E4C - 0x8E3C - - .global Unk_020EDA8C -Unk_020EDA8C: ; 0x020EDA8C - .incbin "incbin/arm9_rodata.bin", 0x8E4C, 0x8E5C - 0x8E4C - - .global Unk_020EDA9C -Unk_020EDA9C: ; 0x020EDA9C - .incbin "incbin/arm9_rodata.bin", 0x8E5C, 0x8E6C - 0x8E5C - - .global Unk_020EDAAC -Unk_020EDAAC: ; 0x020EDAAC - .incbin "incbin/arm9_rodata.bin", 0x8E6C, 0x8E7C - 0x8E6C - - .global Unk_020EDABC -Unk_020EDABC: ; 0x020EDABC - .incbin "incbin/arm9_rodata.bin", 0x8E7C, 0x8E8C - 0x8E7C - - .global Unk_020EDACC -Unk_020EDACC: ; 0x020EDACC - .incbin "incbin/arm9_rodata.bin", 0x8E8C, 0x8E9C - 0x8E8C - - .global Unk_020EDADC -Unk_020EDADC: ; 0x020EDADC - .incbin "incbin/arm9_rodata.bin", 0x8E9C, 0x8EAC - 0x8E9C - - .global Unk_020EDAEC -Unk_020EDAEC: ; 0x020EDAEC - .incbin "incbin/arm9_rodata.bin", 0x8EAC, 0x8EC4 - 0x8EAC - - .global Unk_020EDB04 -Unk_020EDB04: ; 0x020EDB04 - .incbin "incbin/arm9_rodata.bin", 0x8EC4, 0x8EE4 - 0x8EC4 - - .global Unk_020EDB24 -Unk_020EDB24: ; 0x020EDB24 - .incbin "incbin/arm9_rodata.bin", 0x8EE4, 0x8F04 - 0x8EE4 - - .global Unk_020EDB44 -Unk_020EDB44: ; 0x020EDB44 - .incbin "incbin/arm9_rodata.bin", 0x8F04, 0x8F24 - 0x8F04 - - .global Unk_020EDB64 -Unk_020EDB64: ; 0x020EDB64 - .incbin "incbin/arm9_rodata.bin", 0x8F24, 0x8F44 - 0x8F24 - - .global Unk_020EDB84 -Unk_020EDB84: ; 0x020EDB84 - .incbin "incbin/arm9_rodata.bin", 0x8F44, 0x28 - diff --git a/asm/unk_0206A8DC.s b/asm/unk_0206A8DC.s deleted file mode 100644 index 6026ace1e8..0000000000 --- a/asm/unk_0206A8DC.s +++ /dev/null @@ -1,1036 +0,0 @@ - .include "macros/function.inc" - .include "include/unk_0206A8DC.inc" - - - - .text - - - thumb_func_start sub_0206A8DC -sub_0206A8DC: ; 0x0206A8DC - ldr r3, _0206A8E0 ; =sub_0205081C - bx r3 - ; .align 2, 0 -_0206A8E0: .word sub_0205081C - thumb_func_end sub_0206A8DC - - thumb_func_start sub_0206A8E4 -sub_0206A8E4: ; 0x0206A8E4 - ldr r3, _0206A8E8 ; =sub_02050844 - bx r3 - ; .align 2, 0 -_0206A8E8: .word sub_02050844 - thumb_func_end sub_0206A8E4 - - thumb_func_start sub_0206A8EC -sub_0206A8EC: ; 0x0206A8EC - ldr r3, _0206A8F0 ; =sub_020507F0 - bx r3 - ; .align 2, 0 -_0206A8F0: .word sub_020507F0 - thumb_func_end sub_0206A8EC - - thumb_func_start sub_0206A8F4 -sub_0206A8F4: ; 0x0206A8F4 - push {r3, lr} - cmp r1, #0 - beq _0206A90E - cmp r1, #1 - beq _0206A904 - cmp r1, #2 - beq _0206A918 - b _0206A922 -_0206A904: - lsl r1, r2, #0x10 - lsr r1, r1, #0x10 - bl sub_0206A8DC - b _0206A926 -_0206A90E: - lsl r1, r2, #0x10 - lsr r1, r1, #0x10 - bl sub_0206A8E4 - b _0206A926 -_0206A918: - lsl r1, r2, #0x10 - lsr r1, r1, #0x10 - bl sub_0206A8EC - pop {r3, pc} -_0206A922: - bl GF_AssertFail -_0206A926: - mov r0, #0 - pop {r3, pc} - ; .align 2, 0 - thumb_func_end sub_0206A8F4 - - thumb_func_start sub_0206A92C -sub_0206A92C: ; 0x0206A92C - ldr r3, _0206A934 ; =sub_0206A8DC - mov r1, #0x96 - lsl r1, r1, #4 - bx r3 - ; .align 2, 0 -_0206A934: .word sub_0206A8DC - thumb_func_end sub_0206A92C - - thumb_func_start sub_0206A938 -sub_0206A938: ; 0x0206A938 - ldr r3, _0206A940 ; =sub_0206A8EC - mov r1, #0x96 - lsl r1, r1, #4 - bx r3 - ; .align 2, 0 -_0206A940: .word sub_0206A8EC - thumb_func_end sub_0206A938 - - thumb_func_start sub_0206A944 -sub_0206A944: ; 0x0206A944 - ldr r3, _0206A94C ; =sub_0206A8DC - ldr r1, _0206A950 ; =0x00000964 - bx r3 - nop -_0206A94C: .word sub_0206A8DC -_0206A950: .word 0x00000964 - thumb_func_end sub_0206A944 - - thumb_func_start sub_0206A954 -sub_0206A954: ; 0x0206A954 - ldr r3, _0206A95C ; =sub_0206A8EC - ldr r1, _0206A960 ; =0x00000964 - bx r3 - nop -_0206A95C: .word sub_0206A8EC -_0206A960: .word 0x00000964 - thumb_func_end sub_0206A954 - - thumb_func_start sub_0206A964 -sub_0206A964: ; 0x0206A964 - ldr r3, _0206A96C ; =sub_0206A8DC - ldr r1, _0206A970 ; =0x00000961 - bx r3 - nop -_0206A96C: .word sub_0206A8DC -_0206A970: .word 0x00000961 - thumb_func_end sub_0206A964 - - thumb_func_start sub_0206A974 -sub_0206A974: ; 0x0206A974 - ldr r3, _0206A97C ; =sub_0206A8E4 - ldr r1, _0206A980 ; =0x00000961 - bx r3 - nop -_0206A97C: .word sub_0206A8E4 -_0206A980: .word 0x00000961 - thumb_func_end sub_0206A974 - - thumb_func_start sub_0206A984 -sub_0206A984: ; 0x0206A984 - ldr r3, _0206A98C ; =sub_0206A8EC - ldr r1, _0206A990 ; =0x00000961 - bx r3 - nop -_0206A98C: .word sub_0206A8EC -_0206A990: .word 0x00000961 - thumb_func_end sub_0206A984 - - thumb_func_start sub_0206A994 -sub_0206A994: ; 0x0206A994 - ldr r3, _0206A99C ; =sub_0206A8DC - ldr r1, _0206A9A0 ; =0x00000965 - bx r3 - nop -_0206A99C: .word sub_0206A8DC -_0206A9A0: .word 0x00000965 - thumb_func_end sub_0206A994 - - thumb_func_start sub_0206A9A4 -sub_0206A9A4: ; 0x0206A9A4 - ldr r3, _0206A9AC ; =sub_0206A8E4 - ldr r1, _0206A9B0 ; =0x00000965 - bx r3 - nop -_0206A9AC: .word sub_0206A8E4 -_0206A9B0: .word 0x00000965 - thumb_func_end sub_0206A9A4 - - thumb_func_start sub_0206A9B4 -sub_0206A9B4: ; 0x0206A9B4 - ldr r3, _0206A9BC ; =sub_0206A8EC - ldr r1, _0206A9C0 ; =0x00000965 - bx r3 - nop -_0206A9BC: .word sub_0206A8EC -_0206A9C0: .word 0x00000965 - thumb_func_end sub_0206A9B4 - - thumb_func_start sub_0206A9C4 -sub_0206A9C4: ; 0x0206A9C4 - ldr r3, _0206A9CC ; =sub_0206A8DC - ldr r1, _0206A9D0 ; =0x0000096D - bx r3 - nop -_0206A9CC: .word sub_0206A8DC -_0206A9D0: .word 0x0000096D - thumb_func_end sub_0206A9C4 - - thumb_func_start sub_0206A9D4 -sub_0206A9D4: ; 0x0206A9D4 - ldr r3, _0206A9DC ; =sub_0206A8E4 - ldr r1, _0206A9E0 ; =0x0000096D - bx r3 - nop -_0206A9DC: .word sub_0206A8E4 -_0206A9E0: .word 0x0000096D - thumb_func_end sub_0206A9D4 - - thumb_func_start sub_0206A9E4 -sub_0206A9E4: ; 0x0206A9E4 - ldr r3, _0206A9EC ; =sub_0206A8EC - ldr r1, _0206A9F0 ; =0x0000096D - bx r3 - nop -_0206A9EC: .word sub_0206A8EC -_0206A9F0: .word 0x0000096D - thumb_func_end sub_0206A9E4 - - thumb_func_start sub_0206A9F4 -sub_0206A9F4: ; 0x0206A9F4 - ldr r3, _0206A9FC ; =sub_0206A8DC - ldr r1, _0206AA00 ; =0x0000096E - bx r3 - nop -_0206A9FC: .word sub_0206A8DC -_0206AA00: .word 0x0000096E - thumb_func_end sub_0206A9F4 - - thumb_func_start sub_0206AA04 -sub_0206AA04: ; 0x0206AA04 - ldr r3, _0206AA0C ; =sub_0206A8DC - ldr r1, _0206AA10 ; =0x0000096F - bx r3 - nop -_0206AA0C: .word sub_0206A8DC -_0206AA10: .word 0x0000096F - thumb_func_end sub_0206AA04 - - thumb_func_start sub_0206AA14 -sub_0206AA14: ; 0x0206AA14 - ldr r3, _0206AA1C ; =sub_0206A8DC - mov r1, #0x97 - lsl r1, r1, #4 - bx r3 - ; .align 2, 0 -_0206AA1C: .word sub_0206A8DC - thumb_func_end sub_0206AA14 - - thumb_func_start sub_0206AA20 -sub_0206AA20: ; 0x0206AA20 - ldr r3, _0206AA28 ; =sub_0206A8DC - ldr r1, _0206AA2C ; =0x00000971 - bx r3 - nop -_0206AA28: .word sub_0206A8DC -_0206AA2C: .word 0x00000971 - thumb_func_end sub_0206AA20 - - thumb_func_start sub_0206AA30 -sub_0206AA30: ; 0x0206AA30 - ldr r3, _0206AA38 ; =sub_0206A8DC - ldr r1, _0206AA3C ; =0x00000972 - bx r3 - nop -_0206AA38: .word sub_0206A8DC -_0206AA3C: .word 0x00000972 - thumb_func_end sub_0206AA30 - - thumb_func_start sub_0206AA40 -sub_0206AA40: ; 0x0206AA40 - ldr r3, _0206AA48 ; =sub_0206A8DC - ldr r1, _0206AA4C ; =0x00000973 - bx r3 - nop -_0206AA48: .word sub_0206A8DC -_0206AA4C: .word 0x00000973 - thumb_func_end sub_0206AA40 - - thumb_func_start sub_0206AA50 -sub_0206AA50: ; 0x0206AA50 - push {r3, lr} - cmp r1, #4 - bhi _0206AA92 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0206AA62: ; jump table - .short _0206AA6C - _0206AA62 - 2 ; case 0 - .short _0206AA74 - _0206AA62 - 2 ; case 1 - .short _0206AA7C - _0206AA62 - 2 ; case 2 - .short _0206AA84 - _0206AA62 - 2 ; case 3 - .short _0206AA8C - _0206AA62 - 2 ; case 4 -_0206AA6C: - ldr r1, _0206AA94 ; =0x00000968 - bl sub_0206A8DC - pop {r3, pc} -_0206AA74: - ldr r1, _0206AA98 ; =0x00000969 - bl sub_0206A8DC - pop {r3, pc} -_0206AA7C: - ldr r1, _0206AA9C ; =0x0000096A - bl sub_0206A8DC - pop {r3, pc} -_0206AA84: - ldr r1, _0206AAA0 ; =0x0000096B - bl sub_0206A8DC - pop {r3, pc} -_0206AA8C: - ldr r1, _0206AAA4 ; =0x0000096C - bl sub_0206A8DC -_0206AA92: - pop {r3, pc} - ; .align 2, 0 -_0206AA94: .word 0x00000968 -_0206AA98: .word 0x00000969 -_0206AA9C: .word 0x0000096A -_0206AAA0: .word 0x0000096B -_0206AAA4: .word 0x0000096C - thumb_func_end sub_0206AA50 - - thumb_func_start sub_0206AAA8 -sub_0206AAA8: ; 0x0206AAA8 - push {r3, lr} - cmp r1, #4 - bhi _0206AAEA - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0206AABA: ; jump table - .short _0206AAC4 - _0206AABA - 2 ; case 0 - .short _0206AACC - _0206AABA - 2 ; case 1 - .short _0206AAD4 - _0206AABA - 2 ; case 2 - .short _0206AADC - _0206AABA - 2 ; case 3 - .short _0206AAE4 - _0206AABA - 2 ; case 4 -_0206AAC4: - ldr r1, _0206AAEC ; =0x00000968 - bl sub_0206A8EC - pop {r3, pc} -_0206AACC: - ldr r1, _0206AAF0 ; =0x00000969 - bl sub_0206A8EC - pop {r3, pc} -_0206AAD4: - ldr r1, _0206AAF4 ; =0x0000096A - bl sub_0206A8EC - pop {r3, pc} -_0206AADC: - ldr r1, _0206AAF8 ; =0x0000096B - bl sub_0206A8EC - pop {r3, pc} -_0206AAE4: - ldr r1, _0206AAFC ; =0x0000096C - bl sub_0206A8EC -_0206AAEA: - pop {r3, pc} - ; .align 2, 0 -_0206AAEC: .word 0x00000968 -_0206AAF0: .word 0x00000969 -_0206AAF4: .word 0x0000096A -_0206AAF8: .word 0x0000096B -_0206AAFC: .word 0x0000096C - thumb_func_end sub_0206AAA8 - - thumb_func_start sub_0206AB00 -sub_0206AB00: ; 0x0206AB00 - push {r3, lr} - mov r2, #0 - cmp r1, #5 - bhi _0206AB52 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0206AB14: ; jump table - .short _0206AB52 - _0206AB14 - 2 ; case 0 - .short _0206AB20 - _0206AB14 - 2 ; case 1 - .short _0206AB2A - _0206AB14 - 2 ; case 2 - .short _0206AB36 - _0206AB14 - 2 ; case 3 - .short _0206AB40 - _0206AB14 - 2 ; case 4 - .short _0206AB4A - _0206AB14 - 2 ; case 5 -_0206AB20: - ldr r1, _0206AB58 ; =0x0000097F - bl sub_0206A8EC - add r2, r0, #0 - b _0206AB52 -_0206AB2A: - mov r1, #0x26 - lsl r1, r1, #6 - bl sub_0206A8EC - add r2, r0, #0 - b _0206AB52 -_0206AB36: - ldr r1, _0206AB5C ; =0x00000981 - bl sub_0206A8EC - add r2, r0, #0 - b _0206AB52 -_0206AB40: - ldr r1, _0206AB60 ; =0x00000982 - bl sub_0206A8EC - add r2, r0, #0 - b _0206AB52 -_0206AB4A: - ldr r1, _0206AB64 ; =0x00000983 - bl sub_0206A8EC - add r2, r0, #0 -_0206AB52: - add r0, r2, #0 - pop {r3, pc} - nop -_0206AB58: .word 0x0000097F -_0206AB5C: .word 0x00000981 -_0206AB60: .word 0x00000982 -_0206AB64: .word 0x00000983 - thumb_func_end sub_0206AB00 - - thumb_func_start sub_0206AB68 -sub_0206AB68: ; 0x0206AB68 - push {r4, r5, r6, lr} - add r4, r1, #0 - ldr r1, _0206AD2C ; =0x00000132 - add r6, r0, #0 - mov r5, #0 - cmp r4, r1 - bgt _0206ABC6 - blt _0206AB7A - b _0206AC7E -_0206AB7A: - cmp r4, #0xc9 - bgt _0206ABA8 - blt _0206AB82 - b _0206ACCC -_0206AB82: - cmp r4, #0x4b - bgt _0206ABA0 - add r1, r4, #0 - sub r1, #0x48 - bmi _0206ABA6 - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0206AB98: ; jump table - .short _0206ACB2 - _0206AB98 - 2 ; case 0 - .short _0206ACB2 - _0206AB98 - 2 ; case 1 - .short _0206ACB2 - _0206AB98 - 2 ; case 2 - .short _0206ACB2 - _0206AB98 - 2 ; case 3 -_0206ABA0: - cmp r4, #0xb9 - bne _0206ABA6 - b _0206AD1A -_0206ABA6: - b _0206AD28 -_0206ABA8: - add r2, r1, #0 - sub r2, #0x32 - cmp r4, r2 - bgt _0206ABBE - sub r1, #0x32 - cmp r4, r1 - blt _0206ABB8 - b _0206ACE6 -_0206ABB8: - cmp r4, #0xfb - beq _0206AC60 - b _0206AD28 -_0206ABBE: - sub r0, r1, #1 - cmp r4, r0 - beq _0206AC7E - b _0206AD28 -_0206ABC6: - add r2, r1, #0 - add r2, #0x5d - cmp r4, r2 - bgt _0206AC10 - add r2, r1, #0 - add r2, #0x5d - cmp r4, r2 - blt _0206ABD8 - b _0206AD00 -_0206ABD8: - add r2, r1, #1 - cmp r4, r2 - bgt _0206ABE6 - add r0, r2, #0 - cmp r4, r0 - beq _0206AC7E - b _0206AD28 -_0206ABE6: - add r1, r1, #2 - sub r1, r4, r1 - cmp r1, #0xa - bhi _0206AC1E - add r1, r1, r1 - add r1, pc - ldrh r1, [r1, #6] - lsl r1, r1, #0x10 - asr r1, r1, #0x10 - add pc, r1 -_0206ABFA: ; jump table - .short _0206AC7E - _0206ABFA - 2 ; case 0 - .short _0206AC7E - _0206ABFA - 2 ; case 1 - .short _0206AC7E - _0206ABFA - 2 ; case 2 - .short _0206AD28 - _0206ABFA - 2 ; case 3 - .short _0206AC44 - _0206ABFA - 2 ; case 4 - .short _0206AD28 - _0206ABFA - 2 ; case 5 - .short _0206AC28 - _0206ABFA - 2 ; case 6 - .short _0206AD28 - _0206ABFA - 2 ; case 7 - .short _0206AC36 - _0206ABFA - 2 ; case 8 - .short _0206AD28 - _0206ABFA - 2 ; case 9 - .short _0206AC52 - _0206ABFA - 2 ; case 10 -_0206AC10: - ldr r0, _0206AD30 ; =0x000001EE - cmp r4, r0 - bgt _0206AC20 - bge _0206AC7E - sub r0, #0x48 - cmp r4, r0 - beq _0206AC6E -_0206AC1E: - b _0206AD28 -_0206AC20: - add r0, r0, #3 - cmp r4, r0 - beq _0206AC7E - b _0206AD28 -_0206AC28: - ldr r1, _0206AD34 ; =0x00000984 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD38 ; =0x0000042E - b _0206AD28 -_0206AC36: - ldr r1, _0206AD34 ; =0x00000984 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD3C ; =0x00000429 - b _0206AD28 -_0206AC44: - ldr r1, _0206AD40 ; =0x0000098E - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD38 ; =0x0000042E - b _0206AD28 -_0206AC52: - ldr r1, _0206AD44 ; =0x0000098F - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD38 ; =0x0000042E - b _0206AD28 -_0206AC60: - ldr r1, _0206AD48 ; =0x00000995 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD4C ; =0x0000042D - b _0206AD28 -_0206AC6E: - ldr r1, _0206AD50 ; =0x00000993 - add r0, r6, #0 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD54 ; =0x0000044A - b _0206AD28 -_0206AC7E: - ldr r1, _0206AD58 ; =0x00000985 - add r0, r6, #0 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AC9C - bl sub_02013948 - cmp r0, #0 - bne _0206AC98 - mov r5, #0xfe - lsl r5, r5, #2 - b _0206AD28 -_0206AC98: - ldr r5, _0206AD5C ; =0x00000415 - b _0206AD28 -_0206AC9C: - ldr r0, _0206AD60 ; =0x00000131 - cmp r4, r0 - bne _0206AD28 - ldr r1, _0206AD64 ; =0x00000986 - add r0, r6, #0 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD68 ; =0x0000042B - b _0206AD28 -_0206ACB2: - ldr r1, _0206AD6C ; =0x00000987 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - bl sub_02013948 - cmp r0, #0 - bne _0206ACC8 - ldr r5, _0206AD70 ; =0x000003F5 - b _0206AD28 -_0206ACC8: - ldr r5, _0206AD74 ; =0x00000412 - b _0206AD28 -_0206ACCC: - ldr r1, _0206AD78 ; =0x00000988 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - bl sub_02013948 - cmp r0, #0 - bne _0206ACE2 - ldr r5, _0206AD7C ; =0x000003FF - b _0206AD28 -_0206ACE2: - ldr r5, _0206AD80 ; =0x0000041C - b _0206AD28 -_0206ACE6: - ldr r1, _0206AD84 ; =0x00000989 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - bl sub_02013948 - cmp r0, #0 - bne _0206ACFC - ldr r5, _0206AD88 ; =0x000003EE - b _0206AD28 -_0206ACFC: - ldr r5, _0206AD8C ; =0x0000040B - b _0206AD28 -_0206AD00: - ldr r1, _0206AD90 ; =0x0000098A - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - bl sub_02013948 - cmp r0, #0 - bne _0206AD16 - ldr r5, _0206AD88 ; =0x000003EE - b _0206AD28 -_0206AD16: - ldr r5, _0206AD8C ; =0x0000040B - b _0206AD28 -_0206AD1A: - ldr r1, _0206AD94 ; =0x0000098B - add r0, r6, #0 - bl sub_0206A8EC - cmp r0, #1 - bne _0206AD28 - ldr r5, _0206AD98 ; =0x000003E9 -_0206AD28: - add r0, r5, #0 - pop {r4, r5, r6, pc} - ; .align 2, 0 -_0206AD2C: .word 0x00000132 -_0206AD30: .word 0x000001EE -_0206AD34: .word 0x00000984 -_0206AD38: .word 0x0000042E -_0206AD3C: .word 0x00000429 -_0206AD40: .word 0x0000098E -_0206AD44: .word 0x0000098F -_0206AD48: .word 0x00000995 -_0206AD4C: .word 0x0000042D -_0206AD50: .word 0x00000993 -_0206AD54: .word 0x0000044A -_0206AD58: .word 0x00000985 -_0206AD5C: .word 0x00000415 -_0206AD60: .word 0x00000131 -_0206AD64: .word 0x00000986 -_0206AD68: .word 0x0000042B -_0206AD6C: .word 0x00000987 -_0206AD70: .word 0x000003F5 -_0206AD74: .word 0x00000412 -_0206AD78: .word 0x00000988 -_0206AD7C: .word 0x000003FF -_0206AD80: .word 0x0000041C -_0206AD84: .word 0x00000989 -_0206AD88: .word 0x000003EE -_0206AD8C: .word 0x0000040B -_0206AD90: .word 0x0000098A -_0206AD94: .word 0x0000098B -_0206AD98: .word 0x000003E9 - thumb_func_end sub_0206AB68 - - thumb_func_start sub_0206AD9C -sub_0206AD9C: ; 0x0206AD9C - ldr r3, _0206ADA4 ; =sub_0206A8DC - ldr r1, _0206ADA8 ; =0x00000966 - bx r3 - nop -_0206ADA4: .word sub_0206A8DC -_0206ADA8: .word 0x00000966 - thumb_func_end sub_0206AD9C - - thumb_func_start sub_0206ADAC -sub_0206ADAC: ; 0x0206ADAC - ldr r3, _0206ADB4 ; =sub_0206A8E4 - ldr r1, _0206ADB8 ; =0x00000966 - bx r3 - nop -_0206ADB4: .word sub_0206A8E4 -_0206ADB8: .word 0x00000966 - thumb_func_end sub_0206ADAC - - thumb_func_start sub_0206ADBC -sub_0206ADBC: ; 0x0206ADBC - ldr r3, _0206ADC4 ; =sub_0206A8EC - ldr r1, _0206ADC8 ; =0x00000966 - bx r3 - nop -_0206ADC4: .word sub_0206A8EC -_0206ADC8: .word 0x00000966 - thumb_func_end sub_0206ADBC - - thumb_func_start sub_0206ADCC -sub_0206ADCC: ; 0x0206ADCC - ldr r3, _0206ADD4 ; =sub_0206A8EC - ldr r1, _0206ADD8 ; =0x00000978 - bx r3 - nop -_0206ADD4: .word sub_0206A8EC -_0206ADD8: .word 0x00000978 - thumb_func_end sub_0206ADCC - - thumb_func_start sub_0206ADDC -sub_0206ADDC: ; 0x0206ADDC - ldr r3, _0206ADE4 ; =sub_0206A8EC - ldr r1, _0206ADE8 ; =0x00000992 - bx r3 - nop -_0206ADE4: .word sub_0206A8EC -_0206ADE8: .word 0x00000992 - thumb_func_end sub_0206ADDC - - thumb_func_start sub_0206ADEC -sub_0206ADEC: ; 0x0206ADEC - ldr r3, _0206ADF4 ; =sub_0206A8EC - ldr r1, _0206ADF8 ; =0x0000097D - bx r3 - nop -_0206ADF4: .word sub_0206A8EC -_0206ADF8: .word 0x0000097D - thumb_func_end sub_0206ADEC - - thumb_func_start sub_0206ADFC -sub_0206ADFC: ; 0x0206ADFC - ldr r3, _0206AE04 ; =sub_0206A8EC - ldr r1, _0206AE08 ; =0x0000097E - bx r3 - nop -_0206AE04: .word sub_0206A8EC -_0206AE08: .word 0x0000097E - thumb_func_end sub_0206ADFC - - thumb_func_start sub_0206AE0C -sub_0206AE0C: ; 0x0206AE0C - ldr r3, _0206AE14 ; =sub_0206A8DC - ldr r1, _0206AE18 ; =0x0000097C - bx r3 - nop -_0206AE14: .word sub_0206A8DC -_0206AE18: .word 0x0000097C - thumb_func_end sub_0206AE0C - - thumb_func_start sub_0206AE1C -sub_0206AE1C: ; 0x0206AE1C - ldr r3, _0206AE24 ; =sub_0206A8E4 - ldr r1, _0206AE28 ; =0x0000097C - bx r3 - nop -_0206AE24: .word sub_0206A8E4 -_0206AE28: .word 0x0000097C - thumb_func_end sub_0206AE1C - - thumb_func_start sub_0206AE2C -sub_0206AE2C: ; 0x0206AE2C - ldr r3, _0206AE34 ; =sub_0206A8EC - ldr r1, _0206AE38 ; =0x0000097C - bx r3 - nop -_0206AE34: .word sub_0206A8EC -_0206AE38: .word 0x0000097C - thumb_func_end sub_0206AE2C - - thumb_func_start sub_0206AE3C -sub_0206AE3C: ; 0x0206AE3C - ldr r3, _0206AE44 ; =sub_0206A8DC - ldr r1, _0206AE48 ; =0x00000967 - bx r3 - nop -_0206AE44: .word sub_0206A8DC -_0206AE48: .word 0x00000967 - thumb_func_end sub_0206AE3C - - thumb_func_start sub_0206AE4C -sub_0206AE4C: ; 0x0206AE4C - ldr r3, _0206AE54 ; =sub_0206A8E4 - ldr r1, _0206AE58 ; =0x00000967 - bx r3 - nop -_0206AE54: .word sub_0206A8E4 -_0206AE58: .word 0x00000967 - thumb_func_end sub_0206AE4C - - thumb_func_start sub_0206AE5C -sub_0206AE5C: ; 0x0206AE5C - ldr r3, _0206AE64 ; =sub_0206A8EC - ldr r1, _0206AE68 ; =0x00000967 - bx r3 - nop -_0206AE64: .word sub_0206A8EC -_0206AE68: .word 0x00000967 - thumb_func_end sub_0206AE5C - - thumb_func_start sub_0206AE6C -sub_0206AE6C: ; 0x0206AE6C - ldr r3, _0206AE74 ; =sub_0206A8DC - ldr r1, _0206AE78 ; =0x00000979 - bx r3 - nop -_0206AE74: .word sub_0206A8DC -_0206AE78: .word 0x00000979 - thumb_func_end sub_0206AE6C - - thumb_func_start sub_0206AE7C -sub_0206AE7C: ; 0x0206AE7C - ldr r3, _0206AE84 ; =sub_0206A8E4 - ldr r1, _0206AE88 ; =0x00000979 - bx r3 - nop -_0206AE84: .word sub_0206A8E4 -_0206AE88: .word 0x00000979 - thumb_func_end sub_0206AE7C - - thumb_func_start sub_0206AE8C -sub_0206AE8C: ; 0x0206AE8C - ldr r3, _0206AE94 ; =sub_0206A8EC - ldr r1, _0206AE98 ; =0x00000979 - bx r3 - nop -_0206AE94: .word sub_0206A8EC -_0206AE98: .word 0x00000979 - thumb_func_end sub_0206AE8C - - thumb_func_start sub_0206AE9C -sub_0206AE9C: ; 0x0206AE9C - ldr r3, _0206AEA4 ; =sub_0206A8E4 - ldr r1, _0206AEA8 ; =0x00000994 - bx r3 - nop -_0206AEA4: .word sub_0206A8E4 -_0206AEA8: .word 0x00000994 - thumb_func_end sub_0206AE9C - - thumb_func_start sub_0206AEAC -sub_0206AEAC: ; 0x0206AEAC - ldr r3, _0206AEB4 ; =sub_0206A8F4 - ldr r2, _0206AEB8 ; =0x00000962 - bx r3 - nop -_0206AEB4: .word sub_0206A8F4 -_0206AEB8: .word 0x00000962 - thumb_func_end sub_0206AEAC - - thumb_func_start sub_0206AEBC -sub_0206AEBC: ; 0x0206AEBC - ldr r3, _0206AEC4 ; =sub_0206A8DC - ldr r1, _0206AEC8 ; =0x0000097A - bx r3 - nop -_0206AEC4: .word sub_0206A8DC -_0206AEC8: .word 0x0000097A - thumb_func_end sub_0206AEBC - - thumb_func_start sub_0206AECC -sub_0206AECC: ; 0x0206AECC - ldr r3, _0206AED4 ; =sub_0206A8E4 - ldr r1, _0206AED8 ; =0x0000097A - bx r3 - nop -_0206AED4: .word sub_0206A8E4 -_0206AED8: .word 0x0000097A - thumb_func_end sub_0206AECC - - thumb_func_start sub_0206AEDC -sub_0206AEDC: ; 0x0206AEDC - ldr r3, _0206AEE4 ; =sub_0206A8EC - ldr r1, _0206AEE8 ; =0x0000097A - bx r3 - nop -_0206AEE4: .word sub_0206A8EC -_0206AEE8: .word 0x0000097A - thumb_func_end sub_0206AEDC - - thumb_func_start sub_0206AEEC -sub_0206AEEC: ; 0x0206AEEC - ldr r3, _0206AEF4 ; =sub_0206A8DC - ldr r1, _0206AEF8 ; =0x0000097B - bx r3 - nop -_0206AEF4: .word sub_0206A8DC -_0206AEF8: .word 0x0000097B - thumb_func_end sub_0206AEEC - - thumb_func_start sub_0206AEFC -sub_0206AEFC: ; 0x0206AEFC - ldr r3, _0206AF04 ; =sub_0206A8E4 - ldr r1, _0206AF08 ; =0x0000097B - bx r3 - nop -_0206AF04: .word sub_0206A8E4 -_0206AF08: .word 0x0000097B - thumb_func_end sub_0206AEFC - - thumb_func_start sub_0206AF0C -sub_0206AF0C: ; 0x0206AF0C - ldr r3, _0206AF14 ; =sub_0206A8EC - ldr r1, _0206AF18 ; =0x0000097B - bx r3 - nop -_0206AF14: .word sub_0206A8EC -_0206AF18: .word 0x0000097B - thumb_func_end sub_0206AF0C - - thumb_func_start sub_0206AF1C -sub_0206AF1C: ; 0x0206AF1C - ldr r3, _0206AF24 ; =sub_0206A8F4 - ldr r2, _0206AF28 ; =0x00000996 - bx r3 - nop -_0206AF24: .word sub_0206A8F4 -_0206AF28: .word 0x00000996 - thumb_func_end sub_0206AF1C - - thumb_func_start sub_0206AF2C -sub_0206AF2C: ; 0x0206AF2C - ldr r3, _0206AF34 ; =sub_0206A8F4 - ldr r2, _0206AF38 ; =0x00000963 - bx r3 - nop -_0206AF34: .word sub_0206A8F4 -_0206AF38: .word 0x00000963 - thumb_func_end sub_0206AF2C - - thumb_func_start sub_0206AF3C -sub_0206AF3C: ; 0x0206AF3C - push {r4, r5, r6, lr} - add r4, r2, #0 - add r5, r0, #0 - add r6, r1, #0 - cmp r4, #0x45 - blo _0206AF4C - bl GF_AssertFail -_0206AF4C: - mov r2, #0x9b - lsl r2, r2, #4 - add r0, r5, #0 - add r1, r6, #0 - add r2, r4, r2 - bl sub_0206A8F4 - pop {r4, r5, r6, pc} - thumb_func_end sub_0206AF3C - - thumb_func_start sub_0206AF5C -sub_0206AF5C: ; 0x0206AF5C - ldr r3, _0206AF64 ; =sub_0206A8DC - ldr r1, _0206AF68 ; =0x0000098C - bx r3 - nop -_0206AF64: .word sub_0206A8DC -_0206AF68: .word 0x0000098C - thumb_func_end sub_0206AF5C - - thumb_func_start sub_0206AF6C -sub_0206AF6C: ; 0x0206AF6C - push {r4, r5, r6, lr} - add r4, r2, #0 - add r5, r0, #0 - add r6, r1, #0 - cmp r4, #0x14 - blt _0206AF7C - bl GF_AssertFail -_0206AF7C: - ldr r2, _0206AF8C ; =0x00000997 - add r0, r5, #0 - add r1, r6, #0 - add r2, r4, r2 - bl sub_0206A8F4 - pop {r4, r5, r6, pc} - nop -_0206AF8C: .word 0x00000997 - thumb_func_end sub_0206AF6C - - thumb_func_start sub_0206AF90 -sub_0206AF90: ; 0x0206AF90 - ldr r3, _0206AF98 ; =sub_0206A8E4 - ldr r1, _0206AF9C ; =0x000009AB - bx r3 - nop -_0206AF98: .word sub_0206A8E4 -_0206AF9C: .word 0x000009AB - thumb_func_end sub_0206AF90 - - thumb_func_start sub_0206AFA0 -sub_0206AFA0: ; 0x0206AFA0 - ldr r3, _0206AFA8 ; =sub_0206A8E4 - ldr r1, _0206AFAC ; =0x000009AC - bx r3 - nop -_0206AFA8: .word sub_0206A8E4 -_0206AFAC: .word 0x000009AC - thumb_func_end sub_0206AFA0 - - thumb_func_start sub_0206AFB0 -sub_0206AFB0: ; 0x0206AFB0 - ldr r3, _0206AFB8 ; =0x000009AE - add r2, r2, r3 - ldr r3, _0206AFBC ; =sub_0206A8F4 - bx r3 - ; .align 2, 0 -_0206AFB8: .word 0x000009AE -_0206AFBC: .word sub_0206A8F4 - thumb_func_end sub_0206AFB0 - - thumb_func_start sub_0206AFC0 -sub_0206AFC0: ; 0x0206AFC0 - ldr r3, _0206AFC8 ; =sub_0206A8F4 - ldr r2, _0206AFCC ; =0x000009AD - bx r3 - nop -_0206AFC8: .word sub_0206A8F4 -_0206AFCC: .word 0x000009AD - thumb_func_end sub_0206AFC0 - - thumb_func_start sub_0206AFD0 -sub_0206AFD0: ; 0x0206AFD0 - ldr r3, _0206AFD8 ; =sub_0206A8F4 - mov r1, #2 - ldr r2, _0206AFDC ; =0x00000977 - bx r3 - ; .align 2, 0 -_0206AFD8: .word sub_0206A8F4 -_0206AFDC: .word 0x00000977 - thumb_func_end sub_0206AFD0 \ No newline at end of file diff --git a/main.lsf b/main.lsf index ead0d22abf..e0754c3e64 100644 --- a/main.lsf +++ b/main.lsf @@ -187,25 +187,25 @@ Static main Object asm/unk_020494DC.o Object asm/unk_02049D08.o Object asm/unk_0204AEE8.o - Object asm/unk_0204B64C.o + Object src/unk_0204B64C.o Object asm/unk_0204B830.o - Object asm/unk_0204C500.o - Object asm/unk_0204C6C8.o - Object asm/unk_0204C8F0.o - Object asm/unk_0204CA84.o - Object asm/unk_0204CDDC.o - Object asm/unk_0204CFFC.o - Object asm/unk_0204E240.o - Object asm/unk_0204E378.o + Object src/unk_0204C500.o + Object src/unk_0204C6C8.o + Object src/unk_0204C8F0.o + Object src/unk_0204CA84.o + Object src/unk_0204CDDC.o + Object src/unk_0204CFFC.o + Object src/unk_0204E240.o + Object src/unk_0204E378.o Object asm/unk_0204E3CC.o - Object asm/unk_0204E75C.o - Object asm/unk_0204E974.o - Object asm/unk_0204EDA4.o - Object asm/unk_0204F02C.o - Object asm/unk_0204F04C.o - Object asm/unk_0204F13C.o - Object asm/unk_0204FA34.o - Object asm/unk_0204FAB4.o + Object src/unk_0204E75C.o + Object src/unk_0204E974.o + Object src/unk_0204EDA4.o + Object src/unk_0204F02C.o + Object src/unk_0204F04C.o + Object src/unk_0204F13C.o + Object src/unk_0204FA34.o + Object src/unk_0204FAB4.o Object asm/unk_0205001C.o Object asm/unk_0205003C.o Object asm/unk_02050548.o @@ -236,14 +236,14 @@ Static main Object asm/unk_0205964C.o Object asm/unk_0205A0D8.o Object asm/unk_0205B33C.o - Object asm/unk_0205C22C.o - Object asm/unk_0205C980.o + Object src/unk_0205C22C.o + Object src/unk_0205C980.o Object asm/unk_0205CA94.o - Object asm/unk_0205D8CC.o - Object asm/unk_0205DAC8.o + Object src/unk_0205D8CC.o + Object src/unk_0205DAC8.o Object asm/unk_0205DFC4.o Object asm/unk_0205E7D0.o - Object asm/unk_0205F180.o + Object src/unk_0205F180.o Object asm/unk_02061804.o Object src/unk_020EDBAC.o Object asm/unk_02063400.o @@ -257,7 +257,7 @@ Static main Object asm/unk_0206940C.o Object asm/unk_02069BE0.o Object asm/unk_0206A780.o - Object asm/unk_0206A8DC.o + Object src/unk_0206A8DC.o Object asm/unk_0206AFE0.o Object asm/unk_0206B70C.o Object asm/unk_0206B9D8.o diff --git a/src/unk_0204B64C.c b/src/unk_0204B64C.c new file mode 100644 index 0000000000..a393e49e58 --- /dev/null +++ b/src/unk_0204B64C.c @@ -0,0 +1,112 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0202CD88_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_02061AB4_decl.h" + +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0202CD50.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_0204B64C.h" +#include "unk_02055C50.h" + +BOOL sub_0204B64C (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0; + u16 * v1 = inline_0204FCAC(param0); + + v0 = sub_0203F098(param0->unk_34, 10); + *v1 = sub_02055F00(param0->unk_34, *v0); + + return 0; +} + +BOOL sub_0204B680 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0 = sub_0203F098(param0->unk_34, 10); + u16 * v1 = inline_0204FCAC(param0); + + *v1 = sub_02055F40(param0->unk_34, *v0); + return 0; +} + +BOOL sub_0204B6B4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0 = sub_0203F098(param0->unk_34, 10); + u16 * v1 = inline_0204FCAC(param0); + + *v1 = sub_02055F64(param0->unk_34, *v0); + return 0; +} + +BOOL sub_0204B6E8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0 = sub_0203F098(param0->unk_34, 10); + u16 * v1 = inline_0204FCAC(param0); + + *v1 = sub_02055F88(param0->unk_34, *v0); + return 0; +} + +BOOL sub_0204B71C (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0 = sub_0203F098(param0->unk_34, 10); + u16 * v1 = inline_0204FCAC(param0); + + *v1 = sub_02055FA8(param0->unk_34, *v0); + return 0; +} + +BOOL sub_0204B750 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0 = sub_0203F098(param0->unk_34, 10); + u16 v1 = inline_02049538(param0); + + sub_02055E80(param0->unk_34, *v0, v1); + return 0; +} + +BOOL sub_0204B784 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02061AB4 ** v0 = sub_0203F098(param0->unk_34, 10); + UnkStruct_0202CD88 * v1 = sub_0202CD88(param0->unk_34->unk_0C); + u16 v2 = inline_02049538(param0); + + sub_02055EAC(param0->unk_34, *v0, v2); + sub_0202CF28(v1, (1 + 3)); + + return 0; +} + +BOOL sub_0204B7CC (UnkStruct_0203E724 * param0) +{ + switch (sub_0203E838(param0)) { + case 0: + sub_020562AC(param0->unk_34); + break; + case 1: + sub_020562D8(param0->unk_34); + break; + default: + GF_ASSERT(0); + } + + return 1; +} + +BOOL sub_0204B7FC (UnkStruct_0203E724 * param0) +{ + u16 v0; + UnkStruct_0202CD88 * v1 = sub_0202CD88(param0->unk_34->unk_0C); + UnkStruct_02061AB4 ** v2 = sub_0203F098(param0->unk_34, 10); + + sub_02055E00(param0->unk_34, *v2); + sub_0202CFEC(v1, 0); + + return 0; +} diff --git a/src/unk_0204C500.c b/src/unk_0204C500.c new file mode 100644 index 0000000000..e8ca08449c --- /dev/null +++ b/src/unk_0204C500.c @@ -0,0 +1,109 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_02024440_decl.h" +#include "struct_decls/struct_02025E6C_decl.h" +#include "struct_decls/struct_02026324_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_020507E4_decl.h" +#include "struct_decls/struct_02073C74_decl.h" +#include "struct_decls/struct_020797DC_decl.h" + +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_02017E74.h" +#include "unk_0202440C.h" +#include "unk_02025E08.h" +#include "unk_0202631C.h" +#include "unk_0202EEC0.h" +#include "unk_0202F180.h" +#include "unk_0204C500.h" +#include "unk_020507CC.h" +#include "unk_020562F8.h" +#include "unk_0206A8DC.h" +#include "unk_02073C2C.h" +#include "unk_020797C8.h" +#include "unk_02092494.h" + +BOOL sub_0204C500 (UnkStruct_0203E724 * param0) +{ + UnkStruct_020507E4 * v0 = sub_020507E4(param0->unk_34->unk_0C); + u16 v1 = inline_02049538(param0); + + if (v1 == 0) { + sub_0206AE6C(v0); + sub_020562F8(param0->unk_34); + } else if (v1 == 1) { + sub_0206AE7C(v0); + sub_02056328(param0->unk_34); + } else { + GF_ASSERT(0); + } + + return 0; +} + +BOOL sub_0204C554 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02024440 * v0 = sub_02024440(param0->unk_34->unk_0C); + UnkStruct_02073C74 * v1 = sub_02073C74(32); + u16 * v2 = inline_0204FCAC(param0); + + if (sub_0202F028(v0) == 6) { + *v2 = 1; + } else { + *v2 = 0; + } + + sub_020181C4(v1); + return 0; +} + +BOOL sub_0204C59C (UnkStruct_0203E724 * param0) +{ + UnkStruct_02024440 * v0 = sub_02024440(param0->unk_34->unk_0C); + UnkStruct_020797DC * v1 = sub_02024420(param0->unk_34->unk_0C); + UnkStruct_02073C74 * v2 = sub_02073C74(32); + UnkStruct_02025E6C * v3 = sub_02025E38(param0->unk_34->unk_0C); + UnkStruct_02026324 * v4 = sub_02027560(param0->unk_34->unk_0C); + BOOL v5; + int v6; + + for (v6 = 0; v6 < 6; v6++) { + sub_0202F000(v0, v6, v2); + sub_0209304C(v2, v3, 2, 0, 32); + v5 = sub_02079868(v1, sub_02076B10(v2)); + GF_ASSERT(v5); + sub_0202F180(param0->unk_34->unk_0C, v2); + } + + sub_020181C4(v2); + sub_0202EF04(v0); + + return 0; +} + +BOOL sub_0204C638 (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + u16 * v1 = inline_0204FCAC(param0); + + switch (v0) { + case 0: + *v1 = sub_020563D0(param0->unk_34); + break; + case 1: + *v1 = sub_020563E0(param0->unk_34); + break; + case 2: + *v1 = sub_020563F0(param0->unk_34); + break; + case 3: + *v1 = sub_020563D0(param0->unk_34) + sub_020563F0(param0->unk_34) + sub_020563E0(param0->unk_34); + break; + } + + return 0; +} diff --git a/src/unk_0204C6C8.c b/src/unk_0204C6C8.c new file mode 100644 index 0000000000..ce0551771b --- /dev/null +++ b/src/unk_0204C6C8.c @@ -0,0 +1,162 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_02025E50_decl.h" +#include "struct_decls/struct_02025E6C_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_021C0794_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" +#include "struct_defs/struct_0205AA50.h" + +#include "unk_02025E08.h" +#include "unk_0202B594.h" +#include "unk_0203CC84.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_0204C6C8.h" +#include "overlay005/ov5_021DC018.h" + + +BOOL sub_0204C6C8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + UnkStruct_0205AA50 ** v3; + + v3 = sub_0203F098(v0, 38); + *v3 = ov5_021DD020(param0->unk_34, v1, v2); + + return 0; +} + +BOOL sub_0204C718 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_0205AA50 ** v1 = sub_0203F098(v0, 38); + + ov5_021DD084(*v1); + return 0; +} + +BOOL sub_0204C730 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_0205AA50 ** v1 = sub_0203F098(v0, 38); + + ov5_021DD098(param0->unk_34, *v1); + return 0; +} + +BOOL sub_0204C750 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02025E50 * v2 = sub_02025E50(v1); + u16 * v3; + + v3 = inline_0204FCAC(param0); + *v3 = (u16)sub_0202B5B4(v2); + + return 0; +} + +BOOL sub_0204C780 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02025E50 * v2 = sub_02025E50(v1); + u16 v3; + + v3 = inline_02049538(param0); + sub_0202B5B8(v2, v3); + + return 0; +} + +BOOL sub_0204C7AC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02025E50 * v2 = sub_02025E50(v1); + u16 v3; + + v3 = inline_02049538(param0); + sub_0202B5F0(v2, v3); + + return 0; +} + +BOOL sub_0204C7D8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02025E50 * v2 = sub_02025E50(v1); + u16 * v3 = inline_0204FCAC(param0); + u16 v4; + + v4 = *v3; + + sub_0202B5F0(v2, v4); + + return 0; +} + +BOOL sub_0204C808 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02025E6C * v1 = sub_02025E38(sub_0203D174(param0->unk_34)); + UnkStruct_021C0794 * v2 = v0->unk_0C; + UnkStruct_02025E50 * v3 = sub_02025E50(v2); + u32 v4, v5; + u16 * v6 = inline_0204FCAC(param0); + + v4 = sub_0203E850(param0); + v5 = sub_0202B5B4(v3); + + if (v5 < v4) { + *v6 = 0; + } else { + *v6 = 1; + } + + return 0; +} + +BOOL sub_0204C854 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02025E6C * v1 = sub_02025E38(sub_0203D174(param0->unk_34)); + UnkStruct_021C0794 * v2 = v0->unk_0C; + UnkStruct_02025E50 * v3 = sub_02025E50(v2); + u16 * v4 = inline_0204FCAC(param0); + u16 * v5 = inline_0204FCAC(param0); + u32 v6, v7; + + v6 = *v5; + v7 = sub_0202B5B4(v3); + + if (v7 < v6) { + *v4 = 0; + } else { + *v4 = 1; + } + + return 0; +} + +BOOL sub_0204C8AC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02025E50 * v2 = sub_02025E50(v1); + u16 * v3 = inline_0204FCAC(param0); + u16 v4 = inline_02049538(param0); + + *v3 = sub_0202B5D8(v2, v4); + return 0; +} diff --git a/src/unk_0204C8F0.c b/src/unk_0204C8F0.c new file mode 100644 index 0000000000..f8e3a047c4 --- /dev/null +++ b/src/unk_0204C8F0.c @@ -0,0 +1,122 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_02025E6C_decl.h" +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" +#include "struct_defs/struct_0205AA50.h" + +#include "unk_02025E08.h" +#include "unk_02025E68.h" +#include "unk_0203CC84.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_0204C8F0.h" +#include "overlay005/ov5_021DC018.h" + + +BOOL sub_0204C8F0 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02025E6C * v0 = sub_02025E38(sub_0203D174(param0->unk_34)); + u32 v1; + + v1 = sub_0203E850(param0); + sub_02025F94(v0, v1); + + return 0; +} + +BOOL sub_0204C914 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02025E6C * v0 = sub_02025E38(sub_0203D174(param0->unk_34)); + u32 v1; + + v1 = sub_0203E850(param0); + sub_02025FB8(v0, v1); + + return 0; +} + +BOOL sub_0204C938 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02025E6C * v0 = sub_02025E38(sub_0203D174(param0->unk_34)); + u32 v1; + + v1 = inline_02049538(param0); + sub_02025FB8(v0, v1); + + return 0; +} + +BOOL sub_0204C968 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02025E6C * v0 = sub_02025E38(sub_0203D174(param0->unk_34)); + u16 * v1; + u32 v2, v3; + + v1 = inline_0204FCAC(param0); + v2 = sub_0203E850(param0); + v3 = sub_02025F74(v0); + + if (v3 < v2) { + *v1 = 0; + } else { + *v1 = 1; + } + + return 0; +} + +BOOL sub_0204C9AC (UnkStruct_0203E724 * param0) +{ + UnkStruct_02025E6C * v0 = sub_02025E38(sub_0203D174(param0->unk_34)); + u16 * v1; + u32 v2, v3; + + v1 = inline_0204FCAC(param0); + v2 = inline_02049538(param0); + v3 = sub_02025F74(v0); + + if (v3 < v2) { + *v1 = 0; + } else { + *v1 = 1; + } + + return 0; +} + +BOOL sub_0204C9FC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + UnkStruct_0205AA50 ** v3; + + v3 = sub_0203F098(v0, 39); + *v3 = ov5_021DCEB0(param0->unk_34, v1, v2); + + return 0; +} + +BOOL sub_0204CA4C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_0205AA50 ** v1 = sub_0203F098(v0, 39); + + ov5_021DCF58(*v1); + return 0; +} + +BOOL sub_0204CA64 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_0205AA50 ** v1 = sub_0203F098(v0, 39); + + ov5_021DCF6C(param0->unk_34, *v1); + return 0; +} diff --git a/src/unk_0204CA84.c b/src/unk_0204CA84.c new file mode 100644 index 0000000000..b31aa16d0a --- /dev/null +++ b/src/unk_0204CA84.c @@ -0,0 +1,219 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0200B358_decl.h" +#include "struct_decls/struct_02025E6C_decl.h" +#include "struct_decls/struct_02026310_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_02079FF4_decl.h" +#include "struct_decls/struct_021C0794_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_020244AC.h" +#include "unk_02025E08.h" +#include "unk_020261E4.h" +#include "unk_0203CC84.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_0204CA84.h" +#include "unk_02079FEC.h" +#include "overlay005/ov5_021E622C.h" + +BOOL sub_0204CA84 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_0200B358 ** v2 = sub_0203F098(v0, 15); + + ov5_021E72BC(sub_02026310(v1), *v2); + + return 0; +} + +BOOL sub_0204CAA4 (UnkStruct_0203E724 * param0) +{ + u16 * v0; + UnkStruct_0203CDB0 * v1 = param0->unk_34; + UnkStruct_021C0794 * v2 = v1->unk_0C; + UnkStruct_02026310 * v3; + + v0 = inline_0204FCAC(param0); + v3 = (UnkStruct_02026310 *)(sub_020245BC(v2, 8)); + *v0 = ov5_021E73C8(v3); + + return 0; +} + +BOOL sub_0204CAD4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02026310 * v2; + + v2 = (UnkStruct_02026310 *)(sub_020245BC(v1, 8)); + ov5_021E6B40(v2); + + return 0; +} + +BOOL sub_0204CAEC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02026310 * v2 = (UnkStruct_02026310 *)(sub_020245BC(v1, 8)); + UnkStruct_02079FF4 * v3 = sub_0207A268(v0->unk_0C); + UnkStruct_02025E6C * v4 = sub_02025E38(sub_0203D174(param0->unk_34)); + + ov5_021E6EA8(v2, v3, v4); + return 0; +} + +BOOL sub_0204CB20 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02026310 * v1; + UnkStruct_02079FF4 * v2; + UnkStruct_0200B358 ** v3 = sub_0203F098(v0, 15); + UnkStruct_021C0794 * v4 = v0->unk_0C; + u16 * v5 = inline_0204FCAC(param0); + u8 v6 = inline_02049538(param0); + + v1 = (UnkStruct_02026310 *)(sub_020245BC(v4, 8)); + v2 = sub_0207A268(v0->unk_0C); + *v5 = ov5_021E64F8(v2, *v3, v1, v6); + + return 0; +} + +BOOL sub_0204CB80 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02026310 * v1; + UnkStruct_0200B358 ** v2 = sub_0203F098(v0, 15); + UnkStruct_021C0794 * v3 = v0->unk_0C; + u16 * v4 = inline_0204FCAC(param0); + u8 v5 = inline_02049538(param0); + + v1 = (UnkStruct_02026310 *)(sub_020245BC(v3, 8)); + *v4 = ov5_021E6630(v1, v5, *v2); + + return 0; +} + +BOOL sub_0204CBD4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02026310 * v2; + UnkStruct_0200B358 ** v3 = sub_0203F098(param0->unk_34, 15); + u16 * v4 = inline_0204FCAC(param0); + u16 v5 = inline_02049538(param0); + + v2 = (UnkStruct_02026310 *)(sub_020245BC(v1, 8)); + *v4 = ov5_021E6640(v2, v5, *v3); + + return 0; +} + +BOOL sub_0204CC24 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02079FF4 * v1; + UnkStruct_0200B358 ** v2 = sub_0203F098(param0->unk_34, 15); + u16 v3 = sub_0203E838(param0); + u16 v4 = inline_02049538(param0); + u16 * v5 = inline_0204FCAC(param0); + + v1 = sub_0207A268(v0->unk_0C); + *v5 = ov5_021E73A0(v1, v4, *v2); + + return 0; +} + +BOOL sub_0204CC78 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02026310 * v2; + UnkStruct_02079FF4 * v3; + u8 v4 = inline_02049538(param0); + + v3 = sub_0207A268(v0->unk_0C); + v2 = (UnkStruct_02026310 *)(sub_020245BC(v1, 8)); + + ov5_021E6358(v3, v4, v2, v1); + + return 0; +} + +BOOL sub_0204CCB8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_0200B358 ** v2 = sub_0203F098(param0->unk_34, 15); + u8 v3 = inline_02049538(param0); + u8 v4 = inline_02049538(param0); + u8 v5 = inline_02049538(param0); + u8 v6 = inline_02049538(param0); + + ov5_021E7308(sub_02026310(v1), v3, v4, v5, v6, *v2); + return 0; +} + +BOOL sub_0204CD44 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02026310 * v2; + u16 * v3 = inline_0204FCAC(param0); + + v2 = (UnkStruct_02026310 *)(sub_020245BC(v1, 8)); + *v3 = ov5_021E7420(v2); + + return 0; +} + +BOOL sub_0204CD74 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_02026310 * v2; + u16 * v3 = inline_0204FCAC(param0); + + v2 = (UnkStruct_02026310 *)(sub_020245BC(v1, 8)); + *v3 = sub_02026234(v2); + + return 0; +} + +BOOL sub_0204CDA4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 * v1 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204CDBC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + return 0; +} + +BOOL sub_0204CDC0 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + return 0; +} + +BOOL sub_0204CDC4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 * v1 = inline_0204FCAC(param0); + + return 0; +} diff --git a/src/unk_0204CDDC.c b/src/unk_0204CDDC.c new file mode 100644 index 0000000000..bc863b5389 --- /dev/null +++ b/src/unk_0204CDDC.c @@ -0,0 +1,164 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0201D15C.h" +#include "unk_0204CDDC.h" +#include "unk_020507CC.h" +#include "unk_0206AFE0.h" + +BOOL sub_0204CF68(UnkStruct_0203E724 * param0); +BOOL sub_0204CF8C(UnkStruct_0203E724 * param0); +BOOL sub_0204CFC4(UnkStruct_0203E724 * param0); + +BOOL sub_0204CDDC (UnkStruct_0203E724 * param0) +{ + sub_0206B218(sub_020507E4(param0->unk_34->unk_0C)); + return 0; +} + +BOOL sub_0204CDF0 (UnkStruct_0203E724 * param0) +{ + u16 * v0 = inline_0204FCAC(param0); + + *v0 = sub_0206B228(sub_020507E4(param0->unk_34->unk_0C)); + return 0; +} + +static const u16 Unk_020EBF84[6][10] = { + {0x0, 0x5, 0x15, 0x6, 0x1A, 0xD, 0x19, 0x1F, 0x10, 0x21}, + {0x2, 0x13, 0x14, 0x18, 0x11, 0x0, 0x17, 0x1D, 0x1C, 0xF}, + {0x9, 0x8, 0x3, 0x6, 0x16, 0x1E, 0x11, 0x7, 0xE, 0x20}, + {0xC, 0x12, 0x15, 0xD, 0x1F, 0x8, 0x19, 0x18, 0x1B, 0x7}, + {0x5, 0x3, 0x1A, 0x13, 0x14, 0x1, 0xB, 0x10, 0x16, 0xF}, + {0xC, 0x1E, 0x2, 0x14, 0x1D, 0x4, 0x9, 0x1B, 0xE, 0xA} +}; + +BOOL sub_0204CE1C (UnkStruct_0203E724 * param0) +{ + u8 v0, v1; + u16 v2; + u16 * v3 = inline_0204FCAC(param0); + u16 v4 = inline_02049538(param0); + + v2 = sub_0201D2E8() % 100; + + if (v2 < 15) { + v0 = 0; + } else if (v2 < (15 + 15)) { + v0 = 1; + } else if (v2 < (15 + 15 + 15)) { + v0 = 2; + } else if (v2 < (15 + 15 + 15 + 15)) { + v0 = 3; + } else if (v2 < (15 + 15 + 15 + 15 + 10)) { + v0 = 4; + } else if (v2 < (15 + 15 + 15 + 15 + 10 + 10)) { + v0 = 5; + } else if (v2 < (15 + 15 + 15 + 15 + 10 + 10 + 8)) { + v0 = 6; + } else if (v2 < (15 + 15 + 15 + 15 + 10 + 10 + 8 + 5)) { + v0 = 7; + } else if (v2 < (15 + 15 + 15 + 15 + 10 + 10 + 8 + 5 + 5)) { + v0 = 8; + } else { + v0 = 9; + } + + switch (v4) { + case 390: + case 391: + case 392: + v1 = 0; + break; + case 393: + case 394: + case 395: + v1 = 1; + break; + case 387: + case 388: + case 389: + v1 = 2; + break; + case 54: + case 427: + case 425: + v1 = 3; + break; + case 25: + case 35: + case 417: + case 440: + v1 = 4; + break; + case 39: + case 255: + case 300: + case 285: + v1 = 5; + break; + + default: + v1 = 0; + } + + *v3 = Unk_020EBF84[v1][v0]; + + return 0; +} + +static const u16 Unk_020EBF64[] = { + 0xB0, + 0xAF, + 0xB1, + 0xB2, + 0xB3, + 0xB4, + 0xB5, + 0xB6, + 0xB7, + 0xB, + 0x7, + 0xA, + 0x10, + 0x1B, + 0x20, + 0x21 +}; + +BOOL sub_0204CF68 (UnkStruct_0203E724 * param0) +{ + u16 * v0 = inline_0204FCAC(param0); + + *v0 = (sub_0201D2E8() % (NELEMS(Unk_020EBF64))); + return 0; +} + +BOOL sub_0204CF8C (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + u16 * v1 = inline_0204FCAC(param0); + + if (v0 < 9) { + *v1 = 0; + } else { + *v1 = 1; + } + + return 0; +} + +BOOL sub_0204CFC4 (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + u16 * v1 = inline_0204FCAC(param0); + + *v1 = Unk_020EBF64[v0]; + return 0; +} diff --git a/src/unk_0204CFFC.c b/src/unk_0204CFFC.c new file mode 100644 index 0000000000..b68efbe61e --- /dev/null +++ b/src/unk_0204CFFC.c @@ -0,0 +1,910 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_02025E6C_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_02073C74_decl.h" +#include "struct_decls/struct_020797DC_decl.h" +#include "struct_decls/struct_02079FF4_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_02017038.h" +#include "unk_02017E74.h" +#include "unk_0202440C.h" +#include "unk_02025E08.h" +#include "unk_02025E68.h" +#include "unk_0203A024.h" +#include "unk_0203CC84.h" +#include "unk_0204CFFC.h" +#include "unk_02054884.h" +#include "unk_0205DFC4.h" +#include "unk_0206CCB0.h" +#include "unk_02073C2C.h" +#include "unk_020797C8.h" +#include "unk_02079FEC.h" +#include "unk_0207CDEC.h" +#include "unk_020923C0.h" +#include "overlay005/ov5_021E622C.h" + +BOOL sub_0204CFFC (UnkStruct_0203E724 * param0) +{ + int v0 = sub_0203A138(param0->unk_34->unk_1C->unk_00); + int v1 = 24; + UnkStruct_02079FF4 * v2; + UnkStruct_0203CDB0 * v3 = param0->unk_34; + u16 v4 = inline_02049538(param0); + u16 v5 = inline_02049538(param0); + u16 v6 = inline_02049538(param0); + u16 * v7 = inline_0204FCAC(param0); + + v2 = sub_0207A268(v3->unk_0C); + *v7 = sub_020548B0(11, v3->unk_0C, v4, v5, v6, v0, v1); + + return 0; +} + +BOOL sub_0204D08C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 * v3 = inline_0204FCAC(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), *v2); + + if (sub_02074470(v1, 76, NULL) == 0) { + *v3 = sub_02074470(v1, 5, NULL); + } else { + *v3 = 0; + } + + return 0; +} + +BOOL sub_0204D0E8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + UnkStruct_02025E6C * v2 = sub_02025E38(sub_0203D174(param0->unk_34)); + u16 * v3 = inline_0204FCAC(param0); + u16 * v4 = inline_0204FCAC(param0); + u16 v5, v6; + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), *v3); + v5 = sub_02074470(v1, 7, NULL); + v6 = sub_02025F20(v2); + + if (v5 == v6) { + *v4 = 0; + } else { + *v4 = 1; + } + + return 0; +} + +BOOL sub_0204D154 (UnkStruct_0203E724 * param0) +{ + int v0; + u8 v1; + BOOL v2; + UnkStruct_02079FF4 * v3; + UnkStruct_02073C74 * v4; + UnkStruct_0203CDB0 * v5 = param0->unk_34; + UnkStruct_02025E6C * v6 = sub_02025E38(v5->unk_0C); + u16 v7 = inline_02049538(param0); + u16 v8 = inline_02049538(param0); + + v3 = sub_0207A268(v5->unk_0C); + v1 = sub_0207A0F8(v3); + + if (v1 < 6) { + v4 = sub_02073C74(11); + sub_02073C2C(v4); + + v0 = sub_02017070(1, v8); + ov5_021E6CF0(v4, v7, 1, v6, 3, v0); + + v2 = sub_0207A048(v3, v4); + sub_020181C4(v4); + } + + return 0; +} + +BOOL sub_0204D1DC (UnkStruct_0203E724 * param0) +{ + u16 v0, v1, v2; + + v0 = inline_02049538(param0); + v1 = inline_02049538(param0); + v2 = inline_02049538(param0); + + sub_02054988(sub_0207A268(param0->unk_34->unk_0C), v0, v1, v2); + return 0; +} + +BOOL sub_0204D234 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + u16 v5; + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v4); + *v2 = 0; + + if (sub_02074470(v1, 76, NULL) != 0) { + return 0; + } + + if ((sub_02074470(v1, 54, NULL) == v3) || (sub_02074470(v1, 55, NULL) == v3) || (sub_02074470(v1, 56, NULL) == v3) || (sub_02074470(v1, 57, NULL) == v3)) { + *v2 = 1; + } + + return 0; +} + +BOOL sub_0204D2D8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u16 v4; + u8 v5, v6; + + v6 = sub_0207A0F8(sub_0207A268(v0->unk_0C)); + + for (v5 = 0, *v2 = 6; v5 < v6; v5++) { + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v5); + + if (sub_02074470(v1, 76, NULL) != 0) { + continue; + } + + if ((sub_02074470(v1, 54, NULL) == v3) || (sub_02074470(v1, 55, NULL) == v3) || (sub_02074470(v1, 56, NULL) == v3) || (sub_02074470(v1, 57, NULL) == v3)) { + *v2 = v5; + break; + } + } + + return 0; +} + +BOOL sub_0204D398 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 v1; + u16 * v2; + + v2 = inline_0204FCAC(param0); + v1 = inline_02049538(param0); + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v1); + *v2 = sub_02054B94(v0); + + return 0; +} + +BOOL sub_0204D3DC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u8 v4, v5, v6; + + v5 = sub_0207A0F8(sub_0207A268(v0->unk_0C)); + *v2 = 0; + + for (v4 = 0, v6 = 0; v4 < v5; v4++) { + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v4); + + if (sub_02074470(v1, 76, NULL) == 0) { + if (sub_02074470(v1, 161, NULL) <= v3) { + v6++; + } + } + } + + *v2 = v6; + + return 0; +} + +BOOL sub_0204D470 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + *v2 = 0; + + if (sub_02074470(v1, 76, NULL) == 0) { + *v2 = sub_02074470(v1, 161, NULL); + } + + return 0; +} + +BOOL sub_0204D4CC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u8 v4; + + v4 = sub_0207A0F8(sub_0207A268(v0->unk_0C)); + + if (v3 >= v4) { + *v2 = 0; + return 0; + } + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + + if (sub_02074470(v1, 76, NULL) != 0) { + *v2 = 0; + return 0; + } + + *v2 = sub_02075BCC(v1); + + return 0; +} + +BOOL sub_0204D540 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u8 v4, v5; + + v4 = sub_0207A0F8(sub_0207A268(v0->unk_0C)); + *v2 = 0xff; + + for (v5 = 0; v5 < v4; v5++) { + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v5); + + if (sub_02074470(v1, 76, NULL) == 0) { + if (sub_02075BCC(v1) == v3) { + *v2 = v5; + break; + } + } + } + + return 0; +} + +BOOL sub_0204D5CC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + *v2 = sub_02074470(v1, 9, NULL); + + return 0; +} + +BOOL sub_0204D614 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 v2 = inline_02049538(param0); + u16 v3 = inline_02049538(param0); + u16 v4; + u32 v5 = sub_0203A138(param0->unk_34->unk_1C->unk_00); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + v4 = sub_02074470(v1, 9, NULL); + + if (v2 > 0) { + if (sub_0207CFF0(sub_02074470(v1, 6, NULL), 1, 11) == 53) { + v2 = v2 * 150 / 100; + } + + if (sub_02074470(v1, 155, NULL) == 11) { + v2++; + } + + if (sub_02074470(v1, 152, NULL) == v5) { + v2++; + } + } + + v4 += v2; + + if (v4 > 255) { + v4 = 255; + } + + sub_02074B30(v1, 9, &v4); + return 0; +} + +BOOL sub_0204D6E4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 v2 = inline_02049538(param0); + u16 v3 = inline_02049538(param0); + u16 v4; + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + v4 = sub_02074470(v1, 9, NULL); + + if (v2 > v4) { + v4 = 0; + } else { + v4 -= v2; + } + + sub_02074B30(v1, 9, &v4); + return 0; +} + +BOOL sub_0204D74C (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v1); + *v3 = sub_02074470(v0, 19 + v2, NULL); + + return 0; +} + +BOOL sub_0204D7AC (UnkStruct_0203E724 * param0) +{ + u16 * v0 = inline_0204FCAC(param0); + + *v0 = sub_0205E1B4(param0->unk_34->unk_0C); + return 0; +} + +BOOL sub_0204D7D4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 * v3 = inline_0204FCAC(param0); + u16 v4 = inline_02049538(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v4); + *v2 = sub_02074470(v1, 177, NULL); + *v3 = sub_02074470(v1, 178, NULL); + + return 0; +} + +BOOL sub_0204D840 (UnkStruct_0203E724 * param0) +{ + int v0; + UnkStruct_02073C74 * v1; + UnkStruct_0203CDB0 * v2 = param0->unk_34; + u16 * v3 = inline_0204FCAC(param0); + + v0 = sub_0207A0F8(sub_0207A268(v2->unk_0C)); + *v3 = v0; + + return 0; +} + +BOOL sub_0204D86C (UnkStruct_0203E724 * param0) +{ + int v0, v1, v2; + UnkStruct_02073C74 * v3; + UnkStruct_0203CDB0 * v4 = param0->unk_34; + u16 * v5 = inline_0204FCAC(param0); + + v0 = sub_0207A0F8(sub_0207A268(v4->unk_0C)); + + for (v2 = 0, v1 = 0; v2 < v0; v2++) { + v3 = sub_0207A0FC(sub_0207A268(v4->unk_0C), v2); + + if (sub_02074470(v3, 76, NULL) == 0) { + v1++; + } + } + + *v5 = v1; + + return 0; +} + +BOOL sub_0204D8C4 (UnkStruct_0203E724 * param0) +{ + int v0, v1, v2; + UnkStruct_02073C74 * v3; + UnkStruct_0203CDB0 * v4 = param0->unk_34; + u16 * v5 = inline_0204FCAC(param0); + u16 v6 = inline_02049538(param0); + + v0 = sub_0207A0F8(sub_0207A268(v4->unk_0C)); + + for (v2 = 0, v1 = 0; v2 < v0; v2++) { + if (v2 == v6) { + continue; + } + + v3 = sub_0207A0FC(sub_0207A268(v4->unk_0C), v2); + + if (sub_02074470(v3, 76, NULL) == 0) { + if (sub_02074470(v3, 163, NULL) != 0) { + v1++; + } + } + } + + *v5 = v1; + + return 0; +} + +BOOL sub_0204D94C (UnkStruct_0203E724 * param0) +{ + int v0, v1, v2; + UnkStruct_02073C74 * v3; + UnkStruct_0203CDB0 * v4 = param0->unk_34; + u16 * v5 = inline_0204FCAC(param0); + UnkStruct_020797DC * v6 = sub_02024420(v4->unk_0C); + + v0 = sub_0207A0F8(sub_0207A268(v4->unk_0C)); + + for (v2 = 0, v1 = 0; v2 < v0; v2++) { + v3 = sub_0207A0FC(sub_0207A268(v4->unk_0C), v2); + + if (sub_02074470(v3, 76, NULL) == 0) { + if (sub_02074470(v3, 163, NULL) != 0) { + v1++; + } + } + } + + v1 += sub_02079BEC(v6); + *v5 = v1; + + return 0; +} + +BOOL sub_0204D9C8 (UnkStruct_0203E724 * param0) +{ + int v0, v1, v2; + UnkStruct_02073C74 * v3; + UnkStruct_0203CDB0 * v4 = param0->unk_34; + u16 * v5 = inline_0204FCAC(param0); + + v0 = sub_0207A0F8(sub_0207A268(v4->unk_0C)); + + for (v2 = 0, v1 = 0; v2 < v0; v2++) { + v3 = sub_0207A0FC(sub_0207A268(v4->unk_0C), v2); + + if (sub_02074470(v3, 76, NULL)) { + v1++; + } + } + + *v5 = v1; + + return 0; +} + +BOOL sub_0204DA20 (UnkStruct_0203E724 * param0) +{ + u16 v0, v1; + u16 * v2; + u32 v3; + UnkStruct_02073C74 * v4; + UnkStruct_0203CDB0 * v5 = param0->unk_34; + + v2 = inline_0204FCAC(param0); + v1 = sub_0207A0F8(sub_0207A268(v5->unk_0C)); + *v2 = 0; + + for (v0 = 0; v0 < v1; v0++) { + v4 = sub_0207A0FC(sub_0207A268(v5->unk_0C), v0); + + v3 = sub_02074470(v4, 154, NULL); + + if (v3 != 0) { + *v2 = 1; + break; + } + } + + return 0; +} + +BOOL sub_0204DA84 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 v1 = inline_02049538(param0); + u16 * v2 = inline_0204FCAC(param0); + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v1); + *v2 = sub_02074470(v0, 111, NULL); + + return 0; +} + +BOOL sub_0204DACC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u8 v4; + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + + if (sub_02074470(v1, 76, NULL) != 0) { + *v2 = 0; + return 0; + } + + v4 = 0; + + if ((sub_02074470(v1, 54, NULL) != 0)) { + v4++; + } + + if ((sub_02074470(v1, 55, NULL) != 0)) { + v4++; + } + + if ((sub_02074470(v1, 56, NULL) != 0)) { + v4++; + } + + if ((sub_02074470(v1, 57, NULL) != 0)) { + v4++; + } + + *v2 = v4; + return 0; +} + +BOOL sub_0204DB74 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u32 v2; + u8 v3; + u16 v4 = inline_02049538(param0); + u16 v5 = inline_02049538(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v4); + sub_02077408(v1, v5); + + return 0; +} + +BOOL sub_0204DBB8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + *v2 = sub_02074470(v1, 54 + v4, NULL); + + return 0; +} + +BOOL sub_0204DC18 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v3); + *v2 = sub_02074470(v1, 6, NULL); + + return 0; +} + +BOOL sub_0204DC60 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + u16 v2 = inline_02049538(param0); + u16 v3; + + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v2); + v3 = 0; + + sub_02074B30(v1, 6, &v3); + + return 0; +} + +BOOL sub_0204DC98 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + UnkStruct_02079FF4 * v2; + u16 * v3 = inline_0204FCAC(param0); + u16 v4 = inline_02049538(param0); + u8 v5, v6; + u16 v7; + + v2 = sub_0207A268(v0->unk_0C); + v6 = sub_0207A0F8(v2); + *v3 = 0; + + for (v5 = 0; v5 < v6; v5++) { + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v5); + + if (sub_02074470(v1, 76, NULL) == 0) { + v7 = sub_02074470(v1, 5, NULL); + + if (v4 == v7) { + *v3 = 1; + break; + } + } + } + + return 0; +} + +BOOL sub_0204DD28 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + UnkStruct_02079FF4 * v2; + u16 * v3 = inline_0204FCAC(param0); + u16 v4 = inline_02049538(param0); + u8 v5, v6, v7; + u16 v8; + u16 v9[6]; + + for (v5 = 0; v5 < 6; v5++) { + v9[v5] = 0; + } + + v2 = sub_0207A268(v0->unk_0C); + v7 = sub_0207A0F8(v2); + *v3 = 0; + + for (v5 = 0; v5 < v7; v5++) { + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v5); + + if (sub_02074470(v1, 76, NULL) == 0) { + v8 = sub_02074470(v1, 5, NULL); + + if (v4 == 0) { + v9[v5] = v8; + + for (v6 = 0; v6 < v5; v6++) { + if (v9[v6] == v9[v5]) { + *v3 = 1; + return 0; + } + } + } else { + if (v4 == v8) { + *v3 += 1; + } + } + } + } + + return 0; +} + +BOOL sub_0204DE00 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_02073C74 * v1; + UnkStruct_02079FF4 * v2; + u16 * v3 = inline_0204FCAC(param0); + u16 v4 = inline_02049538(param0); + u8 v5, v6; + u16 v7; + + v2 = sub_0207A268(v0->unk_0C); + v6 = sub_0207A0F8(v2); + *v3 = 0xff; + + for (v5 = 0; v5 < v6; v5++) { + v1 = sub_0207A0FC(sub_0207A268(v0->unk_0C), v5); + + if (sub_02074470(v1, 76, NULL) == 0) { + v7 = sub_02074470(v1, 5, NULL); + + if (v4 == v7) { + *v3 = v5; + break; + } + } + } + + return 0; +} + +BOOL sub_0204DE94 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 * v1 = inline_0204FCAC(param0); + u16 v2 = inline_02049538(param0); + u16 v3, v4; + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v2); + + for (v3 = 0, v4 = 0; v3 < 80; v3++) { + if (sub_02074470(v0, sub_020923C0(v3, 0), NULL) != 0) { + v4++; + } + } + + *v1 = v4; + + return 0; +} + +BOOL sub_0204DF08 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + UnkStruct_02079FF4 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3, v4, v5, v6; + + v6 = sub_0207A0F8(sub_0207A268(param0->unk_34->unk_0C)); + v1 = sub_0207A268(param0->unk_34->unk_0C); + + for (v3 = 0, v5 = 0; v3 < 80; v3++) { + for (v4 = 0; v4 < v6; v4++) { + v0 = sub_0207A0FC(v1, v4); + + if (sub_02074470(v0, 76, NULL) == 0) { + if (sub_02074470(v0, sub_020923C0(v3, 0), NULL) != 0) { + v5++; + break; + } + } + } + } + + *v2 = v5; + + return 0; +} + +BOOL sub_0204DFB0 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 * v1 = inline_0204FCAC(param0); + u16 v2 = inline_02049538(param0); + u16 v3 = inline_02049538(param0); + u8 v4 = 1; + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v2); + *v1 = sub_02074470(v0, sub_020923C0(v3, 0), NULL); + + return 0; +} + +BOOL sub_0204E01C (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u8 v3 = 1; + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v1); + + sub_02074B30(v0, sub_020923C0(v2, 0), &v3); + sub_0206DDB8(param0->unk_34->unk_0C, v0, sub_020923C0(v2, 0)); + + return 0; +} + +BOOL sub_0204E094 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + UnkStruct_02079FF4 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3, v4, v5; + + v5 = sub_0207A0F8(sub_0207A268(param0->unk_34->unk_0C)); + v1 = sub_0207A268(param0->unk_34->unk_0C); + + for (v3 = 0; v3 < 80; v3++) { + for (v4 = 0; v4 < v5; v4++) { + v0 = sub_0207A0FC(v1, v4); + + if (sub_02074470(v0, 76, NULL) != 0) { + if (sub_02074470(v0, 3, NULL) != 0) { + *v2 = 1; + return 0; + } + } + } + } + + *v2 = 0; + + return 0; +} + +BOOL sub_0204E128 (UnkStruct_0203E724 * param0) +{ + return 0; +} + +BOOL sub_0204E12C (UnkStruct_0203E724 * param0) +{ + u8 v0, v1; + u16 v2; + UnkStruct_02073C74 * v3; + UnkStruct_02079FF4 * v4; + UnkStruct_0203CDB0 * v5 = param0->unk_34; + u16 * v6 = inline_0204FCAC(param0); + u16 v7 = inline_02049538(param0); + + v4 = sub_0207A268(v5->unk_0C); + v1 = sub_0207A0F8(v4); + *v6 = 0xff; + + for (v0 = 0; v0 < v1; v0++) { + v3 = sub_0207A0FC(sub_0207A268(v5->unk_0C), v0); + + if (sub_02074470(v3, 76, NULL) == 0) { + v2 = sub_02074470(v3, 5, NULL); + + if (v7 == v2) { + if (sub_02074470(v3, 110, NULL) == 1) { + *v6 = v0; + break; + } + } + } + } + + return 0; +} + +BOOL sub_0204E1D0 (UnkStruct_0203E724 * param0) +{ + int v0, v1; + UnkStruct_02079FF4 * v2; + UnkStruct_02073C74 * v3; + UnkStruct_0203CDB0 * v4 = param0->unk_34; + u16 v5 = inline_02049538(param0); + u16 * v6 = inline_0204FCAC(param0); + + v2 = sub_0207A268(v4->unk_0C); + v1 = sub_0207A0F8(v2); + *v6 = 0; + + for (v0 = 0; v0 < v1; v0++) { + v3 = sub_0207A0FC(sub_0207A268(v4->unk_0C), v0); + + if (sub_02074470(v3, 6, NULL) == v5) { + *v6 = 1; + break; + } + } + + return 0; +} diff --git a/src/unk_0204E240.c b/src/unk_0204E240.c new file mode 100644 index 0000000000..299c717f03 --- /dev/null +++ b/src/unk_0204E240.c @@ -0,0 +1,91 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0204E240.h" +#include "unk_0207D3B8.h" + +const u16 Unk_020EBFFC[7][2] = { + {0x67, 0x8E}, + {0x65, 0x8A}, + {0x66, 0x8C}, + {0x63, 0x159}, + {0x64, 0x15B}, + {0x68, 0x19A}, + {0x69, 0x198} +}; + +BOOL sub_0204E240 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u8 v1; + u16 v2, v3; + u16 * v4 = inline_0204FCAC(param0); + + for (v1 = 0, v3 = 0; v1 < 7; v1++) { + v3 += sub_0207D730(sub_0207D990(v0->unk_0C), Unk_020EBFFC[v1][0], 4); + } + + *v4 = v3; + + return 0; +} + +BOOL sub_0204E28C (UnkStruct_0203E724 * param0) +{ + u16 v0; + u16 * v1 = inline_0204FCAC(param0); + u16 v2 = inline_02049538(param0); + + *v1 = 0; + + for (v0 = 0; v0 < 7; v0++) { + if (Unk_020EBFFC[v0][0] == v2) { + *v1 = Unk_020EBFFC[v0][1]; + break; + } + } + + return 0; +} + +BOOL sub_0204E2E0 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u8 v1; + u16 v2, v3; + u16 * v4 = inline_0204FCAC(param0); + u16 * v5 = inline_0204FCAC(param0); + u16 v6 = inline_02049538(param0); + + *v4 = 0; + *v5 = 0; + + for (v1 = 0, v3 = 0; v1 < 7; v1++) { + v3 += sub_0207D730(sub_0207D990(v0->unk_0C), Unk_020EBFFC[v1][0], 4); + + if (v3 >= v6) { + *v4 = Unk_020EBFFC[v1][0]; + *v5 = v1; + break; + } + } + + return 0; +} + +BOOL sub_0204E370 (UnkStruct_0203E724 * param0) +{ + return 0; +} + +BOOL sub_0204E374 (UnkStruct_0203E724 * param0) +{ + return 0; +} diff --git a/src/unk_0204E378.c b/src/unk_0204E378.c new file mode 100644 index 0000000000..0105b9a48c --- /dev/null +++ b/src/unk_0204E378.c @@ -0,0 +1,43 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0204E378.h" + +BOOL sub_0204E378 (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + u16 * v1 = inline_0204FCAC(param0); + u16 * v2 = inline_0204FCAC(param0); + static const u16 v3[][2] = { + {0xFB, 0x3E8}, + {0x109, 0x3E8}, + {0x114, 0x3E8}, + {0x115, 0x3E8}, + {0x1A1, 0x7D0}, + {0x181, 0x7D0}, + {0x192, 0xFA0}, + {0x167, 0xFA0}, + {0x173, 0x1770}, + {0x1A0, 0x1770}, + {0x151, 0x1770}, + {0x162, 0x1F40}, + {0x15C, 0x1F40}, + {0x16A, 0x2710}, + {0x15F, 0x2710}, + {0x154, 0x2710}, + {0x164, 0x2710}, + {0x191, 0x3A98}, + {0x18B, 0x4E20} + }; + + *v1 = v3[v0][0]; + *v2 = v3[v0][1]; + + return 0; +} diff --git a/src/unk_0204E75C.c b/src/unk_0204E75C.c new file mode 100644 index 0000000000..ea1fb27e28 --- /dev/null +++ b/src/unk_0204E75C.c @@ -0,0 +1,98 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0204E75C.h" +#include "unk_0205DFC4.h" +#include "unk_0207CDEC.h" +#include "unk_0207D3B8.h" + +BOOL sub_0204E75C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + *v3 = sub_0207D570(sub_0207D990(v0->unk_0C), v1, v2, 4); + return 0; +} + +BOOL sub_0204E7B4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + *v3 = sub_0207D60C(sub_0207D990(v0->unk_0C), v1, v2, 4); + return 0; +} + +BOOL sub_0204E80C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + *v3 = sub_0207D55C(sub_0207D990(v0->unk_0C), v1, v2, 4); + return 0; +} + +BOOL sub_0204E864 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + *v3 = sub_0207D688(sub_0207D990(v0->unk_0C), v1, v2, 11); + return 0; +} + +BOOL sub_0204E8BC (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 * v2 = inline_0204FCAC(param0); + + *v2 = sub_0207D730(sub_0207D990(v0->unk_0C), v1, 11); + return 0; +} + +BOOL sub_0204E900 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 * v2 = inline_0204FCAC(param0); + + *v2 = sub_0205E060(v1); + return 0; +} + +BOOL sub_0204E934 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 * v2 = inline_0204FCAC(param0); + + *v2 = (u16)sub_0207CFF0(v1, 5, 11); + return 0; +} + +BOOL sub_0204E96C (UnkStruct_0203E724 * param0) +{ + return 0; +} + +BOOL sub_0204E970 (UnkStruct_0203E724 * param0) +{ + return 0; +} diff --git a/src/unk_0204E974.c b/src/unk_0204E974.c new file mode 100644 index 0000000000..1fc0129bb0 --- /dev/null +++ b/src/unk_0204E974.c @@ -0,0 +1,197 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_020298B0_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_021C0794_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0202854C.h" +#include "unk_0204E974.h" + +BOOL sub_0204E974 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_020298B0 * v2; + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + u16 * v5 = inline_0204FCAC(param0); + + v2 = sub_020298B0(v1); + *v5 = sub_0202895C(v2, v3); + + return 0; +} + +BOOL sub_0204E9C8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EA04 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_020298B0 * v2; + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + u16 * v5 = inline_0204FCAC(param0); + + v2 = sub_020298B0(v1); + *v5 = sub_02028984(v2, v3); + + return 0; +} + +BOOL sub_0204EA58 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EA94 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_020298B0 * v2; + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + u16 * v5 = inline_0204FCAC(param0); + + v2 = sub_020298B0(v1); + *v5 = sub_02028E84(v2, v3); + + return 0; +} + +BOOL sub_0204EAE8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EB24 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EB60 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EB9C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_020298B0 * v2; + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + u16 * v5 = inline_0204FCAC(param0); + + v2 = sub_020298B0(v1); + + return 0; +} + +BOOL sub_0204EBE4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EC20 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EC5C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204EC98 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + UnkStruct_021C0794 * v1 = v0->unk_0C; + UnkStruct_020298B0 * v2; + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + u16 * v5 = inline_0204FCAC(param0); + + v2 = sub_020298B0(v1); + *v5 = sub_02028CB0(v2, v3, v4); + return 0; +} + +BOOL sub_0204ECF0 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204ED2C (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} + +BOOL sub_0204ED68 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203CDB0 * v0 = param0->unk_34; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3 = inline_0204FCAC(param0); + + return 0; +} diff --git a/src/unk_0204EDA4.c b/src/unk_0204EDA4.c new file mode 100644 index 0000000000..09312ec398 --- /dev/null +++ b/src/unk_0204EDA4.c @@ -0,0 +1,178 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_02073C74_decl.h" + +#include "struct_defs/struct_0203E724_t.h" +#include "struct_defs/struct_020997B8.h" + +#include "unk_02017E74.h" +#include "unk_02025E08.h" +#include "unk_0203CC84.h" +#include "unk_0203D1B8.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_0203F6C4.h" +#include "unk_0204EDA4.h" +#include "unk_02079FEC.h" +#include "unk_020997B8.h" + +static void sub_0204EE90(UnkStruct_0203E724 * param0, u16 param1, UnkStruct_02073C74 * param2, u16 * param3); + +BOOL sub_0204EDA4 (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + void ** v1; + + v1 = sub_0203F098(param0->unk_34, 19); + *v1 = sub_0203D6E4(32, param0->unk_34, v0); + + sub_0203E764(param0, sub_02041D60); + return 1; +} + +BOOL sub_0204EDEC (UnkStruct_0203E724 * param0) +{ + void ** v0; + u16 * v1; + + v1 = inline_0204FCAC(param0); + v0 = sub_0203F098(param0->unk_34, 19); + GF_ASSERT(*v0 != 0); + *v1 = sub_0203D750(*v0); + + if (*v1 == 4) { + *v1 = 0xff; + } + + sub_020181C4(*v0); + *v0 = NULL; + + return 0; +} + +BOOL sub_0204EE38 (UnkStruct_0203E724 * param0) +{ + return 0; +} + +BOOL sub_0204EE3C (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 * v1; + u16 * v2 = inline_0204FCAC(param0); + u16 v3 = inline_02049538(param0); + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v3); + v1 = sub_020997D8(v0, 32); + *v2 = sub_020998D8(v1); + + sub_020181C4(v1); + return 0; +} + +static void sub_0204EE90 (UnkStruct_0203E724 * param0, u16 param1, UnkStruct_02073C74 * param2, u16 * param3) +{ + void ** v0 = sub_0203F098(param0->unk_34, 19); + UnkStruct_020997B8 * v1; + + v1 = sub_020997B8(32); + *v0 = v1; + + v1->unk_00 = param2; + v1->unk_04 = sub_02025E38(sub_0203D174(param0->unk_34)); + v1->unk_08 = sub_02025E44(param0->unk_34->unk_0C); + v1->unk_0C = param3; + v1->unk_15 = param1; + + sub_0203E284(param0->unk_34, v1); + sub_0203E764(param0, sub_02041D60); + sub_020181C4(param3); +} + +BOOL sub_0204EEFC (UnkStruct_0203E724 * param0) +{ + return 1; +} + +BOOL sub_0204EF00 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 v1 = inline_02049538(param0); + u16 * v2; + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v1); + v2 = sub_020997D8(v0, 32); + + sub_0204EE90(param0, 1, v0, v2); + + return 1; +} + +BOOL sub_0204EF40 (UnkStruct_0203E724 * param0) +{ + UnkStruct_02073C74 * v0; + u16 v1 = inline_02049538(param0); + u16 v2 = inline_02049538(param0); + u16 * v3; + + v0 = sub_0207A0FC(sub_0207A268(param0->unk_34->unk_0C), v1); + v3 = sub_02018144(32, (1 + 1) * 2); + + *(v3 + 0) = v2; + *(v3 + 1) = 0xffff; + + sub_0204EE90(param0, 0, v0, v3); + + return 1; +} + +BOOL sub_0204EFA0 (UnkStruct_0203E724 * param0) +{ + return 0; +} + +BOOL sub_0204EFA4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_020997B8 * v0; + u16 * v1 = inline_0204FCAC(param0); + void ** v2 = sub_0203F098(param0->unk_34, 19); + + v0 = *v2; + + GF_ASSERT(*v2 != 0); + + if ((v0->unk_16) == 0) { + *v1 = 0; + } else { + *v1 = 0xff; + } + + sub_020997D0(v0); + + return 0; +} + +BOOL sub_0204EFE8 (UnkStruct_0203E724 * param0) +{ + UnkStruct_020997B8 * v0; + u16 * v1 = inline_0204FCAC(param0); + void ** v2 = sub_0203F098(param0->unk_34, 19); + + v0 = *v2; + + GF_ASSERT(*v2 != 0); + + if ((v0->unk_16) == 0) { + *v1 = 0; + } else { + *v1 = 0xff; + } + + sub_020997D0(v0); + + return 0; +} diff --git a/src/unk_0204F02C.c b/src/unk_0204F02C.c new file mode 100644 index 0000000000..051f0fec54 --- /dev/null +++ b/src/unk_0204F02C.c @@ -0,0 +1,30 @@ +#include +#include + +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0204F02C.h" + +BOOL sub_0204F02C (UnkStruct_0203E724 * param0) +{ + GF_ASSERT(0); + return 0; +} + +BOOL sub_0204F038 (UnkStruct_0203E724 * param0) +{ + GF_ASSERT(0); + return 0; +} + +BOOL sub_0204F044 (UnkStruct_0203E724 * param0) +{ + return 0; +} + +BOOL sub_0204F048 (UnkStruct_0203E724 * param0) +{ + return 0; +} diff --git a/src/unk_0204F04C.c b/src/unk_0204F04C.c new file mode 100644 index 0000000000..9be9b6436f --- /dev/null +++ b/src/unk_0204F04C.c @@ -0,0 +1,45 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0203E724_decl.h" + +#include "struct_defs/struct_020300F4.h" +#include "struct_defs/struct_0203E724_t.h" + +#include "unk_0202FF4C.h" +#include "unk_0203061C.h" +#include "unk_0204F04C.h" +#include "unk_0205DFC4.h" + +BOOL sub_0204F04C(UnkStruct_0203E724 * param0); + +BOOL sub_0204F04C (UnkStruct_0203E724 * param0) +{ + u32 v0; + u8 v1[4]; + UnkStruct_020300F4 * v2; + u16 v3 = inline_02049538(param0); + u16 v4 = inline_02049538(param0); + + v2 = sub_020300F4(param0->unk_34->unk_0C); + v1[0] = 0; + + sub_020300B0(v2, 10, (v4 * 4) + v3, v1); + + if (v3 == 3) { + if (v4 == 0) { + v0 = 102; + } else { + v0 = 104; + } + + sub_020306E4(sub_0203068C(param0->unk_34->unk_0C), v0, sub_0205E6A8(v0), 0); + } + + sub_020306E4(sub_0203068C(param0->unk_34->unk_0C), sub_0205E430(v4, v3), sub_0205E6A8(sub_0205E430(v4, v3)), 0); + sub_020306E4(sub_0203068C(param0->unk_34->unk_0C), sub_0205E488(v4, v3), sub_0205E6A8(sub_0205E488(v4, v3)), 0); + + return 0; +} diff --git a/src/unk_0204F13C.c b/src/unk_0204F13C.c new file mode 100644 index 0000000000..07a234a04c --- /dev/null +++ b/src/unk_0204F13C.c @@ -0,0 +1,738 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0200B358_decl.h" +#include "struct_decls/struct_02030114_decl.h" +#include "struct_decls/struct_0203026C_decl.h" +#include "struct_decls/struct_0203068C_decl.h" +#include "struct_decls/struct_020308A0_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_020508D4_decl.h" +#include "struct_decls/struct_02073C74_decl.h" +#include "struct_decls/struct_02079FF4_decl.h" +#include "struct_decls/struct_021C0794_decl.h" + +#include "constdata/const_020F1E88.h" +#include "constdata/const_020F410C.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" +#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/struct_0204F3D0.h" +#include "struct_defs/struct_02098C44.h" +#include "struct_defs/struct_02098D38.h" + +#include "unk_0200B358.h" +#include "unk_02017E74.h" +#include "unk_020244AC.h" +#include "unk_02025E08.h" +#include "unk_02028124.h" +#include "unk_0202CD50.h" +#include "unk_0202D05C.h" +#include "unk_0202D778.h" +#include "unk_02030108.h" +#include "unk_0203061C.h" +#include "unk_02030880.h" +#include "unk_02034198.h" +#include "unk_0203CC84.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_0204F13C.h" +#include "unk_0204FA34.h" +#include "unk_020508D4.h" +#include "unk_0205DFC4.h" +#include "unk_02073C2C.h" +#include "unk_02079FEC.h" +#include "unk_0207A274.h" +#include "unk_0207D3B8.h" +#include "unk_0208C324.h" +#include "unk_02099500.h" + +typedef struct UnkStruct_0204F470_t { + int unk_00; + u8 unk_04; + u8 unk_05; + u8 unk_06[2]; + void ** unk_08; +} UnkStruct_0204F470; + +enum { + UnkEnum_0204F13C_1, + UnkEnum_0204F13C_2, + UnkEnum_0204F13C_3, + UnkEnum_0204F13C_4, + UnkEnum_0204F13C_5, +}; + +BOOL sub_0204F13C(UnkStruct_0203E724 * param0); +static BOOL sub_0204F268(u16 param0, UnkStruct_021C0794 * param1); +BOOL sub_0204F360(UnkStruct_0203E724 * param0); + +BOOL sub_0204F398(UnkStruct_0203E724 * param0); +void sub_0204F3D0(UnkStruct_020508D4 * param0, u16 param1, u16 * param2); +static BOOL sub_0204F414(UnkStruct_020508D4 * param0); + +void sub_0204F470(UnkStruct_020508D4 * param0, void ** param1, u8 param2); +static BOOL sub_0204F4A4(UnkStruct_020508D4 * param0); +static int sub_0204F50C(UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1, int param2); +static int sub_0204F5D8(UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1); +static int sub_0204F628(UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1, int param2); +static int sub_0204F6B0(UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1); + +BOOL sub_0204F13C (UnkStruct_0203E724 * param0) +{ + u8 v0; + u8 v1[4]; + u16 v2[4]; + u16 v3, v4, v5; + u16 * v6, * v7; + void ** v8; + UnkStruct_0204AFC4 * v9; + UnkStruct_02030114 * v10; + UnkStruct_0203026C * v11; + + v3 = sub_0203E838(param0); + v4 = inline_02049538(param0); + v5 = sub_0203E838(param0); + v6 = sub_0203F118(param0->unk_34, v5); + + v10 = sub_02030114(param0->unk_34->unk_0C); + v11 = sub_0203026C(param0->unk_34->unk_0C); + v8 = sub_0203F098(param0->unk_34, 19); + + switch (v3) { + case 0: + *v6 = sub_0204F268(v4, param0->unk_34->unk_0C); + break; + + case 1: + + if (v4 == 3) { + *v6 = sub_02030698(sub_0203068C(param0->unk_34->unk_0C), + 106, + sub_0205E6A8(106)); + } else { + *v6 = (u16)sub_020302B4(v11, 5, + v4, 0, NULL); + } + break; + + case 2: + *v6 = sub_02030698(sub_0203068C(param0->unk_34->unk_0C), + sub_0205E55C(v4), + sub_0205E6A8(sub_0205E55C(v4))); + break; + + case 3: + sub_0204FA50(param0->unk_34->unk_0C, v11, v4); + break; + + case 4: + + if (v4 == 0) { + v0 = 0; + } else if (v4 == 1) { + v0 = 1; + } else if (v4 == 2) { + v0 = 2; + } else { + v0 = 2; + } + + ; + sub_0204F470(param0->unk_28, v8, v0); + return 1; + + default: + ; + GF_ASSERT(FALSE); + *v6 = 0; + break; + } + + return 0; +} + +static BOOL sub_0204F268 (u16 param0, UnkStruct_021C0794 * param1) +{ + u8 v0, v1, v2, v3; + u16 v4, v5; + UnkStruct_02079FF4 * v6; + UnkStruct_02073C74 * v7; + u16 v8[6]; + + v6 = sub_0207A268(param1); + v3 = sub_0207A0F8(v6); + + if (v3 < param0) { + return 0; + } + + for (v0 = 0; v0 < 6; v0++) { + v8[v0] = 0; + } + + for (v0 = 0, v2 = 0; v0 < v3; v0++) { + v7 = sub_0207A0FC(v6, v0); + v4 = sub_02074470(v7, 5, NULL); + v5 = sub_02074470(v7, 161, NULL); + + if (sub_02074470(v7, 76, NULL) != 0) { + continue; + } + + if (v5 < 30) { + continue; + } + + if (sub_02078804(v4) == 1) { + continue; + } + + v2++; + v8[v0] = v4; + } + + if (param0 == 2) { + for (v1 = 0; v1 < v3; v1++) { + for (v0 = 0; v0 < v3; v0++) { + if (v1 != v0) { + if (v8[v1] != 0) { + if (v8[v1] == v8[v0]) { + return 1; + } + } + } + } + } + + return 0; + } + + if (v2 < param0) { + return 0; + } + + return 1; +} + +BOOL sub_0204F360 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203026C * v0; + u16 v1 = inline_02049538(param0); + + v0 = sub_0203026C(param0->unk_34->unk_0C); + + sub_0204FA50(param0->unk_34->unk_0C, v0, v1); + return 0; +} + +BOOL sub_0204F398 (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + u16 * v1 = inline_0204FCAC(param0); + + ; + ; + + sub_0204F3D0(param0->unk_28, v0, v1); + return 1; +} + +void sub_0204F3D0 (UnkStruct_020508D4 * param0, u16 param1, u16 * param2) +{ + UnkStruct_0204F3D0 * v0; + + v0 = sub_02018144(11, sizeof(UnkStruct_0204F3D0)); + memset(v0, 0, sizeof(UnkStruct_0204F3D0)); + + v0->unk_04 = param1; + v0->unk_08 = param2; + + sub_02099514(v0); + + sub_02050944(param0, sub_0204F414, v0); + return; +} + +static BOOL sub_0204F414 (UnkStruct_020508D4 * param0) +{ + UnkStruct_0204F3D0 * v0 = sub_02050A64(param0); + + switch (v0->unk_00) { + case 0: + if (sub_020359DC(132, v0, sizeof(UnkStruct_0204F3D0)) == 1) { + v0->unk_00++; + } + break; + + case 1: + if (v0->unk_01 >= 2) { + if (v0->unk_04 == v0->unk_06) { + *v0->unk_08 = 0; + } else { + *v0->unk_08 = 1; + } + + ; + ; + ; + v0->unk_00++; + } + break; + + case 2: + sub_020181C4(v0); + return 1; + } + ; + + return 0; +} + +void sub_0204F470 (UnkStruct_020508D4 * param0, void ** param1, u8 param2) +{ + UnkStruct_0203CDB0 * v0 = sub_02050A60(param0); + UnkStruct_0204F470 * v1 = sub_02018144(11, sizeof(UnkStruct_0204F470)); + MI_CpuClear8(v1, sizeof(UnkStruct_0204F470)); + + v1->unk_04 = param2; + v1->unk_08 = param1; + + sub_02050944(v0->unk_10, sub_0204F4A4, v1); + return; +} + +static BOOL sub_0204F4A4 (UnkStruct_020508D4 * param0) +{ + UnkStruct_0203CDB0 * v0 = sub_02050A60(param0); + UnkStruct_0204F470 * v1 = sub_02050A64(param0); + + switch (v1->unk_00) { + case UnkEnum_0204F13C_1: + v1->unk_00 = sub_0204F50C(v1, v0, 11); + break; + + case UnkEnum_0204F13C_2: + v1->unk_00 = sub_0204F5D8(v1, v0); + break; + + case UnkEnum_0204F13C_3: + v1->unk_00 = sub_0204F628(v1, v0, 11); + break; + + case UnkEnum_0204F13C_4: + v1->unk_00 = sub_0204F6B0(v1, v0); + break; + + case UnkEnum_0204F13C_5: + sub_020181C4(v1); + return 1; + } + + return 0; +} + +static int sub_0204F50C (UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1, int param2) +{ + u8 v0; + + UnkStruct_02098C44 * v1 = sub_02018144(11, sizeof(UnkStruct_02098C44)); + MI_CpuClearFast(v1, sizeof(UnkStruct_02098C44)); + + v1->unk_00 = sub_0207A268(param1->unk_0C); + v1->unk_04 = sub_0207D990(param1->unk_0C); + v1->unk_08 = sub_02028430(param1->unk_0C); + v1->unk_0C = sub_02025E44(param1->unk_0C); + + v1->unk_21 = 0; + + v1->unk_20 = 22; + v1->unk_1C = param1; + + v1->unk_22 = param0->unk_05; + + for (v0 = 0; v0 < 2; v0++) { + v1->unk_2C[v0] = param0->unk_06[v0]; + } + + v1->unk_33 = 30; + + v1->unk_32_0 = 1; + v1->unk_32_4 = 1; + + if (param0->unk_04 == 1) { + v1->unk_32_0 = 2; + v1->unk_32_4 = 2; + } + + sub_0203CD84(param1, &Unk_020F1E88, v1); + + *(param0->unk_08) = v1; + + return UnkEnum_0204F13C_2; +} + +static int sub_0204F5D8 (UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1) +{ + int v0; + UnkStruct_02098C44 * v1; + + if (sub_020509B4(param1)) { + return UnkEnum_0204F13C_2; + } + + v1 = *(param0->unk_08); + + switch (v1->unk_22) { + case 7: + return UnkEnum_0204F13C_5; + + case 6: + return UnkEnum_0204F13C_5; + + default: + break; + } + + MI_CpuCopy8(v1->unk_2C, param0->unk_06, 2); + + param0->unk_05 = v1->unk_22; + + sub_020181C4(v1); + *(param0->unk_08) = NULL; + return UnkEnum_0204F13C_3; +} + +static int sub_0204F628 (UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1, int param2) +{ + UnkStruct_02098D38 * v0; + UnkStruct_021C0794 * v1; + + static const u8 v2[] = { + 0, + 1, + 2, + 4, + 3, + 5, + 6, + 7, + 8 + }; + + v1 = param1->unk_0C; + + v0 = sub_02018184(param2, sizeof(UnkStruct_02098D38)); + MI_CpuClear8(v0, sizeof(UnkStruct_02098D38)); + + v0->unk_04 = sub_02025E44(v1); + v0->unk_00 = sub_0207A268(v1); + v0->unk_1C = sub_0207A274(v1); + v0->unk_2C = sub_0208C324(v1); + v0->unk_11 = 1; + v0->unk_14 = param0->unk_05; + v0->unk_13 = (u8)sub_0207A0F8(v0->unk_00); + v0->unk_18 = 0; + v0->unk_12 = 0; + v0->unk_20 = sub_0202D79C(v1); + + sub_0208D720(v0, v2); + sub_0208E9C0(v0, sub_02025E38(v1)); + + sub_0203CD84(param1, &Unk_020F410C, v0); + + *(param0->unk_08) = v0; + return UnkEnum_0204F13C_4; +} + +static int sub_0204F6B0 (UnkStruct_0204F470 * param0, UnkStruct_0203CDB0 * param1) +{ + UnkStruct_02098D38 * v0; + + if (sub_020509B4(param1)) { + return UnkEnum_0204F13C_4; + } + + v0 = *(param0->unk_08); + + param0->unk_05 = v0->unk_14; + + sub_020181C4(v0); + *(param0->unk_08) = NULL; + + return UnkEnum_0204F13C_1; +} + +BOOL sub_0204F6D8(UnkStruct_0203E724 * param0); + +typedef struct { + u32 unk_00; + u32 unk_04; +} UnkStruct_020EC078; + +static const UnkStruct_020EC078 Unk_020EC078[] = { + {10, 1}, + {30, 3}, + {50, 5}, + {100, 5}, + {150, 5}, + {200, 5}, + {250, 5}, + {300, 5}, + {350, 5}, + {400, 5}, + {450, 5}, + {500, 10}, + {600, 10}, + {700, 10}, + {800, 10}, + {900, 10}, + {1000, 10}, + {1200, 30}, + {1400, 30}, + {1600, 30}, + {1800, 30}, + {2000, 50}, + {2500, 50}, + {3000, 50}, + {3500, 50}, + {4000, 50}, + {4500, 50}, + {5000, 50}, + {5500, 50}, + {6000, 50}, + {6500, 50}, + {7000, 50}, + {7500, 50}, + {8000, 50}, + {8500, 50}, + {9000, 50}, + {9500, 50}, + {10000, 100}, + {20000, 200}, + {30000, 300}, + {40000, 400}, + {50000, 500}, + {60000, 600}, + {70000, 700}, + {80000, 800}, + {90000, 900}, + {100000, 1000}, +}; + +BOOL sub_0204F6D8 (UnkStruct_0203E724 * param0) +{ + int v0; + int v1; + UnkStruct_020308A0 * v2; + UnkStruct_0203068C * v3; + u32 v4, v5, v6; + u16 v7, v8; + UnkStruct_0203CDB0 * v9 = param0->unk_34; + UnkStruct_0200B358 ** v10 = sub_0203F098(v9, 15); + u8 v11 = (*((param0)->unk_08++)); + u8 v12 = (*((param0)->unk_08++)); + u8 v13 = (*((param0)->unk_08++)); + u8 v14 = (*((param0)->unk_08++)); + u16 * v15 = inline_0204FCAC(param0); + u16 * v16 = inline_0204FCAC(param0); + + v4 = 0; + v0 = 1; + v1 = 2; + + if (sub_020247C8(v9->unk_0C) == 0) { + *v16 = 0; + return 0; + } + + v2 = sub_020308A0(v9->unk_0C, 32, &v0); + if (v0 != 1) { + v4 = 0; + } else { + for (v5 = 0; v5 < 493; v5++) { + v4 += sub_020308BC(v9->unk_0C, v2, + 0, v5); + ; + } + } + + ; + + if (v2 != NULL) { + sub_020181C4(v2); + } + + sub_0200B60C(*v10, v11, v4, sub_0205DFC4(v4), + 1, 1); + + v7 = 0; + v6 = 0; + v8 = *v15; + + for (v5 = (*v15); v5 < (NELEMS(Unk_020EC078)); v5++) { + if (Unk_020EC078[v5].unk_00 <= v4) { + v7 += Unk_020EC078[v5].unk_04; + *v15 += 1; + + v6 = v5; + } + } + + sub_0202CF70(sub_0202CD88(param0->unk_34->unk_0C), (1 + 67), v7); + + if (v7 != 0) { + sub_0202D230( + sub_0202D750(param0->unk_34->unk_0C), v7, 5); + } + + if (v4 == 0) { + *v16 = 0; + } else { + if (v8 != (*v15)) { + *v16 = 1; + } else { + *v16 = 2; + } + + if (v8 >= (NELEMS(Unk_020EC078))) { + *v16 = 3; + return 0; + } + } + + sub_0200B60C(*v10, v12, Unk_020EC078[v6].unk_00, + sub_0205DFC4(Unk_020EC078[v6].unk_00), + 1, 1); + + sub_0200B60C(*v10, v13, Unk_020EC078[*v15].unk_00, + sub_0205DFC4(Unk_020EC078[*v15].unk_00), + 1, 1); + + sub_0200B60C(*v10, v14, v7, sub_0205DFC4(v7), + 1, 1); + + return 0; +} + +BOOL sub_0204F8A8(UnkStruct_0203E724 * param0); +BOOL sub_0204F8A8 (UnkStruct_0203E724 * param0) +{ + int v0; + UnkStruct_020308A0 * v1; + u32 v2, v3, v4; + UnkStruct_0203CDB0 * v5 = param0->unk_34; + u16 * v6 = inline_0204FCAC(param0); + + v4 = 0; + v0 = 1; + + if (sub_020247C8(v5->unk_0C) == 0) { + *v6 = 0; + return 0; + } + + v1 = sub_020308A0(v5->unk_0C, 32, &v0); + if (v0 != 1) { + v4 = 0; + } else { + for (v3 = 0; v3 < 493; v3++) { + v2 = 0; + + v2 += sub_020308BC(v5->unk_0C, v1, + 0, v3); + + v2 += sub_020308BC(v5->unk_0C, v1, + 1, v3); + + v2 += sub_020308BC(v5->unk_0C, v1, + 2, v3); + + if (v2 > 0) { + v4++; + } + } + } + + ; + + if (v1 != NULL) { + sub_020181C4(v1); + } + + *v6 = v4; + return 0; +} + +BOOL sub_0204F950(UnkStruct_0203E724 * param0); +BOOL sub_0204F950 (UnkStruct_0203E724 * param0) +{ + int v0; + int v1; + UnkStruct_020308A0 * v2; + UnkStruct_0203068C * v3; + u32 v4, v5; + UnkStruct_0203CDB0 * v6 = param0->unk_34; + u16 * v7 = inline_0204FCAC(param0); + + v4 = 0; + v0 = 1; + v1 = 2; + + if (sub_020247C8(v6->unk_0C) == 0) { + *v7 = 0; + return 0; + } + + v2 = sub_020308A0(v6->unk_0C, 32, &v0); + if (v0 != 1) { + v4 = 0; + } else { + for (v5 = 0; v5 < 493; v5++) { + v4 += sub_020308BC(v6->unk_0C, v2, + 0, v5); + ; + } + } + + ; + + if (v2 != NULL) { + sub_020181C4(v2); + } + + if (v4 > 10000) { + v4 = 10000; + } + + *v7 = v4; + return 0; +} + +BOOL sub_0204F9D4(UnkStruct_0203E724 * param0); +BOOL sub_0204F9D4 (UnkStruct_0203E724 * param0) +{ + u16 v0, v1; + + u16 * v2 = inline_0204FCAC(param0); + + v0 = sub_02030698(sub_0203068C(param0->unk_34->unk_0C), + sub_0205E55C(0), + 0xff); + + v1 = sub_02030698(sub_0203068C(param0->unk_34->unk_0C), + sub_0205E50C(0), + 0xff); + + *v2 = 0; + if (v1 == 50) { + *v2 = 1; + } + + ; + ; + return 0; +} diff --git a/src/unk_0204FA34.c b/src/unk_0204FA34.c new file mode 100644 index 0000000000..5f7239da7c --- /dev/null +++ b/src/unk_0204FA34.c @@ -0,0 +1,51 @@ +#include +#include + +#include "struct_decls/struct_0203026C_decl.h" +#include "struct_decls/struct_021C0794_decl.h" + +#include "struct_defs/struct_0204F3D0.h" + +#include "unk_02030108.h" +#include "unk_0203061C.h" +#include "unk_02034198.h" +#include "unk_0204FA34.h" +#include "unk_0205DFC4.h" + +void sub_0204FA34(int param0, int param1, void * param2, void * param3); +void sub_0204FA50(UnkStruct_021C0794 * param0, UnkStruct_0203026C * param1, u8 param2); + +void sub_0204FA34 (int param0, int param1, void * param2, void * param3) +{ + int v0, v1; + UnkStruct_0204F3D0 * v2 = param3; + const UnkStruct_0204F3D0 * v3 = param2; + + v1 = 0; + v2->unk_01++; + + if (sub_0203608C() == param0) { + return; + } + + v2->unk_06 = v3->unk_04; + return; +} + +void sub_0204FA50 (UnkStruct_021C0794 * param0, UnkStruct_0203026C * param1, u8 param2) +{ + int v0; + u8 v1[4]; + u16 v2, v3; + + v1[0] = 0; + sub_02030280(param1, 5, param2, 0, v1); + + if (param2 == 3) { + sub_020306E4(sub_0203068C(param0), 106, sub_0205E6A8(106), 0); + } + + sub_020306E4(sub_0203068C(param0), sub_0205E50C(param2), sub_0205E6A8(sub_0205E50C(param2)), 0); + + return; +} diff --git a/src/unk_0204FAB4.c b/src/unk_0204FAB4.c new file mode 100644 index 0000000000..5602d1a8bb --- /dev/null +++ b/src/unk_0204FAB4.c @@ -0,0 +1,368 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_020302DC_decl.h" +#include "struct_decls/struct_0203041C_decl.h" +#include "struct_decls/struct_0203E724_decl.h" +#include "struct_decls/struct_020508D4_decl.h" +#include "struct_decls/struct_021C0794_decl.h" + +#include "constdata/const_020F1E88.h" +#include "constdata/const_020F410C.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0203E724_t.h" +#include "struct_defs/struct_0204AFC4.h" +#include "struct_defs/struct_0204FCF8.h" +#include "struct_defs/struct_02098C44.h" +#include "struct_defs/struct_02098D38.h" + +#include "unk_02017E74.h" +#include "unk_02025E08.h" +#include "unk_02028124.h" +#include "unk_0202D778.h" +#include "unk_020302D0.h" +#include "unk_0203061C.h" +#include "unk_02034198.h" +#include "unk_0203CC84.h" +#include "unk_0203E724.h" +#include "unk_0203E880.h" +#include "unk_02049D08.h" +#include "unk_0204FAB4.h" +#include "unk_020508D4.h" +#include "unk_0205DFC4.h" +#include "unk_02079FEC.h" +#include "unk_0207A274.h" +#include "unk_0207D3B8.h" +#include "unk_0208C324.h" +#include "unk_02099500.h" + +#include + +typedef struct { + int unk_00; + u8 unk_04; + u8 unk_05; + u8 unk_06[3]; + void ** unk_0C; +} UnkStruct_0204FE50; + +BOOL sub_0204FAB4(UnkStruct_0203E724 * param0); +BOOL sub_0204FBB4(UnkStruct_0203E724 * param0); +static void sub_0204FBEC(UnkStruct_021C0794 * param0, UnkStruct_0203041C * param1, u8 param2); +static void sub_0204FDB4(UnkStruct_020508D4 * param0, void ** param1, u8 param2); +static BOOL sub_0204FDE8(UnkStruct_020508D4 * param0); +static int sub_0204FE50(UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1, int param2); +static int sub_0204FF1C(UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1); +static int sub_0204FF6C(UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1, int param2); +static int sub_0204FFF4(UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1); +BOOL sub_0204FCAC(UnkStruct_0203E724 * param0); +static void sub_0204FCF8(UnkStruct_020508D4 * param0, u16 param1, u16 param2, u16 * param3); +static BOOL sub_0204FD38(UnkStruct_020508D4 * param0); + +BOOL sub_0204FAB4 (UnkStruct_0203E724 * param0) +{ + u8 v0; + u8 v1[4]; + u16 v2[4]; + u16 v3, v4, v5; + u16 * v6, * v7; + void ** v8; + UnkStruct_0204AFC4 * v9; + UnkStruct_020302DC * v10; + UnkStruct_0203041C * v11; + + v3 = sub_0203E838(param0); + v4 = inline_02049538(param0); + v5 = sub_0203E838(param0); + v6 = sub_0203F118(param0->unk_34, v5); + v10 = sub_020302DC(param0->unk_34->unk_0C); + v11 = sub_0203041C(param0->unk_34->unk_0C); + v8 = sub_0203F098(param0->unk_34, 19); + + switch (v3) { + case 0: + *v6 = sub_02049EC4(v4, param0->unk_34->unk_0C, 0); + break; + case 1: + if (v4 == 3) { + *v6 = sub_02030698(sub_0203068C(param0->unk_34->unk_0C), 108, sub_0205E6A8(108)); + } else { + *v6 = (u16)sub_02030470(v11, 9, v4, 0, NULL); + } + break; + case 3: + sub_0204FBEC(param0->unk_34->unk_0C, v11, v4); + break; + case 4: + if (v4 == 0) { + v0 = 0; + } else if (v4 == 1) { + v0 = 1; + } else if (v4 == 2) { + v0 = 2; + } else { + v0 = 2; + } + + sub_0204FDB4(param0->unk_28, v8, v0); + return 1; + default: + GF_ASSERT(FALSE); + *v6 = 0; + break; + } + + return 0; +} + +BOOL sub_0204FBB4 (UnkStruct_0203E724 * param0) +{ + UnkStruct_0203041C * v0; + u16 v1 = inline_02049538(param0); + + v0 = sub_0203041C(param0->unk_34->unk_0C); + sub_0204FBEC(param0->unk_34->unk_0C, v0, v1); + + return 0; +} + +static void sub_0204FBEC (UnkStruct_021C0794 * param0, UnkStruct_0203041C * param1, u8 param2) +{ + int v0; + u16 v1[4]; + u8 v2[4]; + + v2[0] = 0; + sub_02030430(param1, 9, param2, 0, v2); + + if (param2 == 3) { + sub_020306E4(sub_0203068C(param0), 108, sub_0205E6A8(108), 0); + } + + sub_020306E4(sub_0203068C(param0), sub_0205E5E0(param2), sub_0205E6A8(sub_0205E5E0(param2)), 0); + sub_020306E4(sub_0203068C(param0), sub_0205E630(param2), sub_0205E6A8(sub_0205E630(param2)), 0); + + v1[0] = 1; + + for (v0 = 0; v0 < 3; v0++) { + sub_020306E4(sub_0203068C(param0), sub_0205E5B4(param2, v0), sub_0205E6A8(sub_0205E5B4(param2, v0)), 1); + } + + return; +} + +BOOL sub_0204FCAC (UnkStruct_0203E724 * param0) +{ + u16 v0 = inline_02049538(param0); + u16 v1 = inline_02049538(param0); + u16 * v2 = inline_0204FCAC(param0); + + sub_0204FCF8(param0->unk_28, v0, v1, v2); + return 1; +} + +static void sub_0204FCF8 (UnkStruct_020508D4 * param0, u16 param1, u16 param2, u16 * param3) +{ + UnkStruct_0204FCF8 * v0; + + v0 = sub_02018144(11, sizeof(UnkStruct_0204FCF8)); + memset(v0, 0, sizeof(UnkStruct_0204FCF8)); + + v0->unk_04[0] = param1; + v0->unk_04[1] = param2; + v0->unk_0C = param3; + + sub_02099514(v0); + sub_02050944(param0, sub_0204FD38, v0); + + return; +} + +static BOOL sub_0204FD38 (UnkStruct_020508D4 * param0) +{ + UnkStruct_0204FCF8 * v0 = sub_02050A64(param0); + + switch (v0->unk_00) { + case 0: + if (sub_020359DC(133, v0, sizeof(UnkStruct_0204FCF8)) == 1) { + v0->unk_00++; + } + break; + case 1: + if (v0->unk_01 >= 2) { + *v0->unk_0C = 0; + + if ((v0->unk_04[0] == v0->unk_08[0]) || (v0->unk_04[0] == v0->unk_08[1])) { + *v0->unk_0C += 1; + } + + if ((v0->unk_04[1] == v0->unk_08[0]) || (v0->unk_04[1] == v0->unk_08[1])) { + *v0->unk_0C += 2; + } + + v0->unk_00++; + } + break; + case 2: + sub_020181C4(v0); + return 1; + } + + return 0; +} + +static void sub_0204FDB4 (UnkStruct_020508D4 * param0, void ** param1, u8 param2) +{ + UnkStruct_0203CDB0 * v0 = sub_02050A60(param0); + UnkStruct_0204FE50 * v1 = sub_02018144(11, sizeof(UnkStruct_0204FE50)); + + MI_CpuClear8(v1, sizeof(UnkStruct_0204FE50)); + + v1->unk_04 = param2; + v1->unk_0C = param1; + + sub_02050944(v0->unk_10, sub_0204FDE8, v1); + return; +} + +static BOOL sub_0204FDE8 (UnkStruct_020508D4 * param0) +{ + UnkStruct_0203CDB0 * v0 = sub_02050A60(param0); + UnkStruct_0204FE50 * v1 = sub_02050A64(param0); + + switch (v1->unk_00) { + case 0: + v1->unk_00 = sub_0204FE50(v1, v0, 11); + break; + case 1: + v1->unk_00 = sub_0204FF1C(v1, v0); + break; + case 2: + v1->unk_00 = sub_0204FF6C(v1, v0, 11); + break; + case 3: + v1->unk_00 = sub_0204FFF4(v1, v0); + break; + case 4: + sub_020181C4(v1); + return 1; + } + + return 0; +} + +static int sub_0204FE50 (UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1, int param2) +{ + u8 v0; + UnkStruct_02098C44 * v1 = sub_02018144(11, sizeof(UnkStruct_02098C44)); + + MI_CpuClearFast(v1, sizeof(UnkStruct_02098C44)); + + v1->unk_00 = sub_0207A268(param1->unk_0C); + v1->unk_04 = sub_0207D990(param1->unk_0C); + v1->unk_08 = sub_02028430(param1->unk_0C); + v1->unk_0C = sub_02025E44(param1->unk_0C); + + v1->unk_21 = 0; + v1->unk_20 = 23; + v1->unk_1C = param1; + v1->unk_22 = param0->unk_05; + + for (v0 = 0; v0 < 3; v0++) { + v1->unk_2C[v0] = param0->unk_06[v0]; + } + + v1->unk_33 = 100; + v1->unk_32_0 = 3; + v1->unk_32_4 = 3; + + if (param0->unk_04 == 2) { + v1->unk_32_0 = 2; + v1->unk_32_4 = 2; + } + + sub_0203CD84(param1, &Unk_020F1E88, v1); + + *(param0->unk_0C) = v1; + + return 1; +} + +static int sub_0204FF1C (UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1) +{ + int v0; + UnkStruct_02098C44 * v1; + + if (sub_020509B4(param1)) { + return 1; + } + + v1 = *(param0->unk_0C); + + switch (v1->unk_22) { + case 7: + return 4; + case 6: + return 4; + default: + break; + } + + MI_CpuCopy8(v1->unk_2C, param0->unk_06, 3); + param0->unk_05 = v1->unk_22; + sub_020181C4(v1); + + *(param0->unk_0C) = NULL; + return 2; +} + +static int sub_0204FF6C (UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1, int param2) +{ + UnkStruct_02098D38 * v0; + UnkStruct_021C0794 * v1; + static const u8 v2[] = { + 0, 1, 2, 4, 3, 5, 6, 7, 8 + }; + + v1 = param1->unk_0C; + v0 = sub_02018184(param2, sizeof(UnkStruct_02098D38)); + + MI_CpuClear8(v0, sizeof(UnkStruct_02098D38)); + + v0->unk_04 = sub_02025E44(v1); + v0->unk_00 = sub_0207A268(v1); + v0->unk_1C = sub_0207A274(v1); + v0->unk_2C = sub_0208C324(v1); + v0->unk_11 = 1; + v0->unk_14 = param0->unk_05; + v0->unk_13 = (u8)sub_0207A0F8(v0->unk_00); + v0->unk_18 = 0; + v0->unk_12 = 0; + v0->unk_20 = sub_0202D79C(v1); + + sub_0208D720(v0, v2); + sub_0208E9C0(v0, sub_02025E38(v1)); + sub_0203CD84(param1, &Unk_020F410C, v0); + + *(param0->unk_0C) = v0; + return 3; +} + +static int sub_0204FFF4 (UnkStruct_0204FE50 * param0, UnkStruct_0203CDB0 * param1) +{ + UnkStruct_02098D38 * v0; + + if (sub_020509B4(param1)) { + return 3; + } + + v0 = *(param0->unk_0C); + param0->unk_05 = v0->unk_14; + sub_020181C4(v0); + *(param0->unk_0C) = NULL; + + return 0; +} diff --git a/src/unk_0205C22C.c b/src/unk_0205C22C.c new file mode 100644 index 0000000000..b3ee1e56ce --- /dev/null +++ b/src/unk_0205C22C.c @@ -0,0 +1,551 @@ +#include +#include + +#include "struct_decls/struct_0201CD38_decl.h" +#include "struct_decls/struct_02025E6C_decl.h" +#include "struct_decls/struct_02027F8C_decl.h" +#include "struct_decls/struct_0205B43C_decl.h" +#include "struct_decls/struct_02061830_decl.h" +#include "struct_decls/struct_02061AB4_decl.h" + +#include "constdata/const_020ED570.h" + +#include "struct_defs/struct_0203330C.h" +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0205B4F8.h" +#include "struct_defs/struct_0205C22C.h" +#include "struct_defs/struct_0205C680.h" +#include "struct_defs/struct_0205C924.h" +#include "struct_defs/struct_0205C95C.h" + +#include "unk_02005474.h" +#include "unk_0200D9E8.h" +#include "unk_02014A84.h" +#include "unk_02017E74.h" +#include "unk_02023790.h" +#include "unk_020244AC.h" +#include "unk_02025E68.h" +#include "unk_02027F84.h" +#include "unk_020366A0.h" +#include "unk_020508D4.h" +#include "unk_0205B33C.h" +#include "unk_0205C22C.h" +#include "unk_0205E7D0.h" +#include "unk_02061804.h" +#include "unk_020655F4.h" +#include "unk_020711EC.h" +#include "overlay005/ov5_021F134C.h" +#include "overlay005/ov5_021F600C.h" + +static void sub_0205C304(UnkStruct_0201CD38 * param0, void * param1); +static void sub_0205C44C(UnkStruct_0205C22C * param0, UnkStruct_0205B43C * param1, UnkStruct_02061830 * param2, UnkStruct_02027F8C * param3); +static int sub_0205C340(UnkStruct_0205C22C * param0, int param1, WMBssDesc * param2, UnkStruct_02027F8C * param3); +static void sub_0205C51C(UnkStruct_0205C22C * param0, UnkStruct_02061830 * param1); +static void sub_0205C680(UnkStruct_0205C680 * param0, int param1); +static void sub_0205C6BC(UnkStruct_0205C680 * param0); +static void sub_0205C6E0(UnkStruct_0205C680 * param0, UnkStruct_02061AB4 * param1, int param2, int param3); +static void sub_0205C788(UnkStruct_0205C680 * param0, UnkStruct_02061AB4 * param1); +static void sub_0205C7BC(UnkStruct_0205C680 * param0, UnkStruct_02061AB4 * param1); +static void sub_0205C7E4(UnkStruct_02061830 * param0, int param1, int param2); +static void sub_0205C444(UnkStruct_0205C680 param0[], int param1, int param2); +void sub_0205C970(UnkStruct_0205C95C * param0); +UnkStruct_0205C95C * sub_0205C95C(int param0); +static void sub_0205C944(UnkStruct_0205C95C * param0); +static void sub_0205C924(UnkStruct_0205C924 * param0); +static void sub_0205C900(UnkStruct_0205C95C * param0); +static void sub_0205C8DC(UnkStruct_0205C924 * param0); + +UnkStruct_0205C22C * sub_0205C22C (UnkStruct_0205B43C * param0) +{ + UnkStruct_0205C22C * v0; + + v0 = (UnkStruct_0205C22C *)sub_02018144(31, sizeof(UnkStruct_0205C22C)); + + MI_CpuClearFast(v0, sizeof(UnkStruct_0205C22C)); + + v0->unk_00 = param0; + v0->unk_47C = 1; + v0->unk_04 = sub_0200D9E8(sub_0205C304, v0, 11); + v0->unk_470 = sub_0205B770(param0); + v0->unk_474 = sub_020245BC(v0->unk_470->unk_0C, 9); + v0->unk_08 = v0->unk_470->unk_3C; + + sub_02017FD4(11, 89, 10000); + v0->unk_478 = sub_0205C95C(89); + sub_0205C2C8(v0); + + return v0; +} + +void sub_0205C2B0 (UnkStruct_0205C22C * param0) +{ + int v0; + + for (v0 = 0; v0 < 50 + 1; v0++) { + if (param0->unk_0C[v0].unk_01 != 0) { + param0->unk_0C[v0].unk_00 = 3; + } + } +} + +void sub_0205C2C8 (UnkStruct_0205C22C * param0) +{ + int v0; + + for (v0 = 0; v0 < 50 + 1; v0++) { + param0->unk_0C[v0].unk_00 = 0; + param0->unk_0C[v0].unk_01 = 0; + param0->unk_0C[v0].unk_02 = 0; + param0->unk_0C[v0].unk_03 = 0; + } +} + +void sub_0205C2E0 (UnkStruct_0205C22C * param0) +{ + sub_0200DA58(param0->unk_04); + sub_0205C970(param0->unk_478); + sub_0201807C(89); + sub_020181C4(param0); +} + +static void sub_0205C304 (UnkStruct_0201CD38 * param0, void * param1) +{ + UnkStruct_0205C22C * v0 = (UnkStruct_0205C22C *)param1; + UnkStruct_0205B43C * v1 = v0->unk_00; + UnkStruct_02061AB4 * v2; + int v3; + + if (!sub_020509A4(v0->unk_470)) { + v0->unk_08 = v0->unk_470->unk_3C; + sub_0205C44C(v0, v1, v0->unk_470->unk_38, v0->unk_474); + sub_0205C51C(v0, v0->unk_470->unk_38); + } +} + +static int sub_0205C340 (UnkStruct_0205C22C * param0, int param1, WMBssDesc * param2, UnkStruct_02027F8C * param3) +{ + int v0, v1, v2 = 0; + UnkStruct_0203330C * v3; + UnkStruct_0205B4F8 * v4; + UnkStruct_02061AB4 * v5; + + if (param2 == NULL) { + for (v0 = 0; v0 < 4; v0++) { + v1 = Unk_020ED570[param1] + v0; + sub_0205C444(param0->unk_0C, v1, 3); + } + + return 0; + } + + v3 = (UnkStruct_0203330C *)param2->gameInfo.userGameInfo; + v4 = (UnkStruct_0205B4F8 *)v3->unk_30; + + if (param0->unk_0C[param1].unk_0C != v3->unk_00) { + for (v0 = 0; v0 < 4; v0++) { + v1 = Unk_020ED570[param1] + v0; + sub_0205C444(param0->unk_0C, v1, 3); + } + + return 0; + } + + for (v0 = 0; v0 < 4; v0++) { + v1 = Unk_020ED570[param1] + v0; + + switch (param0->unk_0C[v1].unk_01) { + case 0: + if (v4->unk_18[v0] != 0) { + param0->unk_0C[v1].unk_00 = 2; + param0->unk_0C[v1].unk_08 = (v4->unk_18[v0] & 0x7f); + param0->unk_0C[v1].unk_02 = sub_020280E0(param3, v4->unk_00[v0]); + v2 = 1; + } + break; + case 2: + if (v4->unk_18[v0] == 0) { + sub_0205C444(param0->unk_0C, v1, 3); + { + int v6; + + for (v6 = 0; v6 < 4; v6++) { + (void)0; + } + } + } else { + v2 = 1; + } + break; + case 4: + param0->unk_0C[v1].unk_00 = 0; + break; + } + } + + return v2; +} + +static void sub_0205C444 (UnkStruct_0205C680 param0[], int param1, int param2) +{ + param0[param1].unk_00 = param2; +} + +static void sub_0205C44C (UnkStruct_0205C22C * param0, UnkStruct_0205B43C * param1, UnkStruct_02061830 * param2, UnkStruct_02027F8C * param3) +{ + WMBssDesc * v0; + int v1; + UnkStruct_0203330C * v2; + UnkStruct_02025E6C * v3; + + for (v1 = 0; v1 < 10; v1++) { + v0 = sub_0205B774(param1, v1); + + if (v0 != NULL) { + v2 = (UnkStruct_0203330C *)v0->gameInfo.userGameInfo; + v3 = (UnkStruct_02025E6C *)v2->unk_10; + } else { + v2 = NULL; + v3 = NULL; + } + + switch (param0->unk_0C[v1].unk_01) { + case 0: + if (v0 != NULL) { + param0->unk_0C[v1].unk_08 = sub_02025F8C(v3); + param0->unk_0C[v1].unk_02 = sub_020280E0(param3, sub_02025F20(v3)); + param0->unk_0C[v1].unk_0C = v2->unk_00; + + if (sub_0205C340(param0, v1, v0, param3)) { + param0->unk_0C[v1].unk_00 = 2; + } else { + param0->unk_0C[v1].unk_00 = 1; + } + } + break; + case 2: + if (v0 == NULL) { + sub_0205C444(param0->unk_0C, v1, 3); + } else { + if (param0->unk_0C[v1].unk_0C != v2->unk_00) { + sub_0205C444(param0->unk_0C, v1, 3); + } + } + + if (sub_0205C340(param0, v1, v0, param3)) { + if (param0->unk_0C[v1].unk_09 == 1) { + param0->unk_0C[v1].unk_00 = 3; + } + } + break; + case 4: + param0->unk_0C[v1].unk_00 = 0; + break; + } + } +} + +static void sub_0205C51C (UnkStruct_0205C22C * param0, UnkStruct_02061830 * param1) +{ + UnkStruct_02061AB4 * v0; + int v1, v2, v3; + + GF_ASSERT(param0->unk_08 != NULL); + + v2 = sub_0205EABC(param0->unk_08); + v3 = sub_0205EAC8(param0->unk_08); + + for (v1 = 0; v1 < 50; v1++) { + v0 = sub_0206251C(param1, v1 + 1); + + if (v0 == NULL) { + GF_ASSERT(0); + } + + switch (param0->unk_0C[v1].unk_01) { + case 0: + if (sub_020655F4(v0) == 1) { + int v4 = param0->unk_0C[v1].unk_00; + + if ((v4 == 1) || (v4 == 2)) { + sub_0205C6E0(¶m0->unk_0C[v1], v0, v2, v3); + } + } + break; + case 1: + if (sub_020655F4(v0) == 1) { + if (param0->unk_0C[v1].unk_00 == 3) { + param0->unk_0C[v1].unk_01 = 0; + param0->unk_0C[v1].unk_00 = 0; + sub_0205C680(¶m0->unk_0C[v1], 1); + continue; + } + + sub_020656AC(v0); + sub_02062DB4(v0, 0); + + if ((param0->unk_0C[v1].unk_00 == 1) && (param0->unk_0C[v1].unk_09 == 0)) { + sub_020633A8(v0, 0x3); + sub_020629FC(v0, 1); + sub_02062A04(v0, 1); + param0->unk_0C[v1].unk_09 = 1; + } + + param0->unk_0C[v1].unk_01 = 2; + param0->unk_0C[v1].unk_00 = 0; + } + break; + case 2: + if (sub_020655F4(v0) == 1) { + sub_0205C7BC(¶m0->unk_0C[v1], v0); + + if (param0->unk_0C[v1].unk_00 == 3) { + sub_0205C788(¶m0->unk_0C[v1], v0); + } + + sub_0205C6BC(¶m0->unk_0C[v1]); + } + break; + case 3: + if (sub_020655F4(v0) == 1) { + sub_020656AC(v0); + + param0->unk_0C[v1].unk_01 = 4; + param0->unk_0C[v1].unk_00 = 0; + param0->unk_0C[v1].unk_09 = 0; + + sub_02062D64(v0, 1); + sub_02062D80(v0, 0); + } + break; + case 4: + param0->unk_0C[v1].unk_01 = 0; + break; + } + } + + sub_0205C7BC(¶m0->unk_0C[50], sub_0205EB3C(param0->unk_08)); + sub_0205C6BC(¶m0->unk_0C[50]); +} + +static void sub_0205C680 (UnkStruct_0205C680 * param0, int param1) +{ + if (param0->unk_10 != NULL) { + if (sub_020714F0(param0->unk_10)) { + sub_0207136C(param0->unk_10); + } + + param0->unk_10 = NULL; + } + + if (param1) { + if (param0->unk_14 != NULL) { + if (sub_020714F0(param0->unk_14)) { + sub_0207136C(param0->unk_14); + } + + param0->unk_14 = NULL; + } + } +} + +static void sub_0205C6BC (UnkStruct_0205C680 * param0) +{ + if (param0->unk_04) { + param0->unk_06--; + + if (param0->unk_06 == 0) { + sub_0205C680(param0, 0); + param0->unk_04 = 0; + } + } +} + +static void sub_0205C6E0 (UnkStruct_0205C680 * param0, UnkStruct_02061AB4 * param1, int param2, int param3) +{ + int v0, v1, v2; + + v0 = sub_02062FF0(param1); + v1 = sub_02062FF8(param1); + v2 = sub_02063000(param1); + + if ((v0 == param2) && (v2 == param3)) { + return; + } + + sub_02005748(1615); + sub_02061AD4(param1, param0->unk_08); + sub_0205C680(param0, 0); + sub_02063340(param1, v0, v1, v2, 1); + sub_0206296C(param1, 1); + sub_02065638(param1, 0x44); + sub_02062D64(param1, 0); + sub_02062D80(param1, 1); + + param0->unk_01 = 1; + + if (param0->unk_02 != 0) { + if (param0->unk_02 == 1) { + param0->unk_14 = ov5_021F16D4(param1, 1); + } else if (param0->unk_02 >= 2) { + param0->unk_14 = ov5_021F16D4(param1, 2); + } + + param0->unk_02 = 0; + } +} + +static void sub_0205C788 (UnkStruct_0205C680 * param0, UnkStruct_02061AB4 * param1) +{ + sub_02065638(param1, 0x43); + sub_02062DB4(param1, 1); + sub_020633A8(param1, 0x0); + sub_0205C680(param0, 1); + + param0->unk_04 = 0; + param0->unk_06 = 0; + param0->unk_01 = 3; +} + +static void sub_0205C7BC (UnkStruct_0205C680 * param0, UnkStruct_02061AB4 * param1) +{ + if (param0->unk_03 == 1) { + if (param0->unk_04 == 0) { + param0->unk_10 = ov5_021F6094(param1); + param0->unk_06 = 30; + param0->unk_03 = 0; + param0->unk_04 = 1; + } + } +} + +static void sub_0205C7E4 (UnkStruct_02061830 * param0, int param1, int param2) +{ + int v0; + UnkStruct_02061AB4 * v1; + + for (v0 = param1; v0 < param2; v0++) { + v1 = sub_0206251C(param0, v0); + + if (v1 == NULL) { + GF_ASSERT(0); + } + + sub_02062D64(v1, 1); + sub_02062D80(v1, 0); + sub_02062DB4(v1, 1); + } +} + +void sub_0205C820 (UnkStruct_02061830 * param0, UnkStruct_0205C22C * param1) +{ + UnkStruct_02061AB4 * v0; + UnkStruct_0205C680 * v1; + + v0 = sub_0206251C(param0, 0); + + if (v0 == NULL) { + GF_ASSERT(0); + } + + if (sub_020655F4(v0) == 1) { + if (sub_02036AA0() || sub_02036A68()) { + int v2; + + for (v2 = 0; v2 < 10; v2++) { + v1 = ¶m1->unk_0C[v2]; + + if (v1->unk_01 != 1) { + continue; + } + + v0 = sub_0206251C(param0, v2 + 1); + + if (v0 == NULL) { + GF_ASSERT(0); + } + + sub_02061AD4(v0, v1->unk_08); + sub_0206296C(v0, 1); + sub_02065638(v0, 0x44); + sub_02062D64(v0, 0); + sub_02062D80(v0, 1); + + v1->unk_01 = 1; + + if (v1->unk_02 != 0) { + if (v1->unk_02 == 1) { + v1->unk_14 = ov5_021F16D4(v0, 1); + } else if (v1->unk_02 >= 2) { + v1->unk_14 = ov5_021F16D4(v0, 2); + } + + v1->unk_02 = 0; + } + } + + sub_0205C7E4(param0, 11, 51); + } else { + sub_0205C7E4(param0, 1, 51); + } + } +} + +static void sub_0205C8DC (UnkStruct_0205C924 * param0) +{ + param0->unk_00 = sub_02023790(7 + 1, 89); + param0->unk_04 = NULL; + param0->unk_08 = NULL; + + sub_02014A9C(¶m0->unk_14, 0); + + param0->unk_10 = 0; + param0->unk_0C = 0; +} + +static void sub_0205C900 (UnkStruct_0205C95C * param0) +{ + int v0; + + for (v0 = 0; v0 < 30; v0++) { + sub_0205C8DC(¶m0->unk_00[v0]); + } + + param0->unk_348 = 0; + param0->unk_34C = 0; +} + +static void sub_0205C924 (UnkStruct_0205C924 * param0) +{ + sub_020181C4(param0->unk_00); + + if (param0->unk_04 != NULL) { + sub_020237BC(param0->unk_04); + } + + if (param0->unk_08 != NULL) { + sub_020237BC(param0->unk_08); + } +} + +static void sub_0205C944 (UnkStruct_0205C95C * param0) +{ + int v0; + + for (v0 = 0; v0 < 30; v0++) { + sub_0205C924(¶m0->unk_00[v0]); + } +} + +UnkStruct_0205C95C * sub_0205C95C (int param0) +{ + UnkStruct_0205C95C * v0 = sub_02018144(param0, sizeof(UnkStruct_0205C95C)); + + sub_0205C900(v0); + return v0; +} + +void sub_0205C970 (UnkStruct_0205C95C * param0) +{ + sub_0205C944(param0); + sub_020181C4(param0); +} diff --git a/src/unk_0205C980.c b/src/unk_0205C980.c new file mode 100644 index 0000000000..2abd783259 --- /dev/null +++ b/src/unk_0205C980.c @@ -0,0 +1,117 @@ +#include +#include + +#include "struct_decls/struct_0200B358_decl.h" + +#include "unk_02006E3C.h" +#include "unk_0200B358.h" +#include "unk_02017E74.h" +#include "unk_0205C980.h" + +static const int Unk_020ED7F0[][3] = { + {0x3, 0x3C, 0x3C}, + {0x5, 0x6, 0x6}, + {0xB, 0x18, 0x18}, + {0x1f, 0x39, 0x39}, + {0x32, 0x30, 0x30}, + {0x33, 0xE, 0xE}, + {0x3E, 0x20, 0x20}, + {0x46, 0x31, 0x31}, + {0x6, 0x3, 0x3}, + {0x7, 0xA, 0xA}, + {0xD, 0x24, 0x24}, + {0xE, 0x19, 0x19}, + {0x23, 0x55, 0x55}, + {0x25, 0x23, 0x23}, + {0x2A, 0x12, 0x12}, + {0x3f, 0x21, 0x21} +}; + +static const int Unk_020ED770[][4] = { + {0x0, 0x1, 0x2, 0x3}, + {0x1, 0x6, 0x7, 0x0}, + {0x2, 0x3, 0x4, 0x5}, + {0x3, 0x0, 0x5, 0x6}, + {0x4, 0x1, 0x2, 0x7}, + {0x5, 0x2, 0x7, 0x0}, + {0x6, 0x3, 0x4, 0x1}, + {0x7, 0x4, 0x5, 0x6} +}; + +void sub_0205C980 (u32 param0, int param1, UnkStruct_0200B358 * param2) +{ + int v0 = param0 % 8; + int v1; + + for (v1 = 0; v1 < 4; v1++) { + int v2 = Unk_020ED770[v0][v1] + 8 * param1; + sub_0200B960(param2, v1, Unk_020ED7F0[v2][1]); + } +} + +int sub_0205C9BC (u32 param0, int param1, u32 param2) +{ + int v0 = param0 % 8; + int v1 = Unk_020ED770[v0][param2] + 8 * param1; + + return Unk_020ED7F0[v1][0]; +} + +static int sub_0205C9E0 (int param0, int param1) +{ + int v0; + + for (v0 = 0; v0 < 16 / 2; v0++) { + if (Unk_020ED7F0[v0 + (param0 * (16 / 2))][0] == param1) { + return v0 + (param0 * (16 / 2)); + } + } + + return 0; +} + +int sub_0205CA0C (int param0, int param1) +{ + return sub_0205C9E0(param0, param1); +} + +int sub_0205CA14 (int param0, int param1, int param2) +{ + int v0 = sub_0205C9E0(param0, param1); + + switch (param2) { + case 0: + return v0; + break; + case 2: + return Unk_020ED7F0[v0][1]; + break; + case 1: + return Unk_020ED7F0[v0][2]; + break; + default: + GF_ASSERT(0); + } + + return 0; +} + +u16 * sub_0205CA4C (int param0) +{ + u8 * v0, * v1; + NNSG2dPaletteData * v2, * v3; + u16 * v4, * v5; + int v6; + + v0 = sub_02006F88(86, 7, &v2, param0); + v4 = sub_02018144(param0, 16 * 18 * 2); + v5 = (u16 *)v2->pRawData; + + for (v6 = 0; v6 < 16 * 16; v6++) { + v4[v6] = v5[v6]; + } + + sub_020181C4(v0); + + return v4; +} diff --git a/src/unk_0205D8CC.c b/src/unk_0205D8CC.c new file mode 100644 index 0000000000..02ba9e1c41 --- /dev/null +++ b/src/unk_0205D8CC.c @@ -0,0 +1,103 @@ +#include +#include + +#include "struct_decls/struct_02018340_decl.h" +#include "struct_decls/struct_02023790_decl.h" + +#include "struct_defs/struct_020279FC.h" +#include "struct_defs/struct_0205AA50.h" + +#include "unk_02002328.h" +#include "unk_02002B7C.h" +#include "unk_0200DA60.h" +#include "unk_02018340.h" +#include "unk_0201D670.h" +#include "unk_020279FC.h" +#include "unk_0205D8CC.h" + +void sub_0205D8CC (u32 param0, u32 param1) +{ + if (param1 == 1) { + sub_0201D710(); + } + + sub_02002E7C(param0, 13 * 32, 4); + sub_02002E98(param0, 12 * 32, 4); +} + +void sub_0205D8F4 (UnkStruct_02018340 * param0, UnkStruct_0205AA50 * param1, u32 param2) +{ + if (param2 == 3) { + sub_0201A7E8(param0, param1, 3, 2, 19, 27, 4, 12, (((1024 - (18 + 12) - 9 - (32 * 8)) - (18 + 12 + 24)) - (27 * 4))); + } else { + sub_0201A7E8(param0, param1, 7, 2, 19, 27, 4, 12, (512 - (27 * 4))); + } +} + +void sub_0205D944 (UnkStruct_0205AA50 * param0, const UnkStruct_020279FC * param1) +{ + sub_0200DD0C(param0->unk_00, sub_0201C290(param0), 1024 - (18 + 12), 10, sub_02027B50(param1), 4); + sub_0205D988(param0); + sub_0200E060(param0, 0, 1024 - (18 + 12), 10); +} + +void sub_0205D988 (UnkStruct_0205AA50 * param0) +{ + sub_0201ADA4(param0, 15); +} + +u8 sub_0205D994 (UnkStruct_0205AA50 * param0, UnkStruct_02023790 * param1, const UnkStruct_020279FC * param2, u8 param3) +{ + u8 v0; + + sub_02002AC8(param3); + sub_02002AE4(0); + sub_02002B20(0); + + v0 = sub_0201D738(param0, 1, param1, 0, 0, sub_02027AC0(param2), NULL); + return v0; +} + +u8 sub_0205D9CC (UnkStruct_0205AA50 * param0, UnkStruct_02023790 * param1, int param2, int param3, u8 param4, int param5) +{ + sub_02002AC8(param4); + sub_02002AE4(param5); + sub_02002B20(0); + + return sub_0201D738(param0, param2, param1, 0, 0, param3, NULL); +} + +u8 sub_0205DA04 (u8 param0) +{ + if (sub_0201D724(param0) == 0) { + return 1; + } + + return 0; +} + +void sub_0205DA1C (UnkStruct_02018340 * param0, UnkStruct_0205AA50 * param1, u16 param2, u16 param3) +{ + u16 v0, v1; + + if ((param2 == 0) || (param2 == 1)) { + v0 = 9; + v1 = 20; + } else { + v0 = 2; + v1 = 27; + } + + if (param3 == 3) { + sub_0201A7E8(param0, param1, 3, v0, 19, v1, 4, 9, ((((1024 - (18 + 12) - 9 - (32 * 8)) - (18 + 12 + 24)) - (27 * 4)))); + } else { + sub_0201A7E8(param0, param1, 7, v0, 19, v1, 4, 9, ((512 - (27 * 4)))); + } +} + +void sub_0205DA80 (UnkStruct_0205AA50 * param0, u16 param1, u16 param2) +{ + sub_0200E2A4(param0->unk_00, sub_0201C290(param0), ((1024 - (18 + 12) - 9 - (32 * 8)) - (18 + 12 + 24)), 9, param1, param2, 4); + sub_0201ADA4(param0, 15); + sub_0200E69C(param0, 0, ((1024 - (18 + 12) - 9 - (32 * 8)) - (18 + 12 + 24)), 9, param1); +} diff --git a/src/unk_0205DAC8.c b/src/unk_0205DAC8.c new file mode 100644 index 0000000000..f75f34000d --- /dev/null +++ b/src/unk_0205DAC8.c @@ -0,0 +1,698 @@ +#include +#include + +#include "unk_0205DAC8.h" + +static const u8 Unk_020ED8C4[] = { + 0x0, + 0x0, + 0x2, + 0x2, + 0x0, + 0x2, + 0x2, + 0x0, + 0x2, + 0x0, + 0x0, + 0x2, + 0x0, + 0x0, + 0x0, + 0x0, + 0x3, + 0x3, + 0x3, + 0x1, + 0x1, + 0x3, + 0x0, + 0x0, + 0x0, + 0x1, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x3, + 0x0, + 0x2, + 0x2, + 0x0, + 0x0, + 0x0, + 0x0, + 0x3, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x1, + 0x1, + 0x1, + 0x1, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x2, + 0x1, + 0x0, + 0x0, + 0x0, + 0x2, + 0x1, + 0x0, + 0x0, + 0x2, + 0x1, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x2, + 0x2, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0 +}; + + +BOOL sub_0205DAC8 (u8 param0) +{ + return param0 == 0x2; +} + +BOOL sub_0205DAD4 (u8 param0) +{ + return param0 == 0x3; +} + +BOOL sub_0205DAE0 (u8 param0) +{ + return param0 == 0x80; +} + +BOOL sub_0205DAEC (u8 param0) +{ + return param0 == 0x69; +} + +BOOL sub_0205DAF8 (u8 param0) +{ + return param0 == 0x62; +} + +BOOL sub_0205DB04 (u8 param0) +{ + return param0 == 0x63; +} + +BOOL sub_0205DB10 (u8 param0) +{ + return param0 == 0x64; +} + +BOOL sub_0205DB1C (u8 param0) +{ + return param0 == 0x65; +} + +BOOL sub_0205DB28 (u8 param0) +{ + return param0 == 0x6c; +} + +BOOL sub_0205DB34 (u8 param0) +{ + return param0 == 0x6d; +} + +BOOL sub_0205DB40 (u8 param0) +{ + return param0 == 0x6e; +} + +BOOL sub_0205DB4C (u8 param0) +{ + return param0 == 0x6f; +} + +BOOL sub_0205DB58 (u8 param0) +{ + return (Unk_020ED8C4[param0] & 0x1) != 0; +} + +BOOL sub_0205DB6C (u8 param0) +{ + return param0 == 0x21; +} + +BOOL sub_0205DB78 (u8 param0) +{ + return param0 == 0x17; +} + +BOOL sub_0205DB84 (u8 param0) +{ + return param0 == 0x3a; +} + +BOOL sub_0205DB90 (u8 param0) +{ + return param0 == 0x3b; +} + +BOOL sub_0205DB9C (u8 param0) +{ + return param0 == 0x39; +} + +BOOL sub_0205DBA8 (u8 param0) +{ + return param0 == 0x38; +} + +BOOL sub_0205DBB4 (u8 param0) +{ + return param0 == 0x5a; +} + +BOOL sub_0205DBC0 (u8 param0) +{ + return param0 == 0x5b; +} + +BOOL sub_0205DBCC (u8 param0) +{ + return param0 == 0x5c; +} + +BOOL sub_0205DBD8 (u8 param0) +{ + return param0 == 0x5d; +} + +BOOL sub_0205DBE4 (u8 param0) +{ + return param0 == 0x83; +} + +BOOL sub_0205DBF0 (u8 param0) +{ + return param0 == 0x85; +} + +BOOL sub_0205DBFC (u8 param0) +{ + return param0 == 0x56; +} + +BOOL sub_0205DC08 (u8 param0) +{ + return param0 == 0x57; +} + +BOOL sub_0205DC14 (u8 param0) +{ + return param0 == 0x58; +} + +BOOL sub_0205DC20 (u8 param0) +{ + return param0 == 0x59; +} + +BOOL sub_0205DC2C (u8 param0) +{ + return param0 == 0x6a; +} + +BOOL sub_0205DC38 (u8 param0) +{ + return param0 == 0x6b; +} + +BOOL sub_0205DC44 (u8 param0) +{ + return param0 == 0x5e; +} + +BOOL sub_0205DC50 (u8 param0) +{ + return param0 == 0x5f; +} + +BOOL sub_0205DC5C (u8 param0) +{ + return param0 == 0x20; +} + +BOOL sub_0205DC68 (u8 param0) +{ + return param0 == 0x4b; +} + +BOOL sub_0205DC74 (u8 param0) +{ + return param0 == 0x4c; +} + +BOOL sub_0205DC80 (u8 param0) +{ + return param0 == 0xe0; +} + +BOOL sub_0205DC8C (u8 param0) +{ + return param0 == 0xea; +} + +BOOL sub_0205DC98 (u8 param0) +{ + return param0 == 0xe1; +} + +BOOL sub_0205DCA4 (u8 param0) +{ + return param0 == 0xe2; +} + +BOOL sub_0205DCB0 (u8 param0) +{ + return param0 == 0xe4; +} + +BOOL sub_0205DCBC (u8 param0) +{ + return param0 == 0xe5; +} + +BOOL sub_0205DCC8 (u8 param0) +{ + return param0 == 0xeb; +} + +BOOL sub_0205DCD4 (u8 param0) +{ + return param0 == 0xec; +} + +BOOL sub_0205DCE0 (u8 param0) +{ + return (param0 == 0xa4) || (param0 == 0xa5); +} + +BOOL sub_0205DCF0 (u8 param0) +{ + return param0 == 0xa5; +} + +BOOL sub_0205DCFC (u8 param0) +{ + return (param0 == 0xa6) || (param0 == 0xa7); +} + +BOOL sub_0205DD0C (u8 param0) +{ + return param0 == 0xa7; +} + +BOOL sub_0205DD18 (u8 param0) +{ + return (param0 == 0xa1) || (param0 == 0xa2) || (param0 == 0xa3) || (param0 == 0xa8); +} + +BOOL sub_0205DD38 (u8 param0) +{ + return param0 == 0xa8; +} + +BOOL sub_0205DD44 (u8 param0) +{ + return param0 == 0xa1; +} + +BOOL sub_0205DD50 (u8 param0) +{ + return param0 == 0xa2; +} + +BOOL sub_0205DD5C (u8 param0) +{ + return param0 == 0xa3; +} + +BOOL sub_0205DD68 (u8 param0) +{ + return (param0 == 0xd9) || (param0 == 0xda); +} + +BOOL sub_0205DD78 (u8 param0) +{ + return param0 == 0xd9; +} + +BOOL sub_0205DD84 (u8 param0) +{ + return param0 == 0xda; +} + +BOOL sub_0205DD90 (u8 param0) +{ + return param0 == 0xd7; +} + +BOOL sub_0205DD9C (u8 param0) +{ + return param0 == 0xd8; +} + +BOOL sub_0205DDA8 (u8 param0) +{ + return param0 == 0x8; +} + +BOOL sub_0205DDB4 (u8 param0) +{ + return param0 == 0x13; +} + +BOOL sub_0205DDC0 (u8 param0) +{ + return param0 == 0xdb; +} + +BOOL sub_0205DDCC (u8 param0) +{ + return (param0 == 0x32) || (param0 == 0x34) || (param0 == 0x35) || (param0 == 0x49); +} + +BOOL sub_0205DDF0 (u8 param0) +{ + return (param0 == 0x33) || (param0 == 0x36) || (param0 == 0x37) || (param0 == 0x49); +} + +BOOL sub_0205DE14 (u8 param0) +{ + return (param0 == 0x31) || (param0 == 0x35) || (param0 == 0x37) || (param0 == 0x4a); +} + +BOOL sub_0205DE38 (u8 param0) +{ + return (param0 == 0x30) || (param0 == 0x34) || (param0 == 0x36) || (param0 == 0x4a); +} + +BOOL sub_0205DE5C (u8 param0) +{ + return (param0 == 0x16) || (param0 == 0x1d); +} + +BOOL sub_0205DE6C (u8 param0) +{ + if ((Unk_020ED8C4[param0] & 0x2) != 0) { + return 1; + } else { + return 0; + } +} + +BOOL sub_0205DE84 (u8 param0) +{ + return param0 == 0x86; +} + +BOOL sub_0205DE90 (u8 param0) +{ + return (param0 == 0x16) || (param0 == 0x10) || (param0 == 0x1d) || (param0 == 0x2c); +} + +BOOL sub_0205DEB4 (u8 param0) +{ + return param0 == 0x40; +} + +BOOL sub_0205DEC0 (u8 param0) +{ + return param0 == 0x41; +} + +BOOL sub_0205DECC (u8 param0) +{ + return param0 == 0x42; +} + +BOOL sub_0205DED8 (u8 param0) +{ + return param0 == 0x43; +} + +BOOL sub_0205DEE4 (u8 param0) +{ + return param0 == 0x67; +} + +BOOL sub_0205DEF0 (u8 param0) +{ + return param0 == 0x70; +} + +BOOL sub_0205DEFC (u8 param0) +{ + return (param0 == 0x71) || (param0 == 0x72) || (param0 == 0x73) || (param0 == 0x74) || (param0 == 0x75) || (param0 == 0x76) || (param0 == 0x77) || (param0 == 0x78) || (param0 == 0x79) || (param0 == 0x7a) || (param0 == 0x7b) || (param0 == 0x7c) || (param0 == 0x7d); +} + +BOOL sub_0205DF10 (u8 param0) +{ + return (param0 == 0x73) || (param0 == 0x78) || (param0 == 0x7c); +} + +BOOL sub_0205DF34 (u8 param0) +{ + return (param0 == 0x74) || (param0 == 0x79) || (param0 == 0x7d); +} + +BOOL sub_0205DF58 (u8 param0) +{ + return param0 == 0x75; +} + +BOOL sub_0205DF64 (u8 param0) +{ + return (param0 == 0x76) || (param0 == 0x77) || (param0 == 0x78) || (param0 == 0x79); +} + +BOOL sub_0205DF78 (u8 param0) +{ + return (param0 == 0x7a) || (param0 == 0x7b) || (param0 == 0x7c) || (param0 == 0x7d); +} + +BOOL sub_0205DF8C (u8 param0) +{ + return param0 == 0xff; +} + +u8 sub_0205DF98 (void) +{ + return 0xff; +} + +BOOL sub_0205DF9C (u8 param0) +{ + return (param0 == 0x2c) || (param0 == 0x1d); +} + +BOOL sub_0205DFAC (u8 param0) +{ + return param0 == 0xa9; +} + +BOOL sub_0205DFB8 (u8 param0) +{ + return param0 == 0x2d; +} diff --git a/src/unk_0205F180.c b/src/unk_0205F180.c new file mode 100644 index 0000000000..3a15d96d37 --- /dev/null +++ b/src/unk_0205F180.c @@ -0,0 +1,2507 @@ +#include +#include + +#include "inlines.h" + +#include "struct_decls/struct_0202CD88_decl.h" +#include "struct_decls/struct_0205E884_decl.h" +#include "struct_decls/struct_02061AB4_decl.h" +#include "overlay005/struct_ov5_021E8F60_decl.h" + +#include "struct_defs/struct_0203CDB0.h" +#include "struct_defs/struct_0205EC34.h" + +#include "unk_02005474.h" +#include "unk_0202CD50.h" +#include "unk_02054D00.h" +#include "unk_0205DAC8.h" +#include "unk_0205E7D0.h" +#include "unk_0205F180.h" +#include "unk_02061804.h" +#include "unk_02063400.h" +#include "unk_020655F4.h" +#include "unk_02068344.h" +#include "unk_02071B10.h" +#include "overlay005/ov5_021DFB54.h" +#include "overlay009/ov9_02249960.h" + +typedef BOOL (* UnkFuncPtr_020EDB84)(u8); + +typedef struct { + UnkFuncPtr_020EDB84 unk_00; + u32 unk_04; +} UnkStruct_020EDB84; + +typedef struct { + s16 unk_00; + s16 unk_02; + s16 unk_04; + s16 unk_06; +} UnkStruct_020EDB04; + +static int sub_0205F22C(UnkStruct_0205E884 * param0, int param1); +static void sub_0205F350(UnkStruct_0205E884 * param0, int param1, u16 param2, u16 param3); +static void sub_0205F378(UnkStruct_0205E884 * param0); +static void sub_0205F3B8(UnkStruct_0205E884 * param0); +static int sub_0205F62C(UnkStruct_0205E884 * param0, int param1); +static u32 sub_0205F644(UnkStruct_0205E884 * param0, int param1); +static int sub_0205F6A4(UnkStruct_0205E884 * param0, u32 param1, int param2); +static void sub_0205FA6C(UnkStruct_0205E884 * param0); +static int sub_0205FAB0(UnkStruct_0205E884 * param0, int param1); +static int sub_0205FB10(UnkStruct_0205E884 * param0, int param1); +static void sub_0205FB40(UnkStruct_0205E884 * param0, int param1); +static void inline_0205F180(UnkStruct_0205E884 * param0, const UnkStruct_ov5_021E8F60 * param1, int param2, u16 param3, u16 param4); +static void inline_0205F180_sub(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5); +static int sub_0205FC48(UnkStruct_0205E884 * param0, int param1); +static int sub_0205FC64(int param0); +static int sub_0205FC88(UnkStruct_02061AB4 * param0, u8 param1, int param2); +static int sub_0205FCBC(UnkStruct_02061AB4 * param0, u8 param1, int param2); +static int sub_0205FCC0(UnkStruct_0205E884 * param0, int param1); +static void sub_0205FD20(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_0205FD40(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_0205FDC8(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_0205FECC(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_020600CC(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_02060150(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_020601D4(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_02060258(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_020602DC(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5); +static void sub_02060324(UnkStruct_0205E884 * param0, u16 param1); +int sub_02060390(UnkStruct_0205E884 * param0, int param1); +static int sub_020603BC(UnkStruct_0205E884 * param0); +static int sub_020603EC(UnkStruct_0205E884 * param0); +static void sub_02060420(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5); +static int sub_02060494(UnkStruct_0205E884 * param0, int param1); +static int sub_020604B0(int param0); +static int sub_020604E4(UnkStruct_0205E884 * param0, int param1); +static void sub_02060548(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_02060570(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_02060688(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_020606C8(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_0206078C(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5); +static int sub_02060800(UnkStruct_0205E884 * param0, int param1); +static int sub_0206081C(int param0); +static int sub_02060850(UnkStruct_0205E884 * param0, int param1); +static void sub_020608BC(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_020608E4(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_02060A60(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static void sub_02060AA0(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4); +static u32 sub_02060C24(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02060CE4(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02060D98(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02060E40(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02060EE4(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02060F4C(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02060FA8(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02061058(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02061180(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02061100(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02061248(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02061310(u16 param0); +static int sub_0206132C(u16 param0); +static int sub_02061348(UnkStruct_0205E884 * param0, u16 param1, u16 param2); +static int sub_020613D8(int param0); +static void sub_020615C8(UnkStruct_0205E884 * param0); +static int sub_020615E0(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2); +static int sub_02061630(UnkStruct_0205E884 * param0, u32 param1, int param2); +static void sub_02060B64(UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, u32 param2, int param3); + +static const UnkStruct_020EDB04 Unk_020EDB04[4] = { + {0x0, 0x0, -1}, + {0x0, 0x0, 0x1}, + {-1, 0x0, 0x0}, + {0x1, 0x0, 0x0} +}; + +static const UnkStruct_020EDB04 Unk_020EDB24[4] = { + {0x0, 0x1, 0x0}, + {0x0, -1, 0x0}, + {0x0, 0x0, 0x1}, + {0x0, 0x0, -1} +}; + +static const UnkStruct_020EDB04 Unk_020EDB44[4] = { + {0x0, 0x1, 0x0}, + {0x0, -1, 0x0}, + {0x0, 0x0, -1}, + {0x0, 0x0, 0x1} +}; + +static const UnkStruct_020EDB04 Unk_020EDB64[4] = { + {0x0, 0x0, 0x1}, + {0x0, 0x0, -1}, + {-1, 0x0, 0x0}, + {0x1, 0x0, 0x0} +}; + +const UnkStruct_020EDB84 Unk_020EDB84[]; +static int(*const Unk_020EDAEC[6])(UnkStruct_0205E884 *, int); + +void sub_0205F180 (UnkStruct_0205E884 * param0, const UnkStruct_ov5_021E8F60 * param1, int param2, u16 param3, u16 param4, BOOL param5) +{ + if (param2 == -1) { + param2 = sub_02061348(param0, param3, param4); + } + + sub_02060324(param0, param3); + + if (sub_0205F22C(param0, param2) == 0) { + return; + } + + sub_0205F350(param0, param2, param3, param4); + ov5_021DFB5C(param0); + + if (sub_0205F62C(param0, param2) == 1) { + ov5_021E0EEC(param0); + return; + } + + if (sub_0205EB74(param0) == 0x0) { + int v0 = sub_0205FC48(param0, param2); + + if (v0 != 0) { + ov5_021E0EEC(param0); + } else if (param5 == 1) { + ov5_021E0E94(param0); + } + } + + inline_0205F180(param0, param1, param2, param3, param4); + + sub_0205F378(param0); + sub_0205F3B8(param0); +} + +int sub_0205F224 (UnkStruct_0205E884 * param0, int param1) +{ + return sub_0205F22C(param0, param1); +} + +static int sub_0205F22C (UnkStruct_0205E884 * param0, int param1) +{ + int v0; + UnkStruct_02061AB4 * v1; + + v1 = sub_0205EB3C(param0); + + if (sub_020655F4(v1) == 1) { + return 1; + } + + if (param1 == -1) { + return 0; + } + + v0 = sub_02062BB8(v1); + + if (sub_020613D8(v0) == 1) { + u32 v2; + + if (sub_0205F158(param0) == 1) { + v2 = sub_020611FC(param0, v1, param1); + + if ((v2 & (~(1 << 7))) && (sub_0205F108(param0) == 2)) { + UnkStruct_0203CDB0 * v3 = sub_02062C00(v1); + int v4, v5 = sub_02063020(v1); + int v6, v7 = sub_02063030(v1); + int v8, v9 = sub_02063040(v1); + + v7 = ((v7) / 2); + v4 = v5; + v6 = v7; + v8 = v9; + + sub_02061674(param0, param1, &v4, &v6, &v8); + + if (ov9_02250FBC(v3, v4, v6, v8) == 0) { + if (ov9_02250FD8(v3, v4, v6, v8) == 1) { + ov9_02251000(v3, v4, v6, v8); + v2 = sub_020611FC(param0, v1, param1); + ov9_02251000(v3, v5, v7, v9); + } + } + } + } else { + v2 = sub_02060B7C(param0, v1, param1); + } + + if (v2 == 0) { + return 1; + } + + if ((v2 == (1 << 5)) && (sub_0205EB74(param0) == 0x2)) { + return 1; + } + + return 0; + } + + return 0; +} + +static void sub_0205F350 (UnkStruct_0205E884 * param0, int param1, u16 param2, u16 param3) +{ + sub_0205EBEC(param0, sub_02061310(param3), sub_0206132C(param3)); + sub_0205F054(param0); +} + +static void sub_0205F378 (UnkStruct_0205E884 * param0) +{ + if ((sub_0205F060(param0) == 1) && (sub_0205EB0C(param0) == 1)) { + sub_0205EF6C(param0, 0); + + if (sub_0205F008(param0) == 1) { + sub_0205EFF0(param0, 0); + sub_02062EE0(sub_0205EB3C(param0), 0); + } + } +} + +static void sub_0205F3B8 (UnkStruct_0205E884 * param0) +{ + if (sub_0205EB0C(param0) == 1) { + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + u8 v1, v2 = sub_02062BE8(v0); + + { + int v3 = sub_02062BB8(v0); + int v4 = sub_0206587C(v3); + + if (v4 == -1) { + v1 = v2; + } else { + v1 = sub_02064238(v0, v4); + } + } + + if ((sub_020640D4(v0, v2) == 1) || (sub_0205DFAC(v2) == 1)) { + sub_02005748(1353); + } + + if (sub_0205DE5C(v2) == 1) { + sub_02005748(1601); + } + + if (sub_0205DB78(v2) == 1) { + sub_02005748(1602); + } + + if (sub_0205DB6C(v2) == 1) { + (void)0; + } + + if ((sub_0205DCE0(v2) == 1) && (sub_0205DCF0(v2) != 1)) { + sub_02005748(1621); + } + + { + int v5 = sub_02062BB8(v0); + + if (sub_020613D8(v5) == 0) { + if ((sub_0205DAD4(v2) == 1) || (sub_0205DAD4(v1) == 1)) { + sub_02005748(1619); + } + } + } + } +} + +void sub_0205F490 (UnkStruct_0205E884 * param0) +{ + int v0, v1, v2; + const UnkStruct_02061AB4 * v3; + + v0 = sub_0205EB0C(param0); + v1 = sub_0205EB14(param0); + v3 = sub_0205EB3C(param0); + + sub_0205EB10(param0, 0); + + { + u32 v4 = sub_0205F644(param0, -1); + + if ((v4 != 0) && (v4 != 5)) { + sub_0205EB10(param0, 2); + return; + } + } + + if (sub_020655F4(v3) == 0) { + switch (v0) { + case 0: + break; + case 1: + v2 = sub_02062BB8(v3); + + if (sub_020613D8(v2) == 1) { + break; + } + + if ((v1 == 0) || (v1 == 3)) { + sub_0205EB10(param0, 1); + } else { + sub_0205EB10(param0, 2); + } + break; + case 2: + sub_0205EB10(param0, 2); + break; + } + + return; + } + + if (sub_02065684(v3) == 1) { + switch (v0) { + case 0: + break; + case 1: + switch (v1) { + case 0: + break; + case 3: + sub_0205EB10(param0, 0); + break; + default: + sub_0205EB10(param0, 3); + } + break; + case 2: + switch (v1) { + case 0: + break; + case 3: + sub_0205EB10(param0, 0); + break; + default: + sub_0205EB10(param0, 3); + } + break; + } + + return; + } +} + +void sub_0205F56C (UnkStruct_0205E884 * param0) +{ + sub_0205EB08(param0, 0); + sub_0205EB10(param0, 0); + sub_0205EBC0(param0); +} + +int sub_0205F588 (UnkStruct_0205E884 * param0) +{ + int v0, v1, v2; + const UnkStruct_02061AB4 * v3; + + v0 = sub_0205EB0C(param0); + v1 = sub_0205EB14(param0); + + if (v0 == 0) { + return 1; + } + + if (v0 == 2) { + return 1; + } + + if (v0 == 1) { + if ((v1 == 0) || (v1 == 3)) { + return 1; + } + + v3 = sub_0205EB3C(param0); + + if (sub_020655F4(v3) == 1) { + return 1; + } + + v2 = sub_02062BB8(v3); + + if (sub_020613D8(v2) == 1) { + return 1; + } + } + + return 0; +} + +void sub_0205F5E4 (UnkStruct_0205E884 * param0, int param1) +{ + UnkStruct_02061AB4 * v0; + + sub_0205EB08(param0, 0); + sub_0205EB10(param0, 0); + + v0 = sub_0205EB3C(param0); + + sub_02062974(v0, param1); + sub_02062A0C(v0, 0x0); + sub_02064208(v0); + sub_020656DC(v0); + sub_02065638(v0, sub_02065838(param1, 0x0)); +} + +static int sub_0205F62C (UnkStruct_0205E884 * param0, int param1) +{ + u32 v0 = sub_0205F644(param0, param1); + + v0 = sub_0205F6A4(param0, v0, param1); + return v0; +} + +static u32 sub_0205F644 (UnkStruct_0205E884 * param0, int param1) +{ + int v0 = 0; + u32 v1 = sub_02062BE8(sub_0205EB3C(param0)); + + if (sub_02061630(param0, v1, param1) == 1) { + return 5; + } + + if (sub_0205EF84(param0) == 1) { + return 0; + } + + do { + if (Unk_020EDB84[v0].unk_00(v1) == 1) { + return Unk_020EDB84[v0].unk_04; + } + + v0++; + } while (Unk_020EDB84[v0].unk_00 != NULL); + + return 0; +} + +static const UnkStruct_020EDB84 Unk_020EDB84[] = { + {sub_0205DC5C, 0x1}, + {sub_0205DD68, 0x2}, + {sub_0205DD90, 0x3}, + {sub_0205DD9C, 0x4}, + {NULL, 0x6} +}; + +static int sub_0205F6A4 (UnkStruct_0205E884 * param0, u32 param1, int param2) +{ + if (Unk_020EDAEC[param1](param0, param2) == 1) { + return 1; + } + + return 0; +} + +static int sub_0205F6C4 (UnkStruct_0205E884 * param0, int param1) +{ + sub_0205FA6C(param0); + return 0; +} + +static int sub_0205F6D0 (UnkStruct_0205E884 * param0, int param1) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + int v1 = sub_0206299C(v0); + int v2 = sub_0205FAB0(param0, v1); + u32 v3 = sub_02060B7C(param0, v0, v1); + + sub_0205EF40(param0, 1); + + if (v3 != 0) { + sub_0205FA6C(param0); + + if (v2 != 1) { + sub_0205EF6C(param0, 1); + sub_0205EB08(param0, 0); + return 0; + } + + v1 = sub_0206447C(v1); + v3 = sub_02060B7C(param0, v0, v1); + + if (v3 != 0) { + return 0; + } + + sub_020628BC(v0, (1 << 7) | (1 << 8)); + sub_02060B64(param0, v0, sub_02065838(v1, 0x8), 3); + sub_0205EF6C(param0, 1); + sub_0205EF40(param0, 1); + sub_0205EBEC(param0, -1, -1); + sub_0205EB08(param0, 1); + + return 1; + } + + if (sub_0205FB10(param0, v2) == 0) { + sub_0205FA6C(param0); + + v1 = sub_0206447C(v1); + v3 = sub_02060B7C(param0, v0, v1); + + if (v3 != 0) { + return 0; + } + + sub_020628BC(v0, (1 << 7) | (1 << 8)); + sub_02060B64(param0, v0, sub_02065838(v1, 0x8), 3); + sub_0205EF6C(param0, 1); + sub_0205EF40(param0, 1); + sub_0205EBEC(param0, -1, -1); + } else { + sub_020628BC(v0, (1 << 7) | (1 << 8)); + sub_0205FB40(param0, v1); + } + + sub_0205EB08(param0, 1); + return 1; +} + +static int sub_0205F808 (UnkStruct_0205E884 * param0, int param1) +{ + u32 v0; + UnkStruct_02061AB4 * v1 = sub_0205EB3C(param0); + int v2 = sub_0206299C(v1); + + sub_02005748(1620); + + if (v2 == 0) { + if ((sub_0205EB74(param0) == 0x1) && (sub_0205EBB8(param0) >= 3)) { + if (param1 == 0) { + sub_02060B64(param0, v1, sub_02065838(v2, 0x15), 6); + sub_0205EB08(param0, 1); + return 1; + } + } + + v2 = sub_0206447C(v2); + v0 = sub_02060B7C(param0, v1, v2); + + if (v0 != 0) { + return 0; + } + + sub_020628BC(v1, (1 << 7) | (1 << 8)); + sub_02060B64(param0, v1, sub_02065838(v2, 0x8), 3); + sub_0205EBC0(param0); + sub_0205EF40(param0, 1); + sub_0205EB08(param0, 1); + sub_0205F01C(param0, 1); + sub_0205EBEC(param0, -1, -1); + return 1; + } else if (v2 == 1) { + if (sub_0205F034(param0) == 0) { + sub_02060B64(param0, v1, sub_02065838(v2, 0x15), 6); + sub_0205EB08(param0, 1); + + if (sub_0205EC88(param0) == 1) { + sub_0205EBBC(param0, 3); + } + + sub_0205EBEC(param0, -1, -1); + return 1; + } else { + sub_020628BC(v1, (1 << 7) | (1 << 8)); + sub_02060B64(param0, v1, sub_02065838(v2, 0x8), 3); + sub_0205EF40(param0, 1); + sub_0205EB08(param0, 1); + sub_0205F01C(param0, 1); + sub_0205EBEC(param0, -1, -1); + return 1; + } + } + + return 0; +} + +static int sub_0205F95C (UnkStruct_0205E884 * param0, int param1) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + int v1 = sub_0206299C(v0); + + if (sub_0205EC88(param0) == 1) { + sub_02005748(1622); + sub_02060B64(param0, v0, 0x5f, 2); + } else { + sub_02060B64(param0, v0, 0x5d, 3); + } + + sub_0205EF40(param0, 1); + sub_0205F074(param0, 1); + + return 1; +} + +static int sub_0205F9AC (UnkStruct_0205E884 * param0, int param1) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + int v1 = sub_0206299C(v0); + + if (sub_0205EC88(param0) == 1) { + sub_02005748(1622); + sub_02060B64(param0, v0, 0x5e, 2); + } else { + sub_02060B64(param0, v0, 0x5c, 2); + } + + sub_0205EF40(param0, 1); + sub_0205F074(param0, 1); + + return 1; +} + +static int sub_0205F9FC (UnkStruct_0205E884 * param0, int param1) +{ + int v0 = 1; + UnkStruct_02061AB4 * v1 = sub_0205EB3C(param0); + u32 v2 = sub_02060B7C(param0, v1, v0); + + if (v2 == 0) { + sub_02060B64(param0, v1, sub_02065838(v0, 0x14), 6); + sub_0205EB08(param0, 1); + sub_0205EBBC(param0, 3); + + return 1; + } else { + sub_02060B64(param0, v1, sub_02065838(v0, 0x1), 1); + sub_0205EBC0(param0); + sub_0205EB08(param0, 0); + sub_0205EF98(param0, 0); + } + + return 1; +} + +static int(*const Unk_020EDAEC[6])(UnkStruct_0205E884 *, int) = { + sub_0205F6C4, + sub_0205F6D0, + sub_0205F808, + sub_0205F95C, + sub_0205F9AC, + sub_0205F9FC +}; + +static void sub_0205FA6C (UnkStruct_0205E884 * param0) +{ + if (sub_0205EF58(param0) == 1) { + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + + sub_020628C4(v0, (1 << 7) | (1 << 8)); + + if (sub_0205F08C(param0) == 0) { + sub_0205EBC0(param0); + } + + sub_0205EF40(param0, 0); + sub_0205F074(param0, 0); + sub_0205F01C(param0, 0); + } +} + +static int sub_0205FAB0 (UnkStruct_0205E884 * param0, int param1) +{ + int v0; + VecFx32 v1, v2; + UnkStruct_02061AB4 * v3 = sub_0205EB3C(param0); + UnkStruct_0203CDB0 * v4 = sub_02062C00(v3); + + sub_02063050(v3, &v1); + v2 = v1; + + sub_02064418(param1, &v2, ((16 * FX32_ONE) >> 1) / 2); + v0 = sub_020644A4(v4, &v2); + + if ((v0 == 0) || (v1.y == v2.y)) { + return 0; + } + + if (v1.y > v2.y) { + return 2; + } + + return 1; +} + +static int sub_0205FB10 (UnkStruct_0205E884 * param0, int param1) +{ + int v0 = sub_0205EBB8(param0); + + if (param1 == 1) { + v0--; + + if (v0 < 0) { + return 0; + } + } else if (param1 == 2) { + v0++; + + if (v0 > 3) { + v0 = 3; + } + } + + sub_0205EBBC(param0, v0); + return 1; +} + +static void sub_0205FB40 (UnkStruct_0205E884 * param0, int param1) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + int v1 = 0x10; + int v2 = sub_0205EBB8(param0); + int v3 = 5; + + switch (v2) { + case 1: + v1 = 0x50; + v3 = 5; + break; + case 2: + v1 = 0x14; + v3 = 6; + break; + case 3: + v1 = 0x14; + v3 = 6; + break; + } + + v1 = sub_02065838(param1, v1); + sub_02060B64(param0, v0, v1, v3); +} + +static void inline_0205F180 (UnkStruct_0205E884 * param0, const UnkStruct_ov5_021E8F60 * param1, int param2, u16 param3, u16 param4) +{ + int v0 = sub_0205EB74(param0); + UnkStruct_02061AB4 * v1 = sub_0205EB3C(param0); + + switch (v0) { + case 0x0: + case 0x2: + inline_0205F180_sub(param0, v1, param1, param2, param3, param4); + break; + case 0x1: + sub_020602DC(param0, v1, param1, param2, param3, param4); + break; + default: + GF_ASSERT(FALSE); + break; + } +} + +static void inline_0205F180_sub (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5) +{ + int v0; + + v0 = sub_0205FC48(param0, param3); + + switch (v0) { + case 0: + sub_0205FD20(param0, param1, param3, param4, param5); + break; + case 1: + sub_0205FD40(param0, param1, param3, param4, param5); + break; + case 2: + sub_02060258(param0, param1, param3, param4, param5); + break; + } +} + +static int sub_0205FC48 (UnkStruct_0205E884 * param0, int param1) +{ + int v0 = sub_0205FCC0(param0, param1); + int v1 = sub_0205FC64(v0); + + sub_0205EB08(param0, v1); + return v0; +} + +static int sub_0205FC64 (int param0) +{ + switch (param0) { + case 0: + return 0; + case 1: + return 1; + case 2: + return 2; + } + + GF_ASSERT(FALSE); + return 0; +} + +static int sub_0205FC88 (UnkStruct_02061AB4 * param0, u8 param1, int param2) +{ + if (sub_0205DD5C(param1) == 1) { + return 0x4; + } + + if (sub_0205DD50(param1) == 1) { + return 0x8; + } + + if (sub_0205DD44(param1) == 1) { + return 0xc; + } + + return param2; +} + +static int sub_0205FCBC (UnkStruct_02061AB4 * param0, u8 param1, int param2) +{ + return param2; +} + +static int sub_0205FCC0 (UnkStruct_0205E884 * param0, int param1) +{ + int v0; + + if (param1 == -1) { + sub_0205EB08(param0, 0); + return 0; + } + + v0 = sub_0205EA78(param0); + + { + int v1 = sub_0205F108(param0); + + if ((v1 != 0) && (v1 != 1) && (v1 != 2)) { + v0 = sub_0205EA94(param0); + } + } + + if ((v0 != param1) && (sub_0205EB0C(param0) != 1)) { + sub_0205EB08(param0, 2); + return 2; + } + + sub_0205EB08(param0, 1); + return 1; +} + +static void sub_0205FD20 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0; + + v0 = sub_02065838(sub_0206298C(param1), 0x0); + sub_02060B64(param0, param1, v0, 1); +} + +static void sub_0205FD40 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0 = sub_0205F108(param0); + + switch (v0) { + case 2: + sub_0205FECC(param0, param1, param2, param3, param4); + break; + case 3: + sub_020600CC(param0, param1, param2, param3, param4); + break; + case 4: + sub_02060150(param0, param1, param2, param3, param4); + break; + case 5: + sub_020601D4(param0, param1, param2, param3, param4); + break; + default: + sub_0205FDC8(param0, param1, param2, param3, param4); + } +} + +static void sub_0205FDC8 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + u32 v0; + int v1; + int v2; + + v0 = sub_02060B7C(param0, param1, param2); + + if (sub_0205EB74(param0) != 0x2) { + if ((v0 & (1 << 2))) { + v1 = 0x38; + v2 = 3; + } else if ((v0 & (1 << 7))) { + v1 = 0x75; + v2 = 2; + } else if (v0 != 0) { + v1 = 0x1c; + v2 = 1; + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + } else { + v1 = 0xc; + v2 = 4; + + { + UnkStruct_0205EC34 * v3 = sub_0205EC0C(param0); + + if (sub_0205EC40(v3) == 1) { + if (sub_020613FC(param0, param4) == 1) { + v1 = 0x58; + v2 = 5; + } + } + } + + v1 = sub_0205FC88(param1, sub_02062BE8(param1), v1); + + sub_020615C8(param0); + sub_0205F048(param0); + } + } else { + if ((v0 == 0) || (v0 == (1 << 5))) { + v2 = 5; + v1 = 0x10; + v1 = sub_0205FCBC(param1, sub_02062BE8(param1), v1); + + sub_020615C8(param0); + sub_0205F048(param0); + } else { + v1 = 0x1c; + v2 = 1; + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + } + } + + v1 = sub_02065838(param2, v1); + sub_02060B64(param0, param1, v1, v2); +} + +static void sub_0205FECC (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + u32 v0; + int v1; + int v2; + + v0 = sub_020611FC(param0, param1, param2); + + if ((v0 & (~(1 << 7)))) { + UnkStruct_0203CDB0 * v3 = sub_02062C00(param1); + int v4 = sub_02063020(param1); + int v5 = sub_02063030(param1); + int v6 = sub_02063040(param1); + + v5 = ((v5) / 2); + sub_02061674(param0, param2, &v4, &v5, &v6); + + if (ov9_02250FBC(v3, v4, v5, v6) == 0) { + if (ov9_02250FD8(v3, v4, v5, v6) == 1) { + ov9_02251000(v3, v4, v5, v6); + v0 = sub_020611FC(param0, param1, param2); + } + } + } + + if (sub_0205EB74(param0) != 0x2) { + if ((v0 & (1 << 7))) { + v1 = 0x75; + v2 = 2; + sub_020615C8(param0); + sub_0205F048(param0); + } else if (v0 != 0) { + v1 = 0x1c; + v2 = 1; + sub_02005748(1537); + sub_02062994(param1, param2); + } else { + UnkStruct_0205EC34 * v7; + + v1 = 0xc; + v2 = 4; + v7 = sub_0205EC0C(param0); + + if ((sub_0205EC40(v7) == 1) && (sub_020613FC(param0, param4) == 1)) { + v1 = 0x58; + v2 = 5; + } + + sub_020615C8(param0); + sub_0205F048(param0); + } + } else { + if ((v0 == 0) || (v0 == (1 << 5))) { + v2 = 5; + v1 = 0x10; + sub_020615C8(param0); + sub_0205F048(param0); + } else { + v1 = 0x1c; + v2 = 1; + sub_02005748(1537); + sub_02062994(param1, param2); + } + } + + v1 = sub_02065838(param2, v1); + sub_02060B64(param0, param1, v1, v2); +} + +static void sub_0206000C (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4, const int * param5, const int * param6, const int * param7, const int * param8, const int * param9) +{ + u32 v0; + int v1; + int v2; + + v0 = sub_020611FC(param0, param1, param2); + + if (sub_0205EB74(param0) != 0x2) { + if (v0 != 0) { + v1 = param8[param2]; + v2 = 1; + sub_02005748(1537); + sub_02062994(param1, param9[param2]); + } else { + UnkStruct_0205EC34 * v3; + + v2 = 4; + v1 = param5[param2]; + v3 = sub_0205EC0C(param0); + + if ((sub_0205EC40(v3) == 1) && (sub_020613FC(param0, param4) == 1)) { + v2 = 5; + v1 = param6[param2]; + } + + sub_020615C8(param0); + } + } else { + if ((v0 == 0) || (v0 == (1 << 5))) { + v2 = 4; + v1 = param7[param2]; + + sub_020615C8(param0); + sub_0205F048(param0); + } else { + v1 = param8[param2]; + v2 = 1; + + sub_02005748(1537); + sub_02062994(param1, param9[param2]); + } + } + + sub_02060B64(param0, param1, v1, v2); +} + +static void sub_020600CC (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0[4] = {0x69, 0x6a, 0x6b, 0x6c}; + int v1[4] = {0x79, 0x7a, 0x7b, 0x7c}; + int v2[4] = {0x69, 0x6a, 0x6b, 0x6c}; + int v3[4] = {0x1e, 0x1f, 0x1d, 0x1c}; + int v4[4] = {0, 1, 2, 3}; + + sub_0206000C(param0, param1, param2, param3, param4, v0, v1, v2, v3, v4); +} + +static void sub_02060150 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0[4] = {0x6d, 0x6e, 0x6f, 0x70}; + int v1[4] = {0x7d, 0x7e, 0x7f, 0x80}; + int v2[4] = {0x6d, 0x6e, 0x6f, 0x70}; + int v3[4] = {0x1f, 0x1e, 0x1c, 0x1d}; + int v4[4] = {0, 1, 2, 3}; + + sub_0206000C(param0, param1, param2, param3, param4, v0, v1, v2, v3, v4); +} + +static void sub_020601D4 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0[4] = {0x71, 0x72, 0x73, 0x74}; + int v1[4] = {0x81, 0x82, 0x83, 0x84}; + int v2[4] = {0x71, 0x72, 0x73, 0x74}; + int v3[4] = {0x1d, 0x1c, 0x1f, 0x1e}; + int v4[4] = {0, 1, 2, 3}; + + sub_0206000C(param0, param1, param2, param3, param4, v0, v1, v2, v3, v4); +} + +static void sub_02060258 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0, v1; + int v2; + + v1 = param2; + v2 = sub_0205F108(param0); + + switch (v2) { + case 3: + { + int v3[4] = {2, 3, 1, 0}; + v1 = v3[param2]; + } + break; + case 4: + { + int v4[4] = {3, 2, 0, 1}; + v1 = v4[param2]; + } + break; + case 5: + { + int v5[4] = {1, 0, 3, 2}; + v1 = v5[param2]; + } + break; + } + + v0 = sub_02065838(v1, 0x28); + + sub_02060B64(param0, param1, v0, 1); + sub_02062994(param1, param2); +} + +static void sub_020602DC (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5) +{ + int v0; + + if (sub_0205EC88(param0) == 1) { + sub_0206078C(param0, param1, param2, param3, param4, param5); + } else { + sub_02060420(param0, param1, param2, param3, param4, param5); + } +} + +static void sub_02060324 (UnkStruct_0205E884 * param0, u16 param1) +{ + if (sub_0205EB74(param0) != 0x1) { + return; + } + + if ((param1 & PAD_BUTTON_B)) { + u32 v0 = sub_02062BE8(sub_0205EB3C(param0)); + + if (sub_0205DD90(v0) || sub_0205DD9C(v0)) { + return; + } + + { + int v1 = 1; + + if (sub_0205EC88(param0) == 1) { + v1 = 0; + } + + sub_0205EC78(param0, v1); + + if (v1 == 0) { + sub_02005748(1564); + } else { + sub_02005748(1561); + } + } + } +} + +int sub_02060390 (UnkStruct_0205E884 * param0, int param1) +{ + int v0; + + v0 = 0x4c; + + switch (sub_0205EBB8(param0)) { + case 1: + v0 = 0x10; + break; + case 2: + v0 = 0x50; + break; + case 3: + v0 = 0x14; + break; + } + + v0 = sub_02065838(param1, v0); + return v0; +} + +static int sub_020603BC (UnkStruct_0205E884 * param0) +{ + int v0 = sub_0205EBCC(param0, 1, 3); + + if (sub_0205EFB0(param0) == 0) { + if (v0 >= 2) { + sub_0205EF98(param0, 1); + } + } + + if (v0 == 3) { + return 1; + } + + return 0; +} + +static int sub_020603EC (UnkStruct_0205E884 * param0) +{ + int v0 = 1; + int v1 = sub_0205EBB8(param0); + + v1--; + + if (v1 < 0) { + v1 = 0; + v0 = 0; + } + + sub_0205EBBC(param0, v1); + + if (sub_0205EFB0(param0) == 1) { + if (v1 == 0) { + sub_0205EF98(param0, 0); + } + } + + return v0; +} + +static void sub_02060420 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5) +{ + int v0 = sub_02060494(param0, param3); + + switch (v0) { + case 0: + sub_02060548(param0, param1, param3, param4, param5); + break; + case 1: + sub_02060570(param0, param1, param3, param4, param5); + break; + case 2: + sub_02060688(param0, param1, param3, param4, param5); + break; + case 3: + sub_020606C8(param0, param1, param3, param4, param5); + break; + } +} + +static int sub_02060494 (UnkStruct_0205E884 * param0, int param1) +{ + int v0 = sub_020604E4(param0, param1); + int v1 = sub_020604B0(v0); + + sub_0205EB08(param0, v1); + return v0; +} + +static int sub_020604B0 (int param0) +{ + switch (param0) { + case 0: + return 0; + case 1: + return 1; + case 2: + return 2; + case 3: + return 1; + } + + GF_ASSERT(FALSE); + return 0; +} + +static int sub_020604E4 (UnkStruct_0205E884 * param0, int param1) +{ + int v0; + + if (param1 == -1) { + if (sub_0205EFB0(param0) == 1) { + sub_0205EB08(param0, 1); + return 3; + } + + sub_0205EB08(param0, 0); + return 0; + } + + v0 = sub_0205EA78(param0); + sub_0205EF98(param0, 0); + + if ((v0 != param1) && (sub_0205EB0C(param0) != 1)) { + sub_0205EB08(param0, 2); + return 2; + } + + sub_0205EB08(param0, 1); + return 1; +} + +static void sub_02060548 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0; + + v0 = sub_02065838(sub_0206298C(param1), 0x0); + + sub_02060B64(param0, param1, v0, 1); + sub_0205EBC0(param0); +} + +static void sub_02060570 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + u32 v0; + int v1; + int v2; + + v0 = sub_02060B7C(param0, param1, param2); + + if ((v0 & (1 << 2))) { + v1 = 0x38; + v2 = 3; + sub_020615C8(param0); + sub_0205F048(param0); + } else if ((v0 & (1 << 7))) { + v1 = 0x75; + v2 = 2; + sub_020615C8(param0); + sub_0205F048(param0); + } else if ((v0 & (1 << 4))) { + v1 = 0x50; + v2 = 5; + sub_020615C8(param0); + sub_0205F048(param0); + sub_0205EF40(param0, 1); + } else if ((v0 & (1 << 6))) { + v1 = 0x0; + v2 = 1; + param2 = sub_0206299C(param1); + sub_02062994(param1, param2); + sub_0205EBC0(param0); + sub_0205EBEC(param0, -1, -1); + } else if (v0 != 0) { + if (sub_020615E0(param0, param1, param2) == 0) { + v1 = 0x1c; + v2 = 1; + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } else { + v1 = 0x0; + v2 = 1; + param2 = sub_0206299C(param1); + sub_02062994(param1, param2); + sub_0205EBC0(param0); + sub_0205EBEC(param0, -1, -1); + } + } else { + v1 = 0x50; + v2 = 5; + sub_020615C8(param0); + sub_0205F048(param0); + sub_0205EBBC(param0, 2); + } + + v1 = sub_02065838(param2, v1); + sub_02060B64(param0, param1, v1, v2); +} + +static void sub_02060688 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + sub_0205EBC0(param0); + + if (sub_020615E0(param0, param1, param2) == 1) { + (void)0; + } else { + int v0 = sub_02065838(param2, 0x28); + + sub_02060B64(param0, param1, v0, 1); + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } +} + +static void sub_020606C8 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + u32 v0; + int v1; + int v2, v3 = sub_020603EC(param0); + + param2 = sub_0205EA94(param0); + v0 = sub_02060B7C(param0, param1, param2); + + if ((v0 & (1 << 2))) { + v2 = sub_02065838(param2, 0x38); + v1 = 3; + } else if ((v0 & (1 << 7))) { + v2 = sub_02065838(param2, 0x75); + v1 = 2; + } else if ((v0 & (1 << 6))) { + v2 = sub_02065838(param2, 0x0); + v1 = 1; + sub_0205EBC0(param0); + } else if (v0 != 0) { + v3 = 0; + v2 = sub_02065838(param2, 0x1c); + v1 = 1; + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } else { + v2 = sub_02060390(param0, param2); + v1 = 5; + } + + if (v3 == 0) { + sub_0205EF98(param0, 0); + } + + sub_02060B64(param0, param1, v2, v1); +} + +static void sub_0206078C (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, const UnkStruct_ov5_021E8F60 * param2, int param3, u16 param4, u16 param5) +{ + int v0 = sub_02060800(param0, param3); + + switch (v0) { + case 0: + sub_020608BC(param0, param1, param3, param4, param5); + break; + case 1: + sub_020608E4(param0, param1, param3, param4, param5); + break; + case 2: + sub_02060A60(param0, param1, param3, param4, param5); + break; + case 3: + sub_02060AA0(param0, param1, param3, param4, param5); + break; + } +} + +static int sub_02060800 (UnkStruct_0205E884 * param0, int param1) +{ + int v0 = sub_02060850(param0, param1); + int v1 = sub_0206081C(v0); + + sub_0205EB08(param0, v1); + return v0; +} + +static int sub_0206081C (int param0) +{ + switch (param0) { + case 0: + return 0; + case 1: + return 1; + case 2: + return 2; + case 3: + return 1; + } + + GF_ASSERT(FALSE); + return 0; +} + +static int sub_02060850 (UnkStruct_0205E884 * param0, int param1) +{ + int v0, v1; + + v1 = sub_0205EBB8(param0); + + if (param1 == -1) { + if (v1 < 2) { + sub_0205EB08(param0, 0); + return 0; + } + + sub_0205EB08(param0, 1); + return 3; + } + + v0 = sub_0205EA78(param0); + + if ((v0 != param1) && (sub_0205EB0C(param0) != 1)) { + if (v1 < 2) { + sub_0205EB08(param0, 2); + return 2; + } + + sub_0205EB08(param0, 1); + return 3; + } + + sub_0205EB08(param0, 1); + return 1; +} + +static void sub_020608BC (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + int v0; + + v0 = sub_02065838(sub_0206298C(param1), 0x0); + + sub_02060B64(param0, param1, v0, 1); + sub_0205EBC0(param0); +} + +static void sub_020608E4 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + u32 v0; + int v1; + int v2; + + v0 = sub_02060B7C(param0, param1, param2); + + if ((v0 & (1 << 2))) { + v1 = sub_02065838(param2, 0x38); + v2 = 3; + sub_020603BC(param0); + sub_020615C8(param0); + sub_0205F048(param0); + } else if ((v0 & (1 << 7))) { + v1 = sub_02065838(param2, 0x75); + v2 = 2; + sub_020603BC(param0); + sub_020615C8(param0); + sub_0205F048(param0); + } else if ((v0 & (1 << 4))) { + if (sub_0205EBB8(param0) >= 3) { + v1 = sub_02060390(param0, param2); + v2 = 5; + sub_0205F048(param0); + sub_0205EF40(param0, 1); + } else { + v1 = sub_02065838(param2, 0x1c); + v2 = 1; + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } + } else if ((v0 & (1 << 6))) { + param2 = sub_0206299C(param1); + v1 = sub_02065838(param2, 0x0); + v2 = 1; + sub_02062994(param1, param2); + sub_0205EBC0(param0); + sub_0205EBEC(param0, -1, -1); + } else if (v0 != 0) { + if (sub_020615E0(param0, param1, param2) == 0) { + v1 = sub_02065838(param2, 0x1c); + v2 = 1; + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } else { + v2 = 1; + param2 = sub_0206299C(param1); + v1 = sub_02065838(param2, 0x0); + sub_02062994(param1, param2); + sub_0205EBC0(param0); + sub_0205EBEC(param0, -1, -1); + } + } else { + v2 = 5; + v1 = sub_02060390(param0, param2); + sub_020603BC(param0); + sub_020615C8(param0); + sub_0205F048(param0); + } + + sub_02060B64(param0, param1, v1, v2); +} + +static void sub_02060A60 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + sub_0205EBC0(param0); + + if (sub_020615E0(param0, param1, param2) == 1) { + (void)0; + } else { + int v0 = sub_02065838(param2, 0x28); + + sub_02060B64(param0, param1, v0, 1); + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } +} + +static void sub_02060AA0 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2, u16 param3, u16 param4) +{ + u32 v0; + int v1; + int v2, v3 = sub_020603EC(param0); + + param2 = sub_0205EA94(param0); + v0 = sub_02060B7C(param0, param1, param2); + + if ((v0 & (1 << 2))) { + v2 = sub_02065838(param2, 0x38); + v1 = 3; + } else if ((v0 & (1 << 7))) { + v2 = sub_02065838(param2, 0x75); + v1 = 2; + } else if ((v0 & (1 << 6))) { + v2 = sub_02065838(param2, 0x0); + v1 = 1; + sub_0205EBC0(param0); + } else if (v0 != 0) { + v3 = 0; + v1 = 1; + v2 = sub_02065838(param2, 0x1c); + + if ((v0 & (1 << 3)) == 0) { + sub_02005748(1537); + } + + sub_02062994(param1, param2); + sub_0205EBC0(param0); + } else { + v2 = sub_02060390(param0, param2); + v1 = 5; + } + + if (v3 == 0) { + sub_0205EF98(param0, 0); + } + + sub_02060B64(param0, param1, v2, v1); +} + +static void sub_02060B64 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, u32 param2, int param3) +{ + sub_0205EC20(param0, param2, param3); + sub_02065638(param1, param2); +} + +u32 sub_02060B7C (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + u32 v0, v1; + + v0 = 0; + v1 = sub_02060C24(param0, param1, param2); + + if ((v1 & ((1 << 1) | (1 << 3)))) { + v0 |= (1 << 0); + + if (sub_02060E40(param0, param1, param2)) { + v0 |= (1 << 3); + } + } + + if ((v1 & (1 << 2))) { + v0 |= (1 << 1); + } + + if (sub_02060CE4(param0, param1, param2)) { + v0 |= (1 << 2); + } + + if (sub_02060D98(param0, param1, param2)) { + v0 |= (1 << 7); + } + + if (sub_02060EE4(param0, param1, param2) == 1) { + v0 |= (1 << 4); + } + + if (sub_02060F4C(param0, param1, param2) == 1) { + v0 |= (1 << 5); + } + + if (sub_02060FA8(param0, param1, param2) == 1) { + v0 |= (1 << 6) | (1 << 0); + } + + if (sub_02061058(param0, param1, param2) == 1) { + v0 |= (1 << 0); + } + + return v0; +} + +static u32 sub_02060C24 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + VecFx32 v0; + u32 v1, v2; + int v3 = sub_02063020(param1) + sub_0206419C(param2); + int v4 = sub_02063030(param1); + int v5 = sub_02063040(param1) + sub_020641A8(param2); + + sub_02063050(param1, &v0); + + v1 = 0; + + if (sub_02063FAC(param1, v3, v4, v5) == 1) { + v1 |= (1 << 0); + } + + { + s8 v6; + UnkStruct_0203CDB0 * v7 = sub_02062C00(param1); + + if (sub_0205507C(v7, &v0, v3, v5, &v6) == 1) { + v1 |= (1 << 1); + + if (v6 != 0) { + v1 |= (1 << 3); + } + } + } + + if (sub_02064004(param1, v3, v5, param2) == 1) { + v1 |= (1 << 1); + } + + if (sub_02063F00(param1, v3, v4, v5) == 1) { + v1 |= (1 << 2); + } + + return v1; +} + +static int sub_02060CE4 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + int v1 = sub_02063020(param1) + sub_0206419C(param2); + int v2 = sub_02063040(param1) + sub_020641A8(param2); + + if (sub_020683D8(v0, v1, v2, 0, param2) == 1) { + return 1; + } + + { + u8 v3 = sub_02054F94(v0, v1, v2); + + switch (param2) { + case 0: + if (sub_0205DB84(v3) == 1) { + return 1; + } + break; + case 1: + if (sub_0205DB90(v3) == 1) { + return 1; + } + break; + case 2: + if (sub_0205DB9C(v3) == 1) { + return 1; + } + break; + case 3: + if (sub_0205DBA8(v3) == 1) { + return 1; + } + break; + } + } + } + + return 0; +} + +static int sub_02060D98 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + BOOL v0 = 0; + + if (param2 != -1) { + UnkStruct_0203CDB0 * v1 = sub_02062C00(param1); + int v2 = sub_02063020(param1) + sub_0206419C(param2); + int v3 = sub_02063040(param1) + sub_020641A8(param2); + u8 v4 = sub_02054F94(v1, v2, v3); + + switch (param2) { + case 0: + v0 = sub_0205DBB4(v4); + break; + case 1: + v0 = sub_0205DBC0(v4); + break; + case 2: + v0 = sub_0205DBCC(v4); + break; + case 3: + v0 = sub_0205DBD8(v4); + break; + } + + if (v0 == 1) { + if (sub_02071CB4(v1, 9) == 1) { + if (ov9_022511A0(v1, v2, v3, param2) == 1) { + v0 = 0; + } + } + } + } + + return v0; +} + +static int sub_02060E40 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + int v1 = sub_02063020(param1); + int v2 = sub_02063040(param1); + u8 v3 = sub_02054F94(v0, v1, v2); + + switch (param2) { + case 0: + if (sub_0205DB10(v3) == 1) { + return 1; + } + break; + case 1: + if (sub_0205DB1C(v3) == 1) { + return 1; + } + break; + case 2: + if (sub_0205DB04(v3) == 1) { + return 1; + } + break; + case 3: + if (sub_0205DAF8(v3) == 1) { + return 1; + } + break; + } + + v1 += sub_0206419C(param2); + v2 += sub_020641A8(param2); + v3 = sub_02054F94(v0, v1, v2); + + if (sub_0205DAEC(v3) == 1) { + return 1; + } + } + + return 0; +} + +static int sub_02060EE4 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + int v1 = sub_02063020(param1) + sub_0206419C(param2); + int v2 = sub_02063040(param1) + sub_020641A8(param2); + u8 v3 = sub_02054F94(v0, v1, v2); + + if ((param2 == 3) && sub_0205DD90(v3)) { + return 1; + } + + if ((param2 == 2) && sub_0205DD9C(v3)) { + return 1; + } + } + + return 0; +} + +static int sub_02060F4C (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + int v1 = sub_02063020(param1) + sub_0206419C(param2); + int v2 = sub_02063040(param1) + sub_020641A8(param2); + u8 v3 = sub_02054F94(v0, v1, v2); + + if (sub_0206406C(param1, v3)) { + return 1; + } + } + + return 0; +} + +static int sub_02060FA8 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + int v1 = sub_02063020(param1) + sub_0206419C(param2); + int v2 = sub_02063040(param1) + sub_020641A8(param2); + u8 v3 = sub_02054F94(v0, v1, v2); + + if (sub_0205EB74(param0) == 0x1) { + if (sub_0206415C(param1, v3) == 1) { + if ((param2 == 0) || (param2 == 1)) { + return 0; + } + + return 1; + } + + if (sub_0206417C(param1, v3) == 1) { + if ((param2 == 2) || (param2 == 3)) { + return 0; + } + + return 1; + } + } else { + if ((sub_0206415C(param1, v3) == 1) || (sub_0206417C(param1, v3) == 1)) { + return 1; + } + } + } + + return 0; +} + +static int sub_02061058 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if ((param2 != -1) && (sub_0205EB74(param0) == 0x1)) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + int v1 = sub_02063020(param1) + sub_0206419C(param2); + int v2 = sub_02063040(param1) + sub_020641A8(param2); + u8 v3 = sub_02054F94(v0, v1, v2); + + if (sub_0206406C(param1, v3)) { + return 1; + } + + if (sub_020640D4(param1, v3)) { + return 1; + } + + if (sub_0205DAD4(v3)) { + return 1; + } + + if (sub_0205DCE0(v3)) { + return 1; + } + + if (sub_0205DCFC(v3)) { + return 1; + } + } + + return 0; +} + +static int sub_02061100 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + u32 v0 = 0; + UnkStruct_0203CDB0 * v1 = sub_02062C00(param1); + + if (sub_02071CB4(v1, 9) == 1) { + int v2 = sub_02063020(param1); + int v3 = ((sub_02063030(param1) / 2)); + int v4 = sub_02063040(param1); + + sub_02061674(param0, param2, &v2, &v3, &v4); + + if (ov9_02250F90(v1, v2, v3, v4) == 1) { + v0 |= (1 << 1); + } + + v3 = ((v3) * 2); + + if (sub_02063F00(param1, v2, v3, v4) == 1) { + v0 |= (1 << 2); + } + } + + return v0; +} + +static int sub_02061180 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + UnkStruct_0203CDB0 * v0 = sub_02062C00(param1); + + if (sub_02071CB4(v0, 9) == 1) { + BOOL v1; + u32 v2; + int v3 = sub_02063020(param1); + int v4 = ((sub_02063030(param1) / 2)); + int v5 = sub_02063040(param1); + + sub_02061674(param0, param2, &v3, &v4, &v5); + + v1 = ov9_02251044(v0, v3, v4, v5, &v2); + + if (sub_0205DB58(v2)) { + return 1; + } + } + } + + return 0; +} + +u32 sub_020611FC (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + u32 v0, v1 = 0; + + v0 = sub_02061100(param0, param1, param2); + + if ((v0 & ((1 << 1) | (1 << 3)))) { + v1 |= (1 << 0); + } + + if ((v0 & (1 << 2))) { + v1 |= (1 << 1); + } + + if (sub_02061180(param0, param1, param2) == 1) { + v1 |= (1 << 5); + } + + if (sub_02061248(param0, param1, param2) == 1) { + v1 |= (1 << 7); + } + + return v1; +} + +static int sub_02061248 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + BOOL v0 = 0; + + if ((param2 != -1) && (sub_0205F108(param0) == 2)) { + UnkStruct_0203CDB0 * v1 = sub_02062C00(param1); + + if (sub_02071CB4(v1, 9) == 1) { + u32 v2; + int v3 = sub_02063020(param1); + int v4 = ((sub_02063030(param1) / 2)); + int v5 = sub_02063040(param1); + + sub_02061674(param0, param2, &v3, &v4, &v5); + + v0 = ov9_02251044(v1, v3, v4, v5, &v2); + + switch (param2) { + case 0: + v0 = sub_0205DBB4(v2); + break; + case 1: + v0 = sub_0205DBC0(v2); + break; + case 2: + v0 = sub_0205DBCC(v2); + break; + case 3: + v0 = sub_0205DBD8(v2); + break; + } + } + } + + return v0; +} + +int sub_02061308 (UnkStruct_0205E884 * param0, u16 param1, u16 param2) +{ + return sub_02061348(param0, param1, param2); +} + +static int sub_02061310 (u16 param0) +{ + if ((param0 & PAD_KEY_LEFT)) { + return(2); + } + + if ((param0 & PAD_KEY_RIGHT)) { + return(3); + } + + return(-1); +} + +static int sub_0206132C (u16 param0) +{ + if ((param0 & PAD_KEY_UP)) { + return(0); + } + + if ((param0 & PAD_KEY_DOWN)) { + return(1); + } + + return(-1); +} + +static int sub_02061348 (UnkStruct_0205E884 * param0, u16 param1, u16 param2) +{ + int v0 = sub_02061310(param2); + int v1 = sub_0206132C(param2); + + if (v0 == -1) { + return v1; + } + + if (v1 == -1) { + return v0; + } + + { + int v2 = sub_0205EA94(param0); + int v3 = sub_0205EBE0(param0); + int v4 = sub_0205EBE8(param0); + + if (v2 != -1) { + if ((v0 == v3) && (v1 == v4)) { + return v2; + } + + if (v1 != v4) { + return v1; + } + + return v0; + } + + return v1; + } + + return(-1); +} + +int sub_020613AC (UnkStruct_0205E884 * param0) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + + if (sub_020655F4(v0) == 1) { + return 1; + } + + { + int v1 = sub_02062BB8(v0); + + if (sub_020613D8(v1) == 1) { + return 1; + } + } + + return 0; +} + +static int sub_020613D8 (int param0) +{ + switch (param0) { + case 0x1c: + case 0x1d: + case 0x1e: + case 0x1f: + return 1; + } + + return 0; +} + +int sub_020613FC (UnkStruct_0205E884 * param0, u16 param1) +{ + if ((param1 & PAD_BUTTON_B)) { + return 1; + } + + return 0; +} + +int sub_0206140C (UnkStruct_0205E884 * param0) +{ + u32 v0 = sub_0205EC14(param0); + + switch (v0) { + case 0x58: + case 0x59: + case 0x5a: + case 0x5b: + return 1; + } + + return 0; +} + +int sub_02061434 (UnkStruct_0205E884 * param0, int param1) +{ + int v0, v1, v2 = sub_0205EB74(param0); + + switch (v2) { + case 0x0: + case 0x2: + v0 = sub_0205FCC0(param0, param1); + v1 = sub_0205FC64(v0); + break; + case 0x1: + if (sub_0205EC88(param0) == 1) { + v0 = sub_02060850(param0, param1); + v1 = sub_0206081C(v0); + } else { + v0 = sub_02060850(param0, param1); + v1 = sub_0206081C(v0); + } + + break; + default: + v1 = 0; + GF_ASSERT(FALSE); + } + + return v1; +} + +u32 sub_0206147C (UnkStruct_0205E884 * param0, u16 param1, u16 param2, int param3, int param4, int param5) +{ + u32 v0; + int v1 = sub_02061348(param0, param1, param2); + int v2 = sub_02061434(param0, v1); + + sub_0205EB08(param0, v2); + + if (v2 == 0) { + v1 = sub_0205EA78(param0); + v0 = sub_02065838(v1, 0x0); + return v0; + } + + if (v2 == 2) { + v0 = sub_02065838(v1, 0x28); + return v0; + } + + { + UnkStruct_02061AB4 * v3 = sub_0205EB3C(param0); + u32 v4 = param5; + + if ((v4 & (1 << 2))) { + v0 = 0x38; + } else if ((v4 & (1 << 7))) { + v0 = 0x75; + } else if (v4 != 0) { + v0 = 0x1c; + + if ((v4 & (1 << 3)) == 0) { + sub_02005748(1537); + } + } else { + switch (param3) { + case 0: + v0 = 0x4; + break; + case 1: + v0 = 0x8; + break; + case 2: + v0 = 0xc; + break; + case 3: + v0 = 0x4c; + break; + case 4: + v0 = 0x10; + break; + case 5: + v0 = 0x14; + break; + default: + v0 = 0x4; + } + + if ((param4 == 1) && (sub_020613FC(param0, param2) == 1)) { + v0 = 0x58; + } + } + + v0 = sub_02065838(v1, v0); + return v0; + } + + return 0xff; +} + +int sub_02061544 (UnkStruct_0205E884 * param0) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + return sub_020655F4(v0); +} + +void sub_02061550 (UnkStruct_0205E884 * param0, u32 param1, int param2) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + sub_02060B64(param0, v0, param1, param2); +} + +u32 sub_0206156C (UnkStruct_0205E884 * param0, int param1) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + return sub_02064238(v0, param1); +} + +void sub_0206157C (UnkStruct_0205E884 * param0, int param1, int * param2, int * param3) +{ + *param2 = sub_0205EABC(param0) + sub_0206419C(param1); + *param3 = sub_0205EAC8(param0) + sub_020641A8(param1); +} + +void sub_020615AC (UnkStruct_0205E884 * param0, int * param1, int * param2) +{ + int v0 = sub_0205EA78(param0); + sub_0206157C(param0, v0, param1, param2); +} + +static void sub_020615C8 (UnkStruct_0205E884 * param0) +{ + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + UnkStruct_0203CDB0 * v1 = sub_02062C00(v0); + UnkStruct_0202CD88 * v2 = sub_0202CD88(v1->unk_0C); + + sub_0202CF28(v2, (0 + 0)); +} + +static int sub_020615E0 (UnkStruct_0205E884 * param0, UnkStruct_02061AB4 * param1, int param2) +{ + if (param2 != -1) { + u8 v0 = sub_02062BE8(param1); + + if (sub_0206415C(param1, v0) == 1) { + if ((param2 == 0) || (param2 == 1)) { + return 0; + } + + return 1; + } + + if (sub_0206417C(param1, v0) == 1) { + if ((param2 == 2) || (param2 == 3)) { + return 0; + } + + return 1; + } + } + + return 0; +} + +static int sub_02061630 (UnkStruct_0205E884 * param0, u32 param1, int param2) +{ + if (param2 != -1) { + return 0; + } + + if (sub_0205EB74(param0) != 0x1) { + return 0; + } + + if (sub_0205EFDC(param0) == 0) { + return 0; + } + + { + UnkStruct_02061AB4 * v0 = sub_0205EB3C(param0); + + if (sub_0206413C(v0, param1) == 1) { + return 1; + } + } + + return 0; +} + +void sub_02061674 (UnkStruct_0205E884 * param0, int param1, int * param2, int * param3, int * param4) +{ + const UnkStruct_020EDB04 * v0; + int v1 = sub_0205F108(param0); + + switch (v1) { + case 0: + case 1: + case 2: + v0 = &Unk_020EDB04[param1]; + break; + case 3: + v0 = &Unk_020EDB24[param1]; + break; + case 4: + v0 = &Unk_020EDB44[param1]; + break; + case 5: + v0 = &Unk_020EDB64[param1]; + break; + default: + return; + } + + (*param2) += v0->unk_00; + (*param3) += v0->unk_02; + (*param4) += v0->unk_04; +} + +u32 sub_020616F0 (UnkStruct_0205E884 * param0, int param1) +{ + u32 v0; + + if (sub_0205F158(param0) == 0) { + v0 = sub_0206156C(param0, param1); + } else { + UnkStruct_02061AB4 * v1 = sub_0205EB3C(param0); + UnkStruct_0203CDB0 * v2 = sub_02062C00(v1); + int v3 = sub_02063020(v1); + int v4 = ((sub_02063030(v1) / 2)); + int v5 = sub_02063040(v1); + + sub_02061674(param0, param1, &v3, &v4, &v5); + ov9_02251044(v2, v3, v4, v5, &v0); + } + + return v0; +} + +u32 sub_02061760 (UnkStruct_0205E884 * param0) +{ + u32 v0; + UnkStruct_02061AB4 * v1 = sub_0205EB3C(param0); + UnkStruct_0203CDB0 * v2 = sub_02062C00(v1); + int v3 = sub_02063020(v1); + int v4 = ((sub_02063030(v1) / 2)); + int v5 = sub_02063040(v1); + + if (sub_0205F158(param0) == 0) { + v0 = sub_02054F94(v2, v3, v5); + } else { + ov9_02251044(v2, v3, v4, v5, &v0); + } + + return v0; +} + +void sub_020617BC (UnkStruct_0205E884 * const param0, int * param1, int * param2, int * param3) +{ + int v0 = sub_0205EAA0(param0); + UnkStruct_02061AB4 * v1 = sub_0205EB3C(param0); + + *param1 = sub_02063020(v1); + *param2 = ((sub_02063030(v1) / 2)); + *param3 = sub_02063040(v1); + + sub_02061674(param0, v0, param1, param2, param3); +} diff --git a/src/unk_0206A8DC.c b/src/unk_0206A8DC.c new file mode 100644 index 0000000000..53590996a1 --- /dev/null +++ b/src/unk_0206A8DC.c @@ -0,0 +1,513 @@ +#include +#include + +#include "struct_decls/struct_020507E4_decl.h" + +#include "unk_0201378C.h" +#include "unk_020507CC.h" +#include "unk_0206A8DC.h" + +static void sub_0206A8DC(UnkStruct_020507E4 * param0, u16 param1); +static void sub_0206A8E4(UnkStruct_020507E4 * param0, u16 param1); +static BOOL sub_0206A8EC(UnkStruct_020507E4 * param0, u16 param1); +static BOOL sub_0206A8F4(UnkStruct_020507E4 * param0, int param1, u32 param2); + +static void sub_0206A8DC (UnkStruct_020507E4 * param0, u16 param1) +{ + sub_0205081C(param0, param1); + return; +} + +static void sub_0206A8E4 (UnkStruct_020507E4 * param0, u16 param1) +{ + sub_02050844(param0, param1); + return; +} + +static BOOL sub_0206A8EC (UnkStruct_020507E4 * param0, u16 param1) +{ + return sub_020507F0(param0, param1); +} + +static BOOL sub_0206A8F4 (UnkStruct_020507E4 * param0, int param1, u32 param2) +{ + switch (param1) { + case 1: + sub_0206A8DC(param0, param2); + break; + case 0: + sub_0206A8E4(param0, param2); + break; + case 2: + return sub_0206A8EC(param0, param2); + default: + GF_ASSERT(0); + } + + return 0; +} + +void sub_0206A92C (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 0)); + return; +} + +BOOL sub_0206A938 (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 0)); +} + +void sub_0206A944 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 4)); + return; +} + +BOOL sub_0206A954 (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 4)); +} + +void sub_0206A964 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 1)); + return; +} + +void sub_0206A974 (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 1)); + return; +} + +BOOL sub_0206A984 (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 1)); +} + +void sub_0206A994 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 5)); + return; +} + +void sub_0206A9A4 (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 5)); + return; +} + +BOOL sub_0206A9B4 (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 5)); +} + +void sub_0206A9C4 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 13)); + return; +} + +void sub_0206A9D4 (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 13)); + return; +} + +BOOL sub_0206A9E4 (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 13)); +} + +void sub_0206A9F4 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 14)); + return; +} + +void sub_0206AA04 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 15)); + return; +} + +void sub_0206AA14 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 16)); + return; +} + +void sub_0206AA20 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 17)); + return; +} + +void sub_0206AA30 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 18)); + return; +} + +void sub_0206AA40 (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 19)); + return; +} + +void sub_0206AA50 (UnkStruct_020507E4 * param0, int param1) +{ + switch (param1) { + case 0: + sub_0206A8DC(param0, (2400 + 8)); + break; + case 1: + sub_0206A8DC(param0, (2400 + 9)); + break; + case 2: + sub_0206A8DC(param0, (2400 + 10)); + break; + case 3: + sub_0206A8DC(param0, (2400 + 11)); + break; + case 4: + sub_0206A8DC(param0, (2400 + 12)); + break; + } + + return; +} + +BOOL sub_0206AAA8 (UnkStruct_020507E4 * param0, int param1) +{ + int v0; + + switch (param1) { + case 0: + v0 = sub_0206A8EC(param0, (2400 + 8)); + break; + case 1: + v0 = sub_0206A8EC(param0, (2400 + 9)); + break; + case 2: + v0 = sub_0206A8EC(param0, (2400 + 10)); + break; + case 3: + v0 = sub_0206A8EC(param0, (2400 + 11)); + break; + case 4: + v0 = sub_0206A8EC(param0, (2400 + 12)); + break; + } + + return v0; +} + +BOOL sub_0206AB00 (UnkStruct_020507E4 * param0, int param1) +{ + int v0 = 0; + + switch (param1) { + case 1: + v0 = sub_0206A8EC(param0, (2400 + 31)); + break; + case 2: + v0 = sub_0206A8EC(param0, (2400 + 32)); + break; + case 3: + v0 = sub_0206A8EC(param0, (2400 + 33)); + break; + case 4: + v0 = sub_0206A8EC(param0, (2400 + 34)); + break; + case 5: + v0 = sub_0206A8EC(param0, (2400 + 35)); + break; + } + + return v0; +} + +u16 sub_0206AB68 (UnkStruct_020507E4 * param0, int param1) +{ + u16 v0 = 0; + + switch (param1) { + case 314: + if (sub_0206A8EC(param0, (2400 + 36)) == 1) { + v0 = 1070; + } + break; + case 316: + if (sub_0206A8EC(param0, (2400 + 36)) == 1) { + v0 = 1065; + } + break; + case 312: + if (sub_0206A8EC(param0, (2400 + 46)) == 1) { + v0 = 1070; + } + break; + case 318: + if (sub_0206A8EC(param0, (2400 + 47)) == 1) { + v0 = 1070; + } + break; + case 251: + if (sub_0206A8EC(param0, (2400 + 53)) == 1) { + v0 = 1069; + } + break; + case 422: + if (sub_0206A8EC(param0, (2400 + 51)) == 1) { + v0 = 1098; + } + break; + case 305: + case 306: + case 307: + case 308: + case 309: + case 310: + case 494: + case 497: + if (sub_0206A8EC(param0, (2400 + 37)) == 1) { + if (sub_02013948() == 0) { + v0 = 1016; + } else { + v0 = 1045; + } + break; + } + + if (param1 == 305) { + if (sub_0206A8EC(param0, (2400 + 38)) == 1) { + v0 = 1067; + } + } + break; + case 72: + case 73: + case 74: + case 75: + if (sub_0206A8EC(param0, (2400 + 39)) == 1) { + if (sub_02013948() == 0) { + v0 = 1013; + } else { + v0 = 1042; + } + } + break; + case 201: + if (sub_0206A8EC(param0, (2400 + 40)) == 1) { + if (sub_02013948() == 0) { + v0 = 1023; + } else { + v0 = 1052; + } + } + break; + case 256: + if (sub_0206A8EC(param0, (2400 + 41)) == 1) { + if (sub_02013948() == 0) { + v0 = 1006; + } else { + v0 = 1035; + } + } + break; + case 399: + if (sub_0206A8EC(param0, (2400 + 42)) == 1) { + if (sub_02013948() == 0) { + v0 = 1006; + } else { + v0 = 1035; + } + } + break; + case 185: + if (sub_0206A8EC(param0, (2400 + 43)) == 1) { + v0 = 1001; + } + break; + } + + return v0; +} + +void sub_0206AD9C (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 6)); + return; +} + +void sub_0206ADAC (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 6)); + return; +} + +BOOL sub_0206ADBC (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 6)); +} + +BOOL sub_0206ADCC (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 24)); +} + +BOOL sub_0206ADDC (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 50)); +} + +BOOL sub_0206ADEC (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 29)); +} + +BOOL sub_0206ADFC (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 30)); +} + +void sub_0206AE0C (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 28)); +} + +void sub_0206AE1C (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 28)); +} + +BOOL sub_0206AE2C (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 28)); +} + +void sub_0206AE3C (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 7)); +} + +void sub_0206AE4C (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 7)); +} + +BOOL sub_0206AE5C (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 7)); +} + +void sub_0206AE6C (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 25)); +} + +void sub_0206AE7C (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 25)); +} + +BOOL sub_0206AE8C (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 25)); +} + +void sub_0206AE9C (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 52)); +} + +BOOL sub_0206AEAC (UnkStruct_020507E4 * param0, int param1) +{ + return sub_0206A8F4(param0, param1, (2400 + 2)); +} + +void sub_0206AEBC (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 26)); +} + +void sub_0206AECC (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 26)); +} + +BOOL sub_0206AEDC (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 26)); +} + +void sub_0206AEEC (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 27)); +} + +void sub_0206AEFC (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 27)); +} + +BOOL sub_0206AF0C (UnkStruct_020507E4 * param0) +{ + return sub_0206A8EC(param0, (2400 + 27)); +} + +BOOL sub_0206AF1C (UnkStruct_020507E4 * param0, int param1) +{ + return sub_0206A8F4(param0, param1, (2400 + 54)); +} + +BOOL sub_0206AF2C (UnkStruct_020507E4 * param0, int param1) +{ + return sub_0206A8F4(param0, param1, (2400 + 3)); +} + +BOOL sub_0206AF3C (UnkStruct_020507E4 * param0, int param1, u32 param2) +{ + GF_ASSERT(param2 < 69); + return sub_0206A8F4(param0, param1, (2400 + 80) + param2); +} + +void sub_0206AF5C (UnkStruct_020507E4 * param0) +{ + sub_0206A8DC(param0, (2400 + 44)); +} + +BOOL sub_0206AF6C (UnkStruct_020507E4 * param0, int param1, int param2) +{ + GF_ASSERT(param2 < 20); + return sub_0206A8F4(param0, param1, (2400 + 55) + param2); +} + +void sub_0206AF90 (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 75)); + return; +} + +void sub_0206AFA0 (UnkStruct_020507E4 * param0) +{ + sub_0206A8E4(param0, (2400 + 76)); + return; +} + +BOOL sub_0206AFB0 (UnkStruct_020507E4 * param0, int param1, int param2) +{ + return sub_0206A8F4(param0, param1, (2400 + 78) + param2); +} + +BOOL sub_0206AFC0 (UnkStruct_020507E4 * param0, int param1) +{ + return sub_0206A8F4(param0, param1, (2400 + 77)); +} + +BOOL sub_0206AFD0 (UnkStruct_020507E4 * param0) +{ + return sub_0206A8F4(param0, 2, (2400 + 23)); +}