From 3ab5bf6de9d616f4ed1a3823c836c7c9d63615cf Mon Sep 17 00:00:00 2001 From: Yanis <35189056+Yanis002@users.noreply.github.com> Date: Tue, 3 Feb 2026 19:59:20 +0100 Subject: [PATCH] Misc things (#30) * match random init * UnkSystem2_UnkSubSystem1_Derived1 related docs * match func_ov031_020e9108 and FileSelect_UnkClass7::vfunc_00 * improve func_02017ea4 * rename next functions * actor rupee improvements * update gitignore * fix broken match * fileselectmain improvements * fix broken match * more misc progress * fix build issues * fix regressions --- .gitignore | 1 + config/eur/arm9/delinks.txt | 3 + config/eur/arm9/overlays/ov000/symbols.txt | 20 +- config/eur/arm9/overlays/ov017/symbols.txt | 8 +- config/eur/arm9/overlays/ov019/symbols.txt | 4 +- config/eur/arm9/overlays/ov031/relocs.txt | 226 ++++----- config/eur/arm9/overlays/ov031/symbols.txt | 8 +- config/eur/arm9/symbols.txt | 8 +- config/jp/arm9/delinks.txt | 3 + config/jp/arm9/overlays/ov000/symbols.txt | 20 +- config/jp/arm9/overlays/ov017/symbols.txt | 8 +- config/jp/arm9/overlays/ov019/symbols.txt | 4 +- config/jp/arm9/overlays/ov031/relocs.txt | 302 ++++++------ config/jp/arm9/overlays/ov031/symbols.txt | 8 +- config/jp/arm9/symbols.txt | 8 +- include/Actor/Actor.hpp | 17 +- include/Actor/ActorRupee.hpp | 13 +- include/Actor/ActorUnk_ov000_020a8bb0.hpp | 5 +- include/FileSelect/FileSelect.hpp | 37 +- include/FileSelect/FileSelectMain.hpp | 8 - include/FileSelect/FileSelectMicTest.hpp | 6 +- include/FileSelect/FileSelectOptions.hpp | 4 - include/FileSelect/UnkSubStruct9.hpp | 1 - include/Game/GameModeManager.hpp | 4 +- include/System/Random.hpp | 58 ++- include/Unknown/Common.hpp | 428 ++++++++++++++---- include/global.h | 3 + src/000_Second/Actor/Actor.cpp | 4 +- .../Actor/ActorUnk_ov000_020a8bb0.cpp | 2 +- src/018_StartUp/GameModeStartUp.cpp | 4 +- src/019_MainSelect/019_UnkSubStruct9.cpp | 119 ++--- src/019_MainSelect/FileSelectMain.cpp | 145 +++--- src/019_MainSelect/FileSelectManager.cpp | 6 +- src/019_MainSelect/FileSelectMicTest.cpp | 4 +- src/019_MainSelect/FileSelectOptions.cpp | 54 +-- src/019_MainSelect/FileSelectSubScreen.cpp | 76 ++-- src/031_Land/Actor/ActorRupee.cpp | 118 ++++- src/Main/Game/GameModeManagerBase.cpp | 12 +- src/Main/System/Random.cpp | 19 + src/Main/func_02017ea4.cpp | 4 +- tools/configure.py | 1 + 41 files changed, 1063 insertions(+), 720 deletions(-) create mode 100644 src/Main/System/Random.cpp diff --git a/.gitignore b/.gitignore index 3039bf43..912e5503 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,4 @@ build.ninja .ninja_deps /wibo m2c*.c +nonmatchings/ diff --git a/config/eur/arm9/delinks.txt b/config/eur/arm9/delinks.txt index 6db78823..60a25a92 100644 --- a/config/eur/arm9/delinks.txt +++ b/config/eur/arm9/delinks.txt @@ -19,6 +19,9 @@ src/Main/Player/TouchControl.cpp: src/Main/System/OverlayManager.cpp: .text start:0x020147fc end:0x02014944 +src/Main/System/Random.cpp: + .text start:0x02016384 end:0x02016404 + src/Main/Game/GameModeLinkListNode.cpp: complete .text start:0x0201667c end:0x02016720 diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 89d6f56f..2e3112aa 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -435,8 +435,8 @@ _ZN14UnkSubStruct1919func_ov000_02060b50Ev kind:function(arm,size=0x14) addr:0x0 _ZN14UnkSubStruct1919func_ov000_02060b64Ev kind:function(arm,size=0x20) addr:0x02060b64 func_ov000_02060b84 kind:function(arm,size=0x28) addr:0x02060b84 func_ov000_02060bac kind:function(arm,size=0x2c) addr:0x02060bac -func_ov000_02060bd8 kind:function(arm,size=0x50) addr:0x02060bd8 -func_ov000_02060c28 kind:function(arm,size=0xc) addr:0x02060c28 +_ZN14UnkSubStruct1919func_ov000_02060bd8Ei kind:function(arm,size=0x50) addr:0x02060bd8 +_ZN14UnkSubStruct1919func_ov000_02060c28Ev kind:function(arm,size=0xc) addr:0x02060c28 func_ov000_02060c34 kind:function(arm,size=0x1c) addr:0x02060c34 func_ov000_02060c50 kind:function(arm,size=0x2c) addr:0x02060c50 func_ov000_02060c7c kind:function(arm,size=0x100) addr:0x02060c7c @@ -2265,13 +2265,13 @@ _ZN8Actor_5c19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x020975f8 func_ov000_02097670 kind:function(arm,size=0xc) addr:0x02097670 _ZN9ActorTypeC2Ej kind:function(arm,size=0xa8) addr:0x0209767c func_ov000_02097724 kind:function(arm,size=0x28) addr:0x02097724 -func_ov000_0209774c kind:function(arm,size=0x8) addr:0x0209774c -func_ov000_02097754 kind:function(arm,size=0x7c) addr:0x02097754 -func_ov000_020977d0 kind:function(arm,size=0x14) addr:0x020977d0 +_ZN9ActorType8vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209774c +_ZN9ActorType8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x02097754 +_ZN9ActorType8vfunc_0cEv kind:function(arm,size=0x14) addr:0x020977d0 func_ov000_020977e4 kind:function(arm,size=0x2c) addr:0x020977e4 -func_ov000_02097810 kind:function(arm,size=0x4) addr:0x02097810 -func_ov000_02097814 kind:function(arm,size=0x4) addr:0x02097814 -func_ov000_02097818 kind:function(arm,size=0x4) addr:0x02097818 +_ZN9ActorType8vfunc_10Ev kind:function(arm,size=0x4) addr:0x02097810 +_ZN9ActorType8vfunc_14Ev kind:function(arm,size=0x4) addr:0x02097814 +_ZN9ActorType8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02097818 func_ov000_0209781c kind:function(arm,size=0x7c) addr:0x0209781c func_ov000_02097898 kind:function(arm,size=0x30) addr:0x02097898 func_ov000_020978c8 kind:function(arm,size=0x14) addr:0x020978c8 @@ -2316,7 +2316,7 @@ _ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x02098470 _ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x02098474 _ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x02098488 _ZN5Actor19func_ov000_0209848cEP9ActorType kind:function(arm,size=0x1c) addr:0x0209848c -_ZN5Actor8vfunc_18Ev kind:function(arm,size=0x8) addr:0x020984a8 +_ZN5Actor8vfunc_18Ei kind:function(arm,size=0x8) addr:0x020984a8 _ZN5Actor8vfunc_1cEv kind:function(arm,size=0x4) addr:0x020984b0 _ZN5Actor8vfunc_20Ev kind:function(arm,size=0x4) addr:0x020984b4 _ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x020984b8 @@ -2345,7 +2345,7 @@ func_ov000_02098860 kind:function(arm,size=0xb0) addr:0x02098860 _ZN5Actor19func_ov000_02098910Eii kind:function(arm,size=0xd0) addr:0x02098910 func_ov000_020989e0 kind:function(arm,size=0x38) addr:0x020989e0 func_ov000_02098a18 kind:function(arm,size=0x48) addr:0x02098a18 -func_ov000_02098a60 kind:function(arm,size=0x28) addr:0x02098a60 +_ZN5Actor19func_ov000_02098a60Ei kind:function(arm,size=0x28) addr:0x02098a60 func_ov000_02098a88 kind:function(arm,size=0x2c) addr:0x02098a88 func_ov000_02098ab4 kind:function(arm,size=0x74) addr:0x02098ab4 func_ov000_02098b28 kind:function(arm,size=0x64) addr:0x02098b28 diff --git a/config/eur/arm9/overlays/ov017/symbols.txt b/config/eur/arm9/overlays/ov017/symbols.txt index b109ed10..274a90ed 100644 --- a/config/eur/arm9/overlays/ov017/symbols.txt +++ b/config/eur/arm9/overlays/ov017/symbols.txt @@ -72,16 +72,16 @@ func_ov017_020bf688 kind:function(arm,size=0x88) addr:0x020bf688 func_ov017_020bf710 kind:function(arm,size=0x98) addr:0x020bf710 func_ov017_020bf7a8 kind:function(arm,size=0xec) addr:0x020bf7a8 func_ov017_020bf894 kind:function(arm,size=0x60) addr:0x020bf894 -_ZN23ActorUnk_ov000_020a8bb08vfunc_40Ev kind:function(arm,size=0x44) addr:0x020bf8f4 -_ZN23ActorUnk_ov000_020a8bb08vfunc_44Ev kind:function(arm,size=0x64) addr:0x020bf938 +_ZN5Actor8vfunc_40Ev kind:function(arm,size=0x44) addr:0x020bf8f4 +_ZN5Actor8vfunc_44Ev kind:function(arm,size=0x64) addr:0x020bf938 func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020bf99c _ZN10ActorRupee19func_ov017_020bf9c8EP27UnkStruct_func_01fff3b4_ret kind:function(arm,size=0x88) addr:0x020bf9c8 func_ov017_020bfa50 kind:function(arm,size=0x84) addr:0x020bfa50 func_ov017_020bfad4 kind:function(arm,size=0x44) addr:0x020bfad4 func_ov017_020bfb18 kind:function(arm,size=0x238) addr:0x020bfb18 -func_ov017_020bfd50 kind:function(arm,size=0x4c) addr:0x020bfd50 +_ZN5Actor8vfunc_14Ev kind:function(arm,size=0x4c) addr:0x020bfd50 func_ov017_020bfd9c kind:function(arm,size=0x130) addr:0x020bfd9c -_ZN23ActorUnk_ov000_020a8bb08vfunc_48Ev kind:function(arm,size=0x80) addr:0x020bfecc +_ZN5Actor8vfunc_48Ev kind:function(arm,size=0x80) addr:0x020bfecc func_ov017_020bff4c kind:function(arm,size=0xc) addr:0x020bff4c func_ov017_020bff58 kind:function(arm,size=0xd4) addr:0x020bff58 func_ov017_020c002c kind:function(arm,size=0x50) addr:0x020c002c diff --git a/config/eur/arm9/overlays/ov019/symbols.txt b/config/eur/arm9/overlays/ov019/symbols.txt index cc7af2f9..14ebb6af 100644 --- a/config/eur/arm9/overlays/ov019/symbols.txt +++ b/config/eur/arm9/overlays/ov019/symbols.txt @@ -208,7 +208,7 @@ _ZN19FileSelectSubScreenC1Ev kind:function(arm,size=0x35c) addr:0x020cf28c _ZN19FileSelectSubScreen8vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x154) addr:0x020cf5e8 _ZN19FileSelectSubScreen19func_ov019_020cf73cEii kind:function(arm,size=0x120) addr:0x020cf73c _ZN19FileSelectSubScreen8vfunc_10EPc kind:function(arm,size=0x14) addr:0x020cf85c -_ZN13UnkStructSub2C1Ev kind:function(arm,size=0x18c) addr:0x020cf870 +_ZN20FileSelect_UnkClass7C1Ev kind:function(arm,size=0x18c) addr:0x020cf870 _ZN20FileSelect_UnkClass78vfunc_00Ev kind:function(arm,size=0xd4) addr:0x020cf9fc _ZN20FileSelect_UnkClass78vfunc_04Ev kind:function(arm,size=0x58) addr:0x020cfad0 _ZN19FileSelectSubScreenD1Ev kind:function(arm,size=0xec) addr:0x020cfb28 @@ -274,7 +274,7 @@ _ZN8SaveFile19func_ov019_020d1aacEiPKw kind:function(arm,size=0x68) addr:0x020d1 _ZN8SaveFile19func_ov019_020d1b14Ei kind:function(arm,size=0x9c) addr:0x020d1b14 data_ov019_020d1bb0 kind:data(any) addr:0x020d1bb0 data_ov019_020d1bbc kind:data(any) addr:0x020d1bbc -data_ov019_020d1bcc kind:data(any) addr:0x020d1bcc +data_ov019_020d1bcc kind:data(byte[6]) addr:0x020d1bcc data_ov019_020d1bd4 kind:data(any) addr:0x020d1bd4 data_ov019_020d1be8 kind:data(any) addr:0x020d1be8 __sinit_GameModeFileSelect.cpp kind:function(arm,size=0x18) addr:0x020d1bfc diff --git a/config/eur/arm9/overlays/ov031/relocs.txt b/config/eur/arm9/overlays/ov031/relocs.txt index e4ce6864..1e07dc38 100644 --- a/config/eur/arm9/overlays/ov031/relocs.txt +++ b/config/eur/arm9/overlays/ov031/relocs.txt @@ -6953,9 +6953,9 @@ from:0x02112d20 kind:load to:0x020984c4 module:overlay(0) from:0x02112d24 kind:load to:0x020984c8 module:overlay(0) from:0x02112d28 kind:load to:0x020e246c module:overlay(31) from:0x02112d2c kind:load to:0x020e24ac module:overlay(31) -from:0x02112d30 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02112d34 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02112d38 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02112d30 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02112d34 kind:load to:0x020bf938 module:overlay(17) +from:0x02112d38 kind:load to:0x020bfecc module:overlay(17) from:0x02112d3c kind:load to:0x020e33f8 module:overlay(31) from:0x02112d40 kind:load to:0x020e3448 module:overlay(31) from:0x02112d4c kind:load to:0x020e373c module:overlay(31) @@ -6986,9 +6986,9 @@ from:0x02112dbc kind:load to:0x020984c4 module:overlay(0) from:0x02112dc0 kind:load to:0x020984c8 module:overlay(0) from:0x02112dc4 kind:load to:0x02098584 module:overlay(0) from:0x02112dc8 kind:load to:0x020985f0 module:overlay(0) -from:0x02112dcc kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02112dd0 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02112dd4 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02112dcc kind:load to:0x020bf8f4 module:overlay(17) +from:0x02112dd0 kind:load to:0x020bf938 module:overlay(17) +from:0x02112dd4 kind:load to:0x020bfecc module:overlay(17) from:0x02112dd8 kind:load to:0x020e3c38 module:overlay(31) from:0x02112ddc kind:load to:0x020e3c60 module:overlay(31) from:0x02112de8 kind:load to:0x02098518 module:overlay(0) @@ -7007,9 +7007,9 @@ from:0x02112e18 kind:load to:0x020984c4 module:overlay(0) from:0x02112e1c kind:load to:0x020984c8 module:overlay(0) from:0x02112e20 kind:load to:0x02098584 module:overlay(0) from:0x02112e24 kind:load to:0x020985f0 module:overlay(0) -from:0x02112e28 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02112e2c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02112e30 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02112e28 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02112e2c kind:load to:0x020bf938 module:overlay(17) +from:0x02112e30 kind:load to:0x020bfecc module:overlay(17) from:0x02112e34 kind:load to:0x020e40a8 module:overlay(31) from:0x02112e38 kind:load to:0x020e40bc module:overlay(31) from:0x02112e3c kind:load to:0x020e3f50 module:overlay(31) @@ -7039,9 +7039,9 @@ from:0x02112ea8 kind:load to:0x020984c4 module:overlay(0) from:0x02112eac kind:load to:0x020984c8 module:overlay(0) from:0x02112eb0 kind:load to:0x02098584 module:overlay(0) from:0x02112eb4 kind:load to:0x020985f0 module:overlay(0) -from:0x02112eb8 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02112ebc kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02112ec0 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02112eb8 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02112ebc kind:load to:0x020bf938 module:overlay(17) +from:0x02112ec0 kind:load to:0x020bfecc module:overlay(17) from:0x02112ec4 kind:load to:0x020e4164 module:overlay(31) from:0x02112ec8 kind:load to:0x020e41a4 module:overlay(31) from:0x02112ecc kind:load to:0x020e3f50 module:overlay(31) @@ -7092,9 +7092,9 @@ from:0x02112fac kind:load to:0x020984c4 module:overlay(0) from:0x02112fb0 kind:load to:0x020984c8 module:overlay(0) from:0x02112fb4 kind:load to:0x02098584 module:overlay(0) from:0x02112fb8 kind:load to:0x020985f0 module:overlay(0) -from:0x02112fbc kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02112fc0 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02112fc4 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02112fbc kind:load to:0x020bf8f4 module:overlay(17) +from:0x02112fc0 kind:load to:0x020bf938 module:overlay(17) +from:0x02112fc4 kind:load to:0x020bfecc module:overlay(17) from:0x02112fc8 kind:load to:0x020e4788 module:overlay(31) from:0x02112fcc kind:load to:0x020e4828 module:overlay(31) from:0x02112fd8 kind:load to:0x020e5898 module:overlay(31) @@ -7126,9 +7126,9 @@ from:0x02113064 kind:load to:0x020984c4 module:overlay(0) from:0x02113068 kind:load to:0x020984c8 module:overlay(0) from:0x0211306c kind:load to:0x02098584 module:overlay(0) from:0x02113070 kind:load to:0x020985f0 module:overlay(0) -from:0x02113074 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113078 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x0211307c kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02113074 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113078 kind:load to:0x020bf938 module:overlay(17) +from:0x0211307c kind:load to:0x020bfecc module:overlay(17) from:0x02113080 kind:load to:0x020e642c module:overlay(31) from:0x02113084 kind:load to:0x020e6474 module:overlay(31) from:0x02113090 kind:load to:0x020e6700 module:overlay(31) @@ -7152,9 +7152,9 @@ from:0x021130dc kind:load to:0x020984c4 module:overlay(0) from:0x021130e0 kind:load to:0x020984c8 module:overlay(0) from:0x021130e4 kind:load to:0x02098584 module:overlay(0) from:0x021130e8 kind:load to:0x020985f0 module:overlay(0) -from:0x021130ec kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021130f0 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021130f4 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021130ec kind:load to:0x020bf8f4 module:overlay(17) +from:0x021130f0 kind:load to:0x020bf938 module:overlay(17) +from:0x021130f4 kind:load to:0x020bfecc module:overlay(17) from:0x021130f8 kind:load to:0x020e6714 module:overlay(31) from:0x021130fc kind:load to:0x020e6774 module:overlay(31) from:0x02113100 kind:load to:0x02188f98 module:overlay(105) @@ -7193,9 +7193,9 @@ from:0x021131b8 kind:load to:0x020984c4 module:overlay(0) from:0x021131bc kind:load to:0x020984c8 module:overlay(0) from:0x021131c0 kind:load to:0x02098584 module:overlay(0) from:0x021131c4 kind:load to:0x020985f0 module:overlay(0) -from:0x021131c8 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021131cc kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021131d0 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021131c8 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021131cc kind:load to:0x020bf938 module:overlay(17) +from:0x021131d0 kind:load to:0x020bfecc module:overlay(17) from:0x021131d4 kind:load to:0x020e730c module:overlay(31) from:0x021131d8 kind:load to:0x020e7334 module:overlay(31) from:0x02113204 kind:load to:0x020e748c module:overlay(31) @@ -7219,9 +7219,9 @@ from:0x021132e0 kind:load to:0x020984c4 module:overlay(0) from:0x021132e4 kind:load to:0x020984c8 module:overlay(0) from:0x021132e8 kind:load to:0x02098584 module:overlay(0) from:0x021132ec kind:load to:0x020985f0 module:overlay(0) -from:0x021132f0 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021132f4 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021132f8 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021132f0 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021132f4 kind:load to:0x020bf938 module:overlay(17) +from:0x021132f8 kind:load to:0x020bfecc module:overlay(17) from:0x021132fc kind:load to:0x020e73ec module:overlay(31) from:0x02113300 kind:load to:0x020e740c module:overlay(31) from:0x02113304 kind:load to:0x020e7680 module:overlay(31) @@ -7301,9 +7301,9 @@ from:0x02113444 kind:load to:0x020984c4 module:overlay(0) from:0x02113448 kind:load to:0x020984c8 module:overlay(0) from:0x0211344c kind:load to:0x020e8ba0 module:overlay(31) from:0x02113450 kind:load to:0x020e8c08 module:overlay(31) -from:0x02113454 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113458 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x0211345c kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02113454 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113458 kind:load to:0x020bf938 module:overlay(17) +from:0x0211345c kind:load to:0x020bfecc module:overlay(17) from:0x02113460 kind:load to:0x020e8c4c module:overlay(31) from:0x02113464 kind:load to:0x020e8c74 module:overlay(31) from:0x02113490 kind:load to:0x020e9f28 module:overlay(31) @@ -7333,9 +7333,9 @@ from:0x021134fc kind:load to:0x020984c4 module:overlay(0) from:0x02113500 kind:load to:0x020984c8 module:overlay(0) from:0x02113504 kind:load to:0x02098584 module:overlay(0) from:0x02113508 kind:load to:0x020985f0 module:overlay(0) -from:0x0211350c kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113510 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02113514 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x0211350c kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113510 kind:load to:0x020bf938 module:overlay(17) +from:0x02113514 kind:load to:0x020bfecc module:overlay(17) from:0x02113518 kind:load to:0x020e9fd0 module:overlay(31) from:0x0211351c kind:load to:0x020e9ff0 module:overlay(31) from:0x02113520 kind:load to:0x020e9108 module:overlay(31) @@ -7487,8 +7487,8 @@ from:0x021138b8 kind:load to:0x020984c4 module:overlay(0) from:0x021138bc kind:load to:0x020984c8 module:overlay(0) from:0x021138c0 kind:load to:0x02098584 module:overlay(0) from:0x021138c4 kind:load to:0x020985f0 module:overlay(0) -from:0x021138c8 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021138cc kind:load to:0x020bf938 module:overlays(2,4,17) +from:0x021138c8 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021138cc kind:load to:0x020bf938 module:overlay(17) from:0x021138d0 kind:load to:0x020bfecc module:overlay(17) from:0x021138d4 kind:load to:0x020ea525 module:overlay(31) from:0x021138d8 kind:load to:0x020ea5c9 module:overlay(31) @@ -7534,9 +7534,9 @@ from:0x0211397c kind:load to:0x020984c4 module:overlay(0) from:0x02113980 kind:load to:0x020984c8 module:overlay(0) from:0x02113984 kind:load to:0x02098584 module:overlay(0) from:0x02113988 kind:load to:0x020985f0 module:overlay(0) -from:0x0211398c kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113990 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02113994 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x0211398c kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113990 kind:load to:0x020bf938 module:overlay(17) +from:0x02113994 kind:load to:0x020bfecc module:overlay(17) from:0x02113998 kind:load to:0x020ee884 module:overlay(31) from:0x0211399c kind:load to:0x020ee85c module:overlay(31) from:0x021139a0 kind:load to:0x020a8da0 module:overlay(0) @@ -7620,9 +7620,9 @@ from:0x02113e48 kind:load to:0x020984c4 module:overlay(0) from:0x02113e4c kind:load to:0x020984c8 module:overlay(0) from:0x02113e50 kind:load to:0x02098584 module:overlay(0) from:0x02113e54 kind:load to:0x020985f0 module:overlay(0) -from:0x02113e58 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113e5c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02113e60 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02113e58 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113e5c kind:load to:0x020bf938 module:overlay(17) +from:0x02113e60 kind:load to:0x020bfecc module:overlay(17) from:0x02113e64 kind:load to:0x020ef7f4 module:overlay(31) from:0x02113e68 kind:load to:0x020ef7d8 module:overlay(31) from:0x02113e74 kind:load to:0x020ef828 module:overlay(31) @@ -7648,9 +7648,9 @@ from:0x02113ec8 kind:load to:0x020984c4 module:overlay(0) from:0x02113ecc kind:load to:0x020984c8 module:overlay(0) from:0x02113ed0 kind:load to:0x02098584 module:overlay(0) from:0x02113ed4 kind:load to:0x020985f0 module:overlay(0) -from:0x02113ed8 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113edc kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02113ee0 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02113ed8 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113edc kind:load to:0x020bf938 module:overlay(17) +from:0x02113ee0 kind:load to:0x020bfecc module:overlay(17) from:0x02113ee4 kind:load to:0x020ef9b0 module:overlay(31) from:0x02113ee8 kind:load to:0x020ef9d0 module:overlay(31) from:0x02113ef4 kind:load to:0x020efa18 module:overlay(31) @@ -7684,9 +7684,9 @@ from:0x02113f70 kind:load to:0x020984c4 module:overlay(0) from:0x02113f74 kind:load to:0x020984c8 module:overlay(0) from:0x02113f78 kind:load to:0x02098584 module:overlay(0) from:0x02113f7c kind:load to:0x020985f0 module:overlay(0) -from:0x02113f80 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02113f84 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02113f88 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02113f80 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02113f84 kind:load to:0x020bf938 module:overlay(17) +from:0x02113f88 kind:load to:0x020bfecc module:overlay(17) from:0x02113f8c kind:load to:0x020efc78 module:overlay(31) from:0x02113f90 kind:load to:0x020efc98 module:overlay(31) from:0x02113f9c kind:load to:0x020f0638 module:overlay(31) @@ -7717,7 +7717,7 @@ from:0x0211400c kind:load to:0x020efdcc module:overlay(31) from:0x02114010 kind:load to:0x020efe08 module:overlay(31) from:0x02114014 kind:load to:0x020f02a8 module:overlay(31) from:0x02114018 kind:load to:0x020f02c8 module:overlay(31) -from:0x0211401c kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x0211401c kind:load to:0x020bfecc module:overlay(17) from:0x02114020 kind:load to:0x020f0ba8 module:overlay(31) from:0x02114024 kind:load to:0x020f0bd0 module:overlay(31) from:0x02114028 kind:load to:0x020f064c module:overlay(31) @@ -7765,7 +7765,7 @@ from:0x02114120 kind:load to:0x020efdcc module:overlay(31) from:0x02114124 kind:load to:0x020efe08 module:overlay(31) from:0x02114128 kind:load to:0x020f02a8 module:overlay(31) from:0x0211412c kind:load to:0x020f02c8 module:overlay(31) -from:0x02114130 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114130 kind:load to:0x020bfecc module:overlay(17) from:0x02114134 kind:load to:0x020f0f50 module:overlay(31) from:0x02114138 kind:load to:0x020f0f80 module:overlay(31) from:0x0211413c kind:load to:0x020f064c module:overlay(31) @@ -7814,7 +7814,7 @@ from:0x02114234 kind:load to:0x020efdcc module:overlay(31) from:0x02114238 kind:load to:0x020efe08 module:overlay(31) from:0x0211423c kind:load to:0x020f02a8 module:overlay(31) from:0x02114240 kind:load to:0x020f02c8 module:overlay(31) -from:0x02114244 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114244 kind:load to:0x020bfecc module:overlay(17) from:0x02114248 kind:load to:0x020f1314 module:overlay(31) from:0x0211424c kind:load to:0x020f1344 module:overlay(31) from:0x02114250 kind:load to:0x020f064c module:overlay(31) @@ -7871,9 +7871,9 @@ from:0x02114378 kind:load to:0x020984c4 module:overlay(0) from:0x0211437c kind:load to:0x020984c8 module:overlay(0) from:0x02114380 kind:load to:0x02098584 module:overlay(0) from:0x02114384 kind:load to:0x020985f0 module:overlay(0) -from:0x02114388 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x0211438c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114390 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114388 kind:load to:0x020bf8f4 module:overlay(17) +from:0x0211438c kind:load to:0x020bf938 module:overlay(17) +from:0x02114390 kind:load to:0x020bfecc module:overlay(17) from:0x02114394 kind:load to:0x020f161c module:overlay(31) from:0x02114398 kind:load to:0x020f16a8 module:overlay(31) from:0x021143a4 kind:load to:0x020f3d88 module:overlay(31) @@ -7899,9 +7899,9 @@ from:0x021143f8 kind:load to:0x020984c4 module:overlay(0) from:0x021143fc kind:load to:0x020984c8 module:overlay(0) from:0x02114400 kind:load to:0x02098584 module:overlay(0) from:0x02114404 kind:load to:0x020985f0 module:overlay(0) -from:0x02114408 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x0211440c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114410 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114408 kind:load to:0x020bf8f4 module:overlay(17) +from:0x0211440c kind:load to:0x020bf938 module:overlay(17) +from:0x02114410 kind:load to:0x020bfecc module:overlay(17) from:0x02114414 kind:load to:0x020f4058 module:overlay(31) from:0x02114418 kind:load to:0x020f406c module:overlay(31) from:0x02114424 kind:load to:0x020e66ec module:overlay(31) @@ -7925,9 +7925,9 @@ from:0x02114470 kind:load to:0x020984c4 module:overlay(0) from:0x02114474 kind:load to:0x020984c8 module:overlay(0) from:0x02114478 kind:load to:0x02098584 module:overlay(0) from:0x0211447c kind:load to:0x020985f0 module:overlay(0) -from:0x02114480 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114484 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114488 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114480 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114484 kind:load to:0x020bf938 module:overlay(17) +from:0x02114488 kind:load to:0x020bfecc module:overlay(17) from:0x0211448c kind:load to:0x020f4654 module:overlay(31) from:0x02114490 kind:load to:0x020f467c module:overlay(31) from:0x02114494 kind:load to:0x020f47d4 module:overlay(31) @@ -7948,9 +7948,9 @@ from:0x021144d8 kind:load to:0x020984c4 module:overlay(0) from:0x021144dc kind:load to:0x020984c8 module:overlay(0) from:0x021144e0 kind:load to:0x02098584 module:overlay(0) from:0x021144e4 kind:load to:0x020985f0 module:overlay(0) -from:0x021144e8 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021144ec kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021144f0 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021144e8 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021144ec kind:load to:0x020bf938 module:overlay(17) +from:0x021144f0 kind:load to:0x020bfecc module:overlay(17) from:0x021144f4 kind:load to:0x020f60d8 module:overlay(31) from:0x021144f8 kind:load to:0x020f60ec module:overlay(31) from:0x021144fc kind:load to:0x020f47d4 module:overlay(31) @@ -7978,9 +7978,9 @@ from:0x02114560 kind:load to:0x020984c4 module:overlay(0) from:0x02114564 kind:load to:0x020984c8 module:overlay(0) from:0x02114568 kind:load to:0x02098584 module:overlay(0) from:0x0211456c kind:load to:0x020985f0 module:overlay(0) -from:0x02114570 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114574 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114578 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114570 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114574 kind:load to:0x020bf938 module:overlay(17) +from:0x02114578 kind:load to:0x020bfecc module:overlay(17) from:0x0211457c kind:load to:0x020f6240 module:overlay(31) from:0x02114580 kind:load to:0x020f6254 module:overlay(31) from:0x02114594 kind:load to:0x020f62e4 module:overlay(31) @@ -8020,9 +8020,9 @@ from:0x02114638 kind:load to:0x020f7170 module:overlay(31) from:0x0211463c kind:load to:0x020984c8 module:overlay(0) from:0x02114640 kind:load to:0x02098584 module:overlay(0) from:0x02114644 kind:load to:0x020985f0 module:overlay(0) -from:0x02114648 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x0211464c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114650 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114648 kind:load to:0x020bf8f4 module:overlay(17) +from:0x0211464c kind:load to:0x020bf938 module:overlay(17) +from:0x02114650 kind:load to:0x020bfecc module:overlay(17) from:0x02114654 kind:load to:0x020f7418 module:overlay(31) from:0x02114658 kind:load to:0x020f7438 module:overlay(31) from:0x02114664 kind:load to:0x02098518 module:overlay(0) @@ -8041,9 +8041,9 @@ from:0x02114694 kind:load to:0x020984c4 module:overlay(0) from:0x02114698 kind:load to:0x020984c8 module:overlay(0) from:0x0211469c kind:load to:0x02098584 module:overlay(0) from:0x021146a0 kind:load to:0x020985f0 module:overlay(0) -from:0x021146a4 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021146a8 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021146ac kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021146a4 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021146a8 kind:load to:0x020bf938 module:overlay(17) +from:0x021146ac kind:load to:0x020bfecc module:overlay(17) from:0x021146b0 kind:load to:0x020f768c module:overlay(31) from:0x021146b4 kind:load to:0x020f76a0 module:overlay(31) from:0x021146c0 kind:load to:0x02098518 module:overlay(0) @@ -8062,9 +8062,9 @@ from:0x021146f0 kind:load to:0x020984c4 module:overlay(0) from:0x021146f4 kind:load to:0x020984c8 module:overlay(0) from:0x021146f8 kind:load to:0x02098584 module:overlay(0) from:0x021146fc kind:load to:0x020985f0 module:overlay(0) -from:0x02114700 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114704 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114708 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114700 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114704 kind:load to:0x020bf938 module:overlay(17) +from:0x02114708 kind:load to:0x020bfecc module:overlay(17) from:0x0211470c kind:load to:0x020f7704 module:overlay(31) from:0x02114710 kind:load to:0x020f7724 module:overlay(31) from:0x02114714 kind:load to:0x020f75ec module:overlay(31) @@ -8084,9 +8084,9 @@ from:0x02114750 kind:load to:0x020984c4 module:overlay(0) from:0x02114754 kind:load to:0x020984c8 module:overlay(0) from:0x02114758 kind:load to:0x02098584 module:overlay(0) from:0x0211475c kind:load to:0x020985f0 module:overlay(0) -from:0x02114760 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114764 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114768 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114760 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114764 kind:load to:0x020bf938 module:overlay(17) +from:0x02114768 kind:load to:0x020bfecc module:overlay(17) from:0x0211476c kind:load to:0x020f774c module:overlay(31) from:0x02114770 kind:load to:0x020f776c module:overlay(31) from:0x02114774 kind:load to:0x020f7664 module:overlay(31) @@ -8106,9 +8106,9 @@ from:0x021147b0 kind:load to:0x020984c4 module:overlay(0) from:0x021147b4 kind:load to:0x020984c8 module:overlay(0) from:0x021147b8 kind:load to:0x02098584 module:overlay(0) from:0x021147bc kind:load to:0x020985f0 module:overlay(0) -from:0x021147c0 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021147c4 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021147c8 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021147c0 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021147c4 kind:load to:0x020bf938 module:overlay(17) +from:0x021147c8 kind:load to:0x020bfecc module:overlay(17) from:0x021147cc kind:load to:0x020f76bc module:overlay(31) from:0x021147d0 kind:load to:0x020f76dc module:overlay(31) from:0x021147d4 kind:load to:0x020f7594 module:overlay(31) @@ -8144,9 +8144,9 @@ from:0x02114874 kind:load to:0x020984c4 module:overlay(0) from:0x02114878 kind:load to:0x020984c8 module:overlay(0) from:0x0211487c kind:load to:0x02098584 module:overlay(0) from:0x02114880 kind:load to:0x020985f0 module:overlay(0) -from:0x02114884 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114888 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x0211488c kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114884 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114888 kind:load to:0x020bf938 module:overlay(17) +from:0x0211488c kind:load to:0x020bfecc module:overlay(17) from:0x02114890 kind:load to:0x020f7b98 module:overlay(31) from:0x02114894 kind:load to:0x020f7bac module:overlay(31) from:0x021148a0 kind:load to:0x02097c14 module:overlay(0) @@ -8176,9 +8176,9 @@ from:0x02114914 kind:load to:0x020984c4 module:overlay(0) from:0x02114918 kind:load to:0x020984c8 module:overlay(0) from:0x0211491c kind:load to:0x02098584 module:overlay(0) from:0x02114920 kind:load to:0x020985f0 module:overlay(0) -from:0x02114924 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114928 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x0211492c kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114924 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114928 kind:load to:0x020bf938 module:overlay(17) +from:0x0211492c kind:load to:0x020bfecc module:overlay(17) from:0x02114930 kind:load to:0x020f7ed0 module:overlay(31) from:0x02114934 kind:load to:0x020f7ee4 module:overlay(31) from:0x02114940 kind:load to:0x020f7f20 module:overlay(31) @@ -8204,9 +8204,9 @@ from:0x02114994 kind:load to:0x020984c4 module:overlay(0) from:0x02114998 kind:load to:0x020984c8 module:overlay(0) from:0x0211499c kind:load to:0x02098584 module:overlay(0) from:0x021149a0 kind:load to:0x020985f0 module:overlay(0) -from:0x021149a4 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x021149a8 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x021149ac kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x021149a4 kind:load to:0x020bf8f4 module:overlay(17) +from:0x021149a8 kind:load to:0x020bf938 module:overlay(17) +from:0x021149ac kind:load to:0x020bfecc module:overlay(17) from:0x021149b0 kind:load to:0x020f7fe0 module:overlay(31) from:0x021149b4 kind:load to:0x020f7ff4 module:overlay(31) from:0x021149c0 kind:load to:0x020f8030 module:overlay(31) @@ -8232,9 +8232,9 @@ from:0x02114a14 kind:load to:0x020984c4 module:overlay(0) from:0x02114a18 kind:load to:0x020984c8 module:overlay(0) from:0x02114a1c kind:load to:0x02098584 module:overlay(0) from:0x02114a20 kind:load to:0x020985f0 module:overlay(0) -from:0x02114a24 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114a28 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114a2c kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114a24 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114a28 kind:load to:0x020bf938 module:overlay(17) +from:0x02114a2c kind:load to:0x020bfecc module:overlay(17) from:0x02114a30 kind:load to:0x020f829c module:overlay(31) from:0x02114a34 kind:load to:0x020f82b0 module:overlay(31) from:0x02114a40 kind:load to:0x020f8674 module:overlay(31) @@ -8292,9 +8292,9 @@ from:0x02114b7c kind:load to:0x020984c4 module:overlay(0) from:0x02114b80 kind:load to:0x020984c8 module:overlay(0) from:0x02114b84 kind:load to:0x02098584 module:overlay(0) from:0x02114b88 kind:load to:0x020985f0 module:overlay(0) -from:0x02114b8c kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114b90 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114b94 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114b8c kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114b90 kind:load to:0x020bf938 module:overlay(17) +from:0x02114b94 kind:load to:0x020bfecc module:overlay(17) from:0x02114b98 kind:load to:0x020f9d10 module:overlay(31) from:0x02114b9c kind:load to:0x020f9d60 module:overlay(31) from:0x02114bb0 kind:load to:0x020fa46c module:overlay(31) @@ -8359,9 +8359,9 @@ from:0x02114d00 kind:load to:0x02099004 module:overlay(0) from:0x02114d04 kind:load to:0x020984c8 module:overlay(0) from:0x02114d08 kind:load to:0x02098584 module:overlay(0) from:0x02114d0c kind:load to:0x020985f0 module:overlay(0) -from:0x02114d10 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114d14 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114d18 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114d10 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114d14 kind:load to:0x020bf938 module:overlay(17) +from:0x02114d18 kind:load to:0x020bfecc module:overlay(17) from:0x02114d1c kind:load to:0x020faadc module:overlay(31) from:0x02114d20 kind:load to:0x020faaf0 module:overlay(31) from:0x02114d24 kind:load to:0x02099588 module:overlay(0) @@ -8392,9 +8392,9 @@ from:0x02114da8 kind:load to:0x020984c4 module:overlay(0) from:0x02114dac kind:load to:0x020984c8 module:overlay(0) from:0x02114db0 kind:load to:0x02098584 module:overlay(0) from:0x02114db4 kind:load to:0x020985f0 module:overlay(0) -from:0x02114db8 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114dbc kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114dc0 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114db8 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114dbc kind:load to:0x020bf938 module:overlay(17) +from:0x02114dc0 kind:load to:0x020bfecc module:overlay(17) from:0x02114dc4 kind:load to:0x020fb278 module:overlay(31) from:0x02114dc8 kind:load to:0x020fb250 module:overlay(31) from:0x02114dcc kind:load to:0x020fad88 module:overlay(31) @@ -8438,9 +8438,9 @@ from:0x02114e78 kind:load to:0x020984c4 module:overlay(0) from:0x02114e7c kind:load to:0x020984c8 module:overlay(0) from:0x02114e80 kind:load to:0x02098584 module:overlay(0) from:0x02114e84 kind:load to:0x020985f0 module:overlay(0) -from:0x02114e88 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114e8c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114e90 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114e88 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114e8c kind:load to:0x020bf938 module:overlay(17) +from:0x02114e90 kind:load to:0x020bfecc module:overlay(17) from:0x02114e94 kind:load to:0x020fb450 module:overlay(31) from:0x02114e98 kind:load to:0x020fb470 module:overlay(31) from:0x02114e9c kind:load to:0x020e3f50 module:overlay(31) @@ -8470,9 +8470,9 @@ from:0x02114f38 kind:load to:0x020984c4 module:overlay(0) from:0x02114f3c kind:load to:0x020984c8 module:overlay(0) from:0x02114f40 kind:load to:0x02098584 module:overlay(0) from:0x02114f44 kind:load to:0x020985f0 module:overlay(0) -from:0x02114f48 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114f4c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114f50 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114f48 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114f4c kind:load to:0x020bf938 module:overlay(17) +from:0x02114f50 kind:load to:0x020bfecc module:overlay(17) from:0x02114f54 kind:load to:0x020fb790 module:overlay(31) from:0x02114f58 kind:load to:0x020fb7c0 module:overlay(31) from:0x02114f5c kind:load to:0x020fb718 module:overlay(31) @@ -8503,9 +8503,9 @@ from:0x02114fd4 kind:load to:0x020984c4 module:overlay(0) from:0x02114fd8 kind:load to:0x020984c8 module:overlay(0) from:0x02114fdc kind:load to:0x02098584 module:overlay(0) from:0x02114fe0 kind:load to:0x020985f0 module:overlay(0) -from:0x02114fe4 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02114fe8 kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02114fec kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02114fe4 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02114fe8 kind:load to:0x020bf938 module:overlay(17) +from:0x02114fec kind:load to:0x020bfecc module:overlay(17) from:0x02114ff0 kind:load to:0x020fbd28 module:overlay(31) from:0x02114ff4 kind:load to:0x020fbd3c module:overlay(31) from:0x02114ff8 kind:load to:0x020fbaec module:overlay(31) @@ -9226,9 +9226,9 @@ from:0x02115d48 kind:load to:0x020984c4 module:overlay(0) from:0x02115d4c kind:load to:0x020984c8 module:overlay(0) from:0x02115d50 kind:load to:0x02098584 module:overlay(0) from:0x02115d54 kind:load to:0x020985f0 module:overlay(0) -from:0x02115d58 kind:load to:0x020bf8f4 module:overlays(2,4,17) -from:0x02115d5c kind:load to:0x020bf938 module:overlays(2,4,17) -from:0x02115d60 kind:load to:0x020bfecc module:overlays(2,4,17) +from:0x02115d58 kind:load to:0x020bf8f4 module:overlay(17) +from:0x02115d5c kind:load to:0x020bf938 module:overlay(17) +from:0x02115d60 kind:load to:0x020bfecc module:overlay(17) from:0x02115d64 kind:load to:0x02106ed4 module:overlay(31) from:0x02115d68 kind:load to:0x02106ee8 module:overlay(31) from:0x02115d6c kind:load to:0x02106e90 module:overlay(31) diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index bcaba9cb..edecbf44 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -559,9 +559,9 @@ func_ov031_020e8ca4 kind:function(arm,size=0x14) addr:0x020e8ca4 _ZN14ActorTypeRupee11GetInstanceEv kind:function(arm,size=0xc) addr:0x020e8cb8 _ZN14ActorTypeRupee6CreateEv kind:function(arm,size=0x24) addr:0x020e8cc4 _ZN14ActorTypeRupeeC1Ev kind:function(arm,size=0x44) addr:0x020e8ce8 -_ZN10ActorRupee19func_ov031_020e8d2cEv kind:function(arm,size=0x7c) addr:0x020e8d2c +_ZN10ActorRupee19func_ov031_020e8d2cEP5Vec3phii kind:function(arm,size=0x7c) addr:0x020e8d2c _ZN10ActorRupeeC1Ev kind:function(arm,size=0x74) addr:0x020e8da8 -_ZN10ActorRupee8vfunc_18Ev kind:function(arm,size=0x1d0) addr:0x020e8e1c +_ZN10ActorRupee8vfunc_18Ei kind:function(arm,size=0x1d0) addr:0x020e8e1c _ZN10ActorRupee19func_ov031_020e8fecEv kind:function(arm,size=0x7c) addr:0x020e8fec _ZN10ActorRupee19func_ov031_020e9068Ev kind:function(arm,size=0xa0) addr:0x020e9068 _ZN10ActorRupee19func_ov031_020e9108Ev kind:function(arm,size=0xa0) addr:0x020e9108 @@ -594,12 +594,12 @@ _ZN10ActorRupee19func_ov031_020e9904Ei kind:function(arm,size=0x54) addr:0x020e9 _ZN10ActorRupee8vfunc_20Ev kind:function(arm,size=0x230) addr:0x020e9958 _ZN10ActorRupee19func_ov031_020e9b88Ev kind:function(arm,size=0x60) addr:0x020e9b88 _ZN10ActorRupee19func_ov031_020e9be8Ev kind:function(arm,size=0x44) addr:0x020e9be8 -_ZN10ActorRupee8vfunc_2cEv kind:function(arm,size=0x128) addr:0x020e9c2c +_ZN10ActorRupee8vfunc_2cEi kind:function(arm,size=0x128) addr:0x020e9c2c _ZN10ActorRupee19func_ov031_020e9d54Ev kind:function(arm,size=0x40) addr:0x020e9d54 _ZN10ActorRupee19func_ov031_020e9d94Ev kind:function(arm,size=0xc8) addr:0x020e9d94 _ZN10ActorRupee19func_ov031_020e9e5cEv kind:function(arm,size=0x94) addr:0x020e9e5c _ZN8Actor_c4C1EP5Actor kind:function(arm,size=0x38) addr:0x020e9ef0 -_ZN8Actor_c48vfunc_00Eii kind:function(arm,size=0x44) addr:0x020e9f28 +_ZN8Actor_c48vfunc_00E14Actor_c4_stacki kind:function(arm,size=0x44) addr:0x020e9f28 _ZN8Actor_c48vfunc_04Ev kind:function(arm,size=0x20) addr:0x020e9f6c _ZN8Actor_c48vfunc_0cEi kind:function(arm,size=0x28) addr:0x020e9f8c _ZN8Actor_c48vfunc_08Ev kind:function(arm,size=0x1c) addr:0x020e9fb4 diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index 02c53b2b..29453d87 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -852,10 +852,10 @@ func_02016fbc kind:function(arm,size=0xf0) addr:0x02016fbc func_020170ac kind:function(arm,size=0xac) addr:0x020170ac func_02017158 kind:function(arm,size=0x38) addr:0x02017158 func_02017190 kind:function(arm,size=0x54) addr:0x02017190 -_ZN10UnkSystem513func_020171e4Ev kind:function(arm,size=0x4c) addr:0x020171e4 +_ZN9UnkResultC1Ev kind:function(arm,size=0x4c) addr:0x020171e4 _ZN9UnkResultC1EPKc kind:function(arm,size=0x16c) addr:0x02017230 -_ZN10UnkSystem5C1EPKcS1_S1_ kind:function(arm,size=0x184) addr:0x0201739c -_ZN10UnkSystem513func_02017520EPKcS1_S1_ kind:function(arm,size=0x140) addr:0x02017520 +_ZN9UnkResultC1EPKcS1_S1_ kind:function(arm,size=0x184) addr:0x0201739c +_ZN9UnkResult13func_02017520EPKcS1_S1_ kind:function(arm,size=0x140) addr:0x02017520 func_02017660 kind:function(arm,size=0x1c) addr:0x02017660 func_0201767c kind:function(arm,size=0x1c) addr:0x0201767c func_02017698 kind:function(arm,size=0x60) addr:0x02017698 @@ -1526,7 +1526,7 @@ func_02027568 kind:function(arm,size=0x24) addr:0x02027568 func_0202758c kind:function(arm,size=0x24) addr:0x0202758c func_020275b0 kind:function(arm,size=0xc) addr:0x020275b0 func_020275bc kind:function(arm,size=0x2c) addr:0x020275bc -func_020275e8 kind:function(arm,size=0x34) addr:0x020275e8 +DC_FlushAll kind:function(arm,size=0x34) addr:0x020275e8 func_0202761c kind:function(arm,size=0x1c) addr:0x0202761c func_02027638 kind:function(arm,size=0x1c) addr:0x02027638 func_02027654 kind:function(arm,size=0x24) addr:0x02027654 diff --git a/config/jp/arm9/delinks.txt b/config/jp/arm9/delinks.txt index 804cd7ec..a57bc9d7 100644 --- a/config/jp/arm9/delinks.txt +++ b/config/jp/arm9/delinks.txt @@ -19,6 +19,9 @@ src/Main/Player/TouchControl.cpp: src/Main/System/OverlayManager.cpp: .text start:0x02014800 end:0x02014948 +src/Main/System/Random.cpp: + .text start:0x0201631c end:0x0201639c + src/Main/Game/GameModeLinkListNode.cpp: complete .text start:0x02016614 end:0x020166b8 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index 3deeb8fd..11d3a968 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -435,8 +435,8 @@ _ZN14UnkSubStruct1919func_ov000_02060b50Ev kind:function(arm,size=0x14) addr:0x0 _ZN14UnkSubStruct1919func_ov000_02060b64Ev kind:function(arm,size=0x20) addr:0x020620ec func_ov000_0206210c kind:function(arm,size=0x28) addr:0x0206210c func_ov000_02062134 kind:function(arm,size=0x2c) addr:0x02062134 -func_ov000_02062160 kind:function(arm,size=0x50) addr:0x02062160 -func_ov000_020621b0 kind:function(arm,size=0xc) addr:0x020621b0 +_ZN14UnkSubStruct1919func_ov000_02060bd8Ei kind:function(arm,size=0x50) addr:0x02062160 +_ZN14UnkSubStruct1919func_ov000_02060c28Ev kind:function(arm,size=0xc) addr:0x020621b0 func_ov000_020621bc kind:function(arm,size=0x1c) addr:0x020621bc func_ov000_020621d8 kind:function(arm,size=0x2c) addr:0x020621d8 func_ov000_02062204 kind:function(arm,size=0x100) addr:0x02062204 @@ -2262,13 +2262,13 @@ func_ov000_02098d90 kind:function(arm,size=0x1c) addr:0x02098d90 _ZN8Actor_5c19func_ov000_020975f8Ev kind:function(arm,size=0x78) addr:0x02098dac _ZN9ActorTypeC2Ej kind:function(arm,size=0xa8) addr:0x02098e24 func_ov000_02098ecc kind:function(arm,size=0x28) addr:0x02098ecc -func_ov000_02098ef4 kind:function(arm,size=0x8) addr:0x02098ef4 -func_ov000_02098efc kind:function(arm,size=0x7c) addr:0x02098efc -func_ov000_02098f78 kind:function(arm,size=0x14) addr:0x02098f78 +_ZN9ActorType8vfunc_04Ev kind:function(arm,size=0x8) addr:0x02098ef4 +_ZN9ActorType8vfunc_08Ev kind:function(arm,size=0x7c) addr:0x02098efc +_ZN9ActorType8vfunc_0cEv kind:function(arm,size=0x14) addr:0x02098f78 func_ov000_02098f8c kind:function(arm,size=0x2c) addr:0x02098f8c -func_ov000_02098fb8 kind:function(arm,size=0x4) addr:0x02098fb8 -func_ov000_02098fbc kind:function(arm,size=0x4) addr:0x02098fbc -func_ov000_02098fc0 kind:function(arm,size=0x4) addr:0x02098fc0 +_ZN9ActorType8vfunc_10Ev kind:function(arm,size=0x4) addr:0x02098fb8 +_ZN9ActorType8vfunc_14Ev kind:function(arm,size=0x4) addr:0x02098fbc +_ZN9ActorType8vfunc_18Ev kind:function(arm,size=0x4) addr:0x02098fc0 func_ov000_02098fc4 kind:function(arm,size=0x7c) addr:0x02098fc4 func_ov000_02099040 kind:function(arm,size=0x30) addr:0x02099040 func_ov000_02099070 kind:function(arm,size=0x14) addr:0x02099070 @@ -2313,7 +2313,7 @@ _ZN5ActorD1Ev kind:function(arm,size=0x4) addr:0x02099c18 _ZN5ActorD0Ev kind:function(arm,size=0x14) addr:0x02099c1c _ZN5ActorD2Ev kind:function(arm,size=0x4) addr:0x02099c30 _ZN5Actor19func_ov000_0209848cEP9ActorType kind:function(arm,size=0x1c) addr:0x02099c34 -_ZN5Actor8vfunc_18Ev kind:function(arm,size=0x8) addr:0x02099c50 +_ZN5Actor8vfunc_18Ei kind:function(arm,size=0x8) addr:0x02099c50 _ZN5Actor8vfunc_1cEv kind:function(arm,size=0x4) addr:0x02099c58 _ZN5Actor8vfunc_20Ev kind:function(arm,size=0x4) addr:0x02099c5c _ZN5Actor8vfunc_24Ev kind:function(arm,size=0x4) addr:0x02099c60 @@ -2342,7 +2342,7 @@ func_ov000_0209a008 kind:function(arm,size=0xb0) addr:0x0209a008 _ZN5Actor19func_ov000_02098910Eii kind:function(arm,size=0xd0) addr:0x0209a0b8 func_ov000_0209a188 kind:function(arm,size=0x38) addr:0x0209a188 func_ov000_0209a1c0 kind:function(arm,size=0x48) addr:0x0209a1c0 -func_ov000_0209a208 kind:function(arm,size=0x28) addr:0x0209a208 +_ZN5Actor19func_ov000_02098a60Ei kind:function(arm,size=0x28) addr:0x0209a208 _ZN10ActorRupee19func_ov000_02098a88Eii kind:function(arm,size=0x2c) addr:0x0209a230 func_ov000_0209a25c kind:function(arm,size=0x74) addr:0x0209a25c func_ov000_0209a2d0 kind:function(arm,size=0x64) addr:0x0209a2d0 diff --git a/config/jp/arm9/overlays/ov017/symbols.txt b/config/jp/arm9/overlays/ov017/symbols.txt index 32fffee4..793a9733 100644 --- a/config/jp/arm9/overlays/ov017/symbols.txt +++ b/config/jp/arm9/overlays/ov017/symbols.txt @@ -72,16 +72,16 @@ func_ov017_020c0eb4 kind:function(arm,size=0x88) addr:0x020c0eb4 func_ov017_020c0f3c kind:function(arm,size=0x98) addr:0x020c0f3c func_ov017_020c0fd4 kind:function(arm,size=0xec) addr:0x020c0fd4 func_ov017_020c10c0 kind:function(arm,size=0x60) addr:0x020c10c0 -_ZN23ActorUnk_ov000_020a8bb08vfunc_40Ev kind:function(arm,size=0x44) addr:0x020c1120 -_ZN23ActorUnk_ov000_020a8bb08vfunc_44Ev kind:function(arm,size=0x64) addr:0x020c1164 +_ZN5Actor8vfunc_40Ev kind:function(arm,size=0x44) addr:0x020c1120 +_ZN5Actor8vfunc_44Ev kind:function(arm,size=0x64) addr:0x020c1164 func_ov017_020bf99c kind:function(arm,size=0x2c) addr:0x020c11c8 _ZN10ActorRupee19func_ov017_020bf9c8EP27UnkStruct_func_01fff3b4_ret kind:function(arm,size=0x88) addr:0x020c11f4 func_ov017_020c127c kind:function(arm,size=0x84) addr:0x020c127c func_ov017_020c1300 kind:function(arm,size=0x44) addr:0x020c1300 func_ov017_020c1344 kind:function(arm,size=0x238) addr:0x020c1344 -func_ov017_020c157c kind:function(arm,size=0x4c) addr:0x020c157c +_ZN5Actor8vfunc_14Ev kind:function(arm,size=0x4c) addr:0x020c157c func_ov017_020c15c8 kind:function(arm,size=0x130) addr:0x020c15c8 -_ZN23ActorUnk_ov000_020a8bb08vfunc_48Ev kind:function(arm,size=0x80) addr:0x020c16f8 +_ZN5Actor8vfunc_48Ev kind:function(arm,size=0x80) addr:0x020c16f8 func_ov017_020c1778 kind:function(arm,size=0xc) addr:0x020c1778 func_ov017_020c1784 kind:function(arm,size=0xd4) addr:0x020c1784 func_ov017_020c1858 kind:function(arm,size=0x50) addr:0x020c1858 diff --git a/config/jp/arm9/overlays/ov019/symbols.txt b/config/jp/arm9/overlays/ov019/symbols.txt index 4191bd16..bfde7d9f 100644 --- a/config/jp/arm9/overlays/ov019/symbols.txt +++ b/config/jp/arm9/overlays/ov019/symbols.txt @@ -208,7 +208,7 @@ _ZN19FileSelectSubScreenC1Ev kind:function(arm,size=0x35c) addr:0x020d0aac _ZN19FileSelectSubScreen8vfunc_08EP5InputP12TouchControl kind:function(arm,size=0x154) addr:0x020d0e08 _ZN19FileSelectSubScreen19func_ov019_020cf73cEii kind:function(arm,size=0x120) addr:0x020d0f5c _ZN19FileSelectSubScreen8vfunc_10EPc kind:function(arm,size=0x14) addr:0x020d107c -_ZN13UnkStructSub2C1Ev kind:function(arm,size=0x18c) addr:0x020d1090 +_ZN20FileSelect_UnkClass7C1Ev kind:function(arm,size=0x18c) addr:0x020d1090 _ZN20FileSelect_UnkClass78vfunc_00Ev kind:function(arm,size=0xd4) addr:0x020d121c _ZN20FileSelect_UnkClass78vfunc_04Ev kind:function(arm,size=0x58) addr:0x020d12f0 _ZN19FileSelectSubScreenD1Ev kind:function(arm,size=0xec) addr:0x020d1348 @@ -274,7 +274,7 @@ _ZN8SaveFile19func_ov019_020d1aacEiPKw kind:function(arm,size=0x68) addr:0x020d3 _ZN8SaveFile19func_ov019_020d1b14Ei kind:function(arm,size=0x9c) addr:0x020d3334 data_ov019_020d1bb0 kind:data(any) addr:0x020d33d0 data_ov019_020d1bbc kind:data(any) addr:0x020d33dc -data_ov019_020d1bcc kind:data(any) addr:0x020d33ec +data_ov019_020d1bcc kind:data(byte[6]) addr:0x020d33ec data_ov019_020d1bd4 kind:data(any) addr:0x020d33f4 data_ov019_020d1be8 kind:data(any) addr:0x020d3408 __sinit_GameModeFileSelect.cpp kind:function(arm,size=0x18) addr:0x020d341c diff --git a/config/jp/arm9/overlays/ov031/relocs.txt b/config/jp/arm9/overlays/ov031/relocs.txt index 1b355467..54438cc6 100644 --- a/config/jp/arm9/overlays/ov031/relocs.txt +++ b/config/jp/arm9/overlays/ov031/relocs.txt @@ -6954,7 +6954,7 @@ from:0x02114a94 kind:load to:0x02099cfc module:overlay(0) from:0x02114a98 kind:load to:0x02099d14 module:overlay(0) from:0x02114a9c kind:load to:0x02099d20 module:overlay(0) from:0x02114aa0 kind:load to:0x01fff464 module:itcm -from:0x02114aa4 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114aa4 kind:load to:0x020c157c module:overlay(17) from:0x02114aa8 kind:load to:0x020e31f0 module:overlay(31) from:0x02114aac kind:load to:0x02099c58 module:overlay(0) from:0x02114ab0 kind:load to:0x020e33fc module:overlay(31) @@ -6965,9 +6965,9 @@ from:0x02114ac0 kind:load to:0x02099c6c module:overlay(0) from:0x02114ac4 kind:load to:0x02099c70 module:overlay(0) from:0x02114ac8 kind:load to:0x020e3e58 module:overlay(31) from:0x02114acc kind:load to:0x020e3e98 module:overlay(31) -from:0x02114ad0 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114ad4 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114ad8 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114ad0 kind:load to:0x020c1120 module:overlay(17) +from:0x02114ad4 kind:load to:0x020c1164 module:overlay(17) +from:0x02114ad8 kind:load to:0x020c16f8 module:overlay(17) from:0x02114adc kind:load to:0x020e4de4 module:overlay(31) from:0x02114ae0 kind:load to:0x020e4e34 module:overlay(31) from:0x02114aec kind:load to:0x020e5128 module:overlay(31) @@ -6987,7 +6987,7 @@ from:0x02114b30 kind:load to:0x02099cfc module:overlay(0) from:0x02114b34 kind:load to:0x02099d14 module:overlay(0) from:0x02114b38 kind:load to:0x02099d20 module:overlay(0) from:0x02114b3c kind:load to:0x01fff464 module:itcm -from:0x02114b40 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114b40 kind:load to:0x020c157c module:overlay(17) from:0x02114b44 kind:load to:0x020e513c module:overlay(31) from:0x02114b48 kind:load to:0x02099c58 module:overlay(0) from:0x02114b4c kind:load to:0x020e53b0 module:overlay(31) @@ -6998,9 +6998,9 @@ from:0x02114b5c kind:load to:0x02099c6c module:overlay(0) from:0x02114b60 kind:load to:0x02099c70 module:overlay(0) from:0x02114b64 kind:load to:0x02099d2c module:overlay(0) from:0x02114b68 kind:load to:0x02099d98 module:overlay(0) -from:0x02114b6c kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114b70 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114b74 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114b6c kind:load to:0x020c1120 module:overlay(17) +from:0x02114b70 kind:load to:0x020c1164 module:overlay(17) +from:0x02114b74 kind:load to:0x020c16f8 module:overlay(17) from:0x02114b78 kind:load to:0x020e5624 module:overlay(31) from:0x02114b7c kind:load to:0x020e564c module:overlay(31) from:0x02114b88 kind:load to:0x02099cc0 module:overlay(0) @@ -7008,7 +7008,7 @@ from:0x02114b8c kind:load to:0x02099cfc module:overlay(0) from:0x02114b90 kind:load to:0x02099d14 module:overlay(0) from:0x02114b94 kind:load to:0x02099d20 module:overlay(0) from:0x02114b98 kind:load to:0x01fff464 module:itcm -from:0x02114b9c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114b9c kind:load to:0x020c157c module:overlay(17) from:0x02114ba0 kind:load to:0x020e5804 module:overlay(31) from:0x02114ba4 kind:load to:0x020e5830 module:overlay(31) from:0x02114ba8 kind:load to:0x020e5870 module:overlay(31) @@ -7019,9 +7019,9 @@ from:0x02114bb8 kind:load to:0x02099c6c module:overlay(0) from:0x02114bbc kind:load to:0x02099c70 module:overlay(0) from:0x02114bc0 kind:load to:0x02099d2c module:overlay(0) from:0x02114bc4 kind:load to:0x02099d98 module:overlay(0) -from:0x02114bc8 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114bcc kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114bd0 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114bc8 kind:load to:0x020c1120 module:overlay(17) +from:0x02114bcc kind:load to:0x020c1164 module:overlay(17) +from:0x02114bd0 kind:load to:0x020c16f8 module:overlay(17) from:0x02114bd4 kind:load to:0x020e5a94 module:overlay(31) from:0x02114bd8 kind:load to:0x020e5aa8 module:overlay(31) from:0x02114bdc kind:load to:0x020e593c module:overlay(31) @@ -7040,7 +7040,7 @@ from:0x02114c1c kind:load to:0x02099cfc module:overlay(0) from:0x02114c20 kind:load to:0x02099d14 module:overlay(0) from:0x02114c24 kind:load to:0x02099d20 module:overlay(0) from:0x02114c28 kind:load to:0x01fff464 module:itcm -from:0x02114c2c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114c2c kind:load to:0x020c157c module:overlay(17) from:0x02114c30 kind:load to:0x020e5804 module:overlay(31) from:0x02114c34 kind:load to:0x020e5830 module:overlay(31) from:0x02114c38 kind:load to:0x020e5870 module:overlay(31) @@ -7051,9 +7051,9 @@ from:0x02114c48 kind:load to:0x02099c6c module:overlay(0) from:0x02114c4c kind:load to:0x02099c70 module:overlay(0) from:0x02114c50 kind:load to:0x02099d2c module:overlay(0) from:0x02114c54 kind:load to:0x02099d98 module:overlay(0) -from:0x02114c58 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114c5c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114c60 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114c58 kind:load to:0x020c1120 module:overlay(17) +from:0x02114c5c kind:load to:0x020c1164 module:overlay(17) +from:0x02114c60 kind:load to:0x020c16f8 module:overlay(17) from:0x02114c64 kind:load to:0x020e5b50 module:overlay(31) from:0x02114c68 kind:load to:0x020e5b90 module:overlay(31) from:0x02114c6c kind:load to:0x020e593c module:overlay(31) @@ -7092,7 +7092,7 @@ from:0x02114d20 kind:load to:0x02099cfc module:overlay(0) from:0x02114d24 kind:load to:0x02099d14 module:overlay(0) from:0x02114d28 kind:load to:0x02099d20 module:overlay(0) from:0x02114d2c kind:load to:0x01fff464 module:itcm -from:0x02114d30 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114d30 kind:load to:0x020c157c module:overlay(17) from:0x02114d34 kind:load to:0x020e62bc module:overlay(31) from:0x02114d38 kind:load to:0x02099c58 module:overlay(0) from:0x02114d3c kind:load to:0x020e640c module:overlay(31) @@ -7103,9 +7103,9 @@ from:0x02114d4c kind:load to:0x02099c6c module:overlay(0) from:0x02114d50 kind:load to:0x02099c70 module:overlay(0) from:0x02114d54 kind:load to:0x02099d2c module:overlay(0) from:0x02114d58 kind:load to:0x02099d98 module:overlay(0) -from:0x02114d5c kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114d60 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114d64 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114d5c kind:load to:0x020c1120 module:overlay(17) +from:0x02114d60 kind:load to:0x020c1164 module:overlay(17) +from:0x02114d64 kind:load to:0x020c16f8 module:overlay(17) from:0x02114d68 kind:load to:0x020e6174 module:overlay(31) from:0x02114d6c kind:load to:0x020e6214 module:overlay(31) from:0x02114d78 kind:load to:0x020e7284 module:overlay(31) @@ -7126,7 +7126,7 @@ from:0x02114dd8 kind:load to:0x02099cfc module:overlay(0) from:0x02114ddc kind:load to:0x02099d14 module:overlay(0) from:0x02114de0 kind:load to:0x02099d20 module:overlay(0) from:0x02114de4 kind:load to:0x01fff464 module:itcm -from:0x02114de8 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114de8 kind:load to:0x020c157c module:overlay(17) from:0x02114dec kind:load to:0x020e7520 module:overlay(31) from:0x02114df0 kind:load to:0x02099c58 module:overlay(0) from:0x02114df4 kind:load to:0x020e7b34 module:overlay(31) @@ -7137,9 +7137,9 @@ from:0x02114e04 kind:load to:0x02099c6c module:overlay(0) from:0x02114e08 kind:load to:0x02099c70 module:overlay(0) from:0x02114e0c kind:load to:0x02099d2c module:overlay(0) from:0x02114e10 kind:load to:0x02099d98 module:overlay(0) -from:0x02114e14 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114e18 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114e1c kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114e14 kind:load to:0x020c1120 module:overlay(17) +from:0x02114e18 kind:load to:0x020c1164 module:overlay(17) +from:0x02114e1c kind:load to:0x020c16f8 module:overlay(17) from:0x02114e20 kind:load to:0x020e7e18 module:overlay(31) from:0x02114e24 kind:load to:0x020e7e60 module:overlay(31) from:0x02114e30 kind:load to:0x020e80ec module:overlay(31) @@ -7152,7 +7152,7 @@ from:0x02114e50 kind:load to:0x02099cfc module:overlay(0) from:0x02114e54 kind:load to:0x02099d14 module:overlay(0) from:0x02114e58 kind:load to:0x02099d20 module:overlay(0) from:0x02114e5c kind:load to:0x01fff464 module:itcm -from:0x02114e60 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114e60 kind:load to:0x020c157c module:overlay(17) from:0x02114e64 kind:load to:0x0218aa88 module:overlays(97,100,105,110) from:0x02114e68 kind:load to:0x02099c58 module:overlay(0) from:0x02114e6c kind:load to:0x0218aaf8 module:overlays(97,100,105,110) @@ -7163,9 +7163,9 @@ from:0x02114e7c kind:load to:0x02099c6c module:overlay(0) from:0x02114e80 kind:load to:0x02099c70 module:overlay(0) from:0x02114e84 kind:load to:0x02099d2c module:overlay(0) from:0x02114e88 kind:load to:0x02099d98 module:overlay(0) -from:0x02114e8c kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114e90 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114e94 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114e8c kind:load to:0x020c1120 module:overlay(17) +from:0x02114e90 kind:load to:0x020c1164 module:overlay(17) +from:0x02114e94 kind:load to:0x020c16f8 module:overlay(17) from:0x02114e98 kind:load to:0x020e8100 module:overlay(31) from:0x02114e9c kind:load to:0x020e8160 module:overlay(31) from:0x02114ea0 kind:load to:0x0218ab18 module:overlays(97,100,105,110) @@ -7193,7 +7193,7 @@ from:0x02114f2c kind:load to:0x02099cfc module:overlay(0) from:0x02114f30 kind:load to:0x02099d14 module:overlay(0) from:0x02114f34 kind:load to:0x02099d20 module:overlay(0) from:0x02114f38 kind:load to:0x01fff464 module:itcm -from:0x02114f3c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02114f3c kind:load to:0x020c157c module:overlay(17) from:0x02114f40 kind:load to:0x020e8674 module:overlay(31) from:0x02114f44 kind:load to:0x02099c58 module:overlay(0) from:0x02114f48 kind:load to:0x020e88e4 module:overlay(31) @@ -7204,9 +7204,9 @@ from:0x02114f58 kind:load to:0x02099c6c module:overlay(0) from:0x02114f5c kind:load to:0x02099c70 module:overlay(0) from:0x02114f60 kind:load to:0x02099d2c module:overlay(0) from:0x02114f64 kind:load to:0x02099d98 module:overlay(0) -from:0x02114f68 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02114f6c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02114f70 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02114f68 kind:load to:0x020c1120 module:overlay(17) +from:0x02114f6c kind:load to:0x020c1164 module:overlay(17) +from:0x02114f70 kind:load to:0x020c16f8 module:overlay(17) from:0x02114f74 kind:load to:0x020e8cf8 module:overlay(31) from:0x02114f78 kind:load to:0x020e8d20 module:overlay(31) from:0x02114fa4 kind:load to:0x020e8e78 module:overlay(31) @@ -7230,9 +7230,9 @@ from:0x02115080 kind:load to:0x02099c6c module:overlay(0) from:0x02115084 kind:load to:0x02099c70 module:overlay(0) from:0x02115088 kind:load to:0x02099d2c module:overlay(0) from:0x0211508c kind:load to:0x02099d98 module:overlay(0) -from:0x02115090 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02115094 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02115098 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115090 kind:load to:0x020c1120 module:overlay(17) +from:0x02115094 kind:load to:0x020c1164 module:overlay(17) +from:0x02115098 kind:load to:0x020c16f8 module:overlay(17) from:0x0211509c kind:load to:0x020e8dd8 module:overlay(31) from:0x021150a0 kind:load to:0x020e8df8 module:overlay(31) from:0x021150a4 kind:load to:0x020e906c module:overlay(31) @@ -7301,7 +7301,7 @@ from:0x021151b8 kind:load to:0x02099cfc module:overlay(0) from:0x021151bc kind:load to:0x02099d14 module:overlay(0) from:0x021151c0 kind:load to:0x02099d20 module:overlay(0) from:0x021151c4 kind:load to:0x01fff464 module:itcm -from:0x021151c8 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021151c8 kind:load to:0x020c157c module:overlay(17) from:0x021151cc kind:load to:0x020ea368 module:overlay(31) from:0x021151d0 kind:load to:0x02099c58 module:overlay(0) from:0x021151d4 kind:load to:0x020ea398 module:overlay(31) @@ -7312,9 +7312,9 @@ from:0x021151e4 kind:load to:0x02099c6c module:overlay(0) from:0x021151e8 kind:load to:0x02099c70 module:overlay(0) from:0x021151ec kind:load to:0x020ea58c module:overlay(31) from:0x021151f0 kind:load to:0x020ea5f4 module:overlay(31) -from:0x021151f4 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x021151f8 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021151fc kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x021151f4 kind:load to:0x020c1120 module:overlay(17) +from:0x021151f8 kind:load to:0x020c1164 module:overlay(17) +from:0x021151fc kind:load to:0x020c16f8 module:overlay(17) from:0x02115200 kind:load to:0x020ea638 module:overlay(31) from:0x02115204 kind:load to:0x020ea660 module:overlay(31) from:0x02115230 kind:load to:0x020eb914 module:overlay(31) @@ -7333,7 +7333,7 @@ from:0x02115270 kind:load to:0x02099cfc module:overlay(0) from:0x02115274 kind:load to:0x02099d14 module:overlay(0) from:0x02115278 kind:load to:0x02099d20 module:overlay(0) from:0x0211527c kind:load to:0x01fff464 module:itcm -from:0x02115280 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115280 kind:load to:0x020c157c module:overlay(17) from:0x02115284 kind:load to:0x020ea808 module:overlay(31) from:0x02115288 kind:load to:0x02099c58 module:overlay(0) from:0x0211528c kind:load to:0x020eb344 module:overlay(31) @@ -7344,9 +7344,9 @@ from:0x0211529c kind:load to:0x02099c6c module:overlay(0) from:0x021152a0 kind:load to:0x02099c70 module:overlay(0) from:0x021152a4 kind:load to:0x02099d2c module:overlay(0) from:0x021152a8 kind:load to:0x02099d98 module:overlay(0) -from:0x021152ac kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x021152b0 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021152b4 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x021152ac kind:load to:0x020c1120 module:overlay(17) +from:0x021152b0 kind:load to:0x020c1164 module:overlay(17) +from:0x021152b4 kind:load to:0x020c16f8 module:overlay(17) from:0x021152b8 kind:load to:0x020eb9bc module:overlay(31) from:0x021152bc kind:load to:0x020eb9dc module:overlay(31) from:0x021152c0 kind:load to:0x020eaaf4 module:overlay(31) @@ -7498,9 +7498,9 @@ from:0x02115658 kind:load to:0x02099c6c module:overlay(0) from:0x0211565c kind:load to:0x02099c70 module:overlay(0) from:0x02115660 kind:load to:0x02099d2c module:overlay(0) from:0x02115664 kind:load to:0x02099d98 module:overlay(0) -from:0x02115668 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211566c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02115670 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115668 kind:load to:0x020c1120 module:overlay(17) +from:0x0211566c kind:load to:0x020c1164 module:overlay(17) +from:0x02115670 kind:load to:0x020c16f8 module:overlay(17) from:0x02115674 kind:load to:0x020ebf11 module:overlay(31) from:0x02115678 kind:load to:0x020ebfb5 module:overlay(31) from:0x0211567c kind:load to:0x020aa5a0 module:overlay(0) @@ -7545,9 +7545,9 @@ from:0x0211571c kind:load to:0x02099c6c module:overlay(0) from:0x02115720 kind:load to:0x02099c70 module:overlay(0) from:0x02115724 kind:load to:0x02099d2c module:overlay(0) from:0x02115728 kind:load to:0x02099d98 module:overlay(0) -from:0x0211572c kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02115730 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02115734 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x0211572c kind:load to:0x020c1120 module:overlay(17) +from:0x02115730 kind:load to:0x020c1164 module:overlay(17) +from:0x02115734 kind:load to:0x020c16f8 module:overlay(17) from:0x02115738 kind:load to:0x020f0270 module:overlay(31) from:0x0211573c kind:load to:0x020f0248 module:overlay(31) from:0x02115740 kind:load to:0x020aa5a0 module:overlay(0) @@ -7620,7 +7620,7 @@ from:0x02115bbc kind:load to:0x02099cfc module:overlay(0) from:0x02115bc0 kind:load to:0x02099d14 module:overlay(0) from:0x02115bc4 kind:load to:0x02099d20 module:overlay(0) from:0x02115bc8 kind:load to:0x01fff464 module:itcm -from:0x02115bcc kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115bcc kind:load to:0x020c157c module:overlay(17) from:0x02115bd0 kind:load to:0x020f08c4 module:overlay(31) from:0x02115bd4 kind:load to:0x02099c58 module:overlay(0) from:0x02115bd8 kind:load to:0x020f08d4 module:overlay(31) @@ -7631,9 +7631,9 @@ from:0x02115be8 kind:load to:0x02099c6c module:overlay(0) from:0x02115bec kind:load to:0x02099c70 module:overlay(0) from:0x02115bf0 kind:load to:0x02099d2c module:overlay(0) from:0x02115bf4 kind:load to:0x02099d98 module:overlay(0) -from:0x02115bf8 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02115bfc kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02115c00 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115bf8 kind:load to:0x020c1120 module:overlay(17) +from:0x02115bfc kind:load to:0x020c1164 module:overlay(17) +from:0x02115c00 kind:load to:0x020c16f8 module:overlay(17) from:0x02115c04 kind:load to:0x020f11f0 module:overlay(31) from:0x02115c08 kind:load to:0x020f11d4 module:overlay(31) from:0x02115c14 kind:load to:0x020f1224 module:overlay(31) @@ -7648,7 +7648,7 @@ from:0x02115c3c kind:load to:0x02099cfc module:overlay(0) from:0x02115c40 kind:load to:0x02099d14 module:overlay(0) from:0x02115c44 kind:load to:0x02099d20 module:overlay(0) from:0x02115c48 kind:load to:0x01fff464 module:itcm -from:0x02115c4c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115c4c kind:load to:0x020c157c module:overlay(17) from:0x02115c50 kind:load to:0x020f129c module:overlay(31) from:0x02115c54 kind:load to:0x020f1354 module:overlay(31) from:0x02115c58 kind:load to:0x02099c5c module:overlay(0) @@ -7659,9 +7659,9 @@ from:0x02115c68 kind:load to:0x02099c6c module:overlay(0) from:0x02115c6c kind:load to:0x02099c70 module:overlay(0) from:0x02115c70 kind:load to:0x02099d2c module:overlay(0) from:0x02115c74 kind:load to:0x02099d98 module:overlay(0) -from:0x02115c78 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02115c7c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02115c80 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115c78 kind:load to:0x020c1120 module:overlay(17) +from:0x02115c7c kind:load to:0x020c1164 module:overlay(17) +from:0x02115c80 kind:load to:0x020c16f8 module:overlay(17) from:0x02115c84 kind:load to:0x020f13ac module:overlay(31) from:0x02115c88 kind:load to:0x020f13cc module:overlay(31) from:0x02115c94 kind:load to:0x020f1414 module:overlay(31) @@ -7684,7 +7684,7 @@ from:0x02115ce4 kind:load to:0x02099cfc module:overlay(0) from:0x02115ce8 kind:load to:0x02099d14 module:overlay(0) from:0x02115cec kind:load to:0x02099d20 module:overlay(0) from:0x02115cf0 kind:load to:0x01fff464 module:itcm -from:0x02115cf4 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115cf4 kind:load to:0x020c157c module:overlay(17) from:0x02115cf8 kind:load to:0x020f149c module:overlay(31) from:0x02115cfc kind:load to:0x02099c58 module:overlay(0) from:0x02115d00 kind:load to:0x02099c5c module:overlay(0) @@ -7695,9 +7695,9 @@ from:0x02115d10 kind:load to:0x02099c6c module:overlay(0) from:0x02115d14 kind:load to:0x02099c70 module:overlay(0) from:0x02115d18 kind:load to:0x02099d2c module:overlay(0) from:0x02115d1c kind:load to:0x02099d98 module:overlay(0) -from:0x02115d20 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02115d24 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02115d28 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115d20 kind:load to:0x020c1120 module:overlay(17) +from:0x02115d24 kind:load to:0x020c1164 module:overlay(17) +from:0x02115d28 kind:load to:0x020c16f8 module:overlay(17) from:0x02115d2c kind:load to:0x020f1674 module:overlay(31) from:0x02115d30 kind:load to:0x020f1694 module:overlay(31) from:0x02115d3c kind:load to:0x020f2034 module:overlay(31) @@ -7715,7 +7715,7 @@ from:0x02115d78 kind:load to:0x02099cfc module:overlay(0) from:0x02115d7c kind:load to:0x02099d14 module:overlay(0) from:0x02115d80 kind:load to:0x02099d20 module:overlay(0) from:0x02115d84 kind:load to:0x01fff464 module:itcm -from:0x02115d88 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115d88 kind:load to:0x020c157c module:overlay(17) from:0x02115d8c kind:load to:0x020f1768 module:overlay(31) from:0x02115d90 kind:load to:0x02099c58 module:overlay(0) from:0x02115d94 kind:load to:0x020f1a58 module:overlay(31) @@ -7728,7 +7728,7 @@ from:0x02115dac kind:load to:0x020f17c8 module:overlay(31) from:0x02115db0 kind:load to:0x020f1804 module:overlay(31) from:0x02115db4 kind:load to:0x020f1ca4 module:overlay(31) from:0x02115db8 kind:load to:0x020f1cc4 module:overlay(31) -from:0x02115dbc kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115dbc kind:load to:0x020c16f8 module:overlay(17) from:0x02115dc0 kind:load to:0x020f25a4 module:overlay(31) from:0x02115dc4 kind:load to:0x020f25cc module:overlay(31) from:0x02115dc8 kind:load to:0x020f2048 module:overlay(31) @@ -7763,7 +7763,7 @@ from:0x02115e8c kind:load to:0x02099cfc module:overlay(0) from:0x02115e90 kind:load to:0x02099d14 module:overlay(0) from:0x02115e94 kind:load to:0x02099d20 module:overlay(0) from:0x02115e98 kind:load to:0x01fff464 module:itcm -from:0x02115e9c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115e9c kind:load to:0x020c157c module:overlay(17) from:0x02115ea0 kind:load to:0x020f2700 module:overlay(31) from:0x02115ea4 kind:load to:0x02099c58 module:overlay(0) from:0x02115ea8 kind:load to:0x020f277c module:overlay(31) @@ -7776,7 +7776,7 @@ from:0x02115ec0 kind:load to:0x020f17c8 module:overlay(31) from:0x02115ec4 kind:load to:0x020f1804 module:overlay(31) from:0x02115ec8 kind:load to:0x020f1ca4 module:overlay(31) from:0x02115ecc kind:load to:0x020f1cc4 module:overlay(31) -from:0x02115ed0 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115ed0 kind:load to:0x020c16f8 module:overlay(17) from:0x02115ed4 kind:load to:0x020f294c module:overlay(31) from:0x02115ed8 kind:load to:0x020f297c module:overlay(31) from:0x02115edc kind:load to:0x020f2048 module:overlay(31) @@ -7812,7 +7812,7 @@ from:0x02115fa0 kind:load to:0x02099cfc module:overlay(0) from:0x02115fa4 kind:load to:0x02099d14 module:overlay(0) from:0x02115fa8 kind:load to:0x02099d20 module:overlay(0) from:0x02115fac kind:load to:0x01fff464 module:itcm -from:0x02115fb0 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02115fb0 kind:load to:0x020c157c module:overlay(17) from:0x02115fb4 kind:load to:0x020f2ad0 module:overlay(31) from:0x02115fb8 kind:load to:0x02099c58 module:overlay(0) from:0x02115fbc kind:load to:0x020f2b3c module:overlay(31) @@ -7825,7 +7825,7 @@ from:0x02115fd4 kind:load to:0x020f17c8 module:overlay(31) from:0x02115fd8 kind:load to:0x020f1804 module:overlay(31) from:0x02115fdc kind:load to:0x020f1ca4 module:overlay(31) from:0x02115fe0 kind:load to:0x020f1cc4 module:overlay(31) -from:0x02115fe4 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02115fe4 kind:load to:0x020c16f8 module:overlay(17) from:0x02115fe8 kind:load to:0x020f2d10 module:overlay(31) from:0x02115fec kind:load to:0x020f2d40 module:overlay(31) from:0x02115ff0 kind:load to:0x020f2048 module:overlay(31) @@ -7871,7 +7871,7 @@ from:0x021160ec kind:load to:0x02099cfc module:overlay(0) from:0x021160f0 kind:load to:0x02099d14 module:overlay(0) from:0x021160f4 kind:load to:0x02099d20 module:overlay(0) from:0x021160f8 kind:load to:0x01fff464 module:itcm -from:0x021160fc kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021160fc kind:load to:0x020c157c module:overlay(17) from:0x02116100 kind:load to:0x020f3138 module:overlay(31) from:0x02116104 kind:load to:0x02099c58 module:overlay(0) from:0x02116108 kind:load to:0x020f3358 module:overlay(31) @@ -7882,9 +7882,9 @@ from:0x02116118 kind:load to:0x02099c6c module:overlay(0) from:0x0211611c kind:load to:0x02099c70 module:overlay(0) from:0x02116120 kind:load to:0x02099d2c module:overlay(0) from:0x02116124 kind:load to:0x02099d98 module:overlay(0) -from:0x02116128 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211612c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116130 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116128 kind:load to:0x020c1120 module:overlay(17) +from:0x0211612c kind:load to:0x020c1164 module:overlay(17) +from:0x02116130 kind:load to:0x020c16f8 module:overlay(17) from:0x02116134 kind:load to:0x020f3018 module:overlay(31) from:0x02116138 kind:load to:0x020f30a4 module:overlay(31) from:0x02116144 kind:load to:0x020f582c module:overlay(31) @@ -7899,7 +7899,7 @@ from:0x0211616c kind:load to:0x02099cfc module:overlay(0) from:0x02116170 kind:load to:0x02099d14 module:overlay(0) from:0x02116174 kind:load to:0x02099d20 module:overlay(0) from:0x02116178 kind:load to:0x01fff464 module:itcm -from:0x0211617c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x0211617c kind:load to:0x020c157c module:overlay(17) from:0x02116180 kind:load to:0x020f58a0 module:overlay(31) from:0x02116184 kind:load to:0x02099c58 module:overlay(0) from:0x02116188 kind:load to:0x020f58f4 module:overlay(31) @@ -7910,9 +7910,9 @@ from:0x02116198 kind:load to:0x02099c6c module:overlay(0) from:0x0211619c kind:load to:0x02099c70 module:overlay(0) from:0x021161a0 kind:load to:0x02099d2c module:overlay(0) from:0x021161a4 kind:load to:0x02099d98 module:overlay(0) -from:0x021161a8 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x021161ac kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021161b0 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x021161a8 kind:load to:0x020c1120 module:overlay(17) +from:0x021161ac kind:load to:0x020c1164 module:overlay(17) +from:0x021161b0 kind:load to:0x020c16f8 module:overlay(17) from:0x021161b4 kind:load to:0x020f5afc module:overlay(31) from:0x021161b8 kind:load to:0x020f5b10 module:overlay(31) from:0x021161c4 kind:load to:0x020e80d8 module:overlay(31) @@ -7925,7 +7925,7 @@ from:0x021161e4 kind:load to:0x02099cfc module:overlay(0) from:0x021161e8 kind:load to:0x02099d14 module:overlay(0) from:0x021161ec kind:load to:0x02099d20 module:overlay(0) from:0x021161f0 kind:load to:0x01fff464 module:itcm -from:0x021161f4 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021161f4 kind:load to:0x020c157c module:overlay(17) from:0x021161f8 kind:load to:0x020f5be8 module:overlay(31) from:0x021161fc kind:load to:0x02099c58 module:overlay(0) from:0x02116200 kind:load to:0x020f5c2c module:overlay(31) @@ -7936,9 +7936,9 @@ from:0x02116210 kind:load to:0x02099c6c module:overlay(0) from:0x02116214 kind:load to:0x02099c70 module:overlay(0) from:0x02116218 kind:load to:0x02099d2c module:overlay(0) from:0x0211621c kind:load to:0x02099d98 module:overlay(0) -from:0x02116220 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116224 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116228 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116220 kind:load to:0x020c1120 module:overlay(17) +from:0x02116224 kind:load to:0x020c1164 module:overlay(17) +from:0x02116228 kind:load to:0x020c16f8 module:overlay(17) from:0x0211622c kind:load to:0x020f60f8 module:overlay(31) from:0x02116230 kind:load to:0x020f6120 module:overlay(31) from:0x02116234 kind:load to:0x020f6278 module:overlay(31) @@ -7948,7 +7948,7 @@ from:0x0211624c kind:load to:0x02099cfc module:overlay(0) from:0x02116250 kind:load to:0x02099d14 module:overlay(0) from:0x02116254 kind:load to:0x02099d20 module:overlay(0) from:0x02116258 kind:load to:0x01fff464 module:itcm -from:0x0211625c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x0211625c kind:load to:0x020c157c module:overlay(17) from:0x02116260 kind:load to:0x020f6234 module:overlay(31) from:0x02116264 kind:load to:0x02099c58 module:overlay(0) from:0x02116268 kind:load to:0x020f6264 module:overlay(31) @@ -7959,9 +7959,9 @@ from:0x02116278 kind:load to:0x02099c6c module:overlay(0) from:0x0211627c kind:load to:0x02099c70 module:overlay(0) from:0x02116280 kind:load to:0x02099d2c module:overlay(0) from:0x02116284 kind:load to:0x02099d98 module:overlay(0) -from:0x02116288 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211628c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116290 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116288 kind:load to:0x020c1120 module:overlay(17) +from:0x0211628c kind:load to:0x020c1164 module:overlay(17) +from:0x02116290 kind:load to:0x020c16f8 module:overlay(17) from:0x02116294 kind:load to:0x020f7b78 module:overlay(31) from:0x02116298 kind:load to:0x020f7b8c module:overlay(31) from:0x0211629c kind:load to:0x020f6278 module:overlay(31) @@ -7978,7 +7978,7 @@ from:0x021162d4 kind:load to:0x02099cfc module:overlay(0) from:0x021162d8 kind:load to:0x02099d14 module:overlay(0) from:0x021162dc kind:load to:0x02099d20 module:overlay(0) from:0x021162e0 kind:load to:0x01fff464 module:itcm -from:0x021162e4 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021162e4 kind:load to:0x020c157c module:overlay(17) from:0x021162e8 kind:load to:0x020f7c30 module:overlay(31) from:0x021162ec kind:load to:0x02099c58 module:overlay(0) from:0x021162f0 kind:load to:0x020f7c38 module:overlay(31) @@ -7989,9 +7989,9 @@ from:0x02116300 kind:load to:0x02099c6c module:overlay(0) from:0x02116304 kind:load to:0x02099c70 module:overlay(0) from:0x02116308 kind:load to:0x02099d2c module:overlay(0) from:0x0211630c kind:load to:0x02099d98 module:overlay(0) -from:0x02116310 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116314 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116318 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116310 kind:load to:0x020c1120 module:overlay(17) +from:0x02116314 kind:load to:0x020c1164 module:overlay(17) +from:0x02116318 kind:load to:0x020c16f8 module:overlay(17) from:0x0211631c kind:load to:0x020f7ce0 module:overlay(31) from:0x02116320 kind:load to:0x020f7cf4 module:overlay(31) from:0x02116334 kind:load to:0x020f7d84 module:overlay(31) @@ -8010,7 +8010,7 @@ from:0x02116380 kind:load to:0x02099cfc module:overlay(0) from:0x02116384 kind:load to:0x02099d14 module:overlay(0) from:0x02116388 kind:load to:0x02099d20 module:overlay(0) from:0x0211638c kind:load to:0x01fff464 module:itcm -from:0x02116390 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116390 kind:load to:0x020c157c module:overlay(17) from:0x02116394 kind:load to:0x020f841c module:overlay(31) from:0x02116398 kind:load to:0x02099c58 module:overlay(0) from:0x0211639c kind:load to:0x020f8564 module:overlay(31) @@ -8021,9 +8021,9 @@ from:0x021163ac kind:load to:0x020f8bbc module:overlay(31) from:0x021163b0 kind:load to:0x02099c70 module:overlay(0) from:0x021163b4 kind:load to:0x02099d2c module:overlay(0) from:0x021163b8 kind:load to:0x02099d98 module:overlay(0) -from:0x021163bc kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x021163c0 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021163c4 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x021163bc kind:load to:0x020c1120 module:overlay(17) +from:0x021163c0 kind:load to:0x020c1164 module:overlay(17) +from:0x021163c4 kind:load to:0x020c16f8 module:overlay(17) from:0x021163c8 kind:load to:0x020f8e48 module:overlay(31) from:0x021163cc kind:load to:0x020f8e68 module:overlay(31) from:0x021163d8 kind:load to:0x02099cc0 module:overlay(0) @@ -8031,7 +8031,7 @@ from:0x021163dc kind:load to:0x02099cfc module:overlay(0) from:0x021163e0 kind:load to:0x02099d14 module:overlay(0) from:0x021163e4 kind:load to:0x02099d20 module:overlay(0) from:0x021163e8 kind:load to:0x01fff464 module:itcm -from:0x021163ec kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021163ec kind:load to:0x020c157c module:overlay(17) from:0x021163f0 kind:load to:0x020f8ec4 module:overlay(31) from:0x021163f4 kind:load to:0x020f8f04 module:overlay(31) from:0x021163f8 kind:load to:0x02099c5c module:overlay(0) @@ -8042,9 +8042,9 @@ from:0x02116408 kind:load to:0x02099c6c module:overlay(0) from:0x0211640c kind:load to:0x02099c70 module:overlay(0) from:0x02116410 kind:load to:0x02099d2c module:overlay(0) from:0x02116414 kind:load to:0x02099d98 module:overlay(0) -from:0x02116418 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211641c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116420 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116418 kind:load to:0x020c1120 module:overlay(17) +from:0x0211641c kind:load to:0x020c1164 module:overlay(17) +from:0x02116420 kind:load to:0x020c16f8 module:overlay(17) from:0x02116424 kind:load to:0x020f90d0 module:overlay(31) from:0x02116428 kind:load to:0x020f90e4 module:overlay(31) from:0x02116434 kind:load to:0x02099cc0 module:overlay(0) @@ -8052,7 +8052,7 @@ from:0x02116438 kind:load to:0x02099cfc module:overlay(0) from:0x0211643c kind:load to:0x02099d14 module:overlay(0) from:0x02116440 kind:load to:0x02099d20 module:overlay(0) from:0x02116444 kind:load to:0x01fff464 module:itcm -from:0x02116448 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116448 kind:load to:0x020c157c module:overlay(17) from:0x0211644c kind:load to:0x020f8fcc module:overlay(31) from:0x02116450 kind:load to:0x020f8f04 module:overlay(31) from:0x02116454 kind:load to:0x02099c5c module:overlay(0) @@ -8063,9 +8063,9 @@ from:0x02116464 kind:load to:0x02099c6c module:overlay(0) from:0x02116468 kind:load to:0x02099c70 module:overlay(0) from:0x0211646c kind:load to:0x02099d2c module:overlay(0) from:0x02116470 kind:load to:0x02099d98 module:overlay(0) -from:0x02116474 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116478 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x0211647c kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116474 kind:load to:0x020c1120 module:overlay(17) +from:0x02116478 kind:load to:0x020c1164 module:overlay(17) +from:0x0211647c kind:load to:0x020c16f8 module:overlay(17) from:0x02116480 kind:load to:0x020f9148 module:overlay(31) from:0x02116484 kind:load to:0x020f9168 module:overlay(31) from:0x02116488 kind:load to:0x020f901c module:overlay(31) @@ -8074,7 +8074,7 @@ from:0x02116498 kind:load to:0x02099cfc module:overlay(0) from:0x0211649c kind:load to:0x02099d14 module:overlay(0) from:0x021164a0 kind:load to:0x02099d20 module:overlay(0) from:0x021164a4 kind:load to:0x01fff464 module:itcm -from:0x021164a8 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021164a8 kind:load to:0x020c157c module:overlay(17) from:0x021164ac kind:load to:0x020f9044 module:overlay(31) from:0x021164b0 kind:load to:0x020f8f04 module:overlay(31) from:0x021164b4 kind:load to:0x02099c5c module:overlay(0) @@ -8085,9 +8085,9 @@ from:0x021164c4 kind:load to:0x02099c6c module:overlay(0) from:0x021164c8 kind:load to:0x02099c70 module:overlay(0) from:0x021164cc kind:load to:0x02099d2c module:overlay(0) from:0x021164d0 kind:load to:0x02099d98 module:overlay(0) -from:0x021164d4 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x021164d8 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021164dc kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x021164d4 kind:load to:0x020c1120 module:overlay(17) +from:0x021164d8 kind:load to:0x020c1164 module:overlay(17) +from:0x021164dc kind:load to:0x020c16f8 module:overlay(17) from:0x021164e0 kind:load to:0x020f9190 module:overlay(31) from:0x021164e4 kind:load to:0x020f91b0 module:overlay(31) from:0x021164e8 kind:load to:0x020f9094 module:overlay(31) @@ -8096,7 +8096,7 @@ from:0x021164f8 kind:load to:0x02099cfc module:overlay(0) from:0x021164fc kind:load to:0x02099d14 module:overlay(0) from:0x02116500 kind:load to:0x02099d20 module:overlay(0) from:0x02116504 kind:load to:0x01fff464 module:itcm -from:0x02116508 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116508 kind:load to:0x020c157c module:overlay(17) from:0x0211650c kind:load to:0x020f8f68 module:overlay(31) from:0x02116510 kind:load to:0x020f8f04 module:overlay(31) from:0x02116514 kind:load to:0x02099c5c module:overlay(0) @@ -8107,9 +8107,9 @@ from:0x02116524 kind:load to:0x02099c6c module:overlay(0) from:0x02116528 kind:load to:0x02099c70 module:overlay(0) from:0x0211652c kind:load to:0x02099d2c module:overlay(0) from:0x02116530 kind:load to:0x02099d98 module:overlay(0) -from:0x02116534 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116538 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x0211653c kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116534 kind:load to:0x020c1120 module:overlay(17) +from:0x02116538 kind:load to:0x020c1164 module:overlay(17) +from:0x0211653c kind:load to:0x020c16f8 module:overlay(17) from:0x02116540 kind:load to:0x020f9100 module:overlay(31) from:0x02116544 kind:load to:0x020f9120 module:overlay(31) from:0x02116548 kind:load to:0x020f8fc4 module:overlay(31) @@ -8134,7 +8134,7 @@ from:0x021165bc kind:load to:0x02099cfc module:overlay(0) from:0x021165c0 kind:load to:0x02099d14 module:overlay(0) from:0x021165c4 kind:load to:0x02099d20 module:overlay(0) from:0x021165c8 kind:load to:0x01fff464 module:itcm -from:0x021165cc kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021165cc kind:load to:0x020c157c module:overlay(17) from:0x021165d0 kind:load to:0x020f9550 module:overlay(31) from:0x021165d4 kind:load to:0x02099c58 module:overlay(0) from:0x021165d8 kind:load to:0x020f9564 module:overlay(31) @@ -8145,9 +8145,9 @@ from:0x021165e8 kind:load to:0x02099c6c module:overlay(0) from:0x021165ec kind:load to:0x02099c70 module:overlay(0) from:0x021165f0 kind:load to:0x02099d2c module:overlay(0) from:0x021165f4 kind:load to:0x02099d98 module:overlay(0) -from:0x021165f8 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x021165fc kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116600 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x021165f8 kind:load to:0x020c1120 module:overlay(17) +from:0x021165fc kind:load to:0x020c1164 module:overlay(17) +from:0x02116600 kind:load to:0x020c16f8 module:overlay(17) from:0x02116604 kind:load to:0x020f95dc module:overlay(31) from:0x02116608 kind:load to:0x020f95f0 module:overlay(31) from:0x02116614 kind:load to:0x020993bc module:overlay(0) @@ -8166,7 +8166,7 @@ from:0x0211665c kind:load to:0x02099cfc module:overlay(0) from:0x02116660 kind:load to:0x02099d14 module:overlay(0) from:0x02116664 kind:load to:0x02099d20 module:overlay(0) from:0x02116668 kind:load to:0x01fff464 module:itcm -from:0x0211666c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x0211666c kind:load to:0x020c157c module:overlay(17) from:0x02116670 kind:load to:0x020f9878 module:overlay(31) from:0x02116674 kind:load to:0x02099c58 module:overlay(0) from:0x02116678 kind:load to:0x02099c5c module:overlay(0) @@ -8177,9 +8177,9 @@ from:0x02116688 kind:load to:0x02099c6c module:overlay(0) from:0x0211668c kind:load to:0x02099c70 module:overlay(0) from:0x02116690 kind:load to:0x02099d2c module:overlay(0) from:0x02116694 kind:load to:0x02099d98 module:overlay(0) -from:0x02116698 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211669c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021166a0 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116698 kind:load to:0x020c1120 module:overlay(17) +from:0x0211669c kind:load to:0x020c1164 module:overlay(17) +from:0x021166a0 kind:load to:0x020c16f8 module:overlay(17) from:0x021166a4 kind:load to:0x020f9914 module:overlay(31) from:0x021166a8 kind:load to:0x020f9928 module:overlay(31) from:0x021166b4 kind:load to:0x020f9964 module:overlay(31) @@ -8194,7 +8194,7 @@ from:0x021166dc kind:load to:0x02099cfc module:overlay(0) from:0x021166e0 kind:load to:0x02099d14 module:overlay(0) from:0x021166e4 kind:load to:0x02099d20 module:overlay(0) from:0x021166e8 kind:load to:0x01fff464 module:itcm -from:0x021166ec kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021166ec kind:load to:0x020c157c module:overlay(17) from:0x021166f0 kind:load to:0x020f99d0 module:overlay(31) from:0x021166f4 kind:load to:0x02099c58 module:overlay(0) from:0x021166f8 kind:load to:0x02099c5c module:overlay(0) @@ -8205,9 +8205,9 @@ from:0x02116708 kind:load to:0x02099c6c module:overlay(0) from:0x0211670c kind:load to:0x02099c70 module:overlay(0) from:0x02116710 kind:load to:0x02099d2c module:overlay(0) from:0x02116714 kind:load to:0x02099d98 module:overlay(0) -from:0x02116718 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211671c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116720 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116718 kind:load to:0x020c1120 module:overlay(17) +from:0x0211671c kind:load to:0x020c1164 module:overlay(17) +from:0x02116720 kind:load to:0x020c16f8 module:overlay(17) from:0x02116724 kind:load to:0x020f9a24 module:overlay(31) from:0x02116728 kind:load to:0x020f9a38 module:overlay(31) from:0x02116734 kind:load to:0x020f9a74 module:overlay(31) @@ -8222,7 +8222,7 @@ from:0x0211675c kind:load to:0x02099cfc module:overlay(0) from:0x02116760 kind:load to:0x02099d14 module:overlay(0) from:0x02116764 kind:load to:0x02099d20 module:overlay(0) from:0x02116768 kind:load to:0x01fff464 module:itcm -from:0x0211676c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x0211676c kind:load to:0x020c157c module:overlay(17) from:0x02116770 kind:load to:0x020f9afc module:overlay(31) from:0x02116774 kind:load to:0x02099c58 module:overlay(0) from:0x02116778 kind:load to:0x020f9b5c module:overlay(31) @@ -8233,9 +8233,9 @@ from:0x02116788 kind:load to:0x02099c6c module:overlay(0) from:0x0211678c kind:load to:0x02099c70 module:overlay(0) from:0x02116790 kind:load to:0x02099d2c module:overlay(0) from:0x02116794 kind:load to:0x02099d98 module:overlay(0) -from:0x02116798 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x0211679c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x021167a0 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116798 kind:load to:0x020c1120 module:overlay(17) +from:0x0211679c kind:load to:0x020c1164 module:overlay(17) +from:0x021167a0 kind:load to:0x020c16f8 module:overlay(17) from:0x021167a4 kind:load to:0x020f9ce0 module:overlay(31) from:0x021167a8 kind:load to:0x020f9cf4 module:overlay(31) from:0x021167b4 kind:load to:0x020fa0b8 module:overlay(31) @@ -8282,7 +8282,7 @@ from:0x021168c4 kind:load to:0x02099cfc module:overlay(0) from:0x021168c8 kind:load to:0x02099d14 module:overlay(0) from:0x021168cc kind:load to:0x02099d20 module:overlay(0) from:0x021168d0 kind:load to:0x01fff464 module:itcm -from:0x021168d4 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x021168d4 kind:load to:0x020c157c module:overlay(17) from:0x021168d8 kind:load to:0x020fa0e0 module:overlay(31) from:0x021168dc kind:load to:0x02099c58 module:overlay(0) from:0x021168e0 kind:load to:0x020fa1d0 module:overlay(31) @@ -8293,9 +8293,9 @@ from:0x021168f0 kind:load to:0x02099c6c module:overlay(0) from:0x021168f4 kind:load to:0x02099c70 module:overlay(0) from:0x021168f8 kind:load to:0x02099d2c module:overlay(0) from:0x021168fc kind:load to:0x02099d98 module:overlay(0) -from:0x02116900 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116904 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116908 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116900 kind:load to:0x020c1120 module:overlay(17) +from:0x02116904 kind:load to:0x020c1164 module:overlay(17) +from:0x02116908 kind:load to:0x020c16f8 module:overlay(17) from:0x0211690c kind:load to:0x020fb754 module:overlay(31) from:0x02116910 kind:load to:0x020fb7a4 module:overlay(31) from:0x02116924 kind:load to:0x020fbec4 module:overlay(31) @@ -8349,7 +8349,7 @@ from:0x02116a48 kind:load to:0x02099cfc module:overlay(0) from:0x02116a4c kind:load to:0x02099d14 module:overlay(0) from:0x02116a50 kind:load to:0x02099d20 module:overlay(0) from:0x02116a54 kind:load to:0x01fff464 module:itcm -from:0x02116a58 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116a58 kind:load to:0x020c157c module:overlay(17) from:0x02116a5c kind:load to:0x020fbc50 module:overlay(31) from:0x02116a60 kind:load to:0x02099c58 module:overlay(0) from:0x02116a64 kind:load to:0x020fbc80 module:overlay(31) @@ -8360,9 +8360,9 @@ from:0x02116a74 kind:load to:0x0209a7d0 module:overlay(0) from:0x02116a78 kind:load to:0x02099c70 module:overlay(0) from:0x02116a7c kind:load to:0x02099d2c module:overlay(0) from:0x02116a80 kind:load to:0x02099d98 module:overlay(0) -from:0x02116a84 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116a88 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116a8c kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116a84 kind:load to:0x020c1120 module:overlay(17) +from:0x02116a88 kind:load to:0x020c1164 module:overlay(17) +from:0x02116a8c kind:load to:0x020c16f8 module:overlay(17) from:0x02116a90 kind:load to:0x020fc534 module:overlay(31) from:0x02116a94 kind:load to:0x020fc548 module:overlay(31) from:0x02116a98 kind:load to:0x0209ad54 module:overlay(0) @@ -8382,7 +8382,7 @@ from:0x02116af0 kind:load to:0x02099cfc module:overlay(0) from:0x02116af4 kind:load to:0x02099d14 module:overlay(0) from:0x02116af8 kind:load to:0x02099d20 module:overlay(0) from:0x02116afc kind:load to:0x01fff464 module:itcm -from:0x02116b00 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116b00 kind:load to:0x020c157c module:overlay(17) from:0x02116b04 kind:load to:0x020fc6bc module:overlay(31) from:0x02116b08 kind:load to:0x02099c58 module:overlay(0) from:0x02116b0c kind:load to:0x021861c4 module:overlay(102) @@ -8393,9 +8393,9 @@ from:0x02116b1c kind:load to:0x02099c6c module:overlay(0) from:0x02116b20 kind:load to:0x02099c70 module:overlay(0) from:0x02116b24 kind:load to:0x02099d2c module:overlay(0) from:0x02116b28 kind:load to:0x02099d98 module:overlay(0) -from:0x02116b2c kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116b30 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116b34 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116b2c kind:load to:0x020c1120 module:overlay(17) +from:0x02116b30 kind:load to:0x020c1164 module:overlay(17) +from:0x02116b34 kind:load to:0x020c16f8 module:overlay(17) from:0x02116b38 kind:load to:0x020fccd0 module:overlay(31) from:0x02116b3c kind:load to:0x020fcca8 module:overlay(31) from:0x02116b40 kind:load to:0x020fc7e0 module:overlay(31) @@ -8423,7 +8423,7 @@ from:0x02116bc0 kind:load to:0x02099cfc module:overlay(0) from:0x02116bc4 kind:load to:0x02099d14 module:overlay(0) from:0x02116bc8 kind:load to:0x02099d20 module:overlay(0) from:0x02116bcc kind:load to:0x01fff464 module:itcm -from:0x02116bd0 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116bd0 kind:load to:0x020c157c module:overlay(17) from:0x02116bd4 kind:load to:0x020e5804 module:overlay(31) from:0x02116bd8 kind:load to:0x020e5830 module:overlay(31) from:0x02116bdc kind:load to:0x020e5870 module:overlay(31) @@ -8434,9 +8434,9 @@ from:0x02116bec kind:load to:0x02099c6c module:overlay(0) from:0x02116bf0 kind:load to:0x02099c70 module:overlay(0) from:0x02116bf4 kind:load to:0x02099d2c module:overlay(0) from:0x02116bf8 kind:load to:0x02099d98 module:overlay(0) -from:0x02116bfc kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116c00 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116c04 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116bfc kind:load to:0x020c1120 module:overlay(17) +from:0x02116c00 kind:load to:0x020c1164 module:overlay(17) +from:0x02116c04 kind:load to:0x020c16f8 module:overlay(17) from:0x02116c08 kind:load to:0x020fcea8 module:overlay(31) from:0x02116c0c kind:load to:0x020fcec8 module:overlay(31) from:0x02116c10 kind:load to:0x020e593c module:overlay(31) @@ -8455,7 +8455,7 @@ from:0x02116c80 kind:load to:0x02099cfc module:overlay(0) from:0x02116c84 kind:load to:0x02099d14 module:overlay(0) from:0x02116c88 kind:load to:0x02099d20 module:overlay(0) from:0x02116c8c kind:load to:0x01fff464 module:itcm -from:0x02116c90 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116c90 kind:load to:0x020c157c module:overlay(17) from:0x02116c94 kind:load to:0x020fd06c module:overlay(31) from:0x02116c98 kind:load to:0x02099c58 module:overlay(0) from:0x02116c9c kind:load to:0x020fd124 module:overlay(31) @@ -8466,9 +8466,9 @@ from:0x02116cac kind:load to:0x02099c6c module:overlay(0) from:0x02116cb0 kind:load to:0x02099c70 module:overlay(0) from:0x02116cb4 kind:load to:0x02099d2c module:overlay(0) from:0x02116cb8 kind:load to:0x02099d98 module:overlay(0) -from:0x02116cbc kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116cc0 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116cc4 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116cbc kind:load to:0x020c1120 module:overlay(17) +from:0x02116cc0 kind:load to:0x020c1164 module:overlay(17) +from:0x02116cc4 kind:load to:0x020c16f8 module:overlay(17) from:0x02116cc8 kind:load to:0x020fd1e8 module:overlay(31) from:0x02116ccc kind:load to:0x020fd218 module:overlay(31) from:0x02116cd0 kind:load to:0x020fd170 module:overlay(31) @@ -8488,7 +8488,7 @@ from:0x02116d1c kind:load to:0x02099cfc module:overlay(0) from:0x02116d20 kind:load to:0x02099d14 module:overlay(0) from:0x02116d24 kind:load to:0x02099d20 module:overlay(0) from:0x02116d28 kind:load to:0x01fff464 module:itcm -from:0x02116d2c kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02116d2c kind:load to:0x020c157c module:overlay(17) from:0x02116d30 kind:load to:0x020fd330 module:overlay(31) from:0x02116d34 kind:load to:0x02099c58 module:overlay(0) from:0x02116d38 kind:load to:0x020fd378 module:overlay(31) @@ -8499,9 +8499,9 @@ from:0x02116d48 kind:load to:0x02099c6c module:overlay(0) from:0x02116d4c kind:load to:0x02099c70 module:overlay(0) from:0x02116d50 kind:load to:0x02099d2c module:overlay(0) from:0x02116d54 kind:load to:0x02099d98 module:overlay(0) -from:0x02116d58 kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02116d5c kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02116d60 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02116d58 kind:load to:0x020c1120 module:overlay(17) +from:0x02116d5c kind:load to:0x020c1164 module:overlay(17) +from:0x02116d60 kind:load to:0x020c16f8 module:overlay(17) from:0x02116d64 kind:load to:0x020fd770 module:overlay(31) from:0x02116d68 kind:load to:0x020fd784 module:overlay(31) from:0x02116d6c kind:load to:0x020fd534 module:overlay(31) @@ -9203,7 +9203,7 @@ from:0x02117a90 kind:load to:0x02099cfc module:overlay(0) from:0x02117a94 kind:load to:0x02099d14 module:overlay(0) from:0x02117a98 kind:load to:0x02099d20 module:overlay(0) from:0x02117a9c kind:load to:0x01fff464 module:itcm -from:0x02117aa0 kind:load to:0x020c157c module:overlays(2,4,17) +from:0x02117aa0 kind:load to:0x020c157c module:overlay(17) from:0x02117aa4 kind:load to:0x02108b3c module:overlay(31) from:0x02117aa8 kind:load to:0x02108b44 module:overlay(31) from:0x02117aac kind:load to:0x02108bb4 module:overlay(31) @@ -9214,9 +9214,9 @@ from:0x02117abc kind:load to:0x02099c6c module:overlay(0) from:0x02117ac0 kind:load to:0x02099c70 module:overlay(0) from:0x02117ac4 kind:load to:0x02099d2c module:overlay(0) from:0x02117ac8 kind:load to:0x02099d98 module:overlay(0) -from:0x02117acc kind:load to:0x020c1120 module:overlays(2,4,17) -from:0x02117ad0 kind:load to:0x020c1164 module:overlays(2,4,17) -from:0x02117ad4 kind:load to:0x020c16f8 module:overlays(2,4,17) +from:0x02117acc kind:load to:0x020c1120 module:overlay(17) +from:0x02117ad0 kind:load to:0x020c1164 module:overlay(17) +from:0x02117ad4 kind:load to:0x020c16f8 module:overlay(17) from:0x02117ad8 kind:load to:0x02108c30 module:overlay(31) from:0x02117adc kind:load to:0x02108c44 module:overlay(31) from:0x02117ae0 kind:load to:0x02108bec module:overlay(31) diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index e3974f46..e1c116c4 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -557,9 +557,9 @@ func_ov031_020ea690 kind:function(arm,size=0x14) addr:0x020ea690 _ZN14ActorTypeRupee11GetInstanceEv kind:function(arm,size=0xc) addr:0x020ea6a4 _ZN14ActorTypeRupee6CreateEv kind:function(arm,size=0x24) addr:0x020ea6b0 _ZN14ActorTypeRupeeC1Ev kind:function(arm,size=0x44) addr:0x020ea6d4 -_ZN10ActorRupee19func_ov031_020e8d2cEv kind:function(arm,size=0x7c) addr:0x020ea718 +_ZN10ActorRupee19func_ov031_020e8d2cEP5Vec3phii kind:function(arm,size=0x7c) addr:0x020ea718 _ZN10ActorRupeeC1Ev kind:function(arm,size=0x74) addr:0x020ea794 -_ZN10ActorRupee8vfunc_18Ev kind:function(arm,size=0x1d0) addr:0x020ea808 +_ZN10ActorRupee8vfunc_18Ei kind:function(arm,size=0x1d0) addr:0x020ea808 _ZN10ActorRupee19func_ov031_020e8fecEv kind:function(arm,size=0x7c) addr:0x020ea9d8 _ZN10ActorRupee19func_ov031_020e9068Ev kind:function(arm,size=0xa0) addr:0x020eaa54 _ZN10ActorRupee19func_ov031_020e9108Ev kind:function(arm,size=0xa0) addr:0x020eaaf4 @@ -592,12 +592,12 @@ _ZN10ActorRupee19func_ov031_020e9904Ei kind:function(arm,size=0x54) addr:0x020eb _ZN10ActorRupee8vfunc_20Ev kind:function(arm,size=0x230) addr:0x020eb344 _ZN10ActorRupee19func_ov031_020e9b88Ev kind:function(arm,size=0x60) addr:0x020eb574 _ZN10ActorRupee19func_ov031_020e9be8Ev kind:function(arm,size=0x44) addr:0x020eb5d4 -_ZN10ActorRupee8vfunc_2cEv kind:function(arm,size=0x128) addr:0x020eb618 +_ZN10ActorRupee8vfunc_2cEi kind:function(arm,size=0x128) addr:0x020eb618 _ZN10ActorRupee19func_ov031_020e9d54Ev kind:function(arm,size=0x40) addr:0x020eb740 _ZN10ActorRupee19func_ov031_020e9d94Ev kind:function(arm,size=0xc8) addr:0x020eb780 _ZN10ActorRupee19func_ov031_020e9e5cEv kind:function(arm,size=0x94) addr:0x020eb848 _ZN8Actor_c4C1EP5Actor kind:function(arm,size=0x38) addr:0x020eb8dc -_ZN8Actor_c48vfunc_00Eii kind:function(arm,size=0x44) addr:0x020eb914 +_ZN8Actor_c48vfunc_00E14Actor_c4_stacki kind:function(arm,size=0x44) addr:0x020eb914 _ZN8Actor_c48vfunc_04Ev kind:function(arm,size=0x20) addr:0x020eb958 _ZN8Actor_c48vfunc_0cEi kind:function(arm,size=0x28) addr:0x020eb978 _ZN8Actor_c48vfunc_08Ev kind:function(arm,size=0x1c) addr:0x020eb9a0 diff --git a/config/jp/arm9/symbols.txt b/config/jp/arm9/symbols.txt index 7890204c..e2f76882 100644 --- a/config/jp/arm9/symbols.txt +++ b/config/jp/arm9/symbols.txt @@ -852,10 +852,10 @@ func_02016f54 kind:function(arm,size=0xf0) addr:0x02016f54 func_02017044 kind:function(arm,size=0xac) addr:0x02017044 func_02017158 kind:function(arm,size=0x38) addr:0x020170f0 func_02017128 kind:function(arm,size=0x54) addr:0x02017128 -func_0201717c kind:function(arm,size=0x4c) addr:0x0201717c +_ZN9UnkResultC1Ev kind:function(arm,size=0x4c) addr:0x0201717c _ZN9UnkResultC1EPKc kind:function(arm,size=0x16c) addr:0x020171c8 -func_02017334 kind:function(arm,size=0x184) addr:0x02017334 -func_020174b8 kind:function(arm,size=0x140) addr:0x020174b8 +_ZN9UnkResultC1EPKcS1_S1_ kind:function(arm,size=0x184) addr:0x02017334 +_ZN9UnkResult13func_02017520EPKcS1_S1_ kind:function(arm,size=0x140) addr:0x020174b8 func_020175f8 kind:function(arm,size=0x1c) addr:0x020175f8 func_02017614 kind:function(arm,size=0x1c) addr:0x02017614 func_02017630 kind:function(arm,size=0x60) addr:0x02017630 @@ -1547,7 +1547,7 @@ func_02028a98 kind:function(arm,size=0x24) addr:0x02028a98 func_02028abc kind:function(arm,size=0x24) addr:0x02028abc func_02028ae0 kind:function(arm,size=0xc) addr:0x02028ae0 func_02028aec kind:function(arm,size=0x2c) addr:0x02028aec -func_020275e8 kind:function(arm,size=0x34) addr:0x02028b18 +DC_FlushAll kind:function(arm,size=0x34) addr:0x02028b18 func_02028b4c kind:function(arm,size=0x1c) addr:0x02028b4c func_02028b68 kind:function(arm,size=0x1c) addr:0x02028b68 func_02027654 kind:function(arm,size=0x24) addr:0x02028b84 diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 9086a5bf..ad1dc85d 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -9,20 +9,27 @@ #include "nitro/math.h" #include "types.h" -class Actor_5c { +class Actor_5c_Base { public: /* 00 */ Vec3p mUnk_00; /* 0c */ s16 mUnk_0c; /* 0e */ unk16 mUnk_0e; // padding? /* 10 */ + Actor_5c_Base() {}; +}; + +class Actor_5c : public Actor_5c_Base { +public: + /* 00 (base) */ + Actor_5c() {}; void func_ov000_020975f8(); }; class UnkStruct_ov000_020b539c { public: - /* 00 */ Actor_5c mUnk_00[3]; + /* 00 */ Actor_5c_Base mUnk_00[3]; /* 30 */ ActorType *mUnk_30; /* 34 */ }; @@ -113,7 +120,7 @@ public: /* 0c */ virtual unk8 vfunc_0c(); /* 10 */ virtual void vfunc_10(); /* 14 */ virtual void vfunc_14(); - /* 18 */ virtual unk32 vfunc_18(unk32 param1); + /* 18 */ virtual bool vfunc_18(unk32 param1); /* 1c */ virtual void vfunc_1c(); /* 20 */ virtual void vfunc_20(); /* 24 */ virtual void vfunc_24(); @@ -153,9 +160,13 @@ public: s32 func_ov000_020985f0(void *param1); void func_ov000_0209862c(unk32 param1); + void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c *param3, unk32 param4); + void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c *param3); void func_ov000_020973f4(UnkStruct_ov000_020b539c *param1, ActorId param2, Actor_5c param3); void func_ov000_020989e0(); + unk32 func_ov000_02098a60(unk32 param1); + void func_ov017_020bf5c4(Vec3p *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5); }; diff --git a/include/Actor/ActorRupee.hpp b/include/Actor/ActorRupee.hpp index 73b63e67..88dfd1a8 100644 --- a/include/Actor/ActorRupee.hpp +++ b/include/Actor/ActorRupee.hpp @@ -32,6 +32,11 @@ public: void func_ov000_02097bec(); }; +struct Actor_c4_stack { + unk32 param1; + unk32 param2; +}; + class Actor_c4_Base { public: Actor_c4_Base(void *param1, unk32 param2); @@ -53,7 +58,7 @@ public: /* 20 */ Actor *mUnk_20; /* 24 */ - /* 00 */ virtual unk32 vfunc_00(unk32 param1, unk32 param2); + /* 00 */ virtual unk32 vfunc_00(Actor_c4_stack param1, unk32 param2); /* 04 */ virtual void vfunc_04(); /* 08 */ virtual void vfunc_08(); /* 0c */ virtual void vfunc_0c(unk32 param1); @@ -63,7 +68,7 @@ public: void func_ov031_020f637c(); void func_ov031_020f6374(); void func_ov031_020f6384(unk32 param1); - unk32 func_ov031_020f62e4(unk32 param1); + unk32 func_ov031_020f62e4(unk32 param1, unk32 param2); }; class ActorRupee : public Actor { @@ -95,7 +100,7 @@ public: ActorRupee(); - /* 18 */ virtual unk32 vfunc_18() override; + /* 18 */ virtual bool vfunc_18(unk32 param1) override; /* 20 */ virtual void vfunc_20() override; /* 2c */ virtual void vfunc_2c(unk32 param1) override; /* 4c */ virtual ~ActorRupee() override; @@ -104,7 +109,7 @@ public: void func_ov017_020bf9c8(ActorUnk_ov000_020a8bb0 *param1); - void func_ov031_020e8d2c(Vec3p *param1); + void func_ov031_020e8d2c(Vec3p *param1, u8 param2, unk32 param3, unk32 param4); void func_ov031_020e8fec(); void func_ov031_020e9068(); void func_ov031_020e9108(); diff --git a/include/Actor/ActorUnk_ov000_020a8bb0.hpp b/include/Actor/ActorUnk_ov000_020a8bb0.hpp index d19fc978..5da89a9c 100644 --- a/include/Actor/ActorUnk_ov000_020a8bb0.hpp +++ b/include/Actor/ActorUnk_ov000_020a8bb0.hpp @@ -109,14 +109,11 @@ public: /* 11c */ unk32 mUnk_11c; /* 14 */ virtual void vfunc_14() override; - /* 18 */ virtual unk32 vfunc_18(unk32 param1) override; + /* 18 */ virtual bool vfunc_18(unk32 param1) override; /* 1c */ virtual void vfunc_1c() override; /* 20 */ virtual void vfunc_20() override; /* 24 */ virtual void vfunc_24() override; /* 2c */ virtual void vfunc_2c(unk32 param1) override; - /* 40 */ virtual void vfunc_40() override; - /* 44 */ virtual void vfunc_44() override; - /* 48 */ virtual void vfunc_48() override; /* 4c */ virtual ~ActorUnk_ov000_020a8bb0(); /* 54 */ virtual void vfunc_54(unk32 param1); /* 54 */ virtual void vfunc_58(unk32 param1) = 0; diff --git a/include/FileSelect/FileSelect.hpp b/include/FileSelect/FileSelect.hpp index 4e768f16..e7a5e410 100644 --- a/include/FileSelect/FileSelect.hpp +++ b/include/FileSelect/FileSelect.hpp @@ -14,18 +14,20 @@ extern const unk16 data_ov019_020d1bb0[]; extern "C" void func_ov001_020bd6a8(); -// related to UnkStructSub2 but unsure how +class FileSelect_UnkClass7_04 { +public: + /* 000 */ UnkSubStruct19 mUnk_000[30]; + /* E10 */ Vec2us mUnk_E10[30]; + /* E88 */ +}; + class FileSelect_UnkClass7 { public: - class Sub5 { - public: - u16 one; - u16 two; - }; - /* 0000 (vtable) */ - /* 0004 */ UnkSubStruct19 mUnk_0004[30]; - /* 0E14 */ Sub5 mUnk_0E14[30]; + /* 0004 */ FileSelect_UnkClass7_04 mUnk_004; + /* 0E8C */ + + FileSelect_UnkClass7(); // data_ov019_020d22a8 vtable /* 00 */ virtual void vfunc_00(); @@ -51,18 +53,17 @@ public: /* 0028 */ unk8 mUnk_0029; /* 0028 */ unk8 mUnk_002A; /* 0028 */ unk8 mUnk_002B; - /* 002C */ UnkStructSub2 mUnk_002C; - /* 007C */ STRUCT_PAD(0x30, 0xEB8); + /* 002C */ FileSelect_UnkClass7 mUnk_002C; /* 0EB8 */ UnkSystem3 mUnk_0EB8; /* 0EC4 */ UnkSystem3 mUnk_0EC4; /* 0ED0 */ UnkSystem3 mUnk_0ED0; /* 0EDC */ UnkSystem3 mUnk_0EDC; /* 0EE8 */ UnkSystem3 mUnk_0EE8; - /* 0EF4 */ UnkSystem5 mUnk_0EF4; - /* 0F30 */ UnkSystem5 mUnk_0F30; - /* 0F6C */ UnkSystem5 mUnk_0F6C; - /* 0FA8 */ UnkSystem5 mUnk_0FA8; - /* 0FE4 */ UnkSystem5 mUnk_0FE4; + /* 0EF4 */ UnkResult mUnk_0EF4; + /* 0F30 */ UnkResult mUnk_0F30; + /* 0F6C */ UnkResult mUnk_0F6C; + /* 0FA8 */ UnkResult mUnk_0FA8; + /* 0FE4 */ UnkResult mUnk_0FE4; /* 1020 */ GameModeLinkListNode *GetNode() { @@ -143,12 +144,12 @@ public: /* 00 */ u16 mUnk_02; /* 04 */ u16 mUnk_04[2]; /* 08 */ unk32 mUnk_08; - /* 0C */ unk32 mUnk_0C; + /* 0C */ volatile unk32 mUnk_0C; /* 10 */ unk32 mUnk_10; /* 14 */ unk32 mUnk_14; /* 18 */ unk32 mUnk_18; /* 1C */ Vec2s mUnk_1C; - /* 20 */ unk32 mUnk_20; + /* 20 */ volatile unk32 mUnk_20; }; class UnkStruct_ov019_020d1e94 { diff --git a/include/FileSelect/FileSelectMain.hpp b/include/FileSelect/FileSelectMain.hpp index 0257136c..ac760da8 100644 --- a/include/FileSelect/FileSelectMain.hpp +++ b/include/FileSelect/FileSelectMain.hpp @@ -72,7 +72,6 @@ public: // upper "select file" /* 0100 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_0100; /* 0160 */ UnkSystem2_UnkSubSystem3 mUnk_0160; - /* 0164 */ UnkSystem2_UnkSubSystem5 mUnk_0164; /* 039C */ UnkSystem2_UnkSubSystem9 mUnk_039C; /* 03E0 */ FileSlotIterator mUnk_03E0; @@ -82,7 +81,6 @@ public: /* 0488 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_0488; /* 04E8 */ unk8 mUnk_04E8[0x38]; /* 0520 */ UnkSystem2_UnkSubSystem3 mUnk_0520; - /* 0524 */ UnkSystem2_UnkSubSystem5 mUnk_0524; /* 075C */ UnkSystem2_UnkSubSystem9 mUnk_075C; /* 07A0 */ UnkSystem2_UnkSubSystem9 mUnk_07A0; @@ -90,20 +88,17 @@ public: // "copy" button /* 07E4 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_07E4; /* 0844 */ UnkSystem2_UnkSubSystem3 mUnk_0844; - /* 0848 */ UnkSystem2_UnkSubSystem5 mUnk_0848; /* 0A80 */ UnkSystem2_UnkSubSystem9 mUnk_0A80; // "erase" button /* 0AC4 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_0AC4; /* 0B24 */ UnkSystem2_UnkSubSystem3 mUnk_0B24; - /* 0B28 */ UnkSystem2_UnkSubSystem5 mUnk_0B28; /* 0D60 */ UnkSystem2_UnkSubSystem9 mUnk_0D60; // "adventure" button /* 0DA4 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_0DA4; /* 0E04 */ unk8 mUnk_0E04[0x38]; /* 0E3C */ UnkSystem2_UnkSubSystem3 mUnk_0E3C; - /* 0E40 */ UnkSystem2_UnkSubSystem5 mUnk_0E40; /* 1078 */ UnkSystem2_UnkSubSystem9 mUnk_1078; // adventure mode animated sword icon @@ -115,7 +110,6 @@ public: /* 11BC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_11BC; /* 121C */ unk8 mUnk_121C[0x38]; /* 1254 */ UnkSystem2_UnkSubSystem3 mUnk_1254; - /* 1258 */ UnkSystem2_UnkSubSystem5 mUnk_1258; /* 1490 */ UnkSystem2_UnkSubSystem9 mUnk_1490; // battle mode animated sword icon @@ -127,14 +121,12 @@ public: /* 15D4 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_15D4; /* 1634 */ unk8 mUnk_1634[0x38]; /* 166C */ UnkSystem2_UnkSubSystem3 mUnk_166C; - /* 1670 */ UnkSystem2_UnkSubSystem5 mUnk_1670; /* 18A8 */ UnkSystem2_UnkSubSystem9 mUnk_18A8; // "options" button /* 18EC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_18EC; /* 194C */ unk8 mUnk_194C[0x38]; /* 1984 */ UnkSystem2_UnkSubSystem3 mUnk_1984; - /* 1988 */ UnkSystem2_UnkSubSystem5 mUnk_1988; /* 1BC0 */ UnkSystem2_UnkSubSystem9 mUnk_1BC0; /* 1C04 */ UnkSystem1_ov019_Derived3 mUnk_1C04; diff --git a/include/FileSelect/FileSelectMicTest.hpp b/include/FileSelect/FileSelectMicTest.hpp index 89015491..9d1d3252 100644 --- a/include/FileSelect/FileSelectMicTest.hpp +++ b/include/FileSelect/FileSelectMicTest.hpp @@ -52,10 +52,10 @@ public: /* A4 */ UnkSystem2_UnkSubSystem8 mUnk_0A4; /* F4 */ - UnkStruct_ov019_020d24c8_28_304(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) : - mUnk_044(param1, param2, param3, param4, param5, param6), + UnkStruct_ov019_020d24c8_28_304(unk32 buttonID, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6) : + mUnk_044(buttonID, param2, param3, param4, param5, param6), mUnk_0A4(&mUnk_044) {} - void func_0201e874(unk32 param1, void *param2, void *param3, unk32 param4); + void func_0201e874(unk32 buttonID, void *param2, void *param3, unk32 param4); }; // defines the mic test screen (0x022e9b84) diff --git a/include/FileSelect/FileSelectOptions.hpp b/include/FileSelect/FileSelectOptions.hpp index 1088ae57..a56ad418 100644 --- a/include/FileSelect/FileSelectOptions.hpp +++ b/include/FileSelect/FileSelectOptions.hpp @@ -108,7 +108,6 @@ public: // "options" string /* 10A8 */ UnkSystem2_UnkSubSystem1_Derived1 mUnk_10A8; /* 1108 */ UnkSystem2_UnkSubSystem3 mUnk_1108; - /* 110C */ UnkSystem2_UnkSubSystem5 mUnk_110C; /* 1344 */ UnkSystem2_UnkSubSystem9 mUnk_1344; // "mic test" button @@ -116,21 +115,18 @@ public: /* 13E8 */ unk8 mUnk_13E8[0x38]; /* 1420 */ UnkSystem2_UnkSubSystem8 mUnk_1420; /* 1470 */ UnkSystem2_UnkSubSystem3 mUnk_1470; - /* 1474 */ UnkSystem2_UnkSubSystem5 mUnk_1474; // "ok" button /* 16AC */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_16AC; /* 170C */ unk8 mUnk_170C[0x38]; /* 1744 */ UnkSystem2_UnkSubSystem8 mUnk_1744; /* 1794 */ UnkSystem2_UnkSubSystem3 mUnk_1794; - /* 1798 */ UnkSystem2_UnkSubSystem5 mUnk_1798; // "cancel" button /* 19D0 */ UnkSystem2_UnkSubSystem1_Derived2 mUnk_19D0; /* 1A30 */ unk8 mUnk_1A30[0x38]; /* 1A68 */ UnkSystem2_UnkSubSystem8 mUnk_1A68; /* 1AB8 */ UnkSystem2_UnkSubSystem3 mUnk_1AB8; - /* 1ABC */ UnkSystem2_UnkSubSystem5 mUnk_1ABC; /* 1CF4 */ unk8 mUnk_1CF4; /* 1CF5 */ bool mUnk_1CF5; diff --git a/include/FileSelect/UnkSubStruct9.hpp b/include/FileSelect/UnkSubStruct9.hpp index 20d8217e..5ebb9685 100644 --- a/include/FileSelect/UnkSubStruct9.hpp +++ b/include/FileSelect/UnkSubStruct9.hpp @@ -29,7 +29,6 @@ public: /* 68C */ UnkSubStruct19 mUnk_68C; // fire dungeon icon /* 704 */ UnkSubStruct19 mUnk_704; // desert dungeon icon /* 77C */ Vec2us mUnk_77C; - // int pad[10]; /* 780 */ struct stack_struct2 { diff --git a/include/Game/GameModeManager.hpp b/include/Game/GameModeManager.hpp index 7e70fca4..7040cf18 100644 --- a/include/Game/GameModeManager.hpp +++ b/include/Game/GameModeManager.hpp @@ -149,8 +149,8 @@ public: /* 104 */ GameModeManagerBase_104 mUnk_104; /* 120 */ Input mButtons; /* 126 */ TouchControl mTouchControl; - /* 148 */ unk32 mUnk_148; - /* 14C */ unk32 mUnk_14C; + /* 148 */ unk32 mNextButtonID; + /* 14C */ unk32 mButtonID; /* 150 */ bool mUnk_150; /* 150 */ unk8 mUnk_151; /* 150 */ unk8 mUnk_152; diff --git a/include/System/Random.hpp b/include/System/Random.hpp index dd6af589..6b6280a1 100644 --- a/include/System/Random.hpp +++ b/include/System/Random.hpp @@ -1,26 +1,64 @@ #pragma once #include "global.h" +#include "nitro/math.h" #include "types.h" struct Random { - /* 00 */ u64 mRandomValue; + /* 00 */ u16 mRandomValue[4]; /* 08 */ u64 mFactor; /* 10 */ u64 mAddend; /* 18 */ /** - * Generate a random number from 0 (inclusive) to `max` (exclusive) + * @brief Gets the seed's value */ - u32 Next(u64 min, u64 max) { - mRandomValue = mAddend + mFactor * mRandomValue; - u64 result; - if ((max - min) == 0x100000000) { - result = mRandomValue; - } else { - result = (mRandomValue >> 32) * (max - min); + u64 GetRandomValue() { + return *(u64 *) this->mRandomValue; + } + + /** + * @brief Updates the seed's value + */ + void UpdateRandomValue() { + *(u64 *) this->mRandomValue = this->mAddend + (this->mFactor * this->GetRandomValue()); + } + + /** + * @brief Generates a random number as a u16 + */ + u16 Next16() { + this->UpdateRandomValue(); + return this->GetRandomValue() >> 48; + } + + /** + * @brief Generates a random number from 0 (inclusive) to `max` (exclusive) as a u32 + */ + u32 Next32(u64 min, u64 max) { + this->UpdateRandomValue(); + return (((this->GetRandomValue() >> 32) * (max - min)) >> 32) + min; + } + + u32 ConditionalNext32(u32 value) { + this->UpdateRandomValue(); + + u64 result = this->GetRandomValue() >> 32; + + if (value != 0) { + result = (result * value) >> 32; } - return (result >> 32) + min; + + return result; + } + + Vec2us &NextPos(u16 xMax, u16 yMax) { + Vec2us pos; + + pos.x = this->Next32(0, xMax); + pos.y = this->Next32(0, yMax); + + return pos; } void Init(); diff --git a/include/Unknown/Common.hpp b/include/Unknown/Common.hpp index e63dba16..ee7f6ed5 100644 --- a/include/Unknown/Common.hpp +++ b/include/Unknown/Common.hpp @@ -101,13 +101,18 @@ public: } if (doSetPos) { - Vec2us local_4c_copy; Vec2us local_4c; - func_0201e8d4(&local_4c_copy, this); - local_4c.x = local_4c_copy.y; - local_4c.y = local_4c_copy.x; - pPos->x = local_4c.x; - pPos->y = local_4c.y; + func_0201e8d4(&local_4c, this); + + u16 x = local_4c.x; + u16 y = local_4c.y; + + // necessary to flip r1 and r2 + pPos->x = 0; + pPos->y = 0; + + pPos->x = x; + pPos->y = y; } } @@ -162,22 +167,304 @@ public: } if (doSetPos) { - Vec2us local_4c_copy; Vec2us local_4c; - func_0201e8d4(&local_4c_copy, this); - local_4c.x = local_4c_copy.y; - local_4c.y = local_4c_copy.x; - pPos->x = local_4c.x; - pPos->y = local_4c.y; + func_0201e8d4(&local_4c, this); + + u16 x = local_4c.x; + u16 y = local_4c.y; + + // necessary to flip r1 and r2 + pPos->x = 0; + pPos->y = 0; + + pPos->x = x; + pPos->y = y; + } + } + + void UnkOperations3() { + int test; + int iVar1; + + if (this->mUnk_08 != 0) { + iVar1 = this->mUnk_08 - this->mUnk_0D; + this->mUnk_08 = CLAMP(iVar1, 0, 0xFFFF); + } else { + if (this->mUnk_0A) { + if (this->mUnk_04 < this->mUnk_06) { + iVar1 = this->mUnk_04 + this->mUnk_0D; + + if (iVar1 > this->mUnk_06) { + iVar1 = this->mUnk_06; + } else if (iVar1 < 0) { + iVar1 = 0; + } + + this->mUnk_04 = iVar1; + this->vfunc_00(); + + if (this->mUnk_04 >= this->mUnk_06) { + this->mUnk_10 = this->mUnk_18; + this->mUnk_0A = false; + this->mUnk_0C = true; + } + } + } else { + if (this->mUnk_0B && this->mUnk_04 != 0) { + int iVar1 = this->mUnk_04 - this->mUnk_0D; + + if (iVar1 > this->mUnk_06) { + iVar1 = this->mUnk_06; + } else if (iVar1 < 0) { + iVar1 = 0; + } + + this->mUnk_04 = iVar1; + this->vfunc_04(); + + if (this->mUnk_04 == 0) { + this->mUnk_10 = this->mUnk_14; + this->mUnk_0B = false; + this->mUnk_0C = true; + } + } + } } } }; +class UnkStruct_ov019_020d24c8_28_258 { +public: + /* 00 */ void *mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk16 mUnk_08; + /* 0A */ union { //! TODO: figure out + Vec2s mPos; + Vec2us mPosU; + }; + /* 0E */ unk16 mUnk_0E; + /* 10 */ unk16 mUnk_10; + /* 12 */ unk16 mUnk_12; + /* 14 */ unk16 mUnk_14; + /* 16 */ unk16 mUnk_16; + /* 18 */ + + UnkStruct_ov019_020d24c8_28_258() { + this->mUnk_00 = NULL; + this->mUnk_04 = 0; + this->mPos.x = 0; + this->mPos.y = 0; + }; + + UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) : + mUnk_00(0), + mUnk_04(0) { + this->UnknownAction(param1, param2); + } + + void UnknownAction(unk32 param1, unk32 param2) { + this->func_ov000_0205fc20(param1, param2, &this->mPos, &this->mUnk_0E); + this->mUnk_12 = param1; + this->mUnk_14 = param2; + } + + void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4); +}; + +#define BTN_ID_NONE -1 +#define BTN_ID_ITEM 0x03 +#define BTN_ID_RETURN 0x05 + +#define BTN_ID_TRAIN_ROUTE_GO 0x0E +#define BTN_ID_TRAIN_ROUTE_CANCEL 0x0F +#define BTN_ID_TRAIN_ROUTE_QUIT 0x10 +#define BTN_ID_TRAIN_LEVER 0x11 +#define BTN_ID_TRAIN_ROPE 0x15 + +#define BTN_ID_MAP_MEMO 0x1A +#define BTN_ID_MAP_ERASE 0x1B + +#define BTN_ID_PAUSE_CONTINUE 0x28 +#define BTN_ID_PAUSE_SAVE_AND_QUIT 0x29 + +#define BTN_ID_MENU_OPEN 0x2D +#define BTN_ID_MENU_ROUTE 0x2E +#define BTN_ID_MENU_CLOSE_BOTTOM 0x2F +#define BTN_ID_MENU_WHIRLWIND 0x30 +#define BTN_ID_MENU_BOOMERANG 0x31 +#define BTN_ID_MENU_WHIP 0x32 +#define BTN_ID_MENU_BOW 0x33 +#define BTN_ID_MENU_BOMBS 0x34 +#define BTN_ID_MENU_SAND_ROD 0x35 +#define BTN_ID_MENU_POTION_SLOT_1 0x36 +#define BTN_ID_MENU_POTION_SLOT_2 0x37 +#define BTN_ID_MENU_SAVE 0x38 +#define BTN_ID_MENU_MAP 0x39 +#define BTN_ID_MENU_COLLECTION 0x3A +#define BTN_ID_MENU_RAIL_MAP 0x3B +#define BTN_ID_MENU_PAN_FLUTE 0x3C +#define BTN_ID_MENU_CLOSE_TOP 0x3D + +#define BTN_ID_FILE_SELECT_FILE_1 0x40 +#define BTN_ID_FILE_SELECT_FILE_2 0x41 +#define BTN_ID_FILE_SELECT_42 0x42 // unused file 3 probably +#define BTN_ID_FILE_SELECT_START 0x43 +#define BTN_ID_FILE_SELECT_COPY 0x44 +#define BTN_ID_FILE_SELECT_ERASE 0x45 +#define BTN_ID_FILE_SELECT_ADVENTURE 0x46 +#define BTN_ID_FILE_SELECT_BATTLE 0x47 +#define BTN_ID_FILE_SELECT_CONTACT_MODE 0x48 +#define BTN_ID_FILE_SELECT_OPTIONS 0x49 +#define BTN_ID_FILE_SELECT_CONFIRM 0x4A +#define BTN_ID_FILE_SELECT_MIC_TEST 0x4B +#define BTN_ID_FILE_SELECT_MESG_SPEED_LEFT_ARROW 0x4C +#define BTN_ID_FILE_SELECT_MESG_SPEED_RIGHT_ARROW 0x4D +#define BTN_ID_FILE_SELECT_SOUND_SETTINGS_LEFT_ARROW 0x4E +#define BTN_ID_FILE_SELECT_SOUND_SETTINGS_RIGHT_ARROW 0x4F +#define BTN_ID_FILE_SELECT_HANDEDNESS_LEFT_ARROW 0x50 +#define BTN_ID_FILE_SELECT_HANDEDNESS_RIGHT_ARROW 0x51 +#define BTN_ID_FILE_SELECT_NEW_FILE_CONFIRM 0x57 +#define BTN_ID_FILE_SELECT_NEW_FILE_RETURN 0x58 + +#define BTN_ID_RAIL_MAP_FOREST_MAYSCORE 0x5D +#define BTN_ID_RAIL_MAP_FOREST_OUTSET_VILLAGE 0x5E +#define BTN_ID_RAIL_MAP_SNOW_ANOUKI_VILLAGE 0x5F +#define BTN_ID_RAIL_MAP_OCEAN_PAPUZIA_VILLAGE 0x60 +#define BTN_ID_RAIL_MAP_FIRE_GORON_VILLAGE 0x61 +#define BTN_ID_RAIL_MAP_TOWER_OF_SPIRITS 0x62 +#define BTN_ID_RAIL_MAP_WOODED_TEMPLE 0x63 +#define BTN_ID_RAIL_MAP_SNOW_BLIZZARD_TEMPLE 0x64 +#define BTN_ID_RAIL_MAP_MARINE_TEMPLE 0x65 +#define BTN_ID_RAIL_MAP_MOUNTAIN_TEMPLE 0x66 +#define BTN_ID_RAIL_MAP_DESERT_TEMPLE 0x67 +#define BTN_ID_RAIL_MAP_FOREST_WOODLAND_SANCTUARY 0x68 +#define BTN_ID_RAIL_MAP_SNOW_SNOWFALL_SANCTUARY 0x69 +#define BTN_ID_RAIL_MAP_OCEAN_ISLAND_SANCTUARY 0x6A +#define BTN_ID_RAIL_MAP_OCEAN_DUNE_SANCTUARY 0x6B +#define BTN_ID_RAIL_MAP_FOREST_HYRULE_CASTLE 0x6C +#define BTN_ID_RAIL_MAP_SNOW_BRIDGE_WORKERS_HOUSE 0x6D +#define BTN_ID_RAIL_MAP_SNOW_ICY_SPRING 0x6E +#define BTN_ID_RAIL_MAP_FOREST_TRADING_POST 0x6F +#define BTN_ID_RAIL_MAP_FOREST_RABBIT_HAVEN 0x70 +#define BTN_ID_RAIL_MAP_OCEAN_PIRATE_HIDEOUT 0x71 +#define BTN_ID_RAIL_MAP_FIRE_GORON_TARGET_RANGE 0x72 +#define BTN_ID_RAIL_MAP_FIRE_DARK_ORE_MINE 0x73 +#define BTN_ID_RAIL_MAP_SNOW_SNOWDRIFT_STATION 0x74 +#define BTN_ID_RAIL_MAP_FIRE_DISORIENTATION_STATION 0x75 +#define BTN_ID_RAIL_MAP_FIRE_ENDS_OF_THE_EARTH_STATION 0x76 +#define BTN_ID_RAIL_MAP_OCEAN_LOST_AT_SEA_STATION 0x77 +#define BTN_ID_RAIL_MAP_SNOW_SLIPPERY_STATION 0x78 + +#define BTN_ID_SHOP_QUIT 0x81 // quit shop +#define BTN_ID_SHOP_RETURN 0x82 // quit item preview +#define BTN_ID_SHOP_BUY 0x83 +#define BTN_ID_SHOP_ITEM_1 0x84 +#define BTN_ID_SHOP_ITEM_2 0x85 +#define BTN_ID_SHOP_ITEM_3 0x86 +#define BTN_ID_SHOP_ITEM_4 0x87 +#define BTN_ID_SHOP_ITEM_5 0x88 + +#define BTN_ID_COLLECTION_TO_TRAIN_PARTS 0x99 +#define BTN_ID_COLLECTION_TO_TREASURES 0x9A +#define BTN_ID_COLLECTION_TO_LETTERS 0x9B +#define BTN_ID_COLLECTION_TO_STAMPS 0x9C +#define BTN_ID_COLLECTION_FLIP_SCREENS 0x9D +#define BTN_ID_COLLECTION_SWORD 0x9E +#define BTN_ID_COLLECTION_SHIELD 0x9F +#define BTN_ID_COLLECTION_BOMB_BAG 0xA0 +#define BTN_ID_COLLECTION_QUIVER 0xA1 +#define BTN_ID_COLLECTION_CLOTHES 0xA2 +#define BTN_ID_COLLECTION_BOW_OF_LIGHT 0xA3 +#define BTN_ID_COLLECTION_A4 0xA4 // most likely the other scroll +#define BTN_ID_COLLECTION_GREAT_SPIN_ATTACK 0xA5 +#define BTN_ID_COLLECTION_ENGINEER_CERTIFICATE 0xA6 +#define BTN_ID_COLLECTION_BEEDLE_CARD 0xA7 +#define BTN_ID_COLLECTION_RABBIT_NET 0xAA +#define BTN_ID_COLLECTION_COMPASS_OF_LIGHT 0xAB +#define BTN_ID_COLLECTION_PRIZE_POSTCARDS 0xAC +#define BTN_ID_COLLECTION_PAN_FLUTE 0xAD +#define BTN_ID_COLLECTION_FOREST_SOURCE 0xAE +#define BTN_ID_COLLECTION_SNOW_SOURCE 0xAF +#define BTN_ID_COLLECTION_OCEAN_SOURCE 0xB0 +#define BTN_ID_COLLECTION_FIRE_SOURCE 0xB1 +#define BTN_ID_COLLECTION_SAND_SOURCE 0xB2 +#define BTN_ID_COLLECTION_SONG_OF_AWAKENING 0xB3 +#define BTN_ID_COLLECTION_SONG_OF_HEALING 0xB4 +#define BTN_ID_COLLECTION_SONG_OF_BIRDS 0xB5 +#define BTN_ID_COLLECTION_SONG_OF_LIGHT 0xB6 +#define BTN_ID_COLLECTION_SONG_OF_DISCOVERY 0xB7 +#define BTN_ID_COLLECTION_RETURN 0xB8 + +#define BTN_ID_TRAIN_PARTS_TRAIN 0x99 +#define BTN_ID_TRAIN_PARTS_CANNON 0x9A +#define BTN_ID_TRAIN_PARTS_CAR 0x9B +#define BTN_ID_TRAIN_PARTS_WAGON 0x9C +#define BTN_ID_TRAIN_PARTS_CHOICE_1 0x9D +#define BTN_ID_TRAIN_PARTS_CHOICE_2 0x9E +#define BTN_ID_TRAIN_PARTS_CHOICE_3 0x9F +#define BTN_ID_TRAIN_PARTS_RETURN 0xB8 + +#define BTN_ID_TREASURES_DEMON_FOSSIL 0x9D +#define BTN_ID_TREASURES_STALFOS_SKULL 0x9E +#define BTN_ID_TREASURES_STAR_FRAGMENT 0x9F +#define BTN_ID_TREASURES_BEE_LARVAE 0xA0 +#define BTN_ID_TREASURES_WOOD_HEART 0xA1 +#define BTN_ID_TREASURES_DARK_PEARL_LOOP 0xA2 +#define BTN_ID_TREASURES_WHITE_PEARL_LOOP 0xA3 +#define BTN_ID_TREASURES_RUTO_CROWN 0xA4 +#define BTN_ID_TREASURES_DRAGON_SCALE 0xA5 +#define BTN_ID_TREASURES_PIRATE_NECKLACE 0xA6 +#define BTN_ID_TREASURES_PALACE_DISH 0xA7 +#define BTN_ID_TREASURES_GORON_AMBER 0xA8 +#define BTN_ID_TREASURES_MYSTIC_JADE 0xA9 +#define BTN_ID_TREASURES_ANCIENT_COIN 0xAA +#define BTN_ID_TREASURES_PRICELESS_STONE 0xAB +#define BTN_ID_TREASURES_REGAL_RING 0xAC +#define BTN_ID_TREASURES_RETURN 0xB8 + +#define BTN_ID_STAMPS_PAGE_LEFT 0x99 +#define BTN_ID_STAMPS_PAGE_RIGHT 0x9A +#define BTN_ID_STAMPS_RETURN 0xB8 + +#define BTN_ID_LETTERS_CHOICE_1 0x99 +#define BTN_ID_LETTERS_CHOICE_2 0x9A +#define BTN_ID_LETTERS_CHOICE_3 0x9B +#define BTN_ID_LETTERS_CHOICE_4 0x9C +#define BTN_ID_LETTERS_ARROW_RIGHT 0x9E +#define BTN_ID_LETTERS_ARROW_LEFT 0x9F +#define BTN_ID_LETTERS_MAP 0xA0 +#define BTN_ID_LETTERS_RAIL_MAP 0xA1 +#define BTN_ID_LETTERS_RETURN 0xB8 + +#define BTN_ID_CONTACT_MODE_EXCHANGE 0x99 +#define BTN_ID_CONTACT_MODE_DEMON_FOSSIL 0x9B +#define BTN_ID_CONTACT_MODE_STALFOS_SKULL 0x9C +#define BTN_ID_CONTACT_MODE_STAR_FRAGMENT 0x9D +#define BTN_ID_CONTACT_MODE_BEE_LARVAE 0x9E +#define BTN_ID_CONTACT_MODE_WOOD_HEART 0x9F +#define BTN_ID_CONTACT_MODE_DARK_PEARL_LOOP 0xA0 +#define BTN_ID_CONTACT_MODE_WHITE_PEARL_LOOP 0xA1 +#define BTN_ID_CONTACT_MODE_RUTO_CROWN 0xA2 +#define BTN_ID_CONTACT_MODE_DRAGON_SCALE 0xA3 +#define BTN_ID_CONTACT_MODE_PIRATE_NECKLACE 0xA4 +#define BTN_ID_CONTACT_MODE_PALACE_DISH 0xA5 +#define BTN_ID_CONTACT_MODE_GORON_AMBER 0xA6 +#define BTN_ID_CONTACT_MODE_MYSTIC_JADE 0xA7 +#define BTN_ID_CONTACT_MODE_ANCIENT_COIN 0xA8 +#define BTN_ID_CONTACT_MODE_PRICELESS_STONE 0xA9 +#define BTN_ID_CONTACT_MODE_REGAL_RING 0xAA +#define BTN_ID_CONTACT_MODE_RETURN 0xB8 + +#define BTN_ID_BATTLE_MENU_RETURN 0xB9 +#define BTN_ID_BATTLE_MENU_CREATE_GROUP 0xBA +#define BTN_ID_BATTLE_MENU_JOIN_GROUP 0xBB +#define BTN_ID_BATTLE_MENU_PLAYER_LIST 0xBD + class UnkSystem2_UnkSubSystem1_Base { public: /* 04 */ GameModeLinkList mUnk_04; /* 0C */ void *mUnk_0C; - /* 10 */ unk32 mUnk_10; + /* 10 */ unk32 mButtonID; /* 14 */ Vec2s mPos; // image position (among other things) /* 18 */ STRUCT_PAD(0x18, 0x24); /* 24 */ Vec2us mPosOffset; // used to shift the button when selected @@ -202,24 +489,12 @@ public: class UnkSystem2_UnkSubSystem1_Derived1 : public UnkSystem2_UnkSubSystem1_Base { public: /* 00 (vtable) */ - /* 30 */ void *mUnk_30; // related to the background texture draw (idle) - /* 34 */ unk32 mUnk_34; // related to the texture draw - /* 38 */ unk16 mUnk_38; // related to the texture draw - /* 3C */ Vec2us mUnk_3A; // overlaid elements position (text, icons etc...), relative to background position - /* 40 */ unk16 mUnk_3E; - /* 40 */ unk32 mUnk_40; - /* 44 */ unk32 mUnk_44; - /* 48 */ void *mUnk_48; // related to the background texture draw (selected) - /* 4C */ unk32 mUnk_4C; - /* 50 */ unk16 mUnk_50; // related to the texture draw - /* 50 */ unk16 mUnk_52; - /* 54 */ unk32 mUnk_54; - /* 58 */ unk32 mUnk_58; - /* 5C */ unk32 mUnk_5C; + /* 30 */ UnkStruct_ov019_020d24c8_28_258 mUnk_30; // idle + /* 48 */ UnkStruct_ov019_020d24c8_28_258 mUnk_48; // selected /* 60 */ UnkSystem2_UnkSubSystem1_Derived1(); - UnkSystem2_UnkSubSystem1_Derived1(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6); + UnkSystem2_UnkSubSystem1_Derived1(unk32 buttonID, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6); void func_ov000_020633c0(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5, unk32 param6); // data_ov000_020b1efc vtable @@ -264,16 +539,6 @@ public: /* 0C */ virtual void vfunc_0C() override; }; -class UnkSystem2_UnkSubSystem3 { -public: - /* 00 */ UnkSystem2_UnkSubSystem1_Base *mUnk_00; - /* 04 */ - - UnkSystem2_UnkSubSystem3(UnkSystem2_UnkSubSystem1_Base *param1, unk32 param2, unk32 param3, unk32 param4); - - void func_ov000_02062f30(); -}; - class UnkSystem2_UnkSubSystem5_Base_10 { public: /* 000 (vtable) */ @@ -392,6 +657,16 @@ public: /* 04 */ }; +class UnkSystem2_UnkSubSystem3 { +public: + /* 00 */ UnkSystem2_UnkSubSystem1_Base *mUnk_00; + /* 04 */ UnkSystem2_UnkSubSystem5 mUnk_04; + + UnkSystem2_UnkSubSystem3(UnkSystem2_UnkSubSystem1_Base *param1, unk32 param2, unk32 param3, unk32 param4); + + void func_ov000_02062f30(); +}; + class UnkSystem2_UnkSubSystem8_Base { public: /* 00 (vtable) */ @@ -480,22 +755,6 @@ public: ~UnkSystem4(); }; -class UnkSystem5 { -public: - /* 00 */ char *mUnk_00; - /* 04 */ char *mUnk_04; - /* 08 */ char *mUnk_08; - /* 10 */ UnkSystem4 mUnk_0F00; - /* 20 */ UnkSystem4 mUnk_0F10; - /* 30 */ UnkSystem4 mUnk_0F20; - /* 40 */ - - UnkSystem5() {} - ~UnkSystem5() {} - void func_020171e4(); - void func_02017520(const char *nscrPath, const char *ncgrPath, const char *nclrPath); -}; - class UnkStruct2 { public: /* 00 */ unk8 pad[0x10]; @@ -514,53 +773,12 @@ struct UnkResult { UnkSystem4 mUnk_1C; UnkSystem4 mUnk_2C; + UnkResult(); UnkResult(const char *path); -}; + UnkResult(const char *path, const char *param2, const char *param3); + ~UnkResult() {} -class UnkStruct_ov019_020d24c8_28_258 { -public: - /* 00 */ void *mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk16 mUnk_08; - /* 0A */ union { //! TODO: figure out - Vec2s mPos; - Vec2us mPosU; - }; - /* 0E */ unk16 mUnk_0E; - /* 10 */ unk16 mUnk_10; - /* 12 */ unk16 mUnk_12; - /* 14 */ unk16 mUnk_14; - /* 16 */ unk16 mUnk_16; - /* 18 */ - - UnkStruct_ov019_020d24c8_28_258() { - this->mUnk_00 = NULL; - this->mUnk_04 = 0; - this->mPos.x = 0; - this->mPos.y = 0; - }; - - UnkStruct_ov019_020d24c8_28_258(unk32 param1, unk32 param2) : - mUnk_00(0), - mUnk_04(0) { - this->UnknownAction(param1, param2); - } - - void UnknownAction(unk32 param1, unk32 param2) { - this->func_ov000_0205fc20(param1, param2, &this->mPos, &this->mUnk_0E); - this->mUnk_12 = param1; - this->mUnk_14 = param2; - } - - void func_ov000_0205fc20(unk32 param1, unk32 param2, void *param3, void *param4); -}; - -class UnkStructSub2 { -public: - UnkStructSub2(); - - /* 00 */ virtual void vfunc_00(); - /* 04 */ virtual void vfunc_04(); + void func_02017520(const char *nscrPath, const char *ncgrPath, const char *nclrPath); }; // used to draw the swords from the adventure and battle buttons @@ -580,7 +798,7 @@ public: /* 29 */ unk8 mUnk_29; /* 2A */ unk8 mUnk_2A; /* 2B */ unk8 mUnk_2B; - /* 2C */ UnkStructSub2 mUnk_2C; + /* 2C */ unk32 mUnk_2C; /* 30 */ void *mUnk_30; // pointer to somewhere inside "CEBK" /* 34 */ void *mUnk_34; /* 38 */ unk32 mUnk_38; @@ -605,6 +823,14 @@ public: /* 78 */ UnkSubStruct19(); + UnkSubStruct19(unk32 param1, unk32 param2) { + this->mUnk_6E = true; + this->mUnk_70 = 0; + this->mUnk_5C.x = 0; + this->mUnk_5C.y = 0; + this->mUnk_74 = 0; + this->func_ov000_0206082c(param1, param2); + } void func_ov000_0206082c(unk32 param1, unk32 param2); void func_ov000_02060950(); @@ -615,4 +841,6 @@ public: unk32 func_ov000_02060af8(void); void func_ov000_02060b50(); void func_ov000_02060b64(void); + unk32 func_ov000_02060c28(void); + void func_ov000_02060bd8(unk32 param1); }; diff --git a/include/global.h b/include/global.h index 3422dd0c..f99f9ebd 100644 --- a/include/global.h +++ b/include/global.h @@ -44,4 +44,7 @@ #define STRUCT_PAD(from, to) unsigned char _pad_##from[(to) - (from)] +#define SUBSCREEN_WIDTH 256 +#define SUBSCREEN_HEIGHT 192 + #endif diff --git a/src/000_Second/Actor/Actor.cpp b/src/000_Second/Actor/Actor.cpp index 6093e243..8eb73245 100644 --- a/src/000_Second/Actor/Actor.cpp +++ b/src/000_Second/Actor/Actor.cpp @@ -46,8 +46,8 @@ ARM void Actor::func_ov000_0209848c(ActorType *param1) { this->mUnk_4e = unk_1c; } -ARM unk32 Actor::vfunc_18(unk32 param1) { - return 1; +ARM bool Actor::vfunc_18(unk32 param1) { + return true; } ARM void Actor::vfunc_1c() {} diff --git a/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp b/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp index 659ced0e..3c1b7999 100644 --- a/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp +++ b/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp @@ -59,7 +59,7 @@ ARM ActorUnk_ov000_020a8bb0::ActorUnk_ov000_020a8bb0(ActorUnk_ov000_020a8bb0_a4_ ARM ActorUnk_ov000_020a8bb0::~ActorUnk_ov000_020a8bb0() {} -ARM unk32 ActorUnk_ov000_020a8bb0::vfunc_18(unk32 param1) { +ARM bool ActorUnk_ov000_020a8bb0::vfunc_18(unk32 param1) { if (this->mUnk_70 == 0 && this->func_ov000_020a8dd0() != 0) { UNSET_FLAG(&this->mFlags, ActorFlag_Alive); } diff --git a/src/018_StartUp/GameModeStartUp.cpp b/src/018_StartUp/GameModeStartUp.cpp index 810929a2..48c4730e 100644 --- a/src/018_StartUp/GameModeStartUp.cpp +++ b/src/018_StartUp/GameModeStartUp.cpp @@ -16,7 +16,7 @@ void func_02013768(void *param1); void func_020261f0(unk32 param1, void *param2); void func_0201245c(); void func_02027a28(void *param1, unk32 param2); -void func_020275e8(); +void DC_FlushAll(); void func_02013184(); void func_020131b0(); void func_020263bc(unk32 param1); @@ -46,7 +46,7 @@ static u8 data_ov018_020c5bc0; ARM void SysFault::func_ov018_020c4840() { this->mUnk_05 = 0; func_02027a28(func_0201245c, 0); - func_020275e8(); + DC_FlushAll(); this->mUnk_00 = 0; this->mUnk_04 = 0; } diff --git a/src/019_MainSelect/019_UnkSubStruct9.cpp b/src/019_MainSelect/019_UnkSubStruct9.cpp index d8fdc765..112399a1 100644 --- a/src/019_MainSelect/019_UnkSubStruct9.cpp +++ b/src/019_MainSelect/019_UnkSubStruct9.cpp @@ -4,105 +4,47 @@ #include "Unknown/UnkStruct_0204af1c.hpp" extern "C" { -void func_020166cc(void *param1, void *param2); +void func_020166cc(void *param1, void *param2, void *); void func_ov000_02062e44(void *param1, void *param2); }; // non-matching ARM UnkSubStruct9::UnkSubStruct9(stack_struct1 param1) : mSaveSlotIndex(param1.param2), - mUnk_064(0x89, 1), + mUnk_064(0x89, 0x01), mUnk_29C(0x89, UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_04[param1.param2]), - mUnk_2B4(0x89, 0x15) { - this->mUnk_2CC.mUnk_6E = true; - this->mUnk_2CC.mUnk_70 = 0; - this->mUnk_2CC.mUnk_5C.x = 0; - this->mUnk_2CC.mUnk_5C.y = 0; - this->mUnk_2CC.mUnk_74 = 0; - this->mUnk_2CC.func_ov000_0206082c(0x89, 0x00); - - this->mUnk_344.mUnk_6E = true; - this->mUnk_344.mUnk_70 = 0; - this->mUnk_344.mUnk_5C.x = 0; - this->mUnk_344.mUnk_5C.y = 0; - this->mUnk_344.mUnk_74 = 0; - this->mUnk_344.func_ov000_0206082c(0x89, 0x03); - - this->mUnk_3BC.mUnk_6E = true; - this->mUnk_3BC.mUnk_70 = 0; - this->mUnk_3BC.mUnk_5C.x = 0; - this->mUnk_3BC.mUnk_5C.y = 0; - this->mUnk_3BC.mUnk_74 = 0; - this->mUnk_3BC.func_ov000_0206082c(0x89, 0x02); - - this->mUnk_434.mUnk_6E = true; - this->mUnk_434.mUnk_70 = 0; - this->mUnk_434.mUnk_5C.x = 0; - this->mUnk_434.mUnk_5C.y = 0; - this->mUnk_434.mUnk_74 = 0; - this->mUnk_434.func_ov000_0206082c(0x89, 0x01); - - this->mUnk_4AC.mUnk_6E = true; - this->mUnk_4AC.mUnk_70 = 0; - this->mUnk_4AC.mUnk_5C.x = 0; - this->mUnk_4AC.mUnk_5C.y = 0; - this->mUnk_4AC.mUnk_74 = 0; - this->mUnk_4AC.func_ov000_0206082c(0x89, 0x04); - - this->mUnk_524.mUnk_6E = true; - this->mUnk_524.mUnk_70 = 0; - this->mUnk_524.mUnk_5C.x = 0; - this->mUnk_524.mUnk_5C.y = 0; - this->mUnk_524.mUnk_74 = 0; - this->mUnk_524.func_ov000_0206082c(0x89, 0x05); - - this->mUnk_59C.mUnk_6E = true; - this->mUnk_59C.mUnk_70 = 0; - this->mUnk_59C.mUnk_5C.x = 0; - this->mUnk_59C.mUnk_5C.y = 0; - this->mUnk_59C.mUnk_74 = 0; - this->mUnk_59C.func_ov000_0206082c(0x89, 0x06); - - this->mUnk_614.mUnk_6E = true; - this->mUnk_614.mUnk_70 = 0; - this->mUnk_614.mUnk_5C.x = 0; - this->mUnk_614.mUnk_5C.y = 0; - this->mUnk_614.mUnk_74 = 0; - this->mUnk_614.func_ov000_0206082c(0x89, 0x07); - - this->mUnk_68C.mUnk_6E = true; - this->mUnk_68C.mUnk_70 = 0; - this->mUnk_68C.mUnk_5C.x = 0; - this->mUnk_68C.mUnk_5C.y = 0; - this->mUnk_68C.mUnk_74 = 0; - this->mUnk_68C.func_ov000_0206082c(0x89, 0x08); - - this->mUnk_704.mUnk_6E = true; - this->mUnk_704.mUnk_70 = 0; - this->mUnk_704.mUnk_5C.x = 0; - this->mUnk_704.mUnk_5C.y = 0; - this->mUnk_704.mUnk_74 = 0; - this->mUnk_704.func_ov000_0206082c(0x89, 0x09); - + mUnk_2B4(0x89, 0x15), + mUnk_2CC(0x89, 0x00), + mUnk_344(0x89, 0x03), + mUnk_3BC(0x89, 0x02), + mUnk_434(0x89, 0x01), + mUnk_4AC(0x89, 0x04), + mUnk_524(0x89, 0x05), + mUnk_59C(0x89, 0x06), + mUnk_614(0x89, 0x07), + mUnk_68C(0x89, 0x08), + mUnk_704(0x89, 0x09) { + // Vec2s stack; + void *stack; if (this->mSaveSlotIndex == 0) { this->mUnk_004.func_ov000_020633c0(0x40, 0x89, 0x02, 0x1F, 0x89, 0x00); this->mUnk_77C.x = 0; this->mUnk_77C.y = 0; } else if (this->mSaveSlotIndex == 1) { this->mUnk_004.func_ov000_020633c0(0x41, 0x89, 0x01, 0x1F, 0x89, 0x01); - UnkStruct_ov019_020d24c8_28_258 local_40(0x89, 0x02); - UnkStruct_ov019_020d24c8_28_258 local_58(0x89, 0x01); + UnkStruct_ov019_020d24c8_28_258 local_40(0x89, 0x02); // sp28 + UnkStruct_ov019_020d24c8_28_258 local_58(0x89, 0x01); // sp10 - Vec2p stack; - Vec2p stack_copy; - stack_copy.x = local_58.mPos.x - local_40.mPos.x; - stack_copy.y = local_58.mPos.y - local_40.mPos.y; - stack = stack_copy; - this->mUnk_77C.x = stack.x; - this->mUnk_77C.y = stack.y; + s16 temp_r2 = local_58.mPos.x - local_40.mPos.x; + s16 spE = local_58.mPos.y - local_40.mPos.y; + param1.param2 = temp_r2; + + this->mUnk_77C.x = param1.param2; + this->mUnk_77C.y = spE; } - func_020166cc(&this->mUnk_004, &this->mUnk_004.mUnk_04); + stack = &this->mUnk_004; + func_020166cc(&this->mUnk_004.mUnk_04, &stack, param1.param1); this->mUnk_004.mUnk_2C = 1; } @@ -323,8 +265,13 @@ ARM void UnkSubStruct9::func_ov019_020cbc0c() { } } -// non-matching ARM void UnkSubStruct9::func_ov019_020cc5ac(Vec2us *param1) { - this->mUnk_004.mPos.x = param1->x; - this->mUnk_004.mPos.y = param1->y; + s16 x = param1->x; + s16 y = param1->y; + + this->mUnk_004.mPos.x = 0; + this->mUnk_004.mPos.y = 0; + + this->mUnk_004.mPos.x = x; + this->mUnk_004.mPos.y = y; } diff --git a/src/019_MainSelect/FileSelectMain.cpp b/src/019_MainSelect/FileSelectMain.cpp index 53747873..9774f909 100644 --- a/src/019_MainSelect/FileSelectMain.cpp +++ b/src/019_MainSelect/FileSelectMain.cpp @@ -127,28 +127,28 @@ ARM FileSelectMain::FileSelectMain() : mSaveSlotIndex(-1), mUnk_005C(5, 0x8E, 0, 1, 0x8E, 0), - mUnk_0100(-1, 0x89, 0, 0, 0x89, 0), + mUnk_0100(BTN_ID_NONE, 0x89, 0, 0, 0x89, 0), mUnk_0160(&mUnk_0100, 0x89, 0, 0x20012), - mUnk_0488(0x43, 0x8A, 0, 0x0D, 0x8A, 0), + mUnk_0488(BTN_ID_FILE_SELECT_START, 0x8A, 0, 0x0D, 0x8A, 0), mUnk_0520(&mUnk_0488, 0x8A, 0, 0x20016), - mUnk_07E4(0x44, 0x8A, 1, 3, 0x8A, 2), + mUnk_07E4(BTN_ID_FILE_SELECT_COPY, 0x8A, 1, 3, 0x8A, 2), mUnk_0844(&mUnk_07E4, 0x8A, 2, 0x20014), - mUnk_0AC4(0x45, 0x8A, 2, 4, 0x8A, 1), + mUnk_0AC4(BTN_ID_FILE_SELECT_ERASE, 0x8A, 2, 4, 0x8A, 1), mUnk_0B24(&mUnk_0AC4, 0x8A, 1, 0x20015), - mUnk_0DA4(0x46, 0x8B, 1, 0x0E, 0x8B, 1), + mUnk_0DA4(BTN_ID_FILE_SELECT_ADVENTURE, 0x8B, 1, 0x0E, 0x8B, 1), mUnk_0E3C(&mUnk_0DA4, 0x8B, 2, 0x20017), - mUnk_11BC(0x47, 0x8B, 0, 0x0F, 0x8B, 0), + mUnk_11BC(BTN_ID_FILE_SELECT_BATTLE, 0x8B, 0, 0x0F, 0x8B, 0), mUnk_1254(&mUnk_11BC, 0x8B, 0, 0x20018), - mUnk_15D4(0x48, 0x8B, 0, 0x10, 0x8B, 3), + mUnk_15D4(BTN_ID_FILE_SELECT_CONTACT_MODE, 0x8B, 0, 0x10, 0x8B, 3), mUnk_166C(&mUnk_15D4, 0x8B, 3, 0x20019), - mUnk_18EC(0x49, 0x8B, 3, 0x11, 0x8B, 2), + mUnk_18EC(BTN_ID_FILE_SELECT_OPTIONS, 0x8B, 3, 0x11, 0x8B, 2), mUnk_1984(&mUnk_18EC, 0x8B, 1, 0x2001A) { stack_struct1 params; @@ -235,10 +235,9 @@ ARM void FileSelectMain::func_ov019_020c6d10() { CALL_PTMF(PTMF, data_ov019_020d1edc[this->mState]); } -// https://decomp.me/scratch/EuA67 ARM void FileSelectMain::func_ov019_020c6d48() { Vec2us auStack_2c; - Vec2p local_34; + volatile Vec2p local_34; int value; this->func_ov019_020c6c14(); @@ -247,8 +246,8 @@ ARM void FileSelectMain::func_ov019_020c6d48() { this->GetUnk03E0(i).func_ov019_020cbaec(); func_ov000_02062e44(&auStack_2c, &this->GetUnk03E0(i).mUnk_004); - local_34.x = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_0C; - local_34.y = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_20; + local_34.x = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_20; + local_34.y = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_0C; if (i == 1) { value = 10; @@ -256,8 +255,8 @@ ARM void FileSelectMain::func_ov019_020c6d48() { value = 0; } - this->mUnk_03E8[i].func_ov000_02064080(&auStack_2c, &local_34, UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_02, - value); + this->mUnk_03E8[i].func_ov000_02064080(&auStack_2c, (Vec3p *) &local_34, + UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_02, value); } this->mUnk_039C.mUnk_0A = 1; @@ -485,7 +484,13 @@ ARM void FileSelectMain::func_ov019_020c72a0() { UnkStruct_ov019_020d24c8_28_258 local_40(0x8A, 0x05); local_40.UnknownAction(0x8B, 0x04); - // local_5c = local_40.mPos; + + local_5c.x = local_40.mPos.x; + local_5c.y = local_40.mPos.y; + + //! TODO: fake match? + local_5c.x = local_40.mPos.x; + local_5c.y = local_40.mPos.y; this->mUnk_07A0.mUnk_0A = 1; this->mUnk_07A0.mUnk_0B = 0; @@ -526,7 +531,13 @@ ARM void FileSelectMain::func_ov019_020c72a0() { } else if (this->mState == FileSelectState_FileManagerFromChooseMode) { UnkStruct_ov019_020d24c8_28_258 local_40(0x8B, 0x04); local_40.UnknownAction(0x8A, 0x05); - // local_5c = local_40.mPos; + + local_5c.x = local_40.mPos.x; + local_5c.y = local_40.mPos.y; + + //! TODO: fake match? + local_5c.x = local_40.mPos.x; + local_5c.y = local_40.mPos.y; this->mUnk_039C.mUnk_0A = 1; this->mUnk_039C.mUnk_0B = 0; @@ -831,8 +842,8 @@ ARM void FileSelectMain::func_ov019_020c7a44() { Vec2p unaff_r11; // Vec2p local_34; int fileIndex = this->mSaveSlotIndex == 0; - int value1; - int value2; + u16 value1; + u16 value2; if (this->mState == FileSelectState_SlotSelectToNewFile) { func_ov000_02062e44(&local_44, &this->GetUnk03E0().mUnk_004); @@ -946,15 +957,11 @@ ARM void FileSelectMain::func_ov019_020c7d3c() { this->mUnk_1C04.mUnk_12 = this->mSaveSlotIndex; if (this->mUnk_1C04.mUnk_18 == 0) { - int value = this->mSaveSlotIndex == 0 ? 2 : 1; - UnkStruct_ov000_02067bc4 *test = data_ov000_020b504c.func_ov000_02067bc4(0); - - UnkStruct_ov000_02067bc4_Sub2 *test3 = test->mUnk_008; - UnkStruct_ov019_020d1e4c *test5 = (UnkStruct_ov019_020d1e4c *) &UnkStruct_ov019_020d1e70::data_ov019_020d1e4c; - - unk32 test2 = test5->mUnk_10; - test3->mUnk_54 = value; - data_ov000_020b504c.func_ov000_0206807c(test2, &this->mUnk_1C04); + int uVar5 = this->mSaveSlotIndex == 0 ? 2 : 1; + UnkStruct_ov000_02067bc4_Sub2 *puVar3 = data_ov000_020b504c.func_ov000_02067bc4(0)->mUnk_008; + unk32 uVar2 = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_10; + puVar3->mUnk_54 = uVar5; + data_ov000_020b504c.func_ov000_0206807c(uVar2, &this->mUnk_1C04); } else if (this->mUnk_1C04.mUnk_18 == 1) { data_ov000_020b504c.func_ov000_0206807c(data_ov019_020d1e70.mUnk_0C, &this->mUnk_1C04); } @@ -962,16 +969,16 @@ ARM void FileSelectMain::func_ov019_020c7d3c() { // non-matching ARM void FileSelectMain::func_ov019_020c7dc8() { - unk32 var_r8; unk32 var_r6; unk32 var_r7; unk32 var_r5; + u16 var_r8; unk32 var_r9; unk32 var_r10; - unk32 var_r1; unk32 var_r2; - Vec2us sp10_sp12[2]; // sp4 sp6 sp10 sp12 + unk32 var_r1; Vec2p local_48; // sp8 spC + Vec2us sp10_sp12[2]; // sp4 sp6 sp10 sp12 if (this->mState == FileSelectState_ChooseModeToContactMode) { UnkSystem2_UnkSubSystem1_Derived2 *pUVar5 = this->mUnk_03E8[this->mSaveSlotIndex].mUnk_04; @@ -1119,7 +1126,7 @@ ARM void FileSelectMain::vfunc_08(Input *pButtons, TouchControl *pTouchControl) } CALL_PTMF(PTMF, data_ov019_020d1f94[this->mState]); - this->mUnk_002C.UnkOperations(NULL, false); + this->mUnk_002C.UnkOperations3(); REG_BLDALPHA = this->mUnk_002C.func_0201eaa0() | 0x1000; } @@ -1143,11 +1150,11 @@ ARM void FileSelectMain::func_ov019_020c8454() { iVar2 = data_0204a110.func_01ff9b50(); - if (iVar2 != 0x40 && iVar2 != 0x41) { + if (iVar2 != BTN_ID_FILE_SELECT_FILE_1 && iVar2 != BTN_ID_FILE_SELECT_FILE_2) { return; } - this->mSaveSlotIndex = data_0204a110.func_01ff9b50() - 0x40; + this->mSaveSlotIndex = data_0204a110.func_01ff9b50() - BTN_ID_FILE_SELECT_FILE_1; if (this->GetUnk03E0().IsPlayerNameSet()) { SaveSlot *pSlot = gSaveManager.GetSaveSlot(this->mSaveSlotIndex); @@ -1173,10 +1180,10 @@ ARM void FileSelectMain::func_ov019_020c854c() { this->GetUnk03E0(i).mUnk_004.mUnk_2A = false; } - this->mUnk_075C.UnkOperations(&this->mUnk_0488.mPos, true); - this->mUnk_0A80.UnkOperations(&this->mUnk_07E4.mPos, true); - this->mUnk_0D60.UnkOperations(&this->mUnk_0AC4.mPos, true); - this->mUnk_00BC.UnkOperations(&this->mUnk_005C.mPos, true); + this->mUnk_075C.UnkOperations2(&this->mUnk_0488.mPos, true); + this->mUnk_0A80.UnkOperations2(&this->mUnk_07E4.mPos, true); + this->mUnk_0D60.UnkOperations2(&this->mUnk_0AC4.mPos, true); + this->mUnk_00BC.UnkOperations2(&this->mUnk_005C.mPos, true); } ARM void FileSelectMain::func_ov019_020c8aac() { @@ -1213,23 +1220,23 @@ ARM void FileSelectMain::func_ov019_020c8b48() { ARM void FileSelectMain::func_ov019_020c8b74() { switch (data_0204a110.func_01ff9b50()) { - case 0x40: - case 0x41: - case 0x43: + case BTN_ID_FILE_SELECT_FILE_1: + case BTN_ID_FILE_SELECT_FILE_2: + case BTN_ID_FILE_SELECT_START: this->SetState(FileSelectState_FileManagerToChooseMode); data_ov000_020b5214.func_ov000_0206db44(0x16); break; - case 0x44: + case BTN_ID_FILE_SELECT_COPY: this->SetState(FileSelectState_FileManagerToCopyErase); this->mUnk_1C04.mUnk_18 = 0; data_ov000_020b5214.func_ov000_0206db44(0x17); break; - case 0x45: + case BTN_ID_FILE_SELECT_ERASE: this->SetState(FileSelectState_FileManagerToCopyErase); this->mUnk_1C04.mUnk_18 = 1; data_ov000_020b5214.func_ov000_0206db44(0x18); break; - case 0x05: + case BTN_ID_RETURN: this->SetState(FileSelectState_FileManagerToSlotSelect); data_ov000_020b5214.func_ov000_0206db44(0x15); break; @@ -1243,11 +1250,11 @@ ARM void FileSelectMain::func_ov019_020c8c4c() { this->GetUnk03E0(i).mUnk_004.mUnk_2A = false; } - this->mUnk_039C.UnkOperations(&this->mUnk_0100.mPos, true); - this->mUnk_07A0.UnkOperations(&this->mUnk_0488.mPos, true); - this->mUnk_0A80.UnkOperations(&this->mUnk_07E4.mPos, true); - this->mUnk_0D60.UnkOperations(&this->mUnk_0AC4.mPos, true); - this->mUnk_00BC.UnkOperations(&this->mUnk_005C.mPos, true); + this->mUnk_039C.UnkOperations2(&this->mUnk_0100.mPos, true); + this->mUnk_07A0.UnkOperations2(&this->mUnk_0488.mPos, true); + this->mUnk_0A80.UnkOperations2(&this->mUnk_07E4.mPos, true); + this->mUnk_0D60.UnkOperations2(&this->mUnk_0AC4.mPos, true); + this->mUnk_00BC.UnkOperations2(&this->mUnk_005C.mPos, true); } ARM void FileSelectMain::func_ov019_020c92dc() { @@ -1323,26 +1330,26 @@ ARM void FileSelectMain::func_ov019_020c9c70() { this->mUnk_155C.func_ov000_020609c4(); switch (data_0204a110.func_01ff9b50()) { - case 0x46: + case BTN_ID_FILE_SELECT_ADVENTURE: this->mExitMode = FileSelectExitMode_AdventureMode; this->SetState(FileSelectState_ChooseModeToEnterGameMode); data_ov000_020b5214.func_ov000_0206db44(0x1A); break; - case 0x47: + case BTN_ID_FILE_SELECT_BATTLE: this->mExitMode = FileSelectExitMode_BattleMode; this->SetState(FileSelectState_ChooseModeToEnterGameMode); data_ov000_020b5214.func_ov000_0206db44(0x1B); break; - case 0x48: + case BTN_ID_FILE_SELECT_CONTACT_MODE: this->SetState(FileSelectState_ChooseModeToContactMode); data_02049a2c.GetUnk00_FileSelect()->LoadContactMode(this->mSaveSlotIndex); data_ov000_020b5214.func_ov000_0206db44(0x1C); break; - case 0x49: + case BTN_ID_FILE_SELECT_OPTIONS: data_0204a088->func_ov000_020611fc(0x12); data_ov000_020b5214.func_ov000_0206db44(0x1D); break; - case 0x05: + case BTN_ID_RETURN: this->SetState(FileSelectState_ChooseModeToFileManager); data_ov000_020b5214.func_ov000_0206db44(0x19); break; @@ -1678,14 +1685,14 @@ ARM void FileSelectMain::SetState(FileSelectState state) { ARM void FileSelectMain::vfunc_18() {} ARM void FileSelectMain::func_ov019_020cb5dc() { - this->mUnk_0164.func_0201f9c4(); - this->mUnk_0524.func_0201f9c4(); - this->mUnk_0848.func_0201f9c4(); - this->mUnk_0B28.func_0201f9c4(); - this->mUnk_0E40.func_0201f9c4(); - this->mUnk_1258.func_0201f9c4(); - this->mUnk_1670.func_0201f9c4(); - this->mUnk_1988.func_0201f9c4(); + this->mUnk_0160.mUnk_04.func_0201f9c4(); + this->mUnk_0520.mUnk_04.func_0201f9c4(); + this->mUnk_0844.mUnk_04.func_0201f9c4(); + this->mUnk_0B24.mUnk_04.func_0201f9c4(); + this->mUnk_0E3C.mUnk_04.func_0201f9c4(); + this->mUnk_1254.mUnk_04.func_0201f9c4(); + this->mUnk_166C.mUnk_04.func_0201f9c4(); + this->mUnk_1984.mUnk_04.func_0201f9c4(); for (int i = 0; i < MAX_SAVE_SLOTS; i++) { this->GetUnk03E0(i).mUnk_064.func_0201f9c4(); @@ -1697,14 +1704,14 @@ ARM void FileSelectMain::func_ov019_020cb664() { this->GetUnk03E0(i).mUnk_064.func_0201f498(); } - this->mUnk_1988.func_0201f498(); - this->mUnk_1670.func_0201f498(); - this->mUnk_1258.func_0201f498(); - this->mUnk_0E40.func_0201f498(); - this->mUnk_0B28.func_0201f498(); - this->mUnk_0848.func_0201f498(); - this->mUnk_0524.func_0201f498(); - this->mUnk_0164.func_0201f498(); + this->mUnk_1984.mUnk_04.func_0201f498(); + this->mUnk_166C.mUnk_04.func_0201f498(); + this->mUnk_1254.mUnk_04.func_0201f498(); + this->mUnk_0E3C.mUnk_04.func_0201f498(); + this->mUnk_0B24.mUnk_04.func_0201f498(); + this->mUnk_0844.mUnk_04.func_0201f498(); + this->mUnk_0520.mUnk_04.func_0201f498(); + this->mUnk_0160.mUnk_04.func_0201f498(); } ARM void FileSelectMain::func_ov019_020cb6e8() { diff --git a/src/019_MainSelect/FileSelectManager.cpp b/src/019_MainSelect/FileSelectManager.cpp index 80947bd0..d5d02b4d 100644 --- a/src/019_MainSelect/FileSelectManager.cpp +++ b/src/019_MainSelect/FileSelectManager.cpp @@ -56,7 +56,7 @@ ARM void FileSelectManager::vfunc_24() { this->func_02018908(); if (!this->mTouchControl.mState.touch) { - this->mUnk_148 = -1; + this->mNextButtonID = BTN_ID_NONE; } this->func_ov019_020c5038(); @@ -77,11 +77,11 @@ ARM void FileSelectManager::func_ov019_020c503c() { u32 input = data_0204a110.func_01ff9b50(); switch (input) { - case 0x58: + case BTN_ID_FILE_SELECT_NEW_FILE_RETURN: data_ov003_020ba740->func_ov003_020b69d8(2); data_ov000_020b5214.func_ov000_0206db44(0x13); break; - case 0x57: + case BTN_ID_FILE_SELECT_NEW_FILE_CONFIRM: data_ov003_020ba740->func_ov003_020b69d8(3); UnkStruct_ov019_020d1d80 *uVar2 = (UnkStruct_ov019_020d1d80 *) &data_ov019_020d1db4; diff --git a/src/019_MainSelect/FileSelectMicTest.cpp b/src/019_MainSelect/FileSelectMicTest.cpp index 175b25fd..ca4b42cc 100644 --- a/src/019_MainSelect/FileSelectMicTest.cpp +++ b/src/019_MainSelect/FileSelectMicTest.cpp @@ -53,7 +53,7 @@ ARM FileSelectMicTest::FileSelectMicTest() : mState(FSMicTestState_OptionsIdle), mUnk_020(0x8D, 0x00), mUnk_258(0x8D, 0x00), - mUnk_304(0x05, 0x8E, 0x00, 0x01, 0x8E, 0x00), + mUnk_304(BTN_ID_RETURN, 0x8E, 0x00, 0x01, 0x8E, 0x00), mUnk_3F8(0x8D, 0x01), mUnk_630(1) { this->mUnk_0C.mList.func_020166cc(&this->mUnk_304.mUnk_044.mUnk_04); @@ -142,7 +142,7 @@ ARM void FileSelectMicTest::vfunc_08(Input *pButtons, TouchControl *pTouchContro switch (this->mState) { case FSMicTestState_MicTestIdle: this->mUnk_270.func_ov019_020cf168(); - if (data_0204a110.func_01ff9b50() == 5) { + if (data_0204a110.func_01ff9b50() == BTN_ID_RETURN) { this->func_ov019_020ceff8(); data_ov000_020b5214.func_ov000_0206d6b4(0x2F, 2); data_ov000_020b5214.func_ov000_0206db44(0x2F); diff --git a/src/019_MainSelect/FileSelectOptions.cpp b/src/019_MainSelect/FileSelectOptions.cpp index bce0148d..c1c39bb9 100644 --- a/src/019_MainSelect/FileSelectOptions.cpp +++ b/src/019_MainSelect/FileSelectOptions.cpp @@ -164,18 +164,18 @@ ARM FileSelectOptions::FileSelectOptions(s32 saveSlotIndex) : mUnk_0020(false), mUnk_0024(&this->mUnk_0C, saveSlotIndex), - mUnk_10A8(0xFFFFFFFF, 0x8C, 0x01, 0x01, 0x8C, 0x01), + mUnk_10A8(BTN_ID_NONE, 0x8C, 0x01, 0x01, 0x8C, 0x01), mUnk_1108(&mUnk_10A8, 0x8C, 0x00, 0x00020010), - mUnk_1388(0x4B, 0x8C, 0x08, 0x14, 0x8C, 0x01), + mUnk_1388(BTN_ID_FILE_SELECT_MIC_TEST, 0x8C, 0x08, 0x14, 0x8C, 0x01), mUnk_1420(&mUnk_1388), mUnk_1470(&mUnk_1388, 0x8C, 0x07, 0x0002000B), - mUnk_16AC(0x4A, 0x8C, 0x0B, 0x12, 0x8C, 0x00), + mUnk_16AC(BTN_ID_FILE_SELECT_CONFIRM, 0x8C, 0x0B, 0x12, 0x8C, 0x00), mUnk_1744(&mUnk_16AC), mUnk_1794(&mUnk_16AC, 0x8C, 0x08, 0x00020008), - mUnk_19D0(0x05, 0x8C, 0x0C, 0x13, 0x8C, 0x08), + mUnk_19D0(BTN_ID_RETURN, 0x8C, 0x0C, 0x13, 0x8C, 0x08), mUnk_1A68(&mUnk_19D0), mUnk_1AB8(&mUnk_19D0, 0x8C, 0x09, 0x00020007) { this->mUnk_1CF5 = false; @@ -187,17 +187,17 @@ ARM FileSelectOptions::FileSelectOptions(s32 saveSlotIndex) : this->mUnk_1388.mUnk_2C = true; this->mUnk_16AC.mUnk_2C = true; this->mUnk_19D0.mUnk_2C = true; - func_ov000_020623d8(this->mUnk_1474.mUnk_00C, 2); - func_ov000_020623d8(this->mUnk_1798.mUnk_00C, 2); - func_ov000_020623d8(this->mUnk_1ABC.mUnk_00C, 2); + func_ov000_020623d8(this->mUnk_1470.mUnk_04.mUnk_00C, 2); + func_ov000_020623d8(this->mUnk_1794.mUnk_04.mUnk_00C, 2); + func_ov000_020623d8(this->mUnk_1AB8.mUnk_04.mUnk_00C, 2); this->func_ov019_020ccd40(); } ARM FileSelectOptions::~FileSelectOptions() { - this->mUnk_1ABC.func_0201f498(); - this->mUnk_1798.func_0201f498(); - this->mUnk_1474.func_0201f498(); - this->mUnk_110C.func_0201f498(); + this->mUnk_1AB8.mUnk_04.func_0201f498(); + this->mUnk_1794.mUnk_04.func_0201f498(); + this->mUnk_1470.mUnk_04.func_0201f498(); + this->mUnk_1108.mUnk_04.func_0201f498(); } ARM void FileSelectOptions::func_ov019_020ccd40() { @@ -481,7 +481,7 @@ ARM void FileSelectOptions::func_ov019_020cd788() { ARM void FileSelectOptions::func_ov019_020cd7f8() { switch (data_0204a110.func_01ff9b50()) { - case 0x05: + case BTN_ID_RETURN: SaveSub17 *pSaveSub17 = gSaveManager.GetSaveSlot(this->mUnk_0024.mSaveSlotIndex)->Get2600Ptr(); data_0204a110.mUnk_000 = pSaveSub17->mUnk_02; data_ov000_020b504c.mUnk_030 = pSaveSub17->mUnk_00; @@ -489,11 +489,11 @@ ARM void FileSelectOptions::func_ov019_020cd7f8() { data_0204a088->func_ov000_020611fc(0); data_ov000_020b5214.func_ov000_0206db44(0x2E); break; - case 0x4B: + case BTN_ID_FILE_SELECT_MIC_TEST: this->func_ov019_020cde8c(FSOptionsState_OptionsToMicTest); data_ov000_020b5214.func_ov000_0206db44(0x2C); break; - case 0x4A: + case BTN_ID_FILE_SELECT_CONFIRM: this->func_ov019_020cde8c(FSOptionsState_SaveSettings); data_ov000_020b5214.func_ov000_0206db44(0x2D); break; @@ -509,7 +509,7 @@ ARM void FileSelectOptions::func_ov019_020cd8d4() { this->mUnk_1420.func_ov000_02063f64(); this->mUnk_1744.func_ov000_02063f64(); this->mUnk_1A68.func_ov000_02063f64(); - this->mUnk_1344.UnkOperations(&this->mUnk_10A8.mPos, true); + this->mUnk_1344.UnkOperations2(&this->mUnk_10A8.mPos, true); } ARM bool FileSelectOptions::func_ov019_020cdbdc() { @@ -602,16 +602,16 @@ ARM UnkStruct_ov019_020d24c8_2C_24::UnkStruct_ov019_020d24c8_2C_24(GameModeManag mUnk_008(0, 0), mUnk_020(0x8C, 1), mUnk_258(0x8C, 4), - mUnk_490(0x4C, 0x8C, 0x03, 0x0A, 0x8C, 0x06), - mUnk_4F0(0x4D, 0x8C, 0x06, 0x09, 0x8C, 0x03), + mUnk_490(BTN_ID_FILE_SELECT_MESG_SPEED_LEFT_ARROW, 0x8C, 0x03, 0x0A, 0x8C, 0x06), + mUnk_4F0(BTN_ID_FILE_SELECT_MESG_SPEED_RIGHT_ARROW, 0x8C, 0x06, 0x09, 0x8C, 0x03), mUnk_550(0x8C, 2), mUnk_788(0x8C, 5), - mUnk_9C0(0x4E, 0x8C, 0x04, 0x0A, 0x8C, 0x07), - mUnk_A20(0x4F, 0x8C, 0x07, 0x09, 0x8C, 0x04), + mUnk_9C0(BTN_ID_FILE_SELECT_SOUND_SETTINGS_LEFT_ARROW, 0x8C, 0x04, 0x0A, 0x8C, 0x07), + mUnk_A20(BTN_ID_FILE_SELECT_SOUND_SETTINGS_RIGHT_ARROW, 0x8C, 0x07, 0x09, 0x8C, 0x04), mUnk_A80(0x8C, 6), mUnk_CB8(0x8C, 3), - mUnk_EF0(0x50, 0x8C, 0x02, 0x0A, 0x8C, 0x05), - mUnk_F50(0x51, 0x8C, 0x05, 0x09, 0x8C, 0x02), + mUnk_EF0(BTN_ID_FILE_SELECT_HANDEDNESS_LEFT_ARROW, 0x8C, 0x02, 0x0A, 0x8C, 0x05), + mUnk_F50(BTN_ID_FILE_SELECT_HANDEDNESS_RIGHT_ARROW, 0x8C, 0x05, 0x09, 0x8C, 0x02), mUnk_FB0(NULL), mUnk_FB4(NULL), mUnk_FB8(NULL), @@ -712,24 +712,24 @@ ARM UnkStruct_ov019_020d24c8_2C_24::~UnkStruct_ov019_020d24c8_2C_24() { ARM void UnkStruct_ov019_020d24c8_2C_24::func_ov019_020ce414() { switch (data_0204a110.func_01ff9b50()) { - case 0x4C: + case BTN_ID_FILE_SELECT_MESG_SPEED_LEFT_ARROW: this->func_ov019_020ce61c(1); data_ov000_020b5214.func_ov000_0206db44(0x2A); break; - case 0x4D: + case BTN_ID_FILE_SELECT_MESG_SPEED_RIGHT_ARROW: this->func_ov019_020ce61c(0); data_ov000_020b5214.func_ov000_0206db44(0x2A); break; - case 0x4E: + case BTN_ID_FILE_SELECT_SOUND_SETTINGS_LEFT_ARROW: this->func_ov019_020ce668(1); data_ov000_020b5214.func_ov000_0206db44(0x2B); break; - case 0x4F: + case BTN_ID_FILE_SELECT_SOUND_SETTINGS_RIGHT_ARROW: this->func_ov019_020ce668(0); data_ov000_020b5214.func_ov000_0206db44(0x2B); break; - case 0x50: - case 0x51: + case BTN_ID_FILE_SELECT_HANDEDNESS_LEFT_ARROW: + case BTN_ID_FILE_SELECT_HANDEDNESS_RIGHT_ARROW: this->func_ov019_020ce6c8(); data_ov000_020b5214.func_ov000_0206db44(0x2A); break; diff --git a/src/019_MainSelect/FileSelectSubScreen.cpp b/src/019_MainSelect/FileSelectSubScreen.cpp index 7b876882..f600cd96 100644 --- a/src/019_MainSelect/FileSelectSubScreen.cpp +++ b/src/019_MainSelect/FileSelectSubScreen.cpp @@ -2,25 +2,27 @@ #include "FileSelect/FileSelectOptionsManager.hpp" #include "System/Random.hpp" #include "Unknown/UnkStruct_0204af1c.hpp" +#include "global.h" #include "regs.h" extern "C" { -void func_0200a7b0(unk32 param1, const char *param2, const char *param3, const char *param4, unk32 param5, unk32 param6, - unk32 param7, unk32 param8); +void func_0200a7b0(unk32 param1, void *param2, void *param3, void *param4, unk32 param5, unk32 param6, unk32 param7, + unk32 param8); void func_020249d4(void *pReg, unk32 param1, unk32 param2, unk32 param3, unk32 param4); -void func_020275e8(); +void DC_FlushAll(); }; FileSelectOptionsManager *gpFSOptionsManager = NULL; static unk8 data_ov019_020fb8cc[0xDC00]; -static unk8 data_ov019_020e00cc[0xDC00]; -static unk8 data_ov019_020d24cc[0xDC00]; -static unk8 data_ov019_020edccc[0xDC00]; static unk8 data_ov019_021094cc[0xDC00]; +static unk8 data_ov019_020d24cc[0xDC00]; +static unk8 data_ov019_020e00cc[0xDC00]; +static unk8 data_ov019_020edccc[0xDC00]; -const unk32 data_ov019_020d1bcc[] = {0x00010000, 0x00000002}; +const u16 data_ov019_020d1bcc[] = {0x00, 0x01, 0x02}; +// https://decomp.me/scratch/LzPt6 ARM FileSelectSubScreen::FileSelectSubScreen() : mUnk_001C(0), mUnk_0020(0), @@ -30,11 +32,6 @@ ARM FileSelectSubScreen::FileSelectSubScreen() : mUnk_0ED0("Screen/Bg/Tape_c.bin", 1), mUnk_0EDC("Screen/Bg/Tape_d.bin", 1), mUnk_0EE8("Screen/Bg/Tape_e.bin", 1) { - this->mUnk_0EF4.func_020171e4(); - this->mUnk_0F30.func_020171e4(); - this->mUnk_0F6C.func_020171e4(); - this->mUnk_0FA8.func_020171e4(); - this->mUnk_0FE4.func_020171e4(); this->mUnk_0EB8.func_02015460("TPA", data_ov019_020fb8cc, sizeof(data_ov019_020fb8cc)); this->mUnk_0EC4.func_02015460("TPB", data_ov019_020edccc, sizeof(data_ov019_020edccc)); @@ -42,7 +39,7 @@ ARM FileSelectSubScreen::FileSelectSubScreen() : this->mUnk_0EDC.func_02015460("TPD", data_ov019_020e00cc, sizeof(data_ov019_020e00cc)); this->mUnk_0EE8.func_02015460("TPE", data_ov019_021094cc, sizeof(data_ov019_021094cc)); - func_020275e8(); + DC_FlushAll(); this->mUnk_0EF4.func_02017520("TPA:Tape_a", "TPA:Tape_a", NULL); this->mUnk_0F30.func_02017520("TPB:Tape_b", "TPB:Tape_b", NULL); @@ -50,26 +47,23 @@ ARM FileSelectSubScreen::FileSelectSubScreen() : this->mUnk_0FA8.func_02017520("TPD:Tape_d", "TPD:Tape_d", NULL); this->mUnk_0FE4.func_02017520("TPE:Tape_e", "TPE:Tape_e", NULL); - REG_DISPCNT_SUB &= 0xFFFFE0FF; + REG_DISPCNT_SUB &= ~0x00001F00; REG_DISPCNT_SUB |= 0x00001F00; func_020249d4(®_BLDCNT_SUB, 0x01, 0x1E, 0x08, 0x0A); { - UnkStruct2 auStack_28("Screen/Bg/Cover.bin", 1); - auStack_28.func_020154ec("CVR"); - - func_020275e8(); + UnkStruct2 stack_narc("Screen/Bg/Cover.bin", 1); + stack_narc.func_020154ec("CVR"); + DC_FlushAll(); { - // UnkSystem5 uStack_64("CVR:Cover", "CVR:Cover", "CVR:Tape", 4, 6, 1); - UnkSystem5 uStack_64; - func_0200a7b0(4, "CVR:Cover", "CVR:Cover", "CVR:Tape", 0, 0, 6, 1); + UnkResult stack_tape("CVR:Cover", "CVR:Cover", "CVR:Tape"); + func_0200a7b0(4, stack_tape.mUnk_00, stack_tape.mUnk_04, stack_tape.mUnk_08, 0, 0, 6, 1); } { - // UnkSystem5 uStack_a0("CVR:Line", NULL, NULL, 7, 0, 1); - UnkSystem5 uStack_a0; - func_0200a7b0(7, "CVR:Line", NULL, NULL, 0, 0, 0, 1); + UnkResult stack_line("CVR:Line", NULL, NULL); + func_0200a7b0(7, stack_line.mUnk_00, stack_line.mUnk_04, stack_line.mUnk_08, 0, 0, 0, 1); } } @@ -169,27 +163,37 @@ ARM void FileSelectSubScreen::vfunc_10(unk8 *param1) { this->mUnk_002C.vfunc_04(); } -ARM UnkStructSub2::UnkStructSub2() {} +ARM FileSelect_UnkClass7::FileSelect_UnkClass7() { + Random *pRandom = &gRandom; + + for (int i = 0; i < ARRAY_LEN(this->mUnk_004.mUnk_000); i++) { + this->mUnk_004.mUnk_000[i].func_ov000_0206082c(0x8F, data_ov019_020d1bcc[gRandom.Next32(0, 3)]); + + u16 value = gRandom.ConditionalNext32(this->mUnk_004.mUnk_000[i].func_ov000_02060c28()); + this->mUnk_004.mUnk_000[i].func_ov000_02060bd8(value); + + Vec2us pos = pRandom->NextPos(SUBSCREEN_WIDTH, SUBSCREEN_HEIGHT); + Vec2us *pVec = &this->mUnk_004.mUnk_E10[i]; + *pVec = pos; + } +} -// non-matching ARM void FileSelect_UnkClass7::vfunc_00() { - int i; + for (int i = 0; i < ARRAY_LEN(this->mUnk_004.mUnk_000); i++) { + this->mUnk_004.mUnk_000[i].func_ov000_020609c4(); - for (i = 0; i < 0x1E; i++) { - UnkSubStruct19 *pVar6 = &this->mUnk_0004[i]; + if (this->mUnk_004.mUnk_000[i].func_ov000_02060af8() != 0) { + this->mUnk_004.mUnk_000[i].func_ov000_02060b64(); - pVar6->func_ov000_020609c4(); - - if (pVar6->func_ov000_02060af8() != 0) { - pVar6->func_ov000_02060b64(); - this->mUnk_0E14[i].one = (u16) gRandom.Next(0, 256); - this->mUnk_0E14[i].two = (u16) gRandom.Next(0, 192); + Vec2us pos = gRandom.NextPos(SUBSCREEN_WIDTH, SUBSCREEN_HEIGHT); + Vec2us *pVec = &this->mUnk_004.mUnk_E10[i]; + *pVec = pos; } } } ARM void FileSelect_UnkClass7::vfunc_04() { for (int i = 0; i < 0x1E; i++) { - data_0204af1c.func_0201aad0(&this->mUnk_0004[i], &this->mUnk_0E14[i], 1, 0); + data_0204af1c.func_0201aad0(&this->mUnk_004.mUnk_000[i], &this->mUnk_004.mUnk_E10[i], 1, 0); } } diff --git a/src/031_Land/Actor/ActorRupee.cpp b/src/031_Land/Actor/ActorRupee.cpp index bd815b53..be02eda6 100644 --- a/src/031_Land/Actor/ActorRupee.cpp +++ b/src/031_Land/Actor/ActorRupee.cpp @@ -18,6 +18,7 @@ extern "C" unk32 func_ov031_020d9834(unk32 *); extern ActorTypeRupee ActorTypeRupee::gInstance; extern unk32 *data_027e0d34; +extern Cylinder data_ov031_02113478; ARM ActorTypeRupee *ActorTypeRupee::GetInstance() { return &ActorTypeRupee::gInstance; @@ -35,13 +36,27 @@ ARM ActorTypeRupee::ActorTypeRupee() : this->mUnk_04.size = 0x556; } +struct stack_struct { + Vec3p sp4; // 4 8 c + unk32 pad1; + unk16 sp14; + u8 pad2[0x16]; + unk32 sp2C; + unk32 sp30; + + void func_ov000_020975f8(); +}; + // non-matching -ARM void ActorRupee::func_ov031_020e8d2c(Vec3p *param1) { - Actor_5c uStack_4c; - uStack_4c.func_ov000_020975f8(); - uStack_4c.mUnk_00 = *param1; - uStack_4c.mUnk_0c = 0; - this->func_ov000_020973f4(&data_ov000_020b539c, ActorId_Rupee, uStack_4c); +ARM void ActorRupee::func_ov031_020e8d2c(Vec3p *param1, u8 param2, unk32 param3, unk32 param4) { + stack_struct stack; + stack.sp2C = 0; + stack.func_ov000_020975f8(); + stack.sp14 = param2 & 0xFF; + stack.sp4 = *param1; + stack.sp2C = param4; + stack.sp30 = param3; + this->func_ov000_020973f4(&data_ov000_020b539c, ActorId_Rupee, (Actor_5c *) &stack, 0); } ARM ActorRupee::ActorRupee() : @@ -59,7 +74,74 @@ ARM ActorRupee::ActorRupee() : this->mUnk_40 = &this->mUnk_c4; } -ARM unk32 ActorRupee::vfunc_18() {} +// https://decomp.me/scratch/wunA4 +ARM bool ActorRupee::vfunc_18(unk32 param1) { + if (this->func_ov031_020e9d54()) { + this->mUnk_30 = &data_ov031_02113478; + this->mUnk_34 = &data_ov031_02113478; + SET_FLAG(&this->mFlags, ActorFlag_12); + } + + if (this->mUnk_80 >= 0) { + if (this->func_ov000_02098a60(0) != 0) { + return false; + } + + if (this->mUnk_6e == 0) { + this->func_ov031_020e9904(3); + } else { + this->func_ov031_020e9904(10); + } + + return true; + } + + switch (this->mUnk_88) { + case 0: + this->mUnk_96 = 0x1E0; + this->mUnk_94 = 0; + this->mVel.x = 0; + this->mVel.y = 0; + this->mVel.z = 0; + this->func_ov031_020e9904(0); + break; + case 1: + this->mUnk_96 = 0x1E0; + this->mUnk_94 = 0; + + { + Vec3p vel; + + vel.x = gRandom.Next32(0, 0x223); + vel.y = gRandom.Next32(0, 0x333); + vel.z = gRandom.Next32(0, 0x223); + + this->mVel.x = vel.x - 0x111; + this->mVel.y = vel.y + 0x555; + this->mVel.z = vel.z - 0x111; + } + + this->func_ov031_020e9904(0); + break; + case 2: + this->mUnk_96 = 0x1E0; + this->mUnk_94 = 0; + this->mVel.x = 0; + this->mVel.y = 0x800; + this->mVel.z = 0; + this->func_ov031_020e9904(0); + break; + case 3: + break; + case 4: + this->func_ov031_020e9904(10); + break; + default: + break; + } + + return true; +} ARM void ActorRupee::func_ov031_020e8fec() { switch (this->mUnk_6c) { @@ -106,11 +188,17 @@ ARM void ActorRupee::func_ov031_020e9068() { } } -// https://decomp.me/scratch/FZsEE ARM void ActorRupee::func_ov031_020e9108() { - this->mVel.x = gRandom.Next(-0xCD, 0x19B); - this->mVel.y = gRandom.Next(0, 0x19A); - this->mVel.z = gRandom.Next(-0xCD, 0x19B); + Vec3p vel; + + vel.x = gRandom.Next32(0, 0x19B); + vel.y = gRandom.Next32(0, 0x19A); + vel.z = gRandom.Next32(0, 0x19B); + + this->mVel.x = vel.x - 0xCD; + this->mVel.y = vel.y + 0x9A + 0x100; + this->mVel.z = vel.z - 0xCD; + SET_FLAG(&this->mFlags, ActorFlag_Visible); } @@ -761,14 +849,14 @@ ARM Actor_c4::Actor_c4(Actor *param1) : } // non-matching -ARM unk32 Actor_c4::vfunc_00(unk32 param1, unk32 param2) { - if (param2 != 0) { +ARM unk32 Actor_c4::vfunc_00(Actor_c4_stack param1, unk32 param2) { + if (param1.param2 != 0) { ActorRupee *pRupee = GET_ACTOR_RUPEE(this->mUnk_20); - pRupee->mUnk_c0 = param2; + pRupee->mUnk_c0 = param1.param1; pRupee->func_ov031_020e9904(7); } - return this->func_ov031_020f62e4(param2); + return this->func_ov031_020f62e4(param1.param1, param1.param2); } ARM void Actor_c4::vfunc_04() { diff --git a/src/Main/Game/GameModeManagerBase.cpp b/src/Main/Game/GameModeManagerBase.cpp index f9e13801..dd57c19a 100644 --- a/src/Main/Game/GameModeManagerBase.cpp +++ b/src/Main/Game/GameModeManagerBase.cpp @@ -12,8 +12,8 @@ THUMB GameModeManagerBase *GameModeManagerBase::Create(unk32 param1) { THUMB GameModeManagerBase::GameModeManagerBase(unk32 param1) : mUnk_100((void *) param1), - mUnk_148(-1), - mUnk_14C(-1), + mNextButtonID(BTN_ID_NONE), + mButtonID(BTN_ID_NONE), mUnk_150(false) { data_ov000_020b504c.mUnk_004 = &this->mUnk_004; } @@ -58,7 +58,7 @@ ARM void GameModeManagerBase::func_02018634(u16 speed) { } ARM void GameModeManagerBase::vfunc_24() { - this->mUnk_14C = -1; + this->mButtonID = BTN_ID_NONE; this->mUnk_004.func_0201bf24(); } @@ -117,8 +117,8 @@ ARM void GameModeManagerBase::func_0201875c(void) { GameModeLinkList *pNode; UnkStruct4 local_30; - local_30.a = &this->mUnk_148; - local_30.b = &this->mUnk_14C; + local_30.a = &this->mNextButtonID; + local_30.b = &this->mButtonID; local_30.c = &this->mButtons; local_30.d = &this->mTouchControl; @@ -143,7 +143,7 @@ ARM void GameModeManagerBase::func_02018830(unk8 *param1) { GameModeLinkList *pNode; UnkStruct5 local_28; - local_28.a = this->mUnk_148; + local_28.a = this->mNextButtonID; local_28.b = param1; for (pNode = this->mUnk_104.mList.GetPrev(); pNode != this->mUnk_104.GetOrigin(); pNode = pNode->GetNext2()) { diff --git a/src/Main/System/Random.cpp b/src/Main/System/Random.cpp new file mode 100644 index 00000000..ae9951cf --- /dev/null +++ b/src/Main/System/Random.cpp @@ -0,0 +1,19 @@ +#include "System/Random.hpp" + +extern "C" void func_02028450(void *param1); +extern "C" u16 func_02032920(void *param1, size_t param2); + +ARM void Random::Init() { + u64 auStack_38[4]; + u16 randomValue[4]; + + func_02028450(auStack_38); + + for (int i = 0; i < ARRAY_LEN(auStack_38); i++) { + randomValue[i] = func_02032920(&auStack_38[i], sizeof(u64)); + } + + *(u64 *) &this->mRandomValue = *(u64 *) &randomValue; + this->mFactor = 0x5D588B656C078965; + this->mAddend = 0x00269EC3; +} diff --git a/src/Main/func_02017ea4.cpp b/src/Main/func_02017ea4.cpp index ff59da51..0e098927 100644 --- a/src/Main/func_02017ea4.cpp +++ b/src/Main/func_02017ea4.cpp @@ -2,9 +2,9 @@ #include "types.h" ARM extern "C" void func_02017ea4(u16 *param1) { - *param1 = gRandom.Next(0, 0x100000000) >> 16; + *param1 = gRandom.Next16(); } ARM extern "C" void func_02017ee4(u16 *param1) { - *param1 = gRandom.Next(0, 4) << 14; + *param1 = gRandom.Next32(0, 4) << 14; } diff --git a/tools/configure.py b/tools/configure.py index b73268fd..2a899483 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -127,6 +127,7 @@ config.libs = [ Object("Main/System/SysNew.cpp"), Object("Main/Player/TouchControl.cpp"), Object("Main/System/OverlayManager.cpp"), + Object("Main/System/Random.cpp"), Object("Main/Game/GameModeLinkListNode.cpp"), Object("Main/func_02017ea4.cpp"), Object("Main/Game/GameModeBase.cpp"),