From 6062d1f43c495ac0d20acede480c21936bebb6e2 Mon Sep 17 00:00:00 2001 From: Yanis <35189056+Yanis002@users.noreply.github.com> Date: Sat, 20 Jun 2026 03:24:19 +0200 Subject: [PATCH] Decompile overlay 1 (Part 1) (#89) * start overlay 1 * match courselist and delink a lot of files (+ remove SysObject) * fix build issues * fix regressions --- config/eur/arm9/overlays/ov000/delinks.txt | 4 +- config/eur/arm9/overlays/ov000/relocs.txt | 18 +- config/eur/arm9/overlays/ov000/symbols.txt | 43 +- config/eur/arm9/overlays/ov001/delinks.txt | 67 +- config/eur/arm9/overlays/ov001/relocs.txt | 46 +- config/eur/arm9/overlays/ov001/symbols.txt | 194 ++--- config/eur/arm9/overlays/ov017/symbols.txt | 1 + config/eur/arm9/overlays/ov021/relocs.txt | 6 +- config/eur/arm9/overlays/ov021/symbols.txt | 2 +- config/eur/arm9/overlays/ov022/relocs.txt | 6 +- config/eur/arm9/overlays/ov023/relocs.txt | 6 +- config/eur/arm9/overlays/ov024/relocs.txt | 2 +- config/eur/arm9/overlays/ov026/symbols.txt | 2 +- config/eur/arm9/overlays/ov058/symbols.txt | 4 +- config/eur/arm9/overlays/ov070/symbols.txt | 2 +- config/eur/arm9/overlays/ov093/relocs.txt | 2 +- config/eur/arm9/symbols.txt | 8 +- config/jp/arm9/overlays/ov000/delinks.txt | 4 +- config/jp/arm9/overlays/ov000/relocs.txt | 12 +- config/jp/arm9/overlays/ov000/symbols.txt | 53 +- config/jp/arm9/overlays/ov001/delinks.txt | 67 +- config/jp/arm9/overlays/ov001/relocs.txt | 51 +- config/jp/arm9/overlays/ov001/symbols.txt | 760 +++++++++--------- config/jp/arm9/overlays/ov002/symbols.txt | 2 +- config/jp/arm9/overlays/ov017/symbols.txt | 1 + config/jp/arm9/overlays/ov021/relocs.txt | 6 +- config/jp/arm9/overlays/ov021/symbols.txt | 2 +- config/jp/arm9/overlays/ov022/relocs.txt | 6 +- config/jp/arm9/overlays/ov023/relocs.txt | 6 +- config/jp/arm9/overlays/ov024/relocs.txt | 2 +- config/jp/arm9/overlays/ov026/symbols.txt | 4 +- config/jp/arm9/overlays/ov058/symbols.txt | 4 +- config/jp/arm9/overlays/ov070/symbols.txt | 2 +- config/jp/arm9/overlays/ov093/relocs.txt | 2 +- config/jp/arm9/symbols.txt | 8 +- include/Actor/Actor.hpp | 2 +- include/Actor/ActorManager.hpp | 3 + include/Actor/ActorProfile.hpp | 2 +- include/Actor/Actor_Derived1.hpp | 2 - include/Course/Course.hpp | 213 +++++ include/Cutscene/Cutscene.hpp | 1 + include/FileSelect/FileSelect.hpp | 2 +- include/FileSelect/FileSelectOptions.hpp | 4 +- include/FileSelect/FileSelectUnkDraw.hpp | 2 +- include/FileSelect/UnkSubStruct9.hpp | 2 +- include/Game/GameMode.hpp | 2 +- include/Game/GameModeManager.hpp | 4 +- include/Item/ItemManager.hpp | 12 +- include/MainGame/MiscAdvManager.hpp | 4 + include/MapObject/MapObject.hpp | 2 +- include/MapObject/MapObjectManager.hpp | 15 +- include/MapObject/MapObjectProfile.hpp | 2 +- include/Message/BMG.hpp | 2 +- include/Player/PlayerGet.hpp | 2 +- include/System/OverlayManager.hpp | 1 + include/System/SysNew.hpp | 9 +- include/TitleScreen/TitleScreen.hpp | 2 +- include/Unknown/UnkStruct_0204a060.hpp | 25 +- include/Unknown/UnkStruct_0204a088.hpp | 2 +- include/Unknown/UnkStruct_0204a110.hpp | 6 + include/Unknown/UnkStruct_0204e5f8.hpp | 3 +- include/Unknown/UnkStruct_027e0954.hpp | 22 +- include/Unknown/UnkStruct_027e0958.hpp | 18 + include/Unknown/UnkStruct_027e095c.hpp | 10 +- include/Unknown/UnkStruct_027e0960.hpp | 11 +- include/Unknown/UnkStruct_027e09a0.hpp | 125 +-- include/Unknown/UnkStruct_027e09a4.hpp | 309 ++++--- include/Unknown/UnkStruct_027e09ac.hpp | 8 + include/Unknown/UnkStruct_027e09b8.hpp | 15 +- include/Unknown/UnkStruct_027e09bc.hpp | 9 +- include/Unknown/UnkStruct_027e09c0.hpp | 21 + include/Unknown/UnkStruct_027e0cd8.hpp | 14 +- include/Unknown/UnkStruct_027e0ce0.hpp | 13 +- include/Unknown/UnkStruct_027e0cec.hpp | 8 +- include/Unknown/UnkStruct_027e0cf4.hpp | 2 +- include/Unknown/UnkStruct_027e0d70.hpp | 2 +- include/Unknown/UnkStruct_ov000_02067bc4.hpp | 5 +- include/Unknown/UnkStruct_ov000_020b50c0.hpp | 10 +- include/Unknown/UnkStruct_ov000_020b51b8.hpp | 4 +- include/Unknown/UnkSystem1.hpp | 2 +- include/files.h | 49 ++ include/types.h | 28 +- src/000_Second/Actor/Actor_Derived1.cpp | 2 - src/000_Second/Item/TreasureManager.cpp | 10 + src/001_SceneInit/Actor/ActorManager_001.cpp | 2 +- src/001_SceneInit/CourseList.cpp | 59 ++ .../Game/GameModeAdventure_001.cpp | 3 +- src/001_SceneInit/Item/ItemManager_001.cpp | 2 +- .../MapObject/MapObjectManager_001.cpp | 0 .../Player/PlayerActorBase_70_001.cpp | 0 src/001_SceneInit/Player/Player_001.cpp | 0 src/001_SceneInit/SceneInitializers_001.cpp | 616 ++++++++++++++ src/001_SceneInit/SysNew_001.cpp | 0 src/001_SceneInit/UnkStruct_027e095c_001.cpp | 0 src/001_SceneInit/UnkStruct_027e09b8_001.cpp | 0 src/001_SceneInit/UnkStruct_027e09bc_001.cpp | 0 src/001_SceneInit/UnkStruct_027e0cd8_001.cpp | 0 .../UnkStruct_027e0cd8_0C_001.cpp | 0 .../UnkStruct_027e0cd8_0C_148_154_001.cpp | 0 src/001_SceneInit/UnkStruct_027e0ce0_001.cpp | 0 .../UnkStruct_027e0ce0_30_001.cpp | 0 .../UnkStruct_027e0ce0_40_Base_001.cpp | 0 src/001_SceneInit/ZeldaArrangeBinary.cpp | 0 src/001_SceneInit/ZeldaMapBinary.cpp | 0 src/001_SceneInit/code_020bc234_001.cpp | 0 src/001_SceneInit/code_020bc2c8_001.cpp | 0 src/018_StartUp/StartUpInitializers.cpp | 9 +- .../Game/AdventureModeManager_160_024.cpp | 5 +- src/024_MainGame/Train/UnkDataStruct4.cpp | 2 +- .../Unknown/UnkStruct_027e0998_024.cpp | 4 +- src/025_Title/GameModeTitleScreen.cpp | 3 +- src/025_Title/TitleScreen.cpp | 2 +- .../PlayerSceneChange.cpp | 2 +- src/Main/System/SysNew.cpp | 2 +- src/Main/UnkStruct_0204a060.cpp | 1 + tools/configure.py | 28 +- 116 files changed, 2112 insertions(+), 1056 deletions(-) create mode 100644 include/Course/Course.hpp create mode 100644 include/Unknown/UnkStruct_027e0958.hpp create mode 100644 include/Unknown/UnkStruct_027e09c0.hpp create mode 100644 src/001_SceneInit/CourseList.cpp create mode 100644 src/001_SceneInit/MapObject/MapObjectManager_001.cpp create mode 100644 src/001_SceneInit/Player/PlayerActorBase_70_001.cpp create mode 100644 src/001_SceneInit/Player/Player_001.cpp create mode 100644 src/001_SceneInit/SceneInitializers_001.cpp create mode 100644 src/001_SceneInit/SysNew_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e095c_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e09b8_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e09bc_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e0cd8_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e0ce0_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e0ce0_30_001.cpp create mode 100644 src/001_SceneInit/UnkStruct_027e0ce0_40_Base_001.cpp create mode 100644 src/001_SceneInit/ZeldaArrangeBinary.cpp create mode 100644 src/001_SceneInit/ZeldaMapBinary.cpp create mode 100644 src/001_SceneInit/code_020bc234_001.cpp create mode 100644 src/001_SceneInit/code_020bc2c8_001.cpp diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt index 0747ab2e..3d7bd804 100644 --- a/config/eur/arm9/overlays/ov000/delinks.txt +++ b/config/eur/arm9/overlays/ov000/delinks.txt @@ -112,10 +112,10 @@ src/000_Second/Item/ItemManager.cpp: .rodata start:0x020afc40 end:0x020afc48 src/000_Second/Actor/Actor_Derived1.cpp: - .text start:0x020a8ae0 end:0x020a9b10 + .text start:0x020a8ae0 end:0x020a9abc .data start:0x020b4d88 end:0x020b4e4c src/000_Second/Item/TreasureManager.cpp: - .text start:0x020a9b10 end:0x020aa224 + .text start:0x020a9abc end:0x020aa224 .rodata start:0x020afd68 end:0x020afed8 .data start:0x020b4e60 end:0x020b4ec0 diff --git a/config/eur/arm9/overlays/ov000/relocs.txt b/config/eur/arm9/overlays/ov000/relocs.txt index d2af4882..709d782e 100644 --- a/config/eur/arm9/overlays/ov000/relocs.txt +++ b/config/eur/arm9/overlays/ov000/relocs.txt @@ -2967,12 +2967,12 @@ from:0x020710b8 kind:arm_call to:0x0201bbcc module:main from:0x020710e0 kind:arm_call to:0x0201b9a8 module:main from:0x02071164 kind:arm_call to:0x02069fc4 module:overlay(0) from:0x02071184 kind:arm_call to:0x020cb0c4 module:overlay(24) -from:0x02071190 kind:load to:0x020aa892 module:overlay(0) +from:0x02071190 kind:load to:0x020aa88c add:6 module:overlay(0) from:0x02071194 kind:load to:0x020aa88c module:overlay(0) from:0x02071198 kind:load to:0x0204e5f8 module:main -from:0x0207119c kind:load to:0x020aa88d module:overlay(0) -from:0x020711a0 kind:load to:0x020aa88e module:overlay(0) -from:0x020711a4 kind:load to:0x020aa88f module:overlay(0) +from:0x0207119c kind:load to:0x020aa88c add:1 module:overlay(0) +from:0x020711a0 kind:load to:0x020aa88c add:2 module:overlay(0) +from:0x020711a4 kind:load to:0x020aa88c add:3 module:overlay(0) from:0x020711a8 kind:load to:0x020b50c0 module:overlay(0) from:0x020711ac kind:load to:0x027e09a4 module:dtcm from:0x020711b0 kind:load to:0x020d8694 module:overlay(24) @@ -7778,11 +7778,11 @@ from:0x020a162c kind:arm_call to:0x02028c4c module:main from:0x020a1674 kind:arm_call to:0x02028c4c module:main from:0x020a1698 kind:arm_call to:0x02028c4c module:main from:0x020a16d8 kind:arm_call to:0x020667d8 module:overlay(0) -from:0x020a16e0 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020a16e0 kind:load to:0x020c3f70 module:overlay(17) from:0x020a16e4 kind:load to:0x0204a110 module:main from:0x020a16fc kind:arm_call to:0x02011ff4 module:main from:0x020a170c kind:arm_call to:0x020bba94 module:overlay(17) -from:0x020a1714 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020a1714 kind:load to:0x020c3f70 module:overlay(17) from:0x020a1720 kind:load to:0x020a16e8 module:overlay(0) from:0x020a175c kind:arm_call to:0x02067cf8 module:overlay(0) from:0x020a176c kind:load to:0x020b504c module:overlay(0) @@ -9847,9 +9847,9 @@ from:0x020b2190 kind:load to:0x0206a834 module:overlay(0) from:0x020b2194 kind:load to:0x0206a98c module:overlay(0) from:0x020b2198 kind:load to:0x0206a84c module:overlay(0) from:0x020b21b4 kind:load to:0x020703bc module:overlay(0) -from:0x020b21b8 kind:load to:0x020b6d85 module:overlays(1,8,12) -from:0x020b21bc kind:load to:0x020b6e15 module:overlays(1,8) -from:0x020b21c0 kind:load to:0x020b6f3d module:overlays(1,8) +from:0x020b21b8 kind:load to:0x020b6d85 module:overlay(1) +from:0x020b21bc kind:load to:0x020b6e15 module:overlay(1) +from:0x020b21c0 kind:load to:0x020b6f3d module:overlay(1) from:0x020b2204 kind:load to:0x020712d4 module:overlay(0) from:0x020b2208 kind:load to:0x020712e8 module:overlay(0) from:0x020b220c kind:load to:0x02065d48 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index c992f1dc..5e4aa25b 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -169,7 +169,7 @@ func_ov000_02058c74 kind:function(thumb,size=0x7c) addr:0x02058c74 func_ov000_02058cf0 kind:function(thumb,size=0x2c) addr:0x02058cf0 func_ov000_02058d1c kind:function(thumb,size=0x104) addr:0x02058d1c func_ov000_02058e20 kind:function(arm,size=0x4) addr:0x02058e20 -func_ov000_02058e24 kind:function(arm,size=0x24) addr:0x02058e24 +_ZN18UnkStruct_027e09546CreateEv kind:function(arm,size=0x24) addr:0x02058e24 func_ov000_02058e48 kind:function(arm,size=0x40) addr:0x02058e48 func_ov000_02058e88 kind:function(arm,size=0x2c) addr:0x02058e88 func_ov000_02058eb4 kind:function(arm,size=0x18) addr:0x02058eb4 @@ -178,7 +178,7 @@ func_ov000_02058ef0 kind:function(arm,size=0x6c) addr:0x02058ef0 func_ov000_02058f5c kind:function(arm,size=0x18) addr:0x02058f5c func_ov000_02058f74 kind:function(arm,size=0x10) addr:0x02058f74 func_ov000_02058f84 kind:function(arm,size=0x18) addr:0x02058f84 -func_ov000_02058f9c kind:function(arm,size=0x28) addr:0x02058f9c +_ZN18UnkStruct_027e09586CreateEv kind:function(arm,size=0x28) addr:0x02058f9c func_ov000_02058fc4 kind:function(arm,size=0x34) addr:0x02058fc4 func_ov000_02058ff8 kind:function(arm,size=0xdc) addr:0x02058ff8 func_ov000_020590d4 kind:function(arm,size=0x10) addr:0x020590d4 @@ -218,13 +218,13 @@ _ZN32UnkStruct_027e0960_TableEntry_048vfunc_14Ev kind:function(arm,size=0xc) add _ZN32UnkStruct_027e0960_TableEntry_048vfunc_10Ev kind:function(arm,size=0xc) addr:0x0205a09c _ZN32UnkStruct_027e0960_TableEntry_048vfunc_1CEv kind:function(arm,size=0x1c) addr:0x0205a0a8 func_ov000_0205a0c4 kind:function(thumb,size=0x12) addr:0x0205a0c4 -func_ov000_0205a0d8 kind:function(thumb,size=0x44) addr:0x0205a0d8 +_ZN18UnkStruct_027e0960D1Ev kind:function(thumb,size=0x44) addr:0x0205a0d8 func_ov000_0205a11c kind:function(arm,size=0x4) addr:0x0205a11c func_ov000_0205a120 kind:function(arm,size=0x40) addr:0x0205a120 -func_ov000_0205a160 kind:function(arm,size=0x4) addr:0x0205a160 -func_ov000_0205a164 kind:function(arm,size=0x40) addr:0x0205a164 +_ZN18UnkStruct_027e096019func_ov000_0205a160Ev kind:function(arm,size=0x4) addr:0x0205a160 +_ZN18UnkStruct_027e096019func_ov000_0205a164Ev kind:function(arm,size=0x40) addr:0x0205a164 func_ov000_0205a1a4 kind:function(arm,size=0x34) addr:0x0205a1a4 -func_ov000_0205a1d8 kind:function(arm,size=0x24) addr:0x0205a1d8 +_ZN18UnkStruct_027e09606CreateEv kind:function(arm,size=0x24) addr:0x0205a1d8 func_ov000_0205a1fc kind:function(arm,size=0x8c) addr:0x0205a1fc func_ov000_0205a288 kind:function(arm,size=0x1c) addr:0x0205a288 func_ov000_0205a2a4 kind:function(arm,size=0x24) addr:0x0205a2a4 @@ -646,8 +646,8 @@ _ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_020659d0EPcP14UnkDataStruct1 kind _ZN24UnkStruct_020d8698_24_5CC1EiPKtti kind:function(arm,size=0x30) addr:0x02065b18 _ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b48Eii kind:function(arm,size=0x44) addr:0x02065b48 _ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b8cEv kind:function(arm,size=0x94) addr:0x02065b8c -func_ov000_02065c20 kind:function(arm,size=0x4c) addr:0x02065c20 -func_ov000_02065c6c kind:function(arm,size=0x4c) addr:0x02065c6c +_ZN24UnkStruct_0204a060_Base3C2Ev kind:function(arm,size=0x4c) addr:0x02065c20 +_ZN24UnkStruct_0204a060_Base3C1Ev kind:function(arm,size=0x4c) addr:0x02065c6c func_ov000_02065cb8 kind:function(arm,size=0x48) addr:0x02065cb8 func_ov000_02065d00 kind:function(arm,size=0x48) addr:0x02065d00 func_ov000_02065d48 kind:function(arm,size=0x13c) addr:0x02065d48 @@ -655,10 +655,10 @@ func_ov000_02065e84 kind:function(arm,size=0x4) addr:0x02065e84 func_ov000_02065e88 kind:function(arm,size=0x14) addr:0x02065e88 _ZN19func_ov000_02065e9cD1Ev kind:function(arm,size=0x14) addr:0x02065e9c _ZN19func_ov000_02065eb0D0Ev kind:function(arm,size=0x1c) addr:0x02065eb0 -func_ov000_02065ecc kind:function(arm,size=0x48) addr:0x02065ecc +_ZN21UnkStruct_WarpUnk1_50C1Ev kind:function(arm,size=0x48) addr:0x02065ecc func_ov000_02065f14 kind:function(arm,size=0x30) addr:0x02065f14 func_ov000_02065f44 kind:function(arm,size=0x24) addr:0x02065f44 -func_ov000_02065f68 kind:function(arm,size=0x2c) addr:0x02065f68 +_ZN21UnkStruct_WarpUnk1_5019func_ov000_02065f68Eiiiii kind:function(arm,size=0x2c) addr:0x02065f68 func_ov000_02065f94 kind:function(arm,size=0x1f8) addr:0x02065f94 func_ov000_0206618c kind:function(arm,size=0x4) addr:0x0206618c func_ov000_02066190 kind:function(arm,size=0x1c) addr:0x02066190 @@ -801,7 +801,7 @@ func_ov000_02069e9c kind:function(arm,size=0x78) addr:0x02069e9c func_ov000_02069f14 kind:function(arm,size=0x44) addr:0x02069f14 _ZN24UnkStruct_ov000_020b50c019func_ov000_02069f58Ev kind:function(arm,size=0x6c) addr:0x02069f58 func_ov000_02069fc4 kind:function(arm,size=0x50) addr:0x02069fc4 -func_ov000_0206a014 kind:function(arm,size=0x20) addr:0x0206a014 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a014Ev kind:function(arm,size=0x20) addr:0x0206a014 func_ov000_0206a034 kind:function(arm,size=0x50) addr:0x0206a034 func_ov000_0206a084 kind:function(arm,size=0x158) addr:0x0206a084 func_ov000_0206a1dc kind:function(arm,size=0x84) addr:0x0206a1dc @@ -997,7 +997,7 @@ func_ov000_020703c4 kind:function(arm,size=0x5c) addr:0x020703c4 func_ov000_02070420 kind:function(arm,size=0xa8) addr:0x02070420 func_ov000_020704c8 kind:function(arm,size=0x2c) addr:0x020704c8 _ZN18UnkStruct_027e09a4D1Ev kind:function(arm,size=0x44) addr:0x020704f4 -func_ov000_02070538 kind:function(arm,size=0xc) addr:0x02070538 +_ZN18UnkStruct_027e09a419func_ov000_02070538Ev kind:function(arm,size=0xc) addr:0x02070538 func_ov000_02070544 kind:function(arm,size=0x10) addr:0x02070544 func_ov000_02070554 kind:function(arm,size=0xc) addr:0x02070554 _ZN18UnkStruct_027e09a419func_ov000_02070560Ev kind:function(arm,size=0xc) addr:0x02070560 @@ -1029,7 +1029,7 @@ func_ov000_02070e44 kind:function(arm,size=0x14) addr:0x02070e44 func_ov000_02070e58 kind:function(arm,size=0xc) addr:0x02070e58 func_ov000_02070e64 kind:function(arm,size=0xb4) addr:0x02070e64 func_ov000_02070f18 kind:function(arm,size=0x40) addr:0x02070f18 -func_ov000_02070f58 kind:function(arm,size=0x44) addr:0x02070f58 +_ZN21UnkStruct_WarpUnk1_2419func_ov000_02070f58Ei kind:function(arm,size=0x44) addr:0x02070f58 func_ov000_02070f9c kind:function(arm,size=0x44) addr:0x02070f9c func_ov000_02070fe0 kind:function(arm,size=0x20) addr:0x02070fe0 func_ov000_02071000 kind:function(arm,size=0x1b4) addr:0x02071000 @@ -3074,9 +3074,9 @@ _ZN19func_ov000_020a9a20D1Ev kind:function(arm,size=0x14) addr:0x020a9a20 _ZN19func_ov000_020a9a34D0Ev kind:function(arm,size=0x1c) addr:0x020a9a34 func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020a9a50 func_ov000_020a9a94 kind:function(arm,size=0x28) addr:0x020a9a94 -func_ov000_020a9abc kind:function(arm,size=0x24) addr:0x020a9abc -func_ov000_020a9ae0 kind:function(arm,size=0x1c) addr:0x020a9ae0 -func_ov000_020a9afc kind:function(arm,size=0x14) addr:0x020a9afc +_ZN15TreasureManager6CreateEv kind:function(arm,size=0x24) addr:0x020a9abc +_ZN15TreasureManagerC1Ev kind:function(arm,size=0x1c) addr:0x020a9ae0 +_ZN15TreasureManagerD1Ev kind:function(arm,size=0x14) addr:0x020a9afc _ZN15TreasureManager19func_ov000_020a9b10EPv kind:function(arm,size=0x1c) addr:0x020a9b10 _ZN15TreasureManager19func_ov000_020a9b2cEi kind:function(arm,size=0x10) addr:0x020a9b2c _ZN15TreasureManager19func_ov000_020a9b3cEi kind:function(arm,size=0x10) addr:0x020a9b3c @@ -3117,11 +3117,6 @@ data_ov000_020aa558 kind:data(any) addr:0x020aa558 data_ov000_020aa7d4 kind:data(any) addr:0x020aa7d4 data_ov000_020aa888 kind:data(any) addr:0x020aa888 data_ov000_020aa88c kind:data(any) addr:0x020aa88c -data_ov000_020aa88d kind:data(any) addr:0x020aa88d -data_ov000_020aa88e kind:data(any) addr:0x020aa88e -data_ov000_020aa88f kind:data(any) addr:0x020aa88f -data_ov000_020aa890 kind:data(any) addr:0x020aa890 -data_ov000_020aa892 kind:data(any) addr:0x020aa892 data_ov000_020aaa94 kind:data(any) addr:0x020aaa94 data_ov000_020aac20 kind:data(any) addr:0x020aac20 data_ov000_020aac28 kind:data(any) addr:0x020aac28 @@ -3498,11 +3493,11 @@ data_ov000_020b2174 kind:data(any) addr:0x020b2174 data_ov000_020b218c kind:data(any) addr:0x020b218c data_ov000_020b219c kind:data(any) addr:0x020b219c data_ov000_020b21a8 kind:data(any) addr:0x020b21a8 -data_ov000_020b21b4 kind:data(any) addr:0x020b21b4 +_ZTV26UnkStruct_027e09a4_54_Base kind:data(any) addr:0x020b21ac data_ov000_020b21c4 kind:data(any) addr:0x020b21c4 data_ov000_020b21e0 kind:data(any) addr:0x020b21e0 -data_ov000_020b2204 kind:data(any) addr:0x020b2204 -_ZTV19data_ov000_020b2218 kind:data(any) addr:0x020b2218 +_ZTV21UnkStruct_WarpUnk1_24 kind:data(any) addr:0x020b21fc +_ZTV18UnkStruct_WarpUnk1 kind:data(any) addr:0x020b2218 data_ov000_020b2234 kind:data(any) addr:0x020b2234 data_ov000_020b2244 kind:data(any) addr:0x020b2244 data_ov000_020b2264 kind:data(any) addr:0x020b2264 diff --git a/config/eur/arm9/overlays/ov001/delinks.txt b/config/eur/arm9/overlays/ov001/delinks.txt index 49d35222..6a7c6594 100644 --- a/config/eur/arm9/overlays/ov001/delinks.txt +++ b/config/eur/arm9/overlays/ov001/delinks.txt @@ -5,8 +5,50 @@ .data start:0x020c2940 end:0x020c2fe0 kind:data align:32 .bss start:0x020c2fe0 end:0x020c4720 kind:bss align:32 +src/001_SceneInit/SceneInitializers_001.cpp: + .text start:0x020b6520 end:0x020b7430 + .rodata start:0x020c25c0 end:0x020c2624 + +src/001_SceneInit/CourseList.cpp: + complete + .text start:0x020b7430 end:0x020b755c + .init start:0x020c2814 end:0x020c2838 + .ctor start:0x020c2900 end:0x020c2904 + .bss start:0x020c2fe0 end:0x020c40e8 + .data start:0x020c2940 end:0x020c2970 + +src/001_SceneInit/UnkStruct_027e09b8_001.cpp: + .text start:0x020b755c end:0x020b776c + +src/001_SceneInit/UnkStruct_027e0cd8_001.cpp: + .text start:0x020b776c end:0x020b81e0 + +src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp: + .text start:0x020b81e0 end:0x020b8e74 + +src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp: + .text start:0x020b8e74 end:0x020b9270 + +src/001_SceneInit/ZeldaArrangeBinary.cpp: + .text start:0x020b9270 end:0x020b94b0 + +src/001_SceneInit/ZeldaMapBinary.cpp: + .text start:0x020b94b0 end:0x020ba50c + +src/001_SceneInit/UnkStruct_027e095c_001.cpp: + .text start:0x020ba50c end:0x020ba588 + +src/001_SceneInit/SysNew_001.cpp: + .text start:0x020ba588 end:0x020ba670 + src/001_SceneInit/Save/SaveManager_001.cpp: - .text start:0x020ba670 end:0x020ba858 + .text start:0x020ba670 end:0x020ba9b8 + +src/001_SceneInit/UnkStruct_027e09bc_001.cpp: + .text start:0x020ba9b8 end:0x020bac40 + +src/001_SceneInit/MapObject/MapObjectManager_001.cpp: + .text start:0x020bac40 end:0x020baf64 src/001_SceneInit/Actor/ActorManager_001.cpp: .text start:0x020baf64 end:0x020bb87c @@ -14,7 +56,28 @@ src/001_SceneInit/Actor/ActorManager_001.cpp: .data start:0x020c2b3c end:0x020c2c70 src/001_SceneInit/Item/ItemManager_001.cpp: - .text start:0x020bb9f8 end:0x020bba54 + .text start:0x020bb87c end:0x020bbac4 + +src/001_SceneInit/Player/PlayerActorBase_70_001.cpp: + .text start:0x020bbac4 end:0x020bbe64 + +src/001_SceneInit/UnkStruct_027e0ce0_30_001.cpp: + .text start:0x020bbe64 end:0x020bc028 + +src/001_SceneInit/UnkStruct_027e0ce0_40_Base_001.cpp: + .text start:0x020bc028 end:0x020bc234 + +src/001_SceneInit/code_020bc234_001.cpp: + .text start:0x020bc234 end:0x020bc2c8 + +src/001_SceneInit/code_020bc2c8_001.cpp: + .text start:0x020bc2c8 end:0x020bc34c + +src/001_SceneInit/UnkStruct_027e0ce0_001.cpp: + .text start:0x020bc34c end:0x020bc768 + +src/001_SceneInit/Player/Player_001.cpp: + .text start:0x020bc768 end:0x020bcca0 src/001_SceneInit/CargoManager_001.cpp: complete diff --git a/config/eur/arm9/overlays/ov001/relocs.txt b/config/eur/arm9/overlays/ov001/relocs.txt index 9e5dbf2a..71161662 100644 --- a/config/eur/arm9/overlays/ov001/relocs.txt +++ b/config/eur/arm9/overlays/ov001/relocs.txt @@ -44,9 +44,9 @@ from:0x020b679a kind:thumb_call to:0x020ba50c module:overlay(1) from:0x020b67ae kind:thumb_call to:0x02014918 module:main from:0x020b67c4 kind:thumb_call to:0x020147fc module:main from:0x020b67ec kind:thumb_call_arm to:0x02011f3c module:main -from:0x020b67f6 kind:thumb_call_arm to:0x0213efc0 module:overlays(58,70) +from:0x020b67f6 kind:thumb_call_arm to:0x0213efc0 module:overlay(58) from:0x020b6802 kind:thumb_call_arm to:0x02011f3c module:main -from:0x020b680c kind:thumb_call_arm to:0x0213efc0 module:overlays(58,70) +from:0x020b680c kind:thumb_call_arm to:0x0213efc0 module:overlay(70) from:0x020b6818 kind:thumb_call_arm to:0x02011f3c module:main from:0x020b6822 kind:thumb_call_arm to:0x0213f158 module:overlay(58) from:0x020b682e kind:thumb_call_arm to:0x02011f3c module:main @@ -151,7 +151,7 @@ from:0x020b6d3c kind:load to:0x027e095c module:dtcm from:0x020b6d48 kind:load to:0x027e0958 module:dtcm from:0x020b6d54 kind:load to:0x027e0954 module:dtcm from:0x020b6d72 kind:thumb_call_arm to:0x02028c60 module:main -from:0x020b6d80 kind:load to:0x020b21b4 module:overlay(0) +from:0x020b6d80 kind:load to:0x020b21ac module:overlay(0) add:0x8 from:0x020b6d8e kind:thumb_call to:0x020be8e0 module:overlay(1) from:0x020b6d96 kind:thumb_call to:0x020b7700 module:overlay(1) from:0x020b6d9e kind:thumb_call_arm to:0x0205a164 module:overlay(0) @@ -163,7 +163,7 @@ from:0x020b6dc4 kind:thumb_call to:0x020bd638 module:overlay(1) from:0x020b6dce kind:thumb_call to:0x020bde04 module:overlay(1) from:0x020b6dd2 kind:thumb_call to:0x020bed34 module:overlay(1) from:0x020b6de4 kind:thumb_call_arm to:0x02011ff4 module:main -from:0x020b6dec kind:load to:0x020b21b4 module:overlay(0) +from:0x020b6dec kind:load to:0x020b21ac module:overlay(0) add:0x8 from:0x020b6df0 kind:load to:0x020b504c module:overlay(0) from:0x020b6df4 kind:load to:0x027e09b8 module:dtcm from:0x020b6df8 kind:load to:0x027e0960 module:dtcm @@ -185,7 +185,7 @@ from:0x020b6e5e kind:thumb_call to:0x020bde04 module:overlay(1) from:0x020b6e62 kind:thumb_call to:0x020bed34 module:overlay(1) from:0x020b6e74 kind:thumb_call_arm to:0x02011ff4 module:main from:0x020b6e7a kind:thumb_call_arm to:0x02011ff4 module:main -from:0x020b6e84 kind:load to:0x020b21b4 module:overlay(0) +from:0x020b6e84 kind:load to:0x020b21ac module:overlay(0) add:0x8 from:0x020b6e88 kind:load to:0x020b504c module:overlay(0) from:0x020b6e8c kind:load to:0x027e09b8 module:dtcm from:0x020b6e90 kind:load to:0x027e0960 module:dtcm @@ -206,7 +206,7 @@ from:0x020b6eec kind:thumb_call to:0x020bd638 module:overlay(1) from:0x020b6ef6 kind:thumb_call to:0x020bde04 module:overlay(1) from:0x020b6efa kind:thumb_call to:0x020bed34 module:overlay(1) from:0x020b6f0c kind:thumb_call_arm to:0x02011ff4 module:main -from:0x020b6f14 kind:load to:0x020b21b4 module:overlay(0) +from:0x020b6f14 kind:load to:0x020b21ac module:overlay(0) add:0x8 from:0x020b6f18 kind:load to:0x020b504c module:overlay(0) from:0x020b6f1c kind:load to:0x027e09b8 module:dtcm from:0x020b6f20 kind:load to:0x027e0960 module:dtcm @@ -244,7 +244,7 @@ from:0x020b7044 kind:load to:0x027e0cd8 module:dtcm from:0x020b7050 kind:load to:0x027e0cd8 module:dtcm from:0x020b7054 kind:load to:0x020b7a7d module:overlay(1) from:0x020b705c kind:thumb_call_arm to:0x02065c20 module:overlay(0) -from:0x020b7070 kind:load to:0x020b2204 module:overlay(0) +from:0x020b7070 kind:load to:0x020b21fc module:overlay(0) add:0x8 from:0x020b7078 kind:thumb_call_arm to:0x0201baec module:main from:0x020b7084 kind:thumb_call to:0x020b7058 module:overlay(1) from:0x020b708c kind:thumb_call_arm to:0x02065ecc module:overlay(0) @@ -270,15 +270,15 @@ from:0x020b73a6 kind:thumb_call_arm to:0x0201b9a8 module:main from:0x020b73de kind:thumb_call_arm to:0x0201bba4 module:main from:0x020b73fa kind:thumb_call_arm to:0x0201b9a8 module:main from:0x020b7404 kind:load to:0x027e0ce0 module:dtcm -from:0x020b7408 kind:load to:0x020aa892 module:overlay(0) +from:0x020b7408 kind:load to:0x020aa88c add:6 module:overlay(0) from:0x020b740c kind:load to:0x020b50c0 module:overlay(0) from:0x020b7410 kind:load to:0x027e09a4 module:dtcm from:0x020b7414 kind:load to:0x027e0cd8 module:dtcm from:0x020b7418 kind:load to:0x020aa88c module:overlay(0) from:0x020b741c kind:load to:0x0204e5f8 module:main -from:0x020b7420 kind:load to:0x020aa88d module:overlay(0) -from:0x020b7424 kind:load to:0x020aa88e module:overlay(0) -from:0x020b7428 kind:load to:0x020aa88f module:overlay(0) +from:0x020b7420 kind:load to:0x020aa88c add:1 module:overlay(0) +from:0x020b7424 kind:load to:0x020aa88c add:2 module:overlay(0) +from:0x020b7428 kind:load to:0x020aa88c add:3 module:overlay(0) from:0x020b7440 kind:thumb_call to:0x020156c8 module:main from:0x020b744a kind:thumb_call to:0x02015724 module:main from:0x020b7464 kind:thumb_call_arm to:0x02028cdc module:main @@ -1507,7 +1507,7 @@ from:0x020bd47a kind:thumb_call_arm to:0x020921e4 module:overlay(0) from:0x020bd48c kind:thumb_call_arm to:0x020921e4 module:overlay(0) from:0x020bd494 kind:load to:0x027e09a4 module:dtcm from:0x020bd498 kind:load to:0x020d8660 module:overlay(24) -from:0x020bd49c kind:load to:0x020aa890 module:overlay(0) +from:0x020bd49c kind:load to:0x020aa88c add:4 module:overlay(0) from:0x020bd4a0 kind:load to:0x020b3000 module:overlay(0) from:0x020bd4a4 kind:load to:0x027e0ce4 module:dtcm from:0x020bd4ac kind:load to:0x027e09b8 module:dtcm @@ -1917,7 +1917,7 @@ from:0x020bf01a kind:thumb_call_arm to:0x02016694 module:main from:0x020bf020 kind:thumb_call_arm to:0x020bf08c module:overlay(1) from:0x020bf038 kind:thumb_call to:0x020a0460 module:overlay(0) from:0x020bf054 kind:arm_call to:0x0201667c module:main -from:0x020bf078 kind:load to:0x020c3f38 module:overlay(1) +from:0x020bf078 kind:load to:0x020c3f38 module:overlay(17) from:0x020bf088 kind:load to:0x027e0cec module:dtcm from:0x020bf09c kind:load to:0x027e0cec module:dtcm from:0x020bf0ac kind:load to:0x0204999c module:main @@ -2315,9 +2315,7 @@ from:0x020c09ee kind:thumb_call_arm to:0x020c1014 module:overlay(1) from:0x020c0a18 kind:load to:0x020c099d module:overlay(1) from:0x020c0a1c kind:load to:0x020c09c1 module:overlay(1) from:0x020c0a20 kind:load to:0x020c46fc module:overlay(1) -from:0x020c0ad0 kind:load to:0x020c3490 module:overlay(1) from:0x020c0ad4 kind:load to:0x020c2a18 module:overlay(1) -from:0x020c0b88 kind:load to:0x020c3508 module:overlay(1) from:0x020c0b8c kind:load to:0x020c2a90 module:overlay(1) from:0x020c0c40 kind:load to:0x020c2f4c module:overlay(1) from:0x020c0c44 kind:load to:0x020c2928 module:overlays(2,4) @@ -2330,11 +2328,8 @@ from:0x020c1004 kind:load to:0x020c4701 module:overlay(1) from:0x020c107c kind:load to:0x020c4701 module:overlay(1) from:0x020c10f4 kind:load to:0x020c4701 module:overlay(1) from:0x020c111c kind:load to:0x020c22ac module:overlay(1) -from:0x020c114c kind:load to:0x020c3bf4 module:overlay(1) from:0x020c1224 kind:load to:0x020c2f4c module:overlay(1) from:0x020c1338 kind:load to:0x020c2fc4 module:overlay(1) -from:0x020c1410 kind:load to:0x020c3490 module:overlay(1) -from:0x020c1524 kind:load to:0x020c3508 module:overlay(1) from:0x020c1590 kind:load to:0x020c4701 module:overlay(1) from:0x020c1608 kind:load to:0x020c4701 module:overlay(1) from:0x020c1614 kind:load to:0x020c2624 add:0x4 module:overlay(1) @@ -2360,30 +2355,15 @@ from:0x020c1c34 kind:load to:0x020d22ea module:overlay(19) from:0x020c1c38 kind:load to:0x020c2e9c module:overlay(1) from:0x020c1e80 kind:load to:0x020c4701 module:overlay(1) from:0x020c1e88 kind:load to:0x020d22ea module:overlay(19) -from:0x020c1e8c kind:load to:0x020c303c module:overlay(1) from:0x020c1ef8 kind:load to:0x020c4701 module:overlay(1) from:0x020c1f00 kind:load to:0x020d22ea module:overlay(19) -from:0x020c1f04 kind:load to:0x020c31c0 module:overlay(1) from:0x020c20f8 kind:load to:0x020c4701 module:overlay(1) from:0x020c2100 kind:load to:0x020d22ea module:overlay(19) -from:0x020c2104 kind:load to:0x020c3308 module:overlay(1) from:0x020c2170 kind:load to:0x020c4701 module:overlay(1) from:0x020c2178 kind:load to:0x020d22ea module:overlay(19) -from:0x020c217c kind:load to:0x020c33cc module:overlay(1) -from:0x020c2190 kind:load to:0x020c3490 module:overlay(1) -from:0x020c2198 kind:load to:0x020c3508 module:overlay(1) from:0x020c21a0 kind:load to:0x020c2f4c module:overlay(1) from:0x020c21a8 kind:load to:0x020c2fc4 module:overlay(1) -from:0x020c21b0 kind:load to:0x020c3218 module:overlay(1) -from:0x020c21b8 kind:load to:0x020c3290 module:overlay(1) -from:0x020c2580 kind:load to:0x020c35c8 module:overlay(1) -from:0x020c2588 kind:load to:0x020c363c module:overlay(1) from:0x020c258c kind:load to:0x020c5b4c module:overlay(20) -from:0x020c2590 kind:load to:0x020c3688 module:overlay(1) -from:0x020c2598 kind:load to:0x020c36ac module:overlay(1) -from:0x020c25a0 kind:load to:0x020c37b4 module:overlay(1) -from:0x020c25a8 kind:load to:0x020c38c0 module:overlay(1) -from:0x020c25b0 kind:load to:0x020c3918 module:overlay(1) from:0x020c2822 kind:thumb_call to:0x020b7430 module:overlay(1) from:0x020c2830 kind:load to:0x020c2fe0 module:overlay(1) from:0x020c2834 kind:load to:0x020c2fe4 module:overlay(1) diff --git a/config/eur/arm9/overlays/ov001/symbols.txt b/config/eur/arm9/overlays/ov001/symbols.txt index 8910a8a3..d3b30e96 100644 --- a/config/eur/arm9/overlays/ov001/symbols.txt +++ b/config/eur/arm9/overlays/ov001/symbols.txt @@ -1,63 +1,63 @@ -func_ov001_020b6520 kind:function(thumb,size=0x1a) addr:0x020b6520 -func_ov001_020b653c kind:function(thumb,size=0xee) addr:0x020b653c -func_ov001_020b662c kind:function(thumb,size=0xae) addr:0x020b662c -func_ov001_020b66dc kind:function(thumb,size=0x7c) addr:0x020b66dc -func_ov001_020b6758 kind:function(thumb,size=0x14c) addr:0x020b6758 -func_ov001_020b68a4 kind:function(thumb,size=0x80) addr:0x020b68a4 -func_ov001_020b6924 kind:function(thumb,size=0x90) addr:0x020b6924 -func_ov001_020b69b4 kind:function(thumb,size=0x194) addr:0x020b69b4 -func_ov001_020b6b48 kind:function(thumb,size=0x20) addr:0x020b6b48 -func_ov001_020b6b68 kind:function(thumb,size=0x20) addr:0x020b6b68 -func_ov001_020b6b88 kind:function(thumb,size=0x20) addr:0x020b6b88 -func_ov001_020b6ba8 kind:function(thumb,size=0x20) addr:0x020b6ba8 -func_ov001_020b6bc8 kind:function(thumb,size=0x20) addr:0x020b6bc8 -func_ov001_020b6be8 kind:function(thumb,size=0x20) addr:0x020b6be8 -func_ov001_020b6c08 kind:function(thumb,size=0x30) addr:0x020b6c08 -func_ov001_020b6c38 kind:function(thumb,size=0x20) addr:0x020b6c38 -func_ov001_020b6c58 kind:function(thumb,size=0x20) addr:0x020b6c58 -func_ov001_020b6c78 kind:function(thumb,size=0x20) addr:0x020b6c78 -func_ov001_020b6c98 kind:function(thumb,size=0x20) addr:0x020b6c98 -func_ov001_020b6cb8 kind:function(thumb,size=0x20) addr:0x020b6cb8 -func_ov001_020b6cd8 kind:function(thumb,size=0x20) addr:0x020b6cd8 -func_ov001_020b6cf8 kind:function(thumb,size=0x20) addr:0x020b6cf8 -func_ov001_020b6d18 kind:function(thumb,size=0xc) addr:0x020b6d18 -func_ov001_020b6d24 kind:function(thumb,size=0xe) addr:0x020b6d24 -func_ov001_020b6d34 kind:function(thumb,size=0xc) addr:0x020b6d34 -func_ov001_020b6d40 kind:function(thumb,size=0xc) addr:0x020b6d40 -func_ov001_020b6d4c kind:function(thumb,size=0xc) addr:0x020b6d4c -func_ov001_020b6d58 kind:function(thumb,size=0x2c) addr:0x020b6d58 -func_ov001_020b6d84 kind:function(thumb,size=0x90) addr:0x020b6d84 -func_ov001_020b6e14 kind:function(thumb,size=0x98) addr:0x020b6e14 -func_ov001_020b6eac kind:function(thumb,size=0x90) addr:0x020b6eac -func_ov001_020b6f3c kind:function(thumb,size=0x64) addr:0x020b6f3c -func_ov001_020b6fa0 kind:function(thumb,size=0xa8) addr:0x020b6fa0 -func_ov001_020b7048 kind:function(thumb,size=0x10) addr:0x020b7048 -func_ov001_020b7058 kind:function(thumb,size=0x1c) addr:0x020b7058 -func_ov001_020b7074 kind:function(thumb,size=0xd0) addr:0x020b7074 -func_ov001_020b7144 kind:function(thumb,size=0x2ec) addr:0x020b7144 -func_ov001_020b7430 kind:function(thumb,size=0x54) addr:0x020b7430 -func_ov001_020b7484 kind:function(thumb,size=0x50) addr:0x020b7484 -func_ov001_020b74d4 kind:function(thumb,size=0x24) addr:0x020b74d4 -func_ov001_020b74f8 kind:function(thumb,size=0x16) addr:0x020b74f8 -func_ov001_020b7510 kind:function(thumb,size=0x32) addr:0x020b7510 -func_ov001_020b7544 kind:function(thumb,size=0xc) addr:0x020b7544 -func_ov001_020b7550 kind:function(thumb,size=0xc) addr:0x020b7550 -func_ov001_020b755c kind:function(thumb,size=0x16) addr:0x020b755c +_ZN18UnkStruct_027e09a46CreateEi kind:function(thumb,size=0x1a) addr:0x020b6520 +_ZN18UnkStruct_027e09a4C1Ei kind:function(thumb,size=0xee) addr:0x020b653c +_ZN18UnkStruct_027e09a419func_ov001_020b662cEv kind:function(thumb,size=0xae) addr:0x020b662c +_ZN18UnkStruct_027e09a419func_ov001_020b66dcEv kind:function(thumb,size=0x7c) addr:0x020b66dc +_ZN18UnkStruct_027e09a419func_ov001_020b6758EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x14c) addr:0x020b6758 +_ZN18UnkStruct_027e09a419func_ov001_020b68a4Ebbb kind:function(thumb,size=0x80) addr:0x020b68a4 +_ZN18UnkStruct_027e09a419func_ov001_020b6924EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x90) addr:0x020b6924 +_ZN18UnkStruct_027e09a419func_ov001_020b69b4EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x194) addr:0x020b69b4 +_ZN15TreasureManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6b48 +_ZN14MiscAdvManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6b68 +_ZN18UnkStruct_027e09607DestroyEv kind:function(thumb,size=0x20) addr:0x020b6b88 +_ZN18UnkStruct_027e09a07DestroyEv kind:function(thumb,size=0x20) addr:0x020b6ba8 +_ZN18UnkStruct_027e095c7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6bc8 +_ZN18UnkStruct_027e09587DestroyEv kind:function(thumb,size=0x20) addr:0x020b6be8 +_ZN18UnkStruct_027e09547DestroyEv kind:function(thumb,size=0x30) addr:0x020b6c08 +_ZN18UnkStruct_027e09ac7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6c38 +_ZN18UnkStruct_027e09b87DestroyEv kind:function(thumb,size=0x20) addr:0x020b6c58 +_ZN18UnkStruct_027e09bc7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6c78 +_ZN18UnkStruct_027e0ce07DestroyEv kind:function(thumb,size=0x20) addr:0x020b6c98 +_ZN16MapObjectManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6cb8 +_ZN12ActorManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b6cd8 +_ZN18UnkStruct_027e0cd87DestroyEv kind:function(thumb,size=0x20) addr:0x020b6cf8 +_ZN8InstanceI18UnkStruct_027e09a4EC2Ev kind:function(thumb,size=0xc) addr:0x020b6d18 +_ZN21UnkStruct_027e0954_00D1Ev kind:function(thumb,size=0xe) addr:0x020b6d24 +_ZN8InstanceI18UnkStruct_027e095cED2Ev kind:function(thumb,size=0xc) addr:0x020b6d34 +_ZN8InstanceI18UnkStruct_027e0958ED2Ev kind:function(thumb,size=0xc) addr:0x020b6d40 +_ZN8InstanceI18UnkStruct_027e0954ED2Ev kind:function(thumb,size=0xc) addr:0x020b6d4c +_ZN26UnkStruct_027e09a4_54_BaseC2EPi kind:function(thumb,size=0x2c) addr:0x020b6d58 +_ZN26UnkStruct_027e09a4_54_BaseD1Ev kind:function(thumb,size=0x90) addr:0x020b6d84 +_ZN26UnkStruct_027e09a4_54_BaseD0Ev kind:function(thumb,size=0x98) addr:0x020b6e14 +_ZN26UnkStruct_027e09a4_54_BaseD2Ev kind:function(thumb,size=0x90) addr:0x020b6eac +_ZN26UnkStruct_027e09a4_54_Base8vfunc_0CEv kind:function(thumb,size=0x64) addr:0x020b6f3c +_ZN26UnkStruct_027e09a4_54_Base19func_ov001_020b6fa0EP15CourseListEntry kind:function(thumb,size=0xa8) addr:0x020b6fa0 +_ZN26UnkStruct_027e09a4_54_Base19func_ov001_020b7048Ev kind:function(thumb,size=0x10) addr:0x020b7048 +_ZN21UnkStruct_WarpUnk1_24C1Ev kind:function(thumb,size=0x1c) addr:0x020b7058 +_ZN18UnkStruct_WarpUnk1C1Ev kind:function(thumb,size=0xd0) addr:0x020b7074 +_ZN18UnkStruct_WarpUnk119func_ov001_020b7144Ev kind:function(thumb,size=0x2ec) addr:0x020b7144 +_ZN16CourseInitBinaryC1Ev kind:function(thumb,size=0x54) addr:0x020b7430 +_ZN18UnkStruct_027e09a0C1Ev kind:function(thumb,size=0x50) addr:0x020b7484 +_ZN18UnkStruct_027e09a0D1Ev kind:function(thumb,size=0x24) addr:0x020b74d4 +_ZN18UnkStruct_027e09a06CreateEv kind:function(thumb,size=0x16) addr:0x020b74f8 +_ZN18UnkStruct_027e09a015InitCourseTableEv kind:function(thumb,size=0x32) addr:0x020b7510 +_ZN8InstanceI18UnkStruct_027e09a0EC2Ev kind:function(thumb,size=0xc) addr:0x020b7544 +_ZN8InstanceI18UnkStruct_027e09a0ED2Ev kind:function(thumb,size=0xc) addr:0x020b7550 +_ZN18UnkStruct_027e09b86CreateEv kind:function(thumb,size=0x16) addr:0x020b755c func_ov001_020b7574 kind:function(thumb,size=0xec) addr:0x020b7574 -func_ov001_020b7660 kind:function(thumb,size=0x4c) addr:0x020b7660 +_ZN18UnkStruct_027e09b8D1Ev kind:function(thumb,size=0x4c) addr:0x020b7660 func_ov001_020b76ac kind:function(thumb,size=0x14) addr:0x020b76ac -func_ov001_020b76c0 kind:function(thumb,size=0x40) addr:0x020b76c0 -func_ov001_020b7700 kind:function(thumb,size=0x28) addr:0x020b7700 +_ZN18UnkStruct_027e09b819func_ov001_020b76c0Ej kind:function(thumb,size=0x40) addr:0x020b76c0 +_ZN18UnkStruct_027e09b819func_ov001_020b7700Ev kind:function(thumb,size=0x28) addr:0x020b7700 func_ov001_020b7728 kind:function(thumb,size=0x2c) addr:0x020b7728 func_ov001_020b7754 kind:function(thumb,size=0xc) addr:0x020b7754 func_ov001_020b7760 kind:function(thumb,size=0xc) addr:0x020b7760 -func_ov001_020b776c kind:function(thumb,size=0x16) addr:0x020b776c +_ZN18UnkStruct_027e0cd86CreateEv kind:function(thumb,size=0x16) addr:0x020b776c func_ov001_020b7784 kind:function(thumb,size=0x68) addr:0x020b7784 -func_ov001_020b77ec kind:function(thumb,size=0x42) addr:0x020b77ec -func_ov001_020b7830 kind:function(thumb,size=0x24c) addr:0x020b7830 -func_ov001_020b7a7c kind:function(thumb,size=0xbc) addr:0x020b7a7c +_ZN18UnkStruct_027e0cd8D1Ev kind:function(thumb,size=0x42) addr:0x020b77ec +_ZN18UnkStruct_027e0cd819func_ov001_020b7830EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b7830 +_ZN18UnkStruct_027e0cd819func_ov001_020b7a7cEv kind:function(thumb,size=0xbc) addr:0x020b7a7c func_ov001_020b7b38 kind:function(thumb,size=0xd0) addr:0x020b7b38 -func_ov001_020b7c08 kind:function(thumb,size=0x15c) addr:0x020b7c08 +_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EP22UnkStruct_SceneChange1P21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x15c) addr:0x020b7c08 func_ov001_020b7d64 kind:function(thumb,size=0xec) addr:0x020b7d64 func_ov001_020b7e50 kind:function(thumb,size=0x16) addr:0x020b7e50 func_ov001_020b7e68 kind:function(thumb,size=0x1d4) addr:0x020b7e68 @@ -67,7 +67,7 @@ func_ov001_020b8120 kind:function(thumb,size=0x6c) addr:0x020b8120 func_ov001_020b818c kind:function(thumb,size=0x3c) addr:0x020b818c func_ov001_020b81c8 kind:function(thumb,size=0xc) addr:0x020b81c8 func_ov001_020b81d4 kind:function(thumb,size=0xc) addr:0x020b81d4 -func_ov001_020b81e0 kind:function(thumb,size=0x218) addr:0x020b81e0 +_ZN21UnkStruct_027e0cd8_0cC1Ev kind:function(thumb,size=0x218) addr:0x020b81e0 func_ov001_020b83f8 kind:function(thumb,size=0x98) addr:0x020b83f8 func_ov001_020b8490 kind:function(thumb,size=0xa0) addr:0x020b8490 func_ov001_020b8530 kind:function(thumb,size=0x98) addr:0x020b8530 @@ -132,7 +132,7 @@ func_ov001_020ba488 kind:function(thumb,size=0x1c) addr:0x020ba488 func_ov001_020ba4a4 kind:function(thumb,size=0x28) addr:0x020ba4a4 func_ov001_020ba4cc kind:function(thumb,size=0x1c) addr:0x020ba4cc func_ov001_020ba4e8 kind:function(thumb,size=0x24) addr:0x020ba4e8 -func_ov001_020ba50c kind:function(thumb,size=0x1c) addr:0x020ba50c +_ZN18UnkStruct_027e095c6CreateEv kind:function(thumb,size=0x1c) addr:0x020ba50c func_ov001_020ba528 kind:function(thumb,size=0x54) addr:0x020ba528 func_ov001_020ba57c kind:function(thumb,size=0xc) addr:0x020ba57c func_ov001_020ba588 kind:function(thumb,size=0x12) addr:0x020ba588 @@ -149,18 +149,18 @@ _ZN11SaveManager19func_ov001_020ba7a8Ev kind:function(thumb,size=0x20) addr:0x02 _ZN11SaveManager19func_ov001_020ba7c8Et kind:function(thumb,size=0x90) addr:0x020ba7c8 func_ov001_020ba858 kind:function(thumb,size=0x15c) addr:0x020ba858 func_ov001_020ba9b4 kind:function(thumb,size=0x2) addr:0x020ba9b4 -func_ov001_020ba9b8 kind:function(thumb,size=0x16) addr:0x020ba9b8 +_ZN18UnkStruct_027e09bc6CreateEv kind:function(thumb,size=0x16) addr:0x020ba9b8 func_ov001_020ba9d0 kind:function(thumb,size=0x110) addr:0x020ba9d0 -func_ov001_020baae0 kind:function(thumb,size=0x7c) addr:0x020baae0 -func_ov001_020bab5c kind:function(thumb,size=0x6c) addr:0x020bab5c -func_ov001_020babc8 kind:function(thumb,size=0x20) addr:0x020babc8 +_ZN18UnkStruct_027e09bcD1Ev kind:function(thumb,size=0x7c) addr:0x020baae0 +_ZN18UnkStruct_027e09bc19func_ov001_020bab5cEv kind:function(thumb,size=0x6c) addr:0x020bab5c +_ZN18UnkStruct_027e09bc19func_ov001_020babc8Ev kind:function(thumb,size=0x20) addr:0x020babc8 func_ov001_020babe8 kind:function(thumb,size=0x20) addr:0x020babe8 func_ov001_020bac08 kind:function(thumb,size=0x20) addr:0x020bac08 func_ov001_020bac28 kind:function(thumb,size=0xc) addr:0x020bac28 func_ov001_020bac34 kind:function(thumb,size=0xc) addr:0x020bac34 -func_ov001_020bac40 kind:function(thumb,size=0x16) addr:0x020bac40 +_ZN16MapObjectManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bac40 func_ov001_020bac58 kind:function(thumb,size=0x1e) addr:0x020bac58 -func_ov001_020bac78 kind:function(thumb,size=0x22) addr:0x020bac78 +_ZN16MapObjectManagerD1Ev kind:function(thumb,size=0x22) addr:0x020bac78 func_ov001_020bac9c kind:function(thumb,size=0x3c) addr:0x020bac9c func_ov001_020bacd8 kind:function(thumb,size=0xa8) addr:0x020bacd8 func_ov001_020bad80 kind:function(thumb,size=0x20) addr:0x020bad80 @@ -219,12 +219,12 @@ func_ov001_020bc29c kind:function(thumb,size=0x1a) addr:0x020bc29c func_ov001_020bc2b8 kind:function(thumb,size=0x10) addr:0x020bc2b8 func_ov001_020bc2c8 kind:function(thumb,size=0x70) addr:0x020bc2c8 func_ov001_020bc338 kind:function(thumb,size=0x12) addr:0x020bc338 -func_ov001_020bc34c kind:function(thumb,size=0x16) addr:0x020bc34c +_ZN18UnkStruct_027e0ce06CreateEv kind:function(thumb,size=0x16) addr:0x020bc34c func_ov001_020bc364 kind:function(thumb,size=0xec) addr:0x020bc364 -func_ov001_020bc450 kind:function(thumb,size=0x86) addr:0x020bc450 +_ZN18UnkStruct_027e0ce0D1Ev kind:function(thumb,size=0x86) addr:0x020bc450 func_ov001_020bc4d8 kind:function(thumb,size=0x4c) addr:0x020bc4d8 -func_ov001_020bc524 kind:function(thumb,size=0xd4) addr:0x020bc524 -func_ov001_020bc5f8 kind:function(thumb,size=0x62) addr:0x020bc5f8 +_ZN18UnkStruct_027e0ce019func_ov001_020bc524Eb kind:function(thumb,size=0xd4) addr:0x020bc524 +_ZN18UnkStruct_027e0ce019func_ov001_020bc5f8Ev kind:function(thumb,size=0x62) addr:0x020bc5f8 func_ov001_020bc65c kind:function(thumb,size=0x40) addr:0x020bc65c func_ov001_020bc69c kind:function(thumb,size=0x3c) addr:0x020bc69c func_ov001_020bc6d8 kind:function(thumb,size=0xe) addr:0x020bc6d8 @@ -262,8 +262,8 @@ func_ov001_020bd4b0 kind:function(thumb,size=0x40) addr:0x020bd4b0 func_ov001_020bd4f0 kind:function(thumb,size=0x22) addr:0x020bd4f0 _ZN18UnkStruct_0204a11019func_ov001_020bd514EiPvii kind:function(thumb,size=0x78) addr:0x020bd514 _ZN18UnkStruct_0204a11019func_ov001_020bd58cEv kind:function(thumb,size=0x24) addr:0x020bd58c -func_ov001_020bd5b0 kind:function(thumb,size=0x88) addr:0x020bd5b0 -func_ov001_020bd638 kind:function(thumb,size=0x40) addr:0x020bd638 +_ZN18UnkStruct_0204a11019func_ov001_020bd5b0Ev kind:function(thumb,size=0x88) addr:0x020bd5b0 +_ZN18UnkStruct_0204a11019func_ov001_020bd638Ev kind:function(thumb,size=0x40) addr:0x020bd638 func_ov001_020bd678 kind:function(thumb,size=0x14) addr:0x020bd678 func_ov001_020bd68c kind:function(thumb,size=0x1c) addr:0x020bd68c func_ov001_020bd6a8 kind:function(thumb,size=0x18) addr:0x020bd6a8 @@ -285,8 +285,8 @@ _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8dcEv kind:function(thumb,size=0x func_ov001_020bd8e8 kind:function(thumb,size=0x28) addr:0x020bd8e8 func_ov001_020bd910 kind:function(thumb,size=0x24) addr:0x020bd910 func_ov001_020bd934 kind:function(thumb,size=0x3c) addr:0x020bd934 -func_ov001_020bd970 kind:function(thumb,size=0x494) addr:0x020bd970 -func_ov001_020bde04 kind:function(thumb,size=0x48) addr:0x020bde04 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x494) addr:0x020bd970 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x48) addr:0x020bde04 func_ov001_020bde4c kind:function(thumb,size=0x10) addr:0x020bde4c func_ov001_020bde5c kind:function(thumb,size=0x10) addr:0x020bde5c func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bde6c @@ -308,11 +308,11 @@ func_ov001_020be290 kind:function(thumb,size=0x12) addr:0x020be290 func_ov001_020be2a4 kind:function(thumb,size=0x10) addr:0x020be2a4 func_ov001_020be2b4 kind:function(thumb,size=0x10) addr:0x020be2b4 func_ov001_020be2c4 kind:function(thumb,size=0xc) addr:0x020be2c4 -func_ov001_020be2d0 kind:function(thumb,size=0x1c) addr:0x020be2d0 -func_ov001_020be2ec kind:function(thumb,size=0x8) addr:0x020be2ec +_ZN18UnkStruct_027e09c06CreateEv kind:function(thumb,size=0x1c) addr:0x020be2d0 +_ZN18UnkStruct_027e09c07DestroyEv kind:function(thumb,size=0x8) addr:0x020be2ec func_ov001_020be2f4 kind:function(thumb,size=0xa0) addr:0x020be2f4 -func_ov001_020be394 kind:function(thumb,size=0x30) addr:0x020be394 -func_ov001_020be3c4 kind:function(thumb,size=0x18) addr:0x020be3c4 +_ZN18UnkStruct_027e09c019func_ov001_020be394Ev kind:function(thumb,size=0x30) addr:0x020be394 +_ZN18UnkStruct_027e09c019func_ov001_020be3c4Ev kind:function(thumb,size=0x18) addr:0x020be3c4 func_ov001_020be3dc kind:function(thumb,size=0x24) addr:0x020be3dc func_ov001_020be400 kind:function(thumb,size=0x3c) addr:0x020be400 func_ov001_020be43c kind:function(thumb,size=0x20) addr:0x020be43c @@ -329,7 +329,7 @@ _ZN24UnkStruct_ov000_020b504c19func_ov001_020be6f4Ev kind:function(thumb,size=0x func_ov001_020be79c kind:function(thumb,size=0x90) addr:0x020be79c func_ov001_020be82c kind:function(thumb,size=0x54) addr:0x020be82c func_ov001_020be880 kind:function(thumb,size=0x60) addr:0x020be880 -func_ov001_020be8e0 kind:function(thumb,size=0x4c) addr:0x020be8e0 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be8e0Ev kind:function(thumb,size=0x4c) addr:0x020be8e0 func_ov001_020be92c kind:function(thumb,size=0x20) addr:0x020be92c func_ov001_020be94c kind:function(thumb,size=0x4c) addr:0x020be94c func_ov001_020be998 kind:function(thumb,size=0x64) addr:0x020be998 @@ -340,18 +340,18 @@ func_ov001_020bea58 kind:function(thumb,size=0x2c) addr:0x020bea58 func_ov001_020bea84 kind:function(thumb,size=0x48) addr:0x020bea84 func_ov001_020beacc kind:function(thumb,size=0xc) addr:0x020beacc func_ov001_020bead8 kind:function(thumb,size=0xc) addr:0x020bead8 -func_ov001_020beae4 kind:function(thumb,size=0x18) addr:0x020beae4 +_ZN18UnkStruct_027e09ac6CreateEv kind:function(thumb,size=0x18) addr:0x020beae4 func_ov001_020beafc kind:function(thumb,size=0x90) addr:0x020beafc -func_ov001_020beb8c kind:function(thumb,size=0x2c) addr:0x020beb8c -func_ov001_020bebb8 kind:function(thumb,size=0xd4) addr:0x020bebb8 -func_ov001_020bec8c kind:function(thumb,size=0x2) addr:0x020bec8c +_ZN18UnkStruct_027e09acD1Ev kind:function(thumb,size=0x2c) addr:0x020beb8c +_ZN18UnkStruct_027e09ac19func_ov001_020bebb8Ev kind:function(thumb,size=0xd4) addr:0x020bebb8 +_ZN18UnkStruct_027e09ac19func_ov001_020bec8cEv kind:function(thumb,size=0x2) addr:0x020bec8c func_ov001_020bec90 kind:function(thumb,size=0x20) addr:0x020bec90 func_ov001_020becb0 kind:function(thumb,size=0x20) addr:0x020becb0 func_ov001_020becd0 kind:function(thumb,size=0x20) addr:0x020becd0 func_ov001_020becf0 kind:function(thumb,size=0xc) addr:0x020becf0 func_ov001_020becfc kind:function(thumb,size=0xc) addr:0x020becfc func_ov001_020bed08 kind:function(thumb,size=0xc) addr:0x020bed08 -func_ov001_020bed14 kind:function(thumb,size=0x20) addr:0x020bed14 +_ZN18UnkStruct_027e0cec6CreateEv kind:function(thumb,size=0x20) addr:0x020bed14 func_ov001_020bed34 kind:function(thumb,size=0x1c) addr:0x020bed34 func_ov001_020bed50 kind:function(thumb,size=0x248) addr:0x020bed50 func_ov001_020bef98 kind:function(thumb,size=0x7c) addr:0x020bef98 @@ -491,7 +491,7 @@ RC4_DecryptInstructions kind:function(arm,size=0x10c,unknown) addr:0x020c23b4 RC4_InitAndEncryptInstructions kind:function(arm,size=0x58,unknown) addr:0x020c24c0 RC4_InitAndDecryptInstructions kind:function(arm,size=0x58,unknown) addr:0x020c2518 NitroStaticInit kind:function(arm,size=0x50,unknown) addr:0x020c2570 local -bad_mac_addr kind:data(any) addr:0x020c25c0 +data_ov001_020c25c0 kind:data(any) addr:0x020c25c0 data_ov001_020c25d4 kind:data(any) addr:0x020c25d4 data_ov001_020c25fc kind:data(any) addr:0x020c25fc data_ov001_020c2624 kind:data(any) addr:0x020c2624 @@ -505,10 +505,10 @@ data_ov001_020c275e kind:data(any) addr:0x020c275e data_ov001_020c276c kind:data(any) addr:0x020c276c data_ov001_020c27a8 kind:data(any) addr:0x020c27a8 data_ov001_020c280c kind:data(any) addr:0x020c280c -__sinit_ov001_020c2814 kind:function(thumb,size=0x24) addr:0x020c2814 +__sinit_CourseList.cpp kind:function(thumb,size=0x24) addr:0x020c2814 local __sinit_ov001_020c2838 kind:function(thumb,size=0xb8) addr:0x020c2838 __sinit_ov001_020c28f0 kind:function(thumb,size=0x10) addr:0x020c28f0 -.p__sinit_ov001_020c2814 kind:data(word) addr:0x020c2900 +.p__sinit_CourseList.cpp kind:data(word) addr:0x020c2900 local .p__sinit_ov001_020c2838 kind:data(word) addr:0x020c2904 .p__sinit_ov001_020c28f0 kind:data(word) addr:0x020c2908 .p__sinit_ov001_020c1104 kind:data(word) addr:0x020c290c local @@ -516,8 +516,8 @@ __sinit_ov001_020c28f0 kind:function(thumb,size=0x10) addr:0x020c28f0 .p__sinit_ov001_020c19c4 kind:data(word) addr:0x020c2914 local .p__sinit_ov001_020c2180 kind:data(word) addr:0x020c2918 local .p__sinit_ov001_020c2570 kind:data(word) addr:0x020c291c local -data_ov001_020c2940 kind:data(any) addr:0x020c2940 -data_ov001_020c2958 kind:data(any) addr:0x020c2958 +@433 kind:data(byte[0x16]) addr:0x020c2940 local +@450 kind:data(byte[0x16]) addr:0x020c2958 local data_ov001_020c2970 kind:data(any) addr:0x020c2970 data_ov001_020c2984 kind:data(any) addr:0x020c2984 data_ov001_020c2988 kind:data(any) addr:0x020c2988 @@ -638,30 +638,8 @@ data_ov001_020c2fb4 kind:data(any) addr:0x020c2fb4 data_ov001_020c2fc4 kind:data(any) addr:0x020c2fc4 data_ov001_020c2fcc kind:data(any) addr:0x020c2fcc data_ov001_020c2fd4 kind:data(any) addr:0x020c2fd4 -data_ov001_020c2fe0 kind:bss addr:0x020c2fe0 -data_ov001_020c2fe4 kind:bss addr:0x020c2fe4 -data_ov001_020c303c kind:bss addr:0x020c303c -data_ov001_020c3180 kind:bss addr:0x020c3180 ambiguous -data_ov001_020c31c0 kind:bss addr:0x020c31c0 -data_ov001_020c3218 kind:bss addr:0x020c3218 -data_ov001_020c3290 kind:bss addr:0x020c3290 -data_ov001_020c3308 kind:bss addr:0x020c3308 -data_ov001_020c33cc kind:bss addr:0x020c33cc -data_ov001_020c3490 kind:bss addr:0x020c3490 -data_ov001_020c3508 kind:bss addr:0x020c3508 -data_ov001_020c35c8 kind:bss addr:0x020c35c8 -data_ov001_020c363c kind:bss addr:0x020c363c -data_ov001_020c3688 kind:bss addr:0x020c3688 -data_ov001_020c36ac kind:bss addr:0x020c36ac -data_ov001_020c37b4 kind:bss addr:0x020c37b4 -data_ov001_020c38c0 kind:bss addr:0x020c38c0 -data_ov001_020c390c kind:bss addr:0x020c390c ambiguous -data_ov001_020c3918 kind:bss addr:0x020c3918 -data_ov001_020c397c kind:bss addr:0x020c397c ambiguous -data_ov001_020c39d4 kind:bss addr:0x020c39d4 ambiguous -data_ov001_020c3bf4 kind:bss addr:0x020c3bf4 -data_ov001_020c3f38 kind:bss addr:0x020c3f38 -data_ov001_020c3f70 kind:bss addr:0x020c3f70 ambiguous +_ZGVN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c2fe0 +_ZN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c2fe4 data_ov001_020c40e8 kind:bss addr:0x020c40e8 data_ov001_020c40f4 kind:bss addr:0x020c40f4 data_ov001_020c46f4 kind:bss addr:0x020c46f4 diff --git a/config/eur/arm9/overlays/ov017/symbols.txt b/config/eur/arm9/overlays/ov017/symbols.txt index 960a4822..fb3a09fe 100644 --- a/config/eur/arm9/overlays/ov017/symbols.txt +++ b/config/eur/arm9/overlays/ov017/symbols.txt @@ -177,6 +177,7 @@ __sinit_ov017_020c3ec8 kind:function(arm,size=0x18) addr:0x020c3ec8 .p__sinit_ov017_020c3ec8 kind:data(word) addr:0x020c3ee8 data_ov017_020c3f08 kind:data(any) addr:0x020c3f08 data_ov017_020c3f14 kind:data(any) addr:0x020c3f14 +data_ov017_020c3f38 kind:data(any) addr:0x020c3f38 data_ov017_020c3f3c kind:data(any) addr:0x020c3f3c data_ov017_020c3f40 kind:data(any) addr:0x020c3f40 data_ov017_020c3f60 kind:bss addr:0x020c3f60 diff --git a/config/eur/arm9/overlays/ov021/relocs.txt b/config/eur/arm9/overlays/ov021/relocs.txt index 32799b68..83898c7c 100644 --- a/config/eur/arm9/overlays/ov021/relocs.txt +++ b/config/eur/arm9/overlays/ov021/relocs.txt @@ -2835,7 +2835,7 @@ from:0x02102950 kind:load to:0x02101e3c module:overlay(21) from:0x02102954 kind:load to:0x020b1f24 add:0x8 module:overlay(0) from:0x02102958 kind:load to:0x020b1f84 add:0x8 module:overlay(0) from:0x02102960 kind:load to:0x021098f8 module:overlay(21) -from:0x02102964 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x02102964 kind:load to:0x020c3f70 module:overlay(17) from:0x02102968 kind:load to:0x02101d20 module:overlay(21) from:0x0210296c kind:load to:0x02101dc4 module:overlay(21) from:0x02102970 kind:load to:0x021070e8 module:overlay(21) @@ -2876,7 +2876,7 @@ from:0x02102b00 kind:arm_call_thumb to:0x0205866c module:overlay(0) from:0x02102b14 kind:arm_call to:0x0203d210 module:main from:0x02102b1c kind:arm_call to:0x021004bc module:overlay(21) from:0x02102b28 kind:load to:0x02108e7c module:overlay(21) -from:0x02102b2c kind:load to:0x020c3f70 module:overlays(1,17) +from:0x02102b2c kind:load to:0x020c3f70 module:overlay(17) from:0x02102b30 kind:load to:0x021098f8 module:overlay(21) from:0x02102b34 kind:load to:0x0210299c module:overlay(21) from:0x02102b50 kind:arm_call to:0x0201f498 module:main @@ -2903,7 +2903,7 @@ from:0x02102c44 kind:arm_call to:0x0203d210 module:main from:0x02102c4c kind:arm_call to:0x021004bc module:overlay(21) from:0x02102c54 kind:arm_call to:0x02011ff4 module:main from:0x02102c60 kind:load to:0x02108e7c module:overlay(21) -from:0x02102c64 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x02102c64 kind:load to:0x020c3f70 module:overlay(17) from:0x02102c68 kind:load to:0x021098f8 module:overlay(21) from:0x02102c6c kind:load to:0x0210299c module:overlay(21) from:0x02102c90 kind:arm_call to:0x0210583c module:overlay(21) diff --git a/config/eur/arm9/overlays/ov021/symbols.txt b/config/eur/arm9/overlays/ov021/symbols.txt index 16f44fce..6cf7ed37 100644 --- a/config/eur/arm9/overlays/ov021/symbols.txt +++ b/config/eur/arm9/overlays/ov021/symbols.txt @@ -37,7 +37,7 @@ func_ov021_020ea6cc kind:function(arm,size=0x1c) addr:0x020ea6cc func_ov021_020ea6e8 kind:function(arm,size=0x10) addr:0x020ea6e8 func_ov021_020ea6f8 kind:function(arm,size=0x2c) addr:0x020ea6f8 func_ov021_020ea724 kind:function(arm,size=0x14) addr:0x020ea724 -func_ov021_020ea738 kind:function(arm,size=0x44) addr:0x020ea738 +_ZN27UnkStruct_027e09a4_54_Type3C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x44) addr:0x020ea738 _ZN19func_ov021_020ea77cD1Ev kind:function(arm,size=0x30) addr:0x020ea77c _ZN19func_ov021_020ea7acD0Ev kind:function(arm,size=0x38) addr:0x020ea7ac func_ov021_020ea7e4 kind:function(arm,size=0xc) addr:0x020ea7e4 diff --git a/config/eur/arm9/overlays/ov022/relocs.txt b/config/eur/arm9/overlays/ov022/relocs.txt index 852c8aa3..df2bd032 100644 --- a/config/eur/arm9/overlays/ov022/relocs.txt +++ b/config/eur/arm9/overlays/ov022/relocs.txt @@ -33,7 +33,7 @@ from:0x020e9c50 kind:arm_call to:0x020c8e24 module:overlay(20) from:0x020e9c64 kind:arm_call to:0x020c856c module:overlay(20) from:0x020e9c6c kind:arm_call to:0x0201834c module:main from:0x020e9c78 kind:load to:0x020ee16c add:0x8 module:overlay(22) -from:0x020e9c7c kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020e9c7c kind:load to:0x020c3f70 module:overlay(17) from:0x020e9c80 kind:load to:0x02049ba0 module:main from:0x020e9c84 kind:load to:0x020b504c module:overlay(0) from:0x020e9c88 kind:load to:0x020b50c0 module:overlay(0) @@ -49,7 +49,7 @@ from:0x020e9d1c kind:arm_call to:0x020c856c module:overlay(20) from:0x020e9d24 kind:arm_call to:0x0201834c module:main from:0x020e9d2c kind:arm_call to:0x02011ff4 module:main from:0x020e9d38 kind:load to:0x020ee16c add:0x8 module:overlay(22) -from:0x020e9d3c kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020e9d3c kind:load to:0x020c3f70 module:overlay(17) from:0x020e9d40 kind:load to:0x02049ba0 module:main from:0x020e9d44 kind:load to:0x020b504c module:overlay(0) from:0x020e9d48 kind:load to:0x020b50c0 module:overlay(0) @@ -76,7 +76,7 @@ from:0x020e9e44 kind:load to:0x020b50c0 module:overlay(0) from:0x020e9e48 kind:load to:0x020e8b20 module:overlay(20) from:0x020e9e4c kind:load to:0x020b51b8 module:overlay(0) from:0x020e9e50 kind:load to:0x02049ba0 module:main -from:0x020e9e54 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020e9e54 kind:load to:0x020c3f70 module:overlay(17) from:0x020e9e64 kind:arm_call to:0x020c87d4 module:overlay(20) from:0x020e9e74 kind:arm_call to:0x020ed18c module:overlay(22) from:0x020e9eac kind:arm_call to:0x020ea704 module:overlay(22) diff --git a/config/eur/arm9/overlays/ov023/relocs.txt b/config/eur/arm9/overlays/ov023/relocs.txt index 1d295b27..5e025716 100644 --- a/config/eur/arm9/overlays/ov023/relocs.txt +++ b/config/eur/arm9/overlays/ov023/relocs.txt @@ -31,7 +31,7 @@ from:0x020e9bcc kind:arm_call to:0x020ea2dc module:overlay(23) from:0x020e9bd0 kind:arm_call to:0x0200e234 module:main from:0x020e9be4 kind:arm_call to:0x0201834c module:main from:0x020e9bf0 kind:load to:0x020f19c0 add:0x8 module:overlay(23) -from:0x020e9bf4 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020e9bf4 kind:load to:0x020c3f70 module:overlay(17) from:0x020e9bf8 kind:load to:0x02049ba0 module:main from:0x020e9bfc kind:load to:0x020b504c module:overlay(0) from:0x020e9c00 kind:load to:0x020f1bc0 module:overlay(23) @@ -45,7 +45,7 @@ from:0x020e9c3c kind:arm_call to:0x0200e234 module:main from:0x020e9c50 kind:arm_call to:0x0201834c module:main from:0x020e9c58 kind:arm_call to:0x02011ff4 module:main from:0x020e9c64 kind:load to:0x020f19c0 add:0x8 module:overlay(23) -from:0x020e9c68 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020e9c68 kind:load to:0x020c3f70 module:overlay(17) from:0x020e9c6c kind:load to:0x02049ba0 module:main from:0x020e9c70 kind:load to:0x020b504c module:overlay(0) from:0x020e9c74 kind:load to:0x020f1bc0 module:overlay(23) @@ -66,7 +66,7 @@ from:0x020e9da8 kind:load to:0x020b4eec module:overlay(0) from:0x020e9dac kind:load to:0x020b6510 module:overlay(0) from:0x020e9db0 kind:load to:0x020b504c module:overlay(0) from:0x020e9db4 kind:load to:0x02049ba0 module:main -from:0x020e9db8 kind:load to:0x020c3f70 module:overlays(1,17) +from:0x020e9db8 kind:load to:0x020c3f70 module:overlay(17) from:0x020e9e34 kind:arm_call to:0x020ea0d8 module:overlay(23) from:0x020e9e4c kind:arm_call to:0x020ef5fc module:overlay(23) from:0x020e9e5c kind:arm_call to:0x020e9ff0 module:overlay(23) diff --git a/config/eur/arm9/overlays/ov024/relocs.txt b/config/eur/arm9/overlays/ov024/relocs.txt index a25718f0..33bb7b8d 100644 --- a/config/eur/arm9/overlays/ov024/relocs.txt +++ b/config/eur/arm9/overlays/ov024/relocs.txt @@ -656,7 +656,7 @@ from:0x020c84dc kind:arm_call to:0x0201bb84 module:main from:0x020c8508 kind:arm_call to:0x0201b9a8 module:main from:0x020c8518 kind:load to:0x0204e5f8 module:main from:0x020c8530 kind:arm_call to:0x02061248 module:overlay(0) -from:0x020c8540 kind:arm_call_thumb to:0x020b6520 module:overlays(1,2,6,10,12,14) +from:0x020c8540 kind:arm_call_thumb to:0x020b6520 module:overlays(2,6,10,12,14) from:0x020c8550 kind:arm_call_thumb to:0x020b6ab0 module:overlay(6) from:0x020c8568 kind:arm_call_thumb to:0x020b6bcc module:overlay(6) from:0x020c8590 kind:arm_call_thumb to:0x020b6938 module:overlay(6) diff --git a/config/eur/arm9/overlays/ov026/symbols.txt b/config/eur/arm9/overlays/ov026/symbols.txt index 40f796ff..c2d61153 100644 --- a/config/eur/arm9/overlays/ov026/symbols.txt +++ b/config/eur/arm9/overlays/ov026/symbols.txt @@ -2203,7 +2203,7 @@ func_ov026_0212f9d4 kind:function(arm,size=0x118) addr:0x0212f9d4 func_ov026_0212faec kind:function(arm,size=0x28) addr:0x0212faec func_ov026_0212fb14 kind:function(arm,size=0x10) addr:0x0212fb14 func_ov026_0212fb24 kind:function(arm,size=0x14) addr:0x0212fb24 -func_ov026_0212fb38 kind:function(arm,size=0xc8) addr:0x0212fb38 +_ZN27UnkStruct_027e09a4_54_Type2C1EP18UnkStruct_027e09a4 kind:function(arm,size=0xc8) addr:0x0212fb38 func_ov026_0212fc00 kind:function(arm,size=0x184) addr:0x0212fc00 func_ov026_0212fd84 kind:function(arm,size=0xd4) addr:0x0212fd84 _ZN19func_ov026_0212fe58D1Ev kind:function(arm,size=0x14) addr:0x0212fe58 diff --git a/config/eur/arm9/overlays/ov058/symbols.txt b/config/eur/arm9/overlays/ov058/symbols.txt index 08179ab0..936fa72e 100644 --- a/config/eur/arm9/overlays/ov058/symbols.txt +++ b/config/eur/arm9/overlays/ov058/symbols.txt @@ -1,9 +1,9 @@ -func_ov058_0213efc0 kind:function(arm,size=0x110) addr:0x0213efc0 +_ZN27UnkStruct_027e09a4_54_Type1C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x110) addr:0x0213efc0 func_ov058_0213f0d0 kind:function(arm,size=0x20) addr:0x0213f0d0 func_ov058_0213f0f0 kind:function(arm,size=0x38) addr:0x0213f0f0 _ZN19func_ov058_0213f128D1Ev kind:function(arm,size=0x14) addr:0x0213f128 _ZN19func_ov058_0213f13cD0Ev kind:function(arm,size=0x1c) addr:0x0213f13c -func_ov058_0213f158 kind:function(arm,size=0x68) addr:0x0213f158 +_ZN27UnkStruct_027e09a4_54_Type4C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x68) addr:0x0213f158 func_ov058_0213f1c0 kind:function(arm,size=0x20) addr:0x0213f1c0 func_ov058_0213f1e0 kind:function(arm,size=0x3c) addr:0x0213f1e0 func_ov058_0213f21c kind:function(arm,size=0x8) addr:0x0213f21c diff --git a/config/eur/arm9/overlays/ov070/symbols.txt b/config/eur/arm9/overlays/ov070/symbols.txt index 0108073a..ec8433f9 100644 --- a/config/eur/arm9/overlays/ov070/symbols.txt +++ b/config/eur/arm9/overlays/ov070/symbols.txt @@ -1,4 +1,4 @@ -func_ov070_0213efc0 kind:function(arm,size=0x110) addr:0x0213efc0 +_ZN27UnkStruct_027e09a4_54_Type5C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x110) addr:0x0213efc0 func_ov070_0213f0d0 kind:function(arm,size=0x20) addr:0x0213f0d0 func_ov070_0213f0f0 kind:function(arm,size=0x224) addr:0x0213f0f0 _ZN19func_ov070_0213f314D1Ev kind:function(arm,size=0x14) addr:0x0213f314 diff --git a/config/eur/arm9/overlays/ov093/relocs.txt b/config/eur/arm9/overlays/ov093/relocs.txt index 7e2b2ec9..11a0ea49 100644 --- a/config/eur/arm9/overlays/ov093/relocs.txt +++ b/config/eur/arm9/overlays/ov093/relocs.txt @@ -697,7 +697,7 @@ from:0x0216d360 kind:thumb_call_arm to:0x02072b08 module:overlay(0) from:0x0216d370 kind:thumb_call_arm to:0x02072b08 module:overlay(0) from:0x0216d384 kind:thumb_call_arm to:0x02171004 module:overlay(93) from:0x0216d38c kind:load to:0x027e09a4 module:dtcm -from:0x0216d390 kind:load to:0x020aa890 module:overlay(0) +from:0x0216d390 kind:load to:0x020aa88c add:4 module:overlay(0) from:0x0216d394 kind:load to:0x027e09ac module:dtcm from:0x0216d3e0 kind:arm_call to:0x02080ac4 module:overlay(0) from:0x0216d3f8 kind:load to:0x027e0cd8 module:dtcm diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index 89eba712..016f3f60 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -607,7 +607,7 @@ _Z13func_02011f10i kind:function(arm,size=0x20) addr:0x02011f10 _Z13func_02011f30i kind:function(arm,size=0xc) addr:0x02011f30 _Znwmjj kind:function(arm,size=0xb8) addr:0x02011f3c _ZdlPv kind:function(arm,size=0xc) addr:0x02011ff4 -_ZN9SysObjectdaEPv kind:function(arm,size=0xc) addr:0x02012000 +_ZdaPv kind:function(arm,size=0xc) addr:0x02012000 func_0201200c kind:function(arm,size=0x15c) addr:0x0201200c func_02012168 kind:function(arm,size=0x198) addr:0x02012168 func_02012300 kind:function(arm,size=0x3c) addr:0x02012300 @@ -714,7 +714,7 @@ _ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x2c) addr:0x02014824 _ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x28) addr:0x02014850 func_02014878 kind:function(thumb,size=0x58) addr:0x02014878 _ZN14OverlayManager13func_020148d0Ej kind:function(thumb,size=0x46) addr:0x020148d0 -func_02014918 kind:function(thumb,size=0x2c) addr:0x02014918 +_ZN14OverlayManager13func_02014918Ej kind:function(thumb,size=0x2c) addr:0x02014918 func_02014944 kind:function(thumb,size=0x50) addr:0x02014944 _ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014994 func_02014a10 kind:function(arm,size=0x24) addr:0x02014a10 @@ -1037,8 +1037,8 @@ func_0201b964 kind:function(arm,size=0x44) addr:0x0201b964 _ZN18UnkStruct_0204e5f813func_0201b9a8EPv kind:function(arm,size=0x34) addr:0x0201b9a8 func_0201b9dc kind:function(arm,size=0x40) addr:0x0201b9dc func_0201ba1c kind:function(arm,size=0x20) addr:0x0201ba1c -_ZN24UnkStruct_0204a060_Base2C1Ev kind:function(arm,size=0x2c) addr:0x0201ba3c -_ZN24UnkStruct_0204a060_Base3C1Ev kind:function(arm,size=0x2c) addr:0x0201ba68 +_ZN24UnkStruct_0204a060_Base2C2Ev kind:function(arm,size=0x2c) addr:0x0201ba3c +_ZN24UnkStruct_0204a060_Base2C1Ev kind:function(arm,size=0x2c) addr:0x0201ba68 _ZN24UnkStruct_0204a060_Base2D1Ev kind:function(arm,size=0x18) addr:0x0201ba94 _ZN24UnkStruct_0204a060_Base2D0Ev kind:function(arm,size=0x20) addr:0x0201baac _ZN24UnkStruct_0204a060_Base2D2Ev kind:function(arm,size=0x18) addr:0x0201bacc diff --git a/config/jp/arm9/overlays/ov000/delinks.txt b/config/jp/arm9/overlays/ov000/delinks.txt index aea489e9..91989efb 100644 --- a/config/jp/arm9/overlays/ov000/delinks.txt +++ b/config/jp/arm9/overlays/ov000/delinks.txt @@ -110,8 +110,8 @@ src/000_Second/Item/ItemManager.cpp: .rodata start:0x020b1450 end:0x020b1458 src/000_Second/Actor/Actor_Derived1.cpp: - .text start:0x020aa2e0 end:0x020ab310 + .text start:0x020aa2e0 end:0x020ab2bc .data start:0x020b6588 end:0x020b664c src/000_Second/Item/TreasureManager.cpp: - .text start:0x020ab310 end:0x020aba00 + .text start:0x020ab2bc end:0x020aba00 diff --git a/config/jp/arm9/overlays/ov000/relocs.txt b/config/jp/arm9/overlays/ov000/relocs.txt index 89328a20..607e1c48 100644 --- a/config/jp/arm9/overlays/ov000/relocs.txt +++ b/config/jp/arm9/overlays/ov000/relocs.txt @@ -2967,12 +2967,12 @@ from:0x02072770 kind:arm_call to:0x0201b9bc module:main from:0x02072798 kind:arm_call to:0x0201b798 module:main from:0x0207281c kind:arm_call to:0x0206b568 module:overlay(0) from:0x0207283c kind:arm_call to:0x020cc914 module:overlay(24) -from:0x02072848 kind:load to:0x020ac092 module:overlay(0) +from:0x02072848 kind:load to:0x020ac08c add:6 module:overlay(0) from:0x0207284c kind:load to:0x020ac08c module:overlay(0) from:0x02072850 kind:load to:0x0204fb78 module:main -from:0x02072854 kind:load to:0x020ac08d module:overlay(0) -from:0x02072858 kind:load to:0x020ac08e module:overlay(0) -from:0x0207285c kind:load to:0x020ac08f module:overlay(0) +from:0x02072854 kind:load to:0x020ac08c add:1 module:overlay(0) +from:0x02072858 kind:load to:0x020ac08c add:2 module:overlay(0) +from:0x0207285c kind:load to:0x020ac08c add:3 module:overlay(0) from:0x02072860 kind:load to:0x020b68c0 module:overlay(0) from:0x02072864 kind:load to:0x027e09a4 module:dtcm from:0x02072868 kind:load to:0x020da034 module:overlay(24) @@ -7779,11 +7779,11 @@ from:0x020a2e04 kind:arm_call to:0x0202a17c module:main from:0x020a2e4c kind:arm_call to:0x0202a17c module:main from:0x020a2e70 kind:arm_call to:0x0202a17c module:main from:0x020a2eb0 kind:arm_call to:0x02067d60 module:overlay(0) -from:0x020a2eb8 kind:load to:0x020c5790 module:overlays(1,17) +from:0x020a2eb8 kind:load to:0x020c5790 module:overlay(17) from:0x020a2ebc kind:load to:0x0204b690 module:main from:0x020a2ed4 kind:arm_call to:0x02011ff4 module:main from:0x020a2ee4 kind:arm_call to:0x020bd2b4 module:overlay(17) -from:0x020a2eec kind:load to:0x020c5790 module:overlays(1,17) +from:0x020a2eec kind:load to:0x020c5790 module:overlay(17) from:0x020a2ef8 kind:load to:0x020a2ec0 module:overlay(0) from:0x020a2f34 kind:arm_call to:0x0206929c module:overlay(0) from:0x020a2f44 kind:load to:0x020b684c module:overlay(0) diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index 51c4908b..2ab838ae 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -169,7 +169,7 @@ func_ov000_0205a1f4 kind:function(thumb,size=0x7c) addr:0x0205a1f4 func_ov000_0205a270 kind:function(thumb,size=0x2c) addr:0x0205a270 func_ov000_0205a29c kind:function(thumb,size=0x104) addr:0x0205a29c func_ov000_0205a3a0 kind:function(arm,size=0x4) addr:0x0205a3a0 -func_ov000_0205a3a4 kind:function(arm,size=0x24) addr:0x0205a3a4 +_ZN18UnkStruct_027e09546CreateEv kind:function(arm,size=0x24) addr:0x0205a3a4 func_ov000_0205a3c8 kind:function(arm,size=0x40) addr:0x0205a3c8 func_ov000_0205a408 kind:function(arm,size=0x2c) addr:0x0205a408 func_ov000_0205a434 kind:function(arm,size=0x18) addr:0x0205a434 @@ -178,7 +178,7 @@ func_ov000_0205a470 kind:function(arm,size=0x6c) addr:0x0205a470 func_ov000_0205a4dc kind:function(arm,size=0x18) addr:0x0205a4dc func_ov000_0205a4f4 kind:function(arm,size=0x10) addr:0x0205a4f4 func_ov000_0205a504 kind:function(arm,size=0x18) addr:0x0205a504 -func_ov000_0205a51c kind:function(arm,size=0x28) addr:0x0205a51c +_ZN18UnkStruct_027e09586CreateEv kind:function(arm,size=0x28) addr:0x0205a51c func_ov000_0205a544 kind:function(arm,size=0x34) addr:0x0205a544 func_ov000_0205a578 kind:function(arm,size=0xdc) addr:0x0205a578 func_ov000_0205a654 kind:function(arm,size=0x10) addr:0x0205a654 @@ -218,13 +218,13 @@ _ZN32UnkStruct_027e0960_TableEntry_048vfunc_14Ev kind:function(arm,size=0xc) add _ZN32UnkStruct_027e0960_TableEntry_048vfunc_10Ev kind:function(arm,size=0xc) addr:0x0205b624 _ZN32UnkStruct_027e0960_TableEntry_048vfunc_1CEv kind:function(arm,size=0x1c) addr:0x0205b630 func_ov000_0205b64c kind:function(thumb,size=0x12) addr:0x0205b64c -func_ov000_0205b660 kind:function(thumb,size=0x44) addr:0x0205b660 +_ZN18UnkStruct_027e0960D1Ev kind:function(thumb,size=0x44) addr:0x0205b660 func_ov000_0205b6a4 kind:function(arm,size=0x4) addr:0x0205b6a4 func_ov000_0205b6a8 kind:function(arm,size=0x40) addr:0x0205b6a8 -func_ov000_0205b6e8 kind:function(arm,size=0x4) addr:0x0205b6e8 -func_ov000_0205b6ec kind:function(arm,size=0x40) addr:0x0205b6ec +_ZN18UnkStruct_027e096019func_ov000_0205a160Ev kind:function(arm,size=0x4) addr:0x0205b6e8 +_ZN18UnkStruct_027e096019func_ov000_0205a164Ev kind:function(arm,size=0x40) addr:0x0205b6ec func_ov000_0205b72c kind:function(arm,size=0x34) addr:0x0205b72c -func_ov000_0205b760 kind:function(arm,size=0x24) addr:0x0205b760 +_ZN18UnkStruct_027e09606CreateEv kind:function(arm,size=0x24) addr:0x0205b760 func_ov000_0205b784 kind:function(arm,size=0x8c) addr:0x0205b784 func_ov000_0205b810 kind:function(arm,size=0x1c) addr:0x0205b810 func_ov000_0205b82c kind:function(arm,size=0x24) addr:0x0205b82c @@ -646,8 +646,8 @@ _ZN29UnkStruct_020d8698_24_5C_Base19func_ov000_020659d0EPcP14UnkDataStruct1 kind _ZN24UnkStruct_020d8698_24_5CC1EiPKtti kind:function(arm,size=0x30) addr:0x020670a0 _ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b48Eii kind:function(arm,size=0x44) addr:0x020670d0 _ZN24UnkStruct_020d8698_24_5C19func_ov000_02065b8cEv kind:function(arm,size=0x94) addr:0x02067114 -func_ov000_020671a8 kind:function(arm,size=0x4c) addr:0x020671a8 -func_ov000_020671f4 kind:function(arm,size=0x4c) addr:0x020671f4 +_ZN24UnkStruct_0204a060_Base3C2Ev kind:function(arm,size=0x4c) addr:0x020671a8 +_ZN24UnkStruct_0204a060_Base3C1Ev kind:function(arm,size=0x4c) addr:0x020671f4 func_ov000_02067240 kind:function(arm,size=0x48) addr:0x02067240 func_ov000_02067288 kind:function(arm,size=0x48) addr:0x02067288 func_ov000_020672d0 kind:function(arm,size=0x13c) addr:0x020672d0 @@ -655,10 +655,10 @@ func_ov000_0206740c kind:function(arm,size=0x4) addr:0x0206740c func_ov000_02067410 kind:function(arm,size=0x14) addr:0x02067410 _ZN19func_ov000_02067424D1Ev kind:function(arm,size=0x14) addr:0x02067424 _ZN19func_ov000_02067438D0Ev kind:function(arm,size=0x1c) addr:0x02067438 -func_ov000_02067454 kind:function(arm,size=0x48) addr:0x02067454 +_ZN21UnkStruct_WarpUnk1_50C1Ev kind:function(arm,size=0x48) addr:0x02067454 func_ov000_0206749c kind:function(arm,size=0x30) addr:0x0206749c func_ov000_020674cc kind:function(arm,size=0x24) addr:0x020674cc -func_ov000_020674f0 kind:function(arm,size=0x2c) addr:0x020674f0 +_ZN21UnkStruct_WarpUnk1_5019func_ov000_02065f68Eiiiii kind:function(arm,size=0x2c) addr:0x020674f0 func_ov000_0206751c kind:function(arm,size=0x1f8) addr:0x0206751c func_ov000_02067714 kind:function(arm,size=0x4) addr:0x02067714 func_ov000_02067718 kind:function(arm,size=0x1c) addr:0x02067718 @@ -802,7 +802,7 @@ func_ov000_0206b440 kind:function(arm,size=0x78) addr:0x0206b440 func_ov000_0206b4b8 kind:function(arm,size=0x44) addr:0x0206b4b8 _ZN24UnkStruct_ov000_020b50c019func_ov000_02069f58Ev kind:function(arm,size=0x6c) addr:0x0206b4fc func_ov000_0206b568 kind:function(arm,size=0x50) addr:0x0206b568 -func_ov000_0206b5b8 kind:function(arm,size=0x20) addr:0x0206b5b8 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a014Ev kind:function(arm,size=0x20) addr:0x0206b5b8 func_ov000_0206b5d8 kind:function(arm,size=0x50) addr:0x0206b5d8 func_ov000_0206b628 kind:function(arm,size=0x158) addr:0x0206b628 func_ov000_0206b780 kind:function(arm,size=0x84) addr:0x0206b780 @@ -998,7 +998,7 @@ func_ov000_02071a7c kind:function(arm,size=0x5c) addr:0x02071a7c func_ov000_02071ad8 kind:function(arm,size=0xa8) addr:0x02071ad8 func_ov000_02071b80 kind:function(arm,size=0x2c) addr:0x02071b80 _ZN18UnkStruct_027e09a4D1Ev kind:function(arm,size=0x44) addr:0x02071bac -func_ov000_02071bf0 kind:function(arm,size=0xc) addr:0x02071bf0 +_ZN18UnkStruct_027e09a419func_ov000_02070538Ev kind:function(arm,size=0xc) addr:0x02071bf0 func_ov000_02071bfc kind:function(arm,size=0x10) addr:0x02071bfc func_ov000_02071c0c kind:function(arm,size=0xc) addr:0x02071c0c _ZN18UnkStruct_027e09a419func_ov000_02070560Ev kind:function(arm,size=0xc) addr:0x02071c18 @@ -1030,7 +1030,7 @@ func_ov000_020724fc kind:function(arm,size=0x14) addr:0x020724fc func_ov000_02072510 kind:function(arm,size=0xc) addr:0x02072510 func_ov000_0207251c kind:function(arm,size=0xb4) addr:0x0207251c func_ov000_020725d0 kind:function(arm,size=0x40) addr:0x020725d0 -func_ov000_02072610 kind:function(arm,size=0x44) addr:0x02072610 +_ZN21UnkStruct_WarpUnk1_2419func_ov000_02070f58Ei kind:function(arm,size=0x44) addr:0x02072610 func_ov000_02072654 kind:function(arm,size=0x44) addr:0x02072654 func_ov000_02072698 kind:function(arm,size=0x20) addr:0x02072698 func_ov000_020726b8 kind:function(arm,size=0x1b4) addr:0x020726b8 @@ -3073,12 +3073,12 @@ _ZN19func_ov000_020ab220D1Ev kind:function(arm,size=0x14) addr:0x020ab220 _ZN19func_ov000_020ab234D0Ev kind:function(arm,size=0x1c) addr:0x020ab234 func_ov000_020a9a50 kind:function(arm,size=0x44) addr:0x020ab250 func_ov000_020ab294 kind:function(arm,size=0x28) addr:0x020ab294 -func_ov000_020ab2bc kind:function(arm,size=0x24) addr:0x020ab2bc -func_ov000_020ab2e0 kind:function(arm,size=0x1c) addr:0x020ab2e0 -func_ov000_020ab2fc kind:function(arm,size=0x14) addr:0x020ab2fc +_ZN15TreasureManager6CreateEv kind:function(arm,size=0x24) addr:0x020ab2bc +_ZN15TreasureManagerC1Ev kind:function(arm,size=0x1c) addr:0x020ab2e0 +_ZN15TreasureManagerD1Ev kind:function(arm,size=0x14) addr:0x020ab2fc _ZN15TreasureManager19func_ov000_020a9b10EPv kind:function(arm,size=0x1c) addr:0x020ab310 -func_ov000_020ab32c kind:function(arm,size=0x10) addr:0x020ab32c -func_ov000_020ab33c kind:function(arm,size=0x10) addr:0x020ab33c +_ZN15TreasureManager19func_ov000_020a9b2cEi kind:function(arm,size=0x10) addr:0x020ab32c +_ZN15TreasureManager19func_ov000_020a9b3cEi kind:function(arm,size=0x10) addr:0x020ab33c _ZN15TreasureManager19func_ov000_020a9b4cEi kind:function(arm,size=0x100) addr:0x020ab34c _ZN15TreasureManager19func_ov000_020a9c4cEi kind:function(arm,size=0x18) addr:0x020ab44c _ZN15TreasureManager19func_ov000_020a9c64Ev kind:function(arm,size=0x2c) addr:0x020ab464 @@ -3115,12 +3115,7 @@ data_ov000_020abd56 kind:data(any) addr:0x020abd56 data_ov000_020abd58 kind:data(any) addr:0x020abd58 data_ov000_020abfd4 kind:data(any) addr:0x020abfd4 data_ov000_020ac088 kind:data(any) addr:0x020ac088 -data_ov000_020ac08c kind:data(any) addr:0x020ac08c -data_ov000_020ac08d kind:data(any) addr:0x020ac08d -data_ov000_020ac08e kind:data(any) addr:0x020ac08e -data_ov000_020ac08f kind:data(any) addr:0x020ac08f -data_ov000_020ac090 kind:data(any) addr:0x020ac090 -data_ov000_020ac092 kind:data(any) addr:0x020ac092 +data_ov000_020aa88c kind:data(any) addr:0x020ac08c data_ov000_020ac294 kind:data(any) addr:0x020ac294 data_ov000_020ac420 kind:data(any) addr:0x020ac420 data_ov000_020ac428 kind:data(any) addr:0x020ac428 @@ -3498,11 +3493,11 @@ data_ov000_020b3974 kind:data(any) addr:0x020b3974 data_ov000_020b398c kind:data(any) addr:0x020b398c data_ov000_020b399c kind:data(any) addr:0x020b399c data_ov000_020b39a8 kind:data(any) addr:0x020b39a8 -data_ov000_020b39b4 kind:data(any) addr:0x020b39b4 -data_ov000_020b39c4 kind:data(any) addr:0x020b39c4 -data_ov000_020b39e0 kind:data(any) addr:0x020b39e0 -data_ov000_020b3a04 kind:data(any) addr:0x020b3a04 -_ZTV19data_ov000_020b3a18 kind:data(any) addr:0x020b3a18 +_ZTV26UnkStruct_027e09a4_54_Base kind:data(any) addr:0x020b39ac +data_ov000_020b21c4 kind:data(any) addr:0x020b39c4 +data_ov000_020b21e0 kind:data(any) addr:0x020b39e0 +_ZTV21UnkStruct_WarpUnk1_24 kind:data(any) addr:0x020b39fc +_ZTV18UnkStruct_WarpUnk1 kind:data(any) addr:0x020b3a18 data_ov000_020b3a34 kind:data(any) addr:0x020b3a34 data_ov000_020b3a44 kind:data(any) addr:0x020b3a44 data_ov000_020b3a64 kind:data(any) addr:0x020b3a64 diff --git a/config/jp/arm9/overlays/ov001/delinks.txt b/config/jp/arm9/overlays/ov001/delinks.txt index 14974ba6..1c73502d 100644 --- a/config/jp/arm9/overlays/ov001/delinks.txt +++ b/config/jp/arm9/overlays/ov001/delinks.txt @@ -5,8 +5,50 @@ .data start:0x020c4180 end:0x020c4820 kind:data align:32 .bss start:0x020c4820 end:0x020c5f60 kind:bss align:32 +src/001_SceneInit/SceneInitializers_001.cpp: + .text start:0x020b7d40 end:0x020b8c58 + .rodata start:0x020c3e14 end:0x020c3e78 + +src/001_SceneInit/CourseList.cpp: + complete + .text start:0x020b8c58 end:0x020b8d84 + .init start:0x020c4068 end:0x020c408c + .ctor start:0x020c4154 end:0x020c4158 + .bss start:0x020c4820 end:0x020c5928 + .data start:0x020c4180 end:0x020c41b0 + +src/001_SceneInit/UnkStruct_027e09b8_001.cpp: + .text start:0x020b8d84 end:0x020b8f94 + +src/001_SceneInit/UnkStruct_027e0cd8_001.cpp: + .text start:0x020b8f94 end:0x020b9a20 + +src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp: + .text start:0x020b9a20 end:0x020ba6b4 + +src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp: + .text start:0x020ba6b4 end:0x020baab0 + +src/001_SceneInit/ZeldaArrangeBinary.cpp: + .text start:0x020baab0 end:0x020bacf0 + +src/001_SceneInit/ZeldaMapBinary.cpp: + .text start:0x020bacf0 end:0x020bbd4c + +src/001_SceneInit/UnkStruct_027e095c_001.cpp: + .text start:0x020bbd4c end:0x020bbdc4 + +src/001_SceneInit/SysNew_001.cpp: + .text start:0x020bbdc4 end:0x020bbeac + src/001_SceneInit/Save/SaveManager_001.cpp: - .text start:0x020bbeac end:0x020bc094 + .text start:0x020bbeac end:0x020bc1f4 + +src/001_SceneInit/UnkStruct_027e09bc_001.cpp: + .text start:0x020bc1f4 end:0x020bc47c + +src/001_SceneInit/MapObject/MapObjectManager_001.cpp: + .text start:0x020bc47c end:0x020bc7ac src/001_SceneInit/Actor/ActorManager_001.cpp: .text start:0x020bc7ac end:0x020bd0c4 @@ -14,7 +56,28 @@ src/001_SceneInit/Actor/ActorManager_001.cpp: .data start:0x020c437c end:0x020c44b0 src/001_SceneInit/Item/ItemManager_001.cpp: - .text start:0x020bd240 end:0x020bd29c + .text start:0x020bd0c4 end:0x020bd30c + +src/001_SceneInit/Player/PlayerActorBase_70_001.cpp: + .text start:0x020bd30c end:0x020bd6ac + +src/001_SceneInit/UnkStruct_027e0ce0_30_001.cpp: + .text start:0x020bd6ac end:0x020bd870 + +src/001_SceneInit/UnkStruct_027e0ce0_40_Base_001.cpp: + .text start:0x020bd870 end:0x020bda7c + +src/001_SceneInit/code_020bc234_001.cpp: + .text start:0x020bda7c end:0x020bdb10 + +src/001_SceneInit/code_020bc2c8_001.cpp: + .text start:0x020bdb10 end:0x020bdb94 + +src/001_SceneInit/UnkStruct_027e0ce0_001.cpp: + .text start:0x020bdb94 end:0x020bdfb0 + +src/001_SceneInit/Player/Player_001.cpp: + .text start:0x020bdfb0 end:0x020be4e8 src/001_SceneInit/CargoManager_001.cpp: complete diff --git a/config/jp/arm9/overlays/ov001/relocs.txt b/config/jp/arm9/overlays/ov001/relocs.txt index 6bd09e51..217bc452 100644 --- a/config/jp/arm9/overlays/ov001/relocs.txt +++ b/config/jp/arm9/overlays/ov001/relocs.txt @@ -44,9 +44,9 @@ from:0x020b7fba kind:thumb_call to:0x020bbd4c module:overlay(1) from:0x020b7fce kind:thumb_call to:0x0201491c module:main from:0x020b7fe4 kind:thumb_call to:0x02014800 module:main from:0x020b800c kind:thumb_call_arm to:0x02011f3c module:main -from:0x020b8016 kind:thumb_call_arm to:0x02140ba0 module:overlays(58,70) +from:0x020b8016 kind:thumb_call_arm to:0x02140ba0 module:overlay(58) from:0x020b8022 kind:thumb_call_arm to:0x02011f3c module:main -from:0x020b802c kind:thumb_call_arm to:0x02140ba0 module:overlays(58,70) +from:0x020b802c kind:thumb_call_arm to:0x02140ba0 module:overlay(70) from:0x020b8038 kind:thumb_call_arm to:0x02011f3c module:main from:0x020b8042 kind:thumb_call_arm to:0x02140d38 module:overlay(58) from:0x020b804e kind:thumb_call_arm to:0x02011f3c module:main @@ -151,7 +151,7 @@ from:0x020b855c kind:load to:0x027e095c module:dtcm from:0x020b8568 kind:load to:0x027e0958 module:dtcm from:0x020b8574 kind:load to:0x027e0954 module:dtcm from:0x020b8592 kind:thumb_call_arm to:0x0202a190 module:main -from:0x020b85a0 kind:load to:0x020b39b4 module:overlay(0) +from:0x020b85a0 kind:load to:0x020b39ac module:overlay(0) add:0x8 from:0x020b85ae kind:thumb_call to:0x020c0134 module:overlay(1) from:0x020b85b6 kind:thumb_call to:0x020b8f28 module:overlay(1) from:0x020b85be kind:thumb_call_arm to:0x0205b6ec module:overlay(0) @@ -163,7 +163,7 @@ from:0x020b85e4 kind:thumb_call to:0x020bee80 module:overlay(1) from:0x020b85ee kind:thumb_call to:0x020bf658 module:overlay(1) from:0x020b85f2 kind:thumb_call to:0x020c0588 module:overlay(1) from:0x020b8604 kind:thumb_call_arm to:0x02011ff4 module:main -from:0x020b860c kind:load to:0x020b39b4 module:overlay(0) +from:0x020b860c kind:load to:0x020b39ac module:overlay(0) add:0x8 from:0x020b8610 kind:load to:0x020b684c module:overlay(0) from:0x020b8614 kind:load to:0x027e09b8 module:dtcm from:0x020b8618 kind:load to:0x027e0960 module:dtcm @@ -185,7 +185,7 @@ from:0x020b867e kind:thumb_call to:0x020bf658 module:overlay(1) from:0x020b8682 kind:thumb_call to:0x020c0588 module:overlay(1) from:0x020b8694 kind:thumb_call_arm to:0x02011ff4 module:main from:0x020b869a kind:thumb_call_arm to:0x02011ff4 module:main -from:0x020b86a4 kind:load to:0x020b39b4 module:overlay(0) +from:0x020b86a4 kind:load to:0x020b39ac module:overlay(0) add:0x8 from:0x020b86a8 kind:load to:0x020b684c module:overlay(0) from:0x020b86ac kind:load to:0x027e09b8 module:dtcm from:0x020b86b0 kind:load to:0x027e0960 module:dtcm @@ -206,7 +206,7 @@ from:0x020b870c kind:thumb_call to:0x020bee80 module:overlay(1) from:0x020b8716 kind:thumb_call to:0x020bf658 module:overlay(1) from:0x020b871a kind:thumb_call to:0x020c0588 module:overlay(1) from:0x020b872c kind:thumb_call_arm to:0x02011ff4 module:main -from:0x020b8734 kind:load to:0x020b39b4 module:overlay(0) +from:0x020b8734 kind:load to:0x020b39ac module:overlay(0) add:0x8 from:0x020b8738 kind:load to:0x020b684c module:overlay(0) from:0x020b873c kind:load to:0x027e09b8 module:dtcm from:0x020b8740 kind:load to:0x027e0960 module:dtcm @@ -244,7 +244,7 @@ from:0x020b8864 kind:load to:0x027e0cd8 module:dtcm from:0x020b8870 kind:load to:0x027e0cd8 module:dtcm from:0x020b8874 kind:load to:0x020b92a5 module:overlay(1) from:0x020b887c kind:thumb_call_arm to:0x020671a8 module:overlay(0) -from:0x020b8890 kind:load to:0x020b3a04 module:overlay(0) +from:0x020b8890 kind:load to:0x020b39fc module:overlay(0) add:0x8 from:0x020b8898 kind:thumb_call_arm to:0x0201b8dc module:main from:0x020b88a4 kind:thumb_call to:0x020b8878 module:overlay(1) from:0x020b88ac kind:thumb_call_arm to:0x02067454 module:overlay(0) @@ -270,15 +270,15 @@ from:0x020b8bcc kind:thumb_call_arm to:0x0201b798 module:main from:0x020b8c04 kind:thumb_call_arm to:0x0201b994 module:main from:0x020b8c20 kind:thumb_call_arm to:0x0201b798 module:main from:0x020b8c2c kind:load to:0x027e0ce0 module:dtcm -from:0x020b8c30 kind:load to:0x020ac092 module:overlay(0) +from:0x020b8c30 kind:load to:0x020ac08c add:6 module:overlay(0) from:0x020b8c34 kind:load to:0x020b68c0 module:overlay(0) from:0x020b8c38 kind:load to:0x027e09a4 module:dtcm from:0x020b8c3c kind:load to:0x027e0cd8 module:dtcm from:0x020b8c40 kind:load to:0x020ac08c module:overlay(0) from:0x020b8c44 kind:load to:0x0204fb78 module:main -from:0x020b8c48 kind:load to:0x020ac08d module:overlay(0) -from:0x020b8c4c kind:load to:0x020ac08e module:overlay(0) -from:0x020b8c50 kind:load to:0x020ac08f module:overlay(0) +from:0x020b8c48 kind:load to:0x020ac08c add:1 module:overlay(0) +from:0x020b8c4c kind:load to:0x020ac08c add:2 module:overlay(0) +from:0x020b8c50 kind:load to:0x020ac08c add:3 module:overlay(0) from:0x020b8c68 kind:thumb_call to:0x02015660 module:main from:0x020b8c72 kind:thumb_call to:0x020156bc module:main from:0x020b8c8c kind:thumb_call_arm to:0x0202a20c module:main @@ -1508,7 +1508,7 @@ from:0x020becc2 kind:thumb_call_arm to:0x020938c0 module:overlay(0) from:0x020becd4 kind:thumb_call_arm to:0x020938c0 module:overlay(0) from:0x020becdc kind:load to:0x027e09a4 module:dtcm from:0x020bece0 kind:load to:0x020da000 module:overlay(24) -from:0x020bece4 kind:load to:0x020ac090 module:overlay(0) +from:0x020bece4 kind:load to:0x020ac08c add:4 module:overlay(0) from:0x020bece8 kind:load to:0x020b4800 module:overlay(0) from:0x020becec kind:load to:0x027e0ce4 module:dtcm from:0x020becf4 kind:load to:0x027e09b8 module:dtcm @@ -1920,7 +1920,7 @@ from:0x020c086e kind:thumb_call_arm to:0x0201662c module:main from:0x020c0874 kind:thumb_call_arm to:0x020c08e0 module:overlay(1) from:0x020c088c kind:thumb_call to:0x020a1c38 module:overlay(0) from:0x020c08a8 kind:arm_call to:0x02016614 module:main -from:0x020c08cc kind:load to:0x020c5758 module:overlay(1) +from:0x020c08cc kind:load to:0x020c5758 module:overlay(17) from:0x020c08dc kind:load to:0x027e0cec module:dtcm from:0x020c08f0 kind:load to:0x027e0cec module:dtcm from:0x020c0900 kind:load to:0x0204af1c module:main @@ -2318,9 +2318,7 @@ from:0x020c2242 kind:thumb_call_arm to:0x020c2868 module:overlay(1) from:0x020c226c kind:load to:0x020c21f1 module:overlay(1) from:0x020c2270 kind:load to:0x020c2215 module:overlay(1) from:0x020c2274 kind:load to:0x020c5f3c module:overlay(1) -from:0x020c2324 kind:load to:0x020c4ce4 module:overlay(1) from:0x020c2328 kind:load to:0x020c426c module:overlay(1) -from:0x020c23dc kind:load to:0x020c4d5c module:overlay(1) from:0x020c23e0 kind:load to:0x020c42e4 module:overlay(1) from:0x020c2494 kind:load to:0x020c47a0 module:overlay(1) from:0x020c2498 kind:load to:0x020c417c module:overlays(2,4) @@ -2333,11 +2331,8 @@ from:0x020c2858 kind:load to:0x020c5f41 module:overlay(1) from:0x020c28d0 kind:load to:0x020c5f41 module:overlay(1) from:0x020c2948 kind:load to:0x020c5f41 module:overlay(1) from:0x020c2970 kind:load to:0x020c3b00 module:overlay(1) -from:0x020c29a0 kind:load to:0x020c5448 module:overlay(1) from:0x020c2a78 kind:load to:0x020c47a0 module:overlay(1) from:0x020c2b8c kind:load to:0x020c4818 module:overlay(1) -from:0x020c2c64 kind:load to:0x020c4ce4 module:overlay(1) -from:0x020c2d78 kind:load to:0x020c4d5c module:overlay(1) from:0x020c2de4 kind:load to:0x020c5f41 module:overlay(1) from:0x020c2e5c kind:load to:0x020c5f41 module:overlay(1) from:0x020c2e68 kind:load to:0x020c3e78 add:0x4 module:overlay(1) @@ -2364,32 +2359,17 @@ from:0x020c3488 kind:load to:0x020d3b2a module:overlay(19) from:0x020c348c kind:load to:0x020c46f0 module:overlay(1) from:0x020c36d4 kind:load to:0x020c5f41 module:overlay(1) from:0x020c36dc kind:load to:0x020d3b2a module:overlay(19) -from:0x020c36e0 kind:load to:0x020c4890 module:overlay(1) from:0x020c374c kind:load to:0x020c5f41 module:overlay(1) from:0x020c3750 kind:load to:0x020c7394 module:overlay(25) from:0x020c3754 kind:load to:0x020d3b2a module:overlay(19) -from:0x020c3758 kind:load to:0x020c4a14 module:overlay(1) from:0x020c394c kind:load to:0x020c5f41 module:overlay(1) from:0x020c3954 kind:load to:0x020d3b2a module:overlay(19) -from:0x020c3958 kind:load to:0x020c4b5c module:overlay(1) from:0x020c39c4 kind:load to:0x020c5f41 module:overlay(1) from:0x020c39cc kind:load to:0x020d3b2a module:overlay(19) -from:0x020c39d0 kind:load to:0x020c4c20 module:overlay(1) -from:0x020c39e4 kind:load to:0x020c4ce4 module:overlay(1) -from:0x020c39ec kind:load to:0x020c4d5c module:overlay(1) from:0x020c39f4 kind:load to:0x020c47a0 module:overlay(1) from:0x020c39fc kind:load to:0x020c4818 module:overlay(1) -from:0x020c3a04 kind:load to:0x020c4a6c module:overlay(1) -from:0x020c3a0c kind:load to:0x020c4ae4 module:overlay(1) -from:0x020c3dd4 kind:load to:0x020c4e1c module:overlay(1) -from:0x020c3ddc kind:load to:0x020c4e90 module:overlay(1) from:0x020c3de0 kind:load to:0x020c738c module:overlay(25) -from:0x020c3de4 kind:load to:0x020c4edc module:overlay(1) -from:0x020c3dec kind:load to:0x020c4f00 module:overlay(1) -from:0x020c3df4 kind:load to:0x020c5008 module:overlay(1) -from:0x020c3dfc kind:load to:0x020c5114 module:overlay(1) from:0x020c3e00 kind:load to:0x020c7398 module:overlay(25) -from:0x020c3e04 kind:load to:0x020c516c module:overlay(1) from:0x020c3e08 kind:load to:0x020c7398 module:overlay(25) from:0x020c4076 kind:thumb_call to:0x020b8c58 module:overlay(1) from:0x020c4084 kind:load to:0x020c4820 module:overlay(1) @@ -2409,11 +2389,6 @@ from:0x020c4150 kind:load to:0x020c4814 module:overlay(1) from:0x020c4154 kind:load to:0x020c4069 module:overlay(1) from:0x020c4158 kind:load to:0x020c408d module:overlay(1) from:0x020c415c kind:load to:0x020c4145 module:overlay(1) -from:0x020c4160 kind:load to:0x020c2958 module:overlay(1) -from:0x020c4164 kind:load to:0x020c2f5c module:overlay(1) -from:0x020c4168 kind:load to:0x020c3218 module:overlay(1) -from:0x020c416c kind:load to:0x020c39d4 module:overlay(1) -from:0x020c4170 kind:load to:0x020c3dc4 module:overlay(1) from:0x020c423c kind:load to:0x020b9c39 module:overlay(1) from:0x020c4240 kind:load to:0x020b9cd1 module:overlay(1) from:0x020c4244 kind:load to:0x020b9e0d module:overlay(1) diff --git a/config/jp/arm9/overlays/ov001/symbols.txt b/config/jp/arm9/overlays/ov001/symbols.txt index b82a99dc..072109b4 100644 --- a/config/jp/arm9/overlays/ov001/symbols.txt +++ b/config/jp/arm9/overlays/ov001/symbols.txt @@ -1,178 +1,178 @@ -func_ov001_020b6520 kind:function(thumb,size=0x1a) addr:0x020b7d40 -func_ov001_020b7d5c kind:function(thumb,size=0xee) addr:0x020b7d5c -func_ov001_020b7e4c kind:function(thumb,size=0xae) addr:0x020b7e4c -func_ov001_020b7efc kind:function(thumb,size=0x7c) addr:0x020b7efc -func_ov001_020b7f78 kind:function(thumb,size=0x14c) addr:0x020b7f78 -func_ov001_020b80c4 kind:function(thumb,size=0x80) addr:0x020b80c4 -func_ov001_020b8144 kind:function(thumb,size=0x90) addr:0x020b8144 -func_ov001_020b81d4 kind:function(thumb,size=0x194) addr:0x020b81d4 -func_ov001_020b8368 kind:function(thumb,size=0x20) addr:0x020b8368 -func_ov001_020b8388 kind:function(thumb,size=0x20) addr:0x020b8388 -func_ov001_020b83a8 kind:function(thumb,size=0x20) addr:0x020b83a8 -func_ov001_020b83c8 kind:function(thumb,size=0x20) addr:0x020b83c8 -func_ov001_020b83e8 kind:function(thumb,size=0x20) addr:0x020b83e8 -func_ov001_020b8408 kind:function(thumb,size=0x20) addr:0x020b8408 -func_ov001_020b8428 kind:function(thumb,size=0x30) addr:0x020b8428 -func_ov001_020b8458 kind:function(thumb,size=0x20) addr:0x020b8458 -func_ov001_020b8478 kind:function(thumb,size=0x20) addr:0x020b8478 -func_ov001_020b8498 kind:function(thumb,size=0x20) addr:0x020b8498 -func_ov001_020b84b8 kind:function(thumb,size=0x20) addr:0x020b84b8 -func_ov001_020b84d8 kind:function(thumb,size=0x20) addr:0x020b84d8 -func_ov001_020b84f8 kind:function(thumb,size=0x20) addr:0x020b84f8 -func_ov001_020b8518 kind:function(thumb,size=0x20) addr:0x020b8518 -func_ov001_020b8538 kind:function(thumb,size=0xc) addr:0x020b8538 -func_ov001_020b8544 kind:function(thumb,size=0xe) addr:0x020b8544 -func_ov001_020b8554 kind:function(thumb,size=0xc) addr:0x020b8554 -func_ov001_020b8560 kind:function(thumb,size=0xc) addr:0x020b8560 -func_ov001_020b856c kind:function(thumb,size=0xc) addr:0x020b856c -func_ov001_020b8578 kind:function(thumb,size=0x2c) addr:0x020b8578 -func_ov001_020b85a4 kind:function(thumb,size=0x90) addr:0x020b85a4 -func_ov001_020b8634 kind:function(thumb,size=0x98) addr:0x020b8634 -func_ov001_020b86cc kind:function(thumb,size=0x90) addr:0x020b86cc -func_ov001_020b875c kind:function(thumb,size=0x64) addr:0x020b875c -func_ov001_020b87c0 kind:function(thumb,size=0xa8) addr:0x020b87c0 -func_ov001_020b8868 kind:function(thumb,size=0x10) addr:0x020b8868 -func_ov001_020b8878 kind:function(thumb,size=0x1c) addr:0x020b8878 -func_ov001_020b8894 kind:function(thumb,size=0xd0) addr:0x020b8894 -func_ov001_020b8964 kind:function(thumb,size=0x2f4) addr:0x020b8964 -func_ov001_020b8c58 kind:function(thumb,size=0x54) addr:0x020b8c58 -func_ov001_020b8cac kind:function(thumb,size=0x50) addr:0x020b8cac -func_ov001_020b8cfc kind:function(thumb,size=0x24) addr:0x020b8cfc -func_ov001_020b8d20 kind:function(thumb,size=0x16) addr:0x020b8d20 -func_ov001_020b8d38 kind:function(thumb,size=0x32) addr:0x020b8d38 -func_ov001_020b8d6c kind:function(thumb,size=0xc) addr:0x020b8d6c -func_ov001_020b8d78 kind:function(thumb,size=0xc) addr:0x020b8d78 -func_ov001_020b8d84 kind:function(thumb,size=0x16) addr:0x020b8d84 -func_ov001_020b8d9c kind:function(thumb,size=0xec) addr:0x020b8d9c -func_ov001_020b8e88 kind:function(thumb,size=0x4c) addr:0x020b8e88 -func_ov001_020b8ed4 kind:function(thumb,size=0x14) addr:0x020b8ed4 -func_ov001_020b8ee8 kind:function(thumb,size=0x40) addr:0x020b8ee8 -func_ov001_020b8f28 kind:function(thumb,size=0x28) addr:0x020b8f28 -func_ov001_020b8f50 kind:function(thumb,size=0x2c) addr:0x020b8f50 -func_ov001_020b8f7c kind:function(thumb,size=0xc) addr:0x020b8f7c -func_ov001_020b8f88 kind:function(thumb,size=0xc) addr:0x020b8f88 -func_ov001_020b8f94 kind:function(thumb,size=0x16) addr:0x020b8f94 -func_ov001_020b8fac kind:function(thumb,size=0x68) addr:0x020b8fac -func_ov001_020b9014 kind:function(thumb,size=0x42) addr:0x020b9014 -func_ov001_020b9058 kind:function(thumb,size=0x24c) addr:0x020b9058 -func_ov001_020b92a4 kind:function(thumb,size=0xbc) addr:0x020b92a4 -func_ov001_020b9360 kind:function(thumb,size=0xd0) addr:0x020b9360 -func_ov001_020b9430 kind:function(thumb,size=0x174) addr:0x020b9430 -func_ov001_020b95a4 kind:function(thumb,size=0xec) addr:0x020b95a4 -func_ov001_020b9690 kind:function(thumb,size=0x16) addr:0x020b9690 -func_ov001_020b96a8 kind:function(thumb,size=0x1d4) addr:0x020b96a8 -func_ov001_020b987c kind:function(thumb,size=0xc0) addr:0x020b987c -func_ov001_020b993c kind:function(thumb,size=0x24) addr:0x020b993c -func_ov001_020b9960 kind:function(thumb,size=0x6c) addr:0x020b9960 -func_ov001_020b99cc kind:function(thumb,size=0x3c) addr:0x020b99cc -func_ov001_020b9a08 kind:function(thumb,size=0xc) addr:0x020b9a08 -func_ov001_020b9a14 kind:function(thumb,size=0xc) addr:0x020b9a14 -func_ov001_020b9a20 kind:function(thumb,size=0x218) addr:0x020b9a20 -func_ov001_020b9c38 kind:function(thumb,size=0x98) addr:0x020b9c38 -func_ov001_020b9cd0 kind:function(thumb,size=0xa0) addr:0x020b9cd0 -func_ov001_020b9d70 kind:function(thumb,size=0x98) addr:0x020b9d70 -func_ov001_020b9e08 kind:function(thumb,size=0x2) addr:0x020b9e08 -func_ov001_020b9e0c kind:function(thumb,size=0x2) addr:0x020b9e0c -func_ov001_020b9e10 kind:function(thumb,size=0x2f0) addr:0x020b9e10 -func_ov001_020ba100 kind:function(thumb,size=0x2c) addr:0x020ba100 -func_ov001_020ba12c kind:function(thumb,size=0x60) addr:0x020ba12c -func_ov001_020ba18c kind:function(thumb,size=0xe0) addr:0x020ba18c -func_ov001_020ba26c kind:function(thumb,size=0x2c) addr:0x020ba26c -func_ov001_020ba298 kind:function(thumb,size=0x2) addr:0x020ba298 +_ZN18UnkStruct_027e09a46CreateEi kind:function(thumb,size=0x1a) addr:0x020b7d40 +_ZN18UnkStruct_027e09a4C1Ei kind:function(thumb,size=0xee) addr:0x020b7d5c +_ZN18UnkStruct_027e09a419func_ov001_020b662cEv kind:function(thumb,size=0xae) addr:0x020b7e4c +_ZN18UnkStruct_027e09a419func_ov001_020b66dcEv kind:function(thumb,size=0x7c) addr:0x020b7efc +_ZN18UnkStruct_027e09a419func_ov001_020b6758EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x14c) addr:0x020b7f78 +_ZN18UnkStruct_027e09a419func_ov001_020b68a4Ebbb kind:function(thumb,size=0x80) addr:0x020b80c4 +_ZN18UnkStruct_027e09a419func_ov001_020b6924EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x90) addr:0x020b8144 +_ZN18UnkStruct_027e09a419func_ov001_020b69b4EPK22UnkStruct_SceneChange1b kind:function(thumb,size=0x194) addr:0x020b81d4 +_ZN15TreasureManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b8368 +_ZN14MiscAdvManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b8388 +_ZN18UnkStruct_027e09607DestroyEv kind:function(thumb,size=0x20) addr:0x020b83a8 +_ZN18UnkStruct_027e09a07DestroyEv kind:function(thumb,size=0x20) addr:0x020b83c8 +_ZN18UnkStruct_027e095c7DestroyEv kind:function(thumb,size=0x20) addr:0x020b83e8 +_ZN18UnkStruct_027e09587DestroyEv kind:function(thumb,size=0x20) addr:0x020b8408 +_ZN18UnkStruct_027e09547DestroyEv kind:function(thumb,size=0x30) addr:0x020b8428 +_ZN18UnkStruct_027e09ac7DestroyEv kind:function(thumb,size=0x20) addr:0x020b8458 +_ZN18UnkStruct_027e09b87DestroyEv kind:function(thumb,size=0x20) addr:0x020b8478 +_ZN18UnkStruct_027e09bc7DestroyEv kind:function(thumb,size=0x20) addr:0x020b8498 +_ZN18UnkStruct_027e0ce07DestroyEv kind:function(thumb,size=0x20) addr:0x020b84b8 +_ZN16MapObjectManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b84d8 +_ZN12ActorManager7DestroyEv kind:function(thumb,size=0x20) addr:0x020b84f8 +_ZN18UnkStruct_027e0cd87DestroyEv kind:function(thumb,size=0x20) addr:0x020b8518 +_ZN8InstanceI18UnkStruct_027e09a4EC2Ev kind:function(thumb,size=0xc) addr:0x020b8538 +_ZN21UnkStruct_027e0954_00D1Ev kind:function(thumb,size=0xe) addr:0x020b8544 +_ZN8InstanceI18UnkStruct_027e095cED2Ev kind:function(thumb,size=0xc) addr:0x020b8554 +_ZN8InstanceI18UnkStruct_027e0958ED2Ev kind:function(thumb,size=0xc) addr:0x020b8560 +_ZN8InstanceI18UnkStruct_027e0954ED2Ev kind:function(thumb,size=0xc) addr:0x020b856c +_ZN26UnkStruct_027e09a4_54_BaseC2EPi kind:function(thumb,size=0x2c) addr:0x020b8578 +_ZN26UnkStruct_027e09a4_54_BaseD1Ev kind:function(thumb,size=0x90) addr:0x020b85a4 +_ZN26UnkStruct_027e09a4_54_BaseD0Ev kind:function(thumb,size=0x98) addr:0x020b8634 +_ZN26UnkStruct_027e09a4_54_BaseD2Ev kind:function(thumb,size=0x90) addr:0x020b86cc +_ZN26UnkStruct_027e09a4_54_Base8vfunc_0CEv kind:function(thumb,size=0x64) addr:0x020b875c +_ZN26UnkStruct_027e09a4_54_Base19func_ov001_020b6fa0EP15CourseListEntry kind:function(thumb,size=0xa8) addr:0x020b87c0 +_ZN26UnkStruct_027e09a4_54_Base19func_ov001_020b7048Ev kind:function(thumb,size=0x10) addr:0x020b8868 +_ZN21UnkStruct_WarpUnk1_24C1Ev kind:function(thumb,size=0x1c) addr:0x020b8878 +_ZN18UnkStruct_WarpUnk1C1Ev kind:function(thumb,size=0xd0) addr:0x020b8894 +_ZN18UnkStruct_WarpUnk119func_ov001_020b7144Ev kind:function(thumb,size=0x2f4) addr:0x020b8964 +_ZN16CourseInitBinaryC1Ev kind:function(thumb,size=0x54) addr:0x020b8c58 +_ZN18UnkStruct_027e09a0C1Ev kind:function(thumb,size=0x50) addr:0x020b8cac +_ZN18UnkStruct_027e09a0D1Ev kind:function(thumb,size=0x24) addr:0x020b8cfc +_ZN18UnkStruct_027e09a06CreateEv kind:function(thumb,size=0x16) addr:0x020b8d20 +_ZN18UnkStruct_027e09a015InitCourseTableEv kind:function(thumb,size=0x32) addr:0x020b8d38 +_ZN8InstanceI18UnkStruct_027e09a0EC2Ev kind:function(thumb,size=0xc) addr:0x020b8d6c +_ZN8InstanceI18UnkStruct_027e09a0ED2Ev kind:function(thumb,size=0xc) addr:0x020b8d78 +_ZN18UnkStruct_027e09b86CreateEv kind:function(thumb,size=0x16) addr:0x020b8d84 +func_ov001_020b7574 kind:function(thumb,size=0xec) addr:0x020b8d9c +_ZN18UnkStruct_027e09b8D1Ev kind:function(thumb,size=0x4c) addr:0x020b8e88 +func_ov001_020b76ac kind:function(thumb,size=0x14) addr:0x020b8ed4 +_ZN18UnkStruct_027e09b819func_ov001_020b76c0Ej kind:function(thumb,size=0x40) addr:0x020b8ee8 +_ZN18UnkStruct_027e09b819func_ov001_020b7700Ev kind:function(thumb,size=0x28) addr:0x020b8f28 +func_ov001_020b7728 kind:function(thumb,size=0x2c) addr:0x020b8f50 +func_ov001_020b7754 kind:function(thumb,size=0xc) addr:0x020b8f7c +func_ov001_020b7760 kind:function(thumb,size=0xc) addr:0x020b8f88 +_ZN18UnkStruct_027e0cd86CreateEv kind:function(thumb,size=0x16) addr:0x020b8f94 +func_ov001_020b7784 kind:function(thumb,size=0x68) addr:0x020b8fac +_ZN18UnkStruct_027e0cd8D1Ev kind:function(thumb,size=0x42) addr:0x020b9014 +_ZN18UnkStruct_027e0cd819func_ov001_020b7830EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x24c) addr:0x020b9058 +_ZN18UnkStruct_027e0cd819func_ov001_020b7a7cEv kind:function(thumb,size=0xbc) addr:0x020b92a4 +func_ov001_020b7b38 kind:function(thumb,size=0xd0) addr:0x020b9360 +_ZN18UnkStruct_027e0cd819func_ov001_020b7c08EP22UnkStruct_SceneChange1P21UnkStruct_WarpUnk1_A0 kind:function(thumb,size=0x174) addr:0x020b9430 +func_ov001_020b7d64 kind:function(thumb,size=0xec) addr:0x020b95a4 +func_ov001_020b7e50 kind:function(thumb,size=0x16) addr:0x020b9690 +func_ov001_020b7e68 kind:function(thumb,size=0x1d4) addr:0x020b96a8 +func_ov001_020b803c kind:function(thumb,size=0xc0) addr:0x020b987c +func_ov001_020b80fc kind:function(thumb,size=0x24) addr:0x020b993c +func_ov001_020b8120 kind:function(thumb,size=0x6c) addr:0x020b9960 +func_ov001_020b818c kind:function(thumb,size=0x3c) addr:0x020b99cc +func_ov001_020b81c8 kind:function(thumb,size=0xc) addr:0x020b9a08 +func_ov001_020b81d4 kind:function(thumb,size=0xc) addr:0x020b9a14 +_ZN21UnkStruct_027e0cd8_0cC1Ev kind:function(thumb,size=0x218) addr:0x020b9a20 +func_ov001_020b83f8 kind:function(thumb,size=0x98) addr:0x020b9c38 +func_ov001_020b8490 kind:function(thumb,size=0xa0) addr:0x020b9cd0 +func_ov001_020b8530 kind:function(thumb,size=0x98) addr:0x020b9d70 +func_ov001_020b85c8 kind:function(thumb,size=0x2) addr:0x020b9e08 +func_ov001_020b85cc kind:function(thumb,size=0x2) addr:0x020b9e0c +func_ov001_020b85d0 kind:function(thumb,size=0x2f0) addr:0x020b9e10 +func_ov001_020b88c0 kind:function(thumb,size=0x2c) addr:0x020ba100 +func_ov001_020b88ec kind:function(thumb,size=0x60) addr:0x020ba12c +func_ov001_020b894c kind:function(thumb,size=0xe0) addr:0x020ba18c +func_ov001_020b8a2c kind:function(thumb,size=0x2c) addr:0x020ba26c +func_ov001_020b8a58 kind:function(thumb,size=0x2) addr:0x020ba298 _ZN21UnkStruct_027e0cd8_0c19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020ba29c -func_ov001_020ba32c kind:function(thumb,size=0xa8) addr:0x020ba32c -func_ov001_020ba3d4 kind:function(thumb,size=0x9c) addr:0x020ba3d4 -func_ov001_020ba470 kind:function(thumb,size=0x4e) addr:0x020ba470 -func_ov001_020ba4c0 kind:function(thumb,size=0x10) addr:0x020ba4c0 -func_ov001_020ba4d0 kind:function(thumb,size=0x8) addr:0x020ba4d0 -func_ov001_020ba4d8 kind:function(thumb,size=0x8) addr:0x020ba4d8 -func_ov001_020ba4e0 kind:function(thumb,size=0x8) addr:0x020ba4e0 -func_ov001_020ba4e8 kind:function(thumb,size=0x2) addr:0x020ba4e8 -func_ov001_020ba4ec kind:function(thumb,size=0xfc) addr:0x020ba4ec -func_ov001_020ba5e8 kind:function(thumb,size=0xe) addr:0x020ba5e8 -func_ov001_020ba5f8 kind:function(thumb,size=0x6c) addr:0x020ba5f8 -func_ov001_020ba664 kind:function(thumb,size=0x30) addr:0x020ba664 -func_ov001_020ba694 kind:function(thumb,size=0x20) addr:0x020ba694 -func_ov001_020ba6b4 kind:function(thumb,size=0x18) addr:0x020ba6b4 -func_ov001_020ba6cc kind:function(thumb,size=0x1c) addr:0x020ba6cc -func_ov001_020ba6e8 kind:function(thumb,size=0x3c) addr:0x020ba6e8 -func_ov001_020ba724 kind:function(thumb,size=0x18) addr:0x020ba724 -func_ov001_020ba73c kind:function(thumb,size=0x1c) addr:0x020ba73c -func_ov001_020ba758 kind:function(thumb,size=0x80) addr:0x020ba758 -func_ov001_020ba7d8 kind:function(thumb,size=0xd4) addr:0x020ba7d8 -func_ov001_020ba8ac kind:function(thumb,size=0x80) addr:0x020ba8ac -func_ov001_020ba92c kind:function(thumb,size=0xc6) addr:0x020ba92c -func_ov001_020ba9f4 kind:function(thumb,size=0x10) addr:0x020ba9f4 -func_ov001_020baa04 kind:function(thumb,size=0x10) addr:0x020baa04 -func_ov001_020baa14 kind:function(thumb,size=0x24) addr:0x020baa14 -func_ov001_020baa38 kind:function(thumb,size=0x1c) addr:0x020baa38 -func_ov001_020baa54 kind:function(thumb,size=0x28) addr:0x020baa54 -func_ov001_020baa7c kind:function(thumb,size=0x1c) addr:0x020baa7c -func_ov001_020baa98 kind:function(thumb,size=0x18) addr:0x020baa98 -func_ov001_020baab0 kind:function(thumb,size=0x70) addr:0x020baab0 -func_ov001_020bab20 kind:function(thumb,size=0x18c) addr:0x020bab20 -func_ov001_020bacac kind:function(thumb,size=0x4) addr:0x020bacac -func_ov001_020bacb0 kind:function(thumb,size=0x3e) addr:0x020bacb0 -func_ov001_020bacf0 kind:function(thumb,size=0x164) addr:0x020bacf0 -func_ov001_020bae54 kind:function(thumb,size=0xe) addr:0x020bae54 -func_ov001_020bae64 kind:function(thumb,size=0xfc) addr:0x020bae64 -func_ov001_020baf60 kind:function(thumb,size=0x40) addr:0x020baf60 -func_ov001_020bafa0 kind:function(thumb,size=0xe0) addr:0x020bafa0 -func_ov001_020bb080 kind:function(thumb,size=0xc4) addr:0x020bb080 -func_ov001_020bb144 kind:function(thumb,size=0x140) addr:0x020bb144 -func_ov001_020bb284 kind:function(thumb,size=0x22c) addr:0x020bb284 -func_ov001_020bb4b0 kind:function(thumb,size=0x460) addr:0x020bb4b0 -func_ov001_020bb910 kind:function(thumb,size=0x17c) addr:0x020bb910 -func_ov001_020bba8c kind:function(thumb,size=0xa4) addr:0x020bba8c -func_ov001_020bbb30 kind:function(thumb,size=0x5e) addr:0x020bbb30 -func_ov001_020bbb90 kind:function(thumb,size=0x36) addr:0x020bbb90 -func_ov001_020bbbc8 kind:function(thumb,size=0x7e) addr:0x020bbbc8 -func_ov001_020bbc48 kind:function(thumb,size=0x80) addr:0x020bbc48 -func_ov001_020bbcc8 kind:function(thumb,size=0x1c) addr:0x020bbcc8 -func_ov001_020bbce4 kind:function(thumb,size=0x28) addr:0x020bbce4 -func_ov001_020bbd0c kind:function(thumb,size=0x1c) addr:0x020bbd0c -func_ov001_020bbd28 kind:function(thumb,size=0x24) addr:0x020bbd28 -func_ov001_020bbd4c kind:function(thumb,size=0x1c) addr:0x020bbd4c -func_ov001_020bbd68 kind:function(thumb,size=0x50) addr:0x020bbd68 -func_ov001_020bbdb8 kind:function(thumb,size=0xc) addr:0x020bbdb8 -func_ov001_020bbdc4 kind:function(thumb,size=0x12) addr:0x020bbdc4 -func_ov001_020bbdd8 kind:function(thumb,size=0x10) addr:0x020bbdd8 -func_ov001_020bbde8 kind:function(thumb,size=0x12) addr:0x020bbde8 -func_ov001_020bbdfc kind:function(thumb,size=0x10) addr:0x020bbdfc -func_ov001_020bbe0c kind:function(thumb,size=0x38) addr:0x020bbe0c -func_ov001_020bbe44 kind:function(thumb,size=0x18) addr:0x020bbe44 -func_ov001_020bbe5c kind:function(thumb,size=0x20) addr:0x020bbe5c -func_ov001_020bbe7c kind:function(thumb,size=0x16) addr:0x020bbe7c -func_ov001_020bbe94 kind:function(thumb,size=0x18) addr:0x020bbe94 +func_ov001_020b8aec kind:function(thumb,size=0xa8) addr:0x020ba32c +func_ov001_020b8b94 kind:function(thumb,size=0x9c) addr:0x020ba3d4 +func_ov001_020b8c30 kind:function(thumb,size=0x4e) addr:0x020ba470 +func_ov001_020b8c80 kind:function(thumb,size=0x10) addr:0x020ba4c0 +func_ov001_020b8c90 kind:function(thumb,size=0x8) addr:0x020ba4d0 +func_ov001_020b8c98 kind:function(thumb,size=0x8) addr:0x020ba4d8 +func_ov001_020b8ca0 kind:function(thumb,size=0x8) addr:0x020ba4e0 +func_ov001_020b8ca8 kind:function(thumb,size=0x2) addr:0x020ba4e8 +func_ov001_020b8cac kind:function(thumb,size=0xfc) addr:0x020ba4ec +func_ov001_020b8da8 kind:function(thumb,size=0xe) addr:0x020ba5e8 +func_ov001_020b8db8 kind:function(thumb,size=0x6c) addr:0x020ba5f8 +func_ov001_020b8e24 kind:function(thumb,size=0x30) addr:0x020ba664 +func_ov001_020b8e54 kind:function(thumb,size=0x20) addr:0x020ba694 +func_ov001_020b8e74 kind:function(thumb,size=0x18) addr:0x020ba6b4 +func_ov001_020b8e8c kind:function(thumb,size=0x1c) addr:0x020ba6cc +func_ov001_020b8ea8 kind:function(thumb,size=0x3c) addr:0x020ba6e8 +func_ov001_020b8ee4 kind:function(thumb,size=0x18) addr:0x020ba724 +func_ov001_020b8efc kind:function(thumb,size=0x1c) addr:0x020ba73c +func_ov001_020b8f18 kind:function(thumb,size=0x80) addr:0x020ba758 +func_ov001_020b8f98 kind:function(thumb,size=0xd4) addr:0x020ba7d8 +func_ov001_020b906c kind:function(thumb,size=0x80) addr:0x020ba8ac +func_ov001_020b90ec kind:function(thumb,size=0xc6) addr:0x020ba92c +func_ov001_020b91b4 kind:function(thumb,size=0x10) addr:0x020ba9f4 +func_ov001_020b91c4 kind:function(thumb,size=0x10) addr:0x020baa04 +func_ov001_020b91d4 kind:function(thumb,size=0x24) addr:0x020baa14 +func_ov001_020b91f8 kind:function(thumb,size=0x1c) addr:0x020baa38 +func_ov001_020b9214 kind:function(thumb,size=0x28) addr:0x020baa54 +func_ov001_020b923c kind:function(thumb,size=0x1c) addr:0x020baa7c +func_ov001_020b9258 kind:function(thumb,size=0x18) addr:0x020baa98 +func_ov001_020b9270 kind:function(thumb,size=0x70) addr:0x020baab0 +func_ov001_020b92e0 kind:function(thumb,size=0x18c) addr:0x020bab20 +func_ov001_020b946c kind:function(thumb,size=0x4) addr:0x020bacac +func_ov001_020b9470 kind:function(thumb,size=0x3e) addr:0x020bacb0 +func_ov001_020b94b0 kind:function(thumb,size=0x164) addr:0x020bacf0 +func_ov001_020b9614 kind:function(thumb,size=0xe) addr:0x020bae54 +func_ov001_020b9624 kind:function(thumb,size=0xfc) addr:0x020bae64 +func_ov001_020b9720 kind:function(thumb,size=0x40) addr:0x020baf60 +func_ov001_020b9760 kind:function(thumb,size=0xe0) addr:0x020bafa0 +func_ov001_020b9840 kind:function(thumb,size=0xc4) addr:0x020bb080 +func_ov001_020b9904 kind:function(thumb,size=0x140) addr:0x020bb144 +func_ov001_020b9a44 kind:function(thumb,size=0x22c) addr:0x020bb284 +func_ov001_020b9c70 kind:function(thumb,size=0x460) addr:0x020bb4b0 +func_ov001_020ba0d0 kind:function(thumb,size=0x17c) addr:0x020bb910 +func_ov001_020ba24c kind:function(thumb,size=0xa4) addr:0x020bba8c +func_ov001_020ba2f0 kind:function(thumb,size=0x5e) addr:0x020bbb30 +func_ov001_020ba350 kind:function(thumb,size=0x36) addr:0x020bbb90 +func_ov001_020ba388 kind:function(thumb,size=0x7e) addr:0x020bbbc8 +func_ov001_020ba408 kind:function(thumb,size=0x80) addr:0x020bbc48 +func_ov001_020ba488 kind:function(thumb,size=0x1c) addr:0x020bbcc8 +func_ov001_020ba4a4 kind:function(thumb,size=0x28) addr:0x020bbce4 +func_ov001_020ba4cc kind:function(thumb,size=0x1c) addr:0x020bbd0c +func_ov001_020ba4e8 kind:function(thumb,size=0x24) addr:0x020bbd28 +_ZN18UnkStruct_027e095c6CreateEv kind:function(thumb,size=0x1c) addr:0x020bbd4c +func_ov001_020ba528 kind:function(thumb,size=0x50) addr:0x020bbd68 +func_ov001_020ba57c kind:function(thumb,size=0xc) addr:0x020bbdb8 +func_ov001_020ba588 kind:function(thumb,size=0x12) addr:0x020bbdc4 +func_ov001_020ba59c kind:function(thumb,size=0x10) addr:0x020bbdd8 +func_ov001_020ba5ac kind:function(thumb,size=0x12) addr:0x020bbde8 +func_ov001_020ba5c0 kind:function(thumb,size=0x10) addr:0x020bbdfc +func_ov001_020ba5d0 kind:function(thumb,size=0x38) addr:0x020bbe0c +func_ov001_020ba608 kind:function(thumb,size=0x18) addr:0x020bbe44 +func_ov001_020ba620 kind:function(thumb,size=0x20) addr:0x020bbe5c +func_ov001_020ba640 kind:function(thumb,size=0x16) addr:0x020bbe7c +func_ov001_020ba658 kind:function(thumb,size=0x18) addr:0x020bbe94 _ZN11SaveManager19func_ov001_020ba670Ev kind:function(thumb,size=0x138) addr:0x020bbeac _ZN11SaveManager19func_ov001_020ba7a8Ev kind:function(thumb,size=0x20) addr:0x020bbfe4 _ZN11SaveManager19func_ov001_020ba7c8Et kind:function(thumb,size=0x90) addr:0x020bc004 -func_ov001_020bc094 kind:function(thumb,size=0x15c) addr:0x020bc094 -func_ov001_020bc1f0 kind:function(thumb,size=0x2) addr:0x020bc1f0 -func_ov001_020bc1f4 kind:function(thumb,size=0x16) addr:0x020bc1f4 -func_ov001_020bc20c kind:function(thumb,size=0x110) addr:0x020bc20c -func_ov001_020bc31c kind:function(thumb,size=0x7c) addr:0x020bc31c -func_ov001_020bc398 kind:function(thumb,size=0x6c) addr:0x020bc398 -func_ov001_020bc404 kind:function(thumb,size=0x20) addr:0x020bc404 -func_ov001_020bc424 kind:function(thumb,size=0x20) addr:0x020bc424 -func_ov001_020bc444 kind:function(thumb,size=0x20) addr:0x020bc444 -func_ov001_020bc464 kind:function(thumb,size=0xc) addr:0x020bc464 -func_ov001_020bc470 kind:function(thumb,size=0xc) addr:0x020bc470 -func_ov001_020bc47c kind:function(thumb,size=0x16) addr:0x020bc47c -func_ov001_020bc494 kind:function(thumb,size=0x1e) addr:0x020bc494 -func_ov001_020bc4b4 kind:function(thumb,size=0x22) addr:0x020bc4b4 -func_ov001_020bc4d8 kind:function(thumb,size=0x3c) addr:0x020bc4d8 -func_ov001_020bc514 kind:function(thumb,size=0xa8) addr:0x020bc514 -func_ov001_020bc5bc kind:function(thumb,size=0x20) addr:0x020bc5bc -func_ov001_020bc5dc kind:function(thumb,size=0x20) addr:0x020bc5dc -func_ov001_020bc5fc kind:function(thumb,size=0x2c) addr:0x020bc5fc -func_ov001_020bc628 kind:function(thumb,size=0x60) addr:0x020bc628 -func_ov001_020bc688 kind:function(thumb,size=0x2c) addr:0x020bc688 -func_ov001_020bc6b4 kind:function(thumb,size=0x34) addr:0x020bc6b4 -func_ov001_020bc6e8 kind:function(thumb,size=0x88) addr:0x020bc6e8 -func_ov001_020bc770 kind:function(thumb,size=0x22) addr:0x020bc770 -func_ov001_020bc794 kind:function(thumb,size=0xc) addr:0x020bc794 -func_ov001_020bc7a0 kind:function(thumb,size=0xc) addr:0x020bc7a0 +func_ov001_020ba858 kind:function(thumb,size=0x15c) addr:0x020bc094 +func_ov001_020ba9b4 kind:function(thumb,size=0x2) addr:0x020bc1f0 +_ZN18UnkStruct_027e09bc6CreateEv kind:function(thumb,size=0x16) addr:0x020bc1f4 +func_ov001_020ba9d0 kind:function(thumb,size=0x110) addr:0x020bc20c +_ZN18UnkStruct_027e09bcD1Ev kind:function(thumb,size=0x7c) addr:0x020bc31c +_ZN18UnkStruct_027e09bc19func_ov001_020bab5cEv kind:function(thumb,size=0x6c) addr:0x020bc398 +_ZN18UnkStruct_027e09bc19func_ov001_020babc8Ev kind:function(thumb,size=0x20) addr:0x020bc404 +func_ov001_020babe8 kind:function(thumb,size=0x20) addr:0x020bc424 +func_ov001_020bac08 kind:function(thumb,size=0x20) addr:0x020bc444 +func_ov001_020bac28 kind:function(thumb,size=0xc) addr:0x020bc464 +func_ov001_020bac34 kind:function(thumb,size=0xc) addr:0x020bc470 +_ZN16MapObjectManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bc47c +func_ov001_020bac58 kind:function(thumb,size=0x1e) addr:0x020bc494 +_ZN16MapObjectManagerD1Ev kind:function(thumb,size=0x22) addr:0x020bc4b4 +func_ov001_020bac9c kind:function(thumb,size=0x3c) addr:0x020bc4d8 +func_ov001_020bacd8 kind:function(thumb,size=0xa8) addr:0x020bc514 +func_ov001_020bad80 kind:function(thumb,size=0x20) addr:0x020bc5bc +func_ov001_020bada0 kind:function(thumb,size=0x20) addr:0x020bc5dc +func_ov001_020badb4 kind:function(thumb,size=0x2c) addr:0x020bc5fc +func_ov001_020bade0 kind:function(thumb,size=0x60) addr:0x020bc628 +func_ov001_020bae40 kind:function(thumb,size=0x2c) addr:0x020bc688 +func_ov001_020bae6c kind:function(thumb,size=0x34) addr:0x020bc6b4 +func_ov001_020baea0 kind:function(thumb,size=0x88) addr:0x020bc6e8 +func_ov001_020baf28 kind:function(thumb,size=0x22) addr:0x020bc770 +func_ov001_020baf4c kind:function(thumb,size=0xc) addr:0x020bc794 +func_ov001_020baf58 kind:function(thumb,size=0xc) addr:0x020bc7a0 _ZN12ActorManager6CreateEv kind:function(thumb,size=0x16) addr:0x020bc7ac _ZN12ActorManagerC1Ev kind:function(thumb,size=0x46) addr:0x020bc7c4 _ZN12ActorManagerD1Ev kind:function(thumb,size=0x18) addr:0x020bc80c @@ -190,203 +190,203 @@ _ZN12ActorManager19func_ov001_020bb824Ev kind:function(thumb,size=0x20) addr:0x0 _ZN12ActorManager19func_ov001_020bb844Ev kind:function(thumb,size=0x20) addr:0x020bd08c _ZN8InstanceI12ActorManagerEC2Ev kind:function(thumb,size=0xc) addr:0x020bd0ac _ZN8InstanceI12ActorManagerED2Ev kind:function(thumb,size=0xc) addr:0x020bd0b8 -func_ov001_020bd0c4 kind:function(thumb,size=0x3c) addr:0x020bd0c4 -func_ov001_020bd100 kind:function(thumb,size=0x2) addr:0x020bd100 -func_ov001_020bd104 kind:function(thumb,size=0x13c) addr:0x020bd104 +func_ov001_020bb87c kind:function(thumb,size=0x3c) addr:0x020bd0c4 +func_ov001_020bb8b8 kind:function(thumb,size=0x2) addr:0x020bd100 +func_ov001_020bb8bc kind:function(thumb,size=0x13c) addr:0x020bd104 _ZN11ItemManager19func_ov001_020bb9f8Ev kind:function(thumb,size=0x5c) addr:0x020bd240 -func_ov001_020bd29c kind:function(thumb,size=0x18) addr:0x020bd29c -func_ov001_020bd2b4 kind:function(thumb,size=0x58) addr:0x020bd2b4 -func_ov001_020bd30c kind:function(thumb,size=0x5c) addr:0x020bd30c +func_ov001_020bba54 kind:function(thumb,size=0x18) addr:0x020bd29c +func_ov001_020bba6c kind:function(thumb,size=0x58) addr:0x020bd2b4 +func_ov001_020bbac4 kind:function(thumb,size=0x5c) addr:0x020bd30c _ZN18PlayerActorBase_70C1Ev kind:function(thumb,size=0x260) addr:0x020bd368 -func_ov001_020bd5c8 kind:function(thumb,size=0x96) addr:0x020bd5c8 -func_ov001_020bd660 kind:function(thumb,size=0x4c) addr:0x020bd660 -func_ov001_020bd6ac kind:function(thumb,size=0x7c) addr:0x020bd6ac -func_ov001_020bd728 kind:function(thumb,size=0x2) addr:0x020bd728 -func_ov001_020bd72c kind:function(thumb,size=0x18) addr:0x020bd72c -func_ov001_020bd744 kind:function(thumb,size=0x2) addr:0x020bd744 -func_ov001_020bd748 kind:function(thumb,size=0x24) addr:0x020bd748 -func_ov001_020bd76c kind:function(thumb,size=0x2a) addr:0x020bd76c -func_ov001_020bd798 kind:function(thumb,size=0x2a) addr:0x020bd798 -func_ov001_020bd7c4 kind:function(thumb,size=0x50) addr:0x020bd7c4 -func_ov001_020bd814 kind:function(thumb,size=0x5a) addr:0x020bd814 +func_ov001_020bbd80 kind:function(thumb,size=0x96) addr:0x020bd5c8 +func_ov001_020bbe18 kind:function(thumb,size=0x4c) addr:0x020bd660 +func_ov001_020bbe64 kind:function(thumb,size=0x7c) addr:0x020bd6ac +func_ov001_020bbee0 kind:function(thumb,size=0x2) addr:0x020bd728 +func_ov001_020bbee4 kind:function(thumb,size=0x18) addr:0x020bd72c +func_ov001_020bbefc kind:function(thumb,size=0x2) addr:0x020bd744 +func_ov001_020bbf00 kind:function(thumb,size=0x24) addr:0x020bd748 +func_ov001_020bbf24 kind:function(thumb,size=0x2a) addr:0x020bd76c +func_ov001_020bbf50 kind:function(thumb,size=0x2a) addr:0x020bd798 +func_ov001_020bbf7c kind:function(thumb,size=0x50) addr:0x020bd7c4 +func_ov001_020bbfcc kind:function(thumb,size=0x5a) addr:0x020bd814 _ZN26UnkStruct_027e0ce0_40_BaseC2Ev kind:function(thumb,size=0x88) addr:0x020bd870 -func_ov001_020bd8f8 kind:function(thumb,size=0x30) addr:0x020bd8f8 -func_ov001_020bd928 kind:function(thumb,size=0x154) addr:0x020bd928 -func_ov001_020bda7c kind:function(thumb,size=0x16) addr:0x020bda7c -func_ov001_020bda94 kind:function(thumb,size=0x30) addr:0x020bda94 -func_ov001_020bdac4 kind:function(thumb,size=0x1e) addr:0x020bdac4 -func_ov001_020bdae4 kind:function(thumb,size=0x1a) addr:0x020bdae4 -func_ov001_020bdb00 kind:function(thumb,size=0x10) addr:0x020bdb00 -func_ov001_020bdb10 kind:function(thumb,size=0x70) addr:0x020bdb10 -func_ov001_020bdb80 kind:function(thumb,size=0x12) addr:0x020bdb80 -func_ov001_020bdb94 kind:function(thumb,size=0x16) addr:0x020bdb94 -func_ov001_020bdbac kind:function(thumb,size=0xec) addr:0x020bdbac -func_ov001_020bdc98 kind:function(thumb,size=0x86) addr:0x020bdc98 -func_ov001_020bdd20 kind:function(thumb,size=0x4c) addr:0x020bdd20 -func_ov001_020bdd6c kind:function(thumb,size=0xd4) addr:0x020bdd6c -func_ov001_020bde40 kind:function(thumb,size=0x62) addr:0x020bde40 -func_ov001_020bdea4 kind:function(thumb,size=0x40) addr:0x020bdea4 -func_ov001_020bdee4 kind:function(thumb,size=0x3c) addr:0x020bdee4 -func_ov001_020bdf20 kind:function(thumb,size=0xe) addr:0x020bdf20 -func_ov001_020bdf30 kind:function(thumb,size=0x14) addr:0x020bdf30 -func_ov001_020bdf44 kind:function(thumb,size=0x52) addr:0x020bdf44 -func_ov001_020bdf98 kind:function(thumb,size=0xc) addr:0x020bdf98 -func_ov001_020bdfa4 kind:function(thumb,size=0xc) addr:0x020bdfa4 -func_ov001_020bdfb0 kind:function(thumb,size=0x20) addr:0x020bdfb0 -func_ov001_020bdfd0 kind:function(thumb,size=0xc) addr:0x020bdfd0 -func_ov001_020bdfdc kind:function(thumb,size=0x8c) addr:0x020bdfdc +func_ov001_020bc0b0 kind:function(thumb,size=0x30) addr:0x020bd8f8 +func_ov001_020bc0e0 kind:function(thumb,size=0x154) addr:0x020bd928 +func_ov001_020bc234 kind:function(thumb,size=0x16) addr:0x020bda7c +func_ov001_020bc24c kind:function(thumb,size=0x30) addr:0x020bda94 +func_ov001_020bc27c kind:function(thumb,size=0x1e) addr:0x020bdac4 +func_ov001_020bc29c kind:function(thumb,size=0x1a) addr:0x020bdae4 +func_ov001_020bc2b8 kind:function(thumb,size=0x10) addr:0x020bdb00 +func_ov001_020bc2c8 kind:function(thumb,size=0x70) addr:0x020bdb10 +func_ov001_020bc338 kind:function(thumb,size=0x12) addr:0x020bdb80 +_ZN18UnkStruct_027e0ce06CreateEv kind:function(thumb,size=0x16) addr:0x020bdb94 +func_ov001_020bc364 kind:function(thumb,size=0xec) addr:0x020bdbac +_ZN18UnkStruct_027e0ce0D1Ev kind:function(thumb,size=0x86) addr:0x020bdc98 +func_ov001_020bc4d8 kind:function(thumb,size=0x4c) addr:0x020bdd20 +_ZN18UnkStruct_027e0ce019func_ov001_020bc524Eb kind:function(thumb,size=0xd4) addr:0x020bdd6c +_ZN18UnkStruct_027e0ce019func_ov001_020bc5f8Ev kind:function(thumb,size=0x62) addr:0x020bde40 +func_ov001_020bc65c kind:function(thumb,size=0x40) addr:0x020bdea4 +func_ov001_020bc69c kind:function(thumb,size=0x3c) addr:0x020bdee4 +func_ov001_020bc6d8 kind:function(thumb,size=0xe) addr:0x020bdf20 +func_ov001_020bc6e8 kind:function(thumb,size=0x14) addr:0x020bdf30 +func_ov001_020bc6fc kind:function(thumb,size=0x52) addr:0x020bdf44 +func_ov001_020bc750 kind:function(thumb,size=0xc) addr:0x020bdf98 +func_ov001_020bc75c kind:function(thumb,size=0xc) addr:0x020bdfa4 +func_ov001_020bc768 kind:function(thumb,size=0x20) addr:0x020bdfb0 +func_ov001_020bc788 kind:function(thumb,size=0xc) addr:0x020bdfd0 +func_ov001_020bc794 kind:function(thumb,size=0x8c) addr:0x020bdfdc _ZN15PlayerActorBaseC2Ev kind:function(thumb,size=0x124) addr:0x020be068 -func_ov001_020be18c kind:function(thumb,size=0x28) addr:0x020be18c -func_ov001_020be1b4 kind:function(thumb,size=0x2e) addr:0x020be1b4 +func_ov001_020bc944 kind:function(thumb,size=0x28) addr:0x020be18c +func_ov001_020bc96c kind:function(thumb,size=0x2e) addr:0x020be1b4 _ZN11PlayerActorC1Ev kind:function(thumb,size=0x138) addr:0x020be1e4 _ZN15PlayerActor_1B0D1Ev kind:function(thumb,size=0xc) addr:0x020be31c -func_ov001_020be328 kind:function(thumb,size=0x80) addr:0x020be328 -func_ov001_020be3a8 kind:function(thumb,size=0x10) addr:0x020be3a8 -func_ov001_020be3b8 kind:function(thumb,size=0x36) addr:0x020be3b8 -func_ov001_020be3f0 kind:function(thumb,size=0x26) addr:0x020be3f0 -func_ov001_020be418 kind:function(thumb,size=0x98) addr:0x020be418 -func_ov001_020be4b0 kind:function(thumb,size=0x20) addr:0x020be4b0 +func_ov001_020bcae0 kind:function(thumb,size=0x80) addr:0x020be328 +func_ov001_020bcb60 kind:function(thumb,size=0x10) addr:0x020be3a8 +func_ov001_020bcb70 kind:function(thumb,size=0x36) addr:0x020be3b8 +func_ov001_020bcba8 kind:function(thumb,size=0x26) addr:0x020be3f0 +func_ov001_020bcbd0 kind:function(thumb,size=0x98) addr:0x020be418 +func_ov001_020bcc68 kind:function(thumb,size=0x20) addr:0x020be4b0 _ZN15PlayerActor_1B0C1Ev kind:function(thumb,size=0xc) addr:0x020be4d0 -func_ov001_020be4dc kind:function(thumb,size=0xc) addr:0x020be4dc -func_ov001_020be4e8 kind:function(thumb,size=0x46) addr:0x020be4e8 -func_ov001_020be530 kind:function(thumb,size=0x2) addr:0x020be530 -func_ov001_020be534 kind:function(thumb,size=0x2fe) addr:0x020be534 -func_ov001_020be834 kind:function(thumb,size=0xb8) addr:0x020be834 -func_ov001_020be8ec kind:function(thumb,size=0x148) addr:0x020be8ec -func_ov001_020bea34 kind:function(thumb,size=0x80) addr:0x020bea34 -func_ov001_020beab4 kind:function(thumb,size=0x74) addr:0x020beab4 -func_ov001_020beb28 kind:function(thumb,size=0x78) addr:0x020beb28 -func_ov001_020beba0 kind:function(thumb,size=0x30) addr:0x020beba0 -func_ov001_020bebd0 kind:function(thumb,size=0x128) addr:0x020bebd0 -func_ov001_020becf8 kind:function(thumb,size=0x40) addr:0x020becf8 -func_ov001_020bed38 kind:function(thumb,size=0x22) addr:0x020bed38 +func_ov001_020bcc94 kind:function(thumb,size=0xc) addr:0x020be4dc +func_ov001_020bcca0 kind:function(thumb,size=0x46) addr:0x020be4e8 +func_ov001_020bcce8 kind:function(thumb,size=0x2) addr:0x020be530 +func_ov001_020bccec kind:function(thumb,size=0x2fe) addr:0x020be534 +func_ov001_020bcfec kind:function(thumb,size=0xb8) addr:0x020be834 +func_ov001_020bd0a4 kind:function(thumb,size=0x148) addr:0x020be8ec +func_ov001_020bd1ec kind:function(thumb,size=0x80) addr:0x020bea34 +func_ov001_020bd26c kind:function(thumb,size=0x74) addr:0x020beab4 +func_ov001_020bd2e0 kind:function(thumb,size=0x78) addr:0x020beb28 +func_ov001_020bd358 kind:function(thumb,size=0x30) addr:0x020beba0 +func_ov001_020bd388 kind:function(thumb,size=0x128) addr:0x020bebd0 +func_ov001_020bd4b0 kind:function(thumb,size=0x40) addr:0x020becf8 +func_ov001_020bd4f0 kind:function(thumb,size=0x22) addr:0x020bed38 _ZN18UnkStruct_0204a11019func_ov001_020bd514EiPvii kind:function(thumb,size=0x78) addr:0x020bed5c _ZN18UnkStruct_0204a11019func_ov001_020bd58cEv kind:function(thumb,size=0x24) addr:0x020bedd4 -func_ov001_020bedf8 kind:function(thumb,size=0x88) addr:0x020bedf8 -func_ov001_020bee80 kind:function(thumb,size=0x40) addr:0x020bee80 -func_ov001_020beec0 kind:function(thumb,size=0x14) addr:0x020beec0 -func_ov001_020beed4 kind:function(thumb,size=0x1c) addr:0x020beed4 -func_ov001_020beef0 kind:function(thumb,size=0x18) addr:0x020beef0 -func_ov001_020bef08 kind:function(thumb,size=0x38) addr:0x020bef08 -func_ov001_020bef40 kind:function(thumb,size=0x30) addr:0x020bef40 -func_ov001_020bef70 kind:function(thumb,size=0xc) addr:0x020bef70 +_ZN18UnkStruct_0204a11019func_ov001_020bd5b0Ev kind:function(thumb,size=0x88) addr:0x020bedf8 +_ZN18UnkStruct_0204a11019func_ov001_020bd638Ev kind:function(thumb,size=0x40) addr:0x020bee80 +func_ov001_020bd678 kind:function(thumb,size=0x14) addr:0x020beec0 +func_ov001_020bd68c kind:function(thumb,size=0x1c) addr:0x020beed4 +func_ov001_020bd6a8 kind:function(thumb,size=0x18) addr:0x020beef0 +func_ov001_020bd6c0 kind:function(thumb,size=0x38) addr:0x020bef08 +func_ov001_020bd6f8 kind:function(thumb,size=0x30) addr:0x020bef40 +func_ov001_020bd728 kind:function(thumb,size=0xc) addr:0x020bef70 _ZN23GameModeManagerBase_00419func_ov001_020bd734EPi kind:function(thumb,size=0x50) addr:0x020bef7c _ZN23GameModeManagerBase_00419func_ov001_020bd784Ev kind:function(thumb,size=0x3c) addr:0x020befcc -func_ov001_020bf008 kind:function(thumb,size=0x8) addr:0x020bf008 +func_ov001_020bd7c0 kind:function(thumb,size=0x8) addr:0x020bf008 _ZN24UnkStruct_ov024_020d86a0C1Ev kind:function(thumb,size=0x32) addr:0x020bf010 _ZN24UnkStruct_ov024_020d86a0D1Ev kind:function(thumb,size=0x1a) addr:0x020bf044 _ZN24UnkStruct_ov024_020d86a019func_ov001_020bd818Ev kind:function(thumb,size=0x24) addr:0x020bf060 -func_ov001_020bf084 kind:function(thumb,size=0xc) addr:0x020bf084 -func_ov001_020bf090 kind:function(thumb,size=0xc) addr:0x020bf090 +func_ov001_020bd83c kind:function(thumb,size=0xc) addr:0x020bf084 +func_ov001_020bd848 kind:function(thumb,size=0xc) addr:0x020bf090 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd854Ev kind:function(thumb,size=0x28) addr:0x020bf09c _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd87cEv kind:function(thumb,size=0x30) addr:0x020bf0c4 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8acEv kind:function(thumb,size=0x30) addr:0x020bf0f4 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8dcEv kind:function(thumb,size=0xc) addr:0x020bf124 -func_ov001_020bf130 kind:function(thumb,size=0x28) addr:0x020bf130 -func_ov001_020bf158 kind:function(thumb,size=0x30) addr:0x020bf158 -func_ov001_020bf188 kind:function(thumb,size=0x3c) addr:0x020bf188 -func_ov001_020bf1c4 kind:function(thumb,size=0x494) addr:0x020bf1c4 -func_ov001_020bf658 kind:function(thumb,size=0x48) addr:0x020bf658 -func_ov001_020bf6a0 kind:function(thumb,size=0x10) addr:0x020bf6a0 -func_ov001_020bf6b0 kind:function(thumb,size=0x10) addr:0x020bf6b0 -func_ov001_020bf6c0 kind:function(thumb,size=0xe) addr:0x020bf6c0 -func_ov001_020bf6d0 kind:function(thumb,size=0x14) addr:0x020bf6d0 -func_ov001_020bf6e4 kind:function(thumb,size=0x110) addr:0x020bf6e4 -func_ov001_020bf7f4 kind:function(thumb,size=0x16) addr:0x020bf7f4 -func_ov001_020bf80c kind:function(thumb,size=0x78) addr:0x020bf80c -func_ov001_020bf884 kind:function(thumb,size=0x2) addr:0x020bf884 -func_ov001_020bf888 kind:function(thumb,size=0x20) addr:0x020bf888 +func_ov001_020bd8e8 kind:function(thumb,size=0x28) addr:0x020bf130 +func_ov001_020bd910 kind:function(thumb,size=0x30) addr:0x020bf158 +func_ov001_020bd934 kind:function(thumb,size=0x3c) addr:0x020bf188 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x494) addr:0x020bf1c4 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x48) addr:0x020bf658 +func_ov001_020bde4c kind:function(thumb,size=0x10) addr:0x020bf6a0 +func_ov001_020bde5c kind:function(thumb,size=0x10) addr:0x020bf6b0 +func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bf6c0 +func_ov001_020bde7c kind:function(thumb,size=0x14) addr:0x020bf6d0 +func_ov001_020bde90 kind:function(thumb,size=0x110) addr:0x020bf6e4 +func_ov001_020bdfa0 kind:function(thumb,size=0x16) addr:0x020bf7f4 +func_ov001_020bdfb8 kind:function(thumb,size=0x78) addr:0x020bf80c +func_ov001_020be030 kind:function(thumb,size=0x2) addr:0x020bf884 +func_ov001_020be034 kind:function(thumb,size=0x20) addr:0x020bf888 func_ov001_020be078 kind:function(thumb,size=0x60) addr:0x020bf8a8 -func_ov001_020be054 kind:function(thumb,size=0x24) addr:0x020bf908 +func_ov001_020be024 kind:function(thumb,size=0x24) addr:0x020bf908 func_ov001_020be0d8 kind:function(thumb,size=0x14) addr:0x020bf92c func_ov001_020be0ec kind:function(thumb,size=0x14) addr:0x020bf940 -func_ov001_020bf954 kind:function(thumb,size=0x2c) addr:0x020bf954 +func_ov001_020be100 kind:function(thumb,size=0x2c) addr:0x020bf954 _ZN24UnkStruct_ov000_020b4eec19func_ov001_020be12cEv kind:function(thumb,size=0xc) addr:0x020bf980 -func_ov001_020bf98c kind:function(thumb,size=0xc0) addr:0x020bf98c -func_ov001_020bfa4c kind:function(thumb,size=0x96) addr:0x020bfa4c -func_ov001_020bfae4 kind:function(thumb,size=0x12) addr:0x020bfae4 -func_ov001_020bfaf8 kind:function(thumb,size=0x10) addr:0x020bfaf8 -func_ov001_020bfb08 kind:function(thumb,size=0x10) addr:0x020bfb08 -func_ov001_020bfb18 kind:function(thumb,size=0xc) addr:0x020bfb18 -func_ov001_020bfb24 kind:function(thumb,size=0x1c) addr:0x020bfb24 -func_ov001_020bfb40 kind:function(thumb,size=0x8) addr:0x020bfb40 -func_ov001_020bfb48 kind:function(thumb,size=0xa0) addr:0x020bfb48 -func_ov001_020bfbe8 kind:function(thumb,size=0x30) addr:0x020bfbe8 -func_ov001_020bfc18 kind:function(thumb,size=0x18) addr:0x020bfc18 -func_ov001_020bfc30 kind:function(thumb,size=0x24) addr:0x020bfc30 -func_ov001_020bfc54 kind:function(thumb,size=0x3c) addr:0x020bfc54 -func_ov001_020bfc90 kind:function(thumb,size=0x20) addr:0x020bfc90 -func_ov001_020bfcb0 kind:function(thumb,size=0xc) addr:0x020bfcb0 -func_ov001_020bfcbc kind:function(thumb,size=0xc) addr:0x020bfcbc -func_ov001_020bfcc8 kind:function(thumb,size=0x70) addr:0x020bfcc8 -func_ov001_020bfd38 kind:function(thumb,size=0x1e) addr:0x020bfd38 -func_ov001_020bfd58 kind:function(thumb,size=0xc) addr:0x020bfd58 +func_ov001_020be138 kind:function(thumb,size=0xc0) addr:0x020bf98c +func_ov001_020be1f8 kind:function(thumb,size=0x96) addr:0x020bfa4c +func_ov001_020be290 kind:function(thumb,size=0x12) addr:0x020bfae4 +func_ov001_020be2a4 kind:function(thumb,size=0x10) addr:0x020bfaf8 +func_ov001_020be2b4 kind:function(thumb,size=0x10) addr:0x020bfb08 +func_ov001_020be2c4 kind:function(thumb,size=0xc) addr:0x020bfb18 +_ZN18UnkStruct_027e09c06CreateEv kind:function(thumb,size=0x1c) addr:0x020bfb24 +_ZN18UnkStruct_027e09c07DestroyEv kind:function(thumb,size=0x8) addr:0x020bfb40 +func_ov001_020be2f4 kind:function(thumb,size=0xa0) addr:0x020bfb48 +_ZN18UnkStruct_027e09c019func_ov001_020be394Ev kind:function(thumb,size=0x30) addr:0x020bfbe8 +_ZN18UnkStruct_027e09c019func_ov001_020be3c4Ev kind:function(thumb,size=0x18) addr:0x020bfc18 +func_ov001_020be3dc kind:function(thumb,size=0x24) addr:0x020bfc30 +func_ov001_020be400 kind:function(thumb,size=0x3c) addr:0x020bfc54 +func_ov001_020be43c kind:function(thumb,size=0x20) addr:0x020bfc90 +func_ov001_020be45c kind:function(thumb,size=0xc) addr:0x020bfcb0 +func_ov001_020be468 kind:function(thumb,size=0xc) addr:0x020bfcbc +func_ov001_020be474 kind:function(thumb,size=0x70) addr:0x020bfcc8 +func_ov001_020be4e4 kind:function(thumb,size=0x1e) addr:0x020bfd38 +func_ov001_020be504 kind:function(thumb,size=0xc) addr:0x020bfd58 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be510Ev kind:function(thumb,size=0xd8) addr:0x020bfd64 -func_ov001_020bfe3c kind:function(thumb,size=0x80) addr:0x020bfe3c +func_ov001_020be5e8 kind:function(thumb,size=0x80) addr:0x020bfe3c _ZN24UnkStruct_ov000_020b504c19func_ov001_020be668Ev kind:function(thumb,size=0x70) addr:0x020bfebc -func_ov001_020bff2c kind:function(thumb,size=0x1c) addr:0x020bff2c +func_ov001_020be6d8 kind:function(thumb,size=0x1c) addr:0x020bff2c _ZN24UnkStruct_ov000_020b504c19func_ov001_020be6f4Ev kind:function(thumb,size=0xa8) addr:0x020bff48 -func_ov001_020bfff0 kind:function(thumb,size=0x90) addr:0x020bfff0 -func_ov001_020c0080 kind:function(thumb,size=0x54) addr:0x020c0080 -func_ov001_020c00d4 kind:function(thumb,size=0x60) addr:0x020c00d4 -func_ov001_020c0134 kind:function(thumb,size=0x4c) addr:0x020c0134 -func_ov001_020c0180 kind:function(thumb,size=0x20) addr:0x020c0180 -func_ov001_020c01a0 kind:function(thumb,size=0x4c) addr:0x020c01a0 -func_ov001_020c01ec kind:function(thumb,size=0x64) addr:0x020c01ec -func_ov001_020c0250 kind:function(thumb,size=0x30) addr:0x020c0250 -func_ov001_020c0280 kind:function(thumb,size=0x14) addr:0x020c0280 -func_ov001_020c0294 kind:function(thumb,size=0x18) addr:0x020c0294 -func_ov001_020c02ac kind:function(thumb,size=0x2c) addr:0x020c02ac -func_ov001_020c02d8 kind:function(thumb,size=0x48) addr:0x020c02d8 -func_ov001_020c0320 kind:function(thumb,size=0xc) addr:0x020c0320 -func_ov001_020c032c kind:function(thumb,size=0xc) addr:0x020c032c -func_ov001_020c0338 kind:function(thumb,size=0x18) addr:0x020c0338 -func_ov001_020c0350 kind:function(thumb,size=0x90) addr:0x020c0350 -func_ov001_020c03e0 kind:function(thumb,size=0x2c) addr:0x020c03e0 -func_ov001_020c040c kind:function(thumb,size=0xd4) addr:0x020c040c -func_ov001_020c04e0 kind:function(thumb,size=0x2) addr:0x020c04e0 -func_ov001_020c04e4 kind:function(thumb,size=0x20) addr:0x020c04e4 -func_ov001_020c0504 kind:function(thumb,size=0x20) addr:0x020c0504 -func_ov001_020c0524 kind:function(thumb,size=0x20) addr:0x020c0524 -func_ov001_020c0544 kind:function(thumb,size=0xc) addr:0x020c0544 -func_ov001_020c0550 kind:function(thumb,size=0xc) addr:0x020c0550 -func_ov001_020c055c kind:function(thumb,size=0xc) addr:0x020c055c -func_ov001_020c0568 kind:function(thumb,size=0x20) addr:0x020c0568 -func_ov001_020c0588 kind:function(thumb,size=0x1c) addr:0x020c0588 -func_ov001_020c05a4 kind:function(thumb,size=0x248) addr:0x020c05a4 -func_ov001_020c07ec kind:function(thumb,size=0x7c) addr:0x020c07ec -func_ov001_020c0868 kind:function(thumb,size=0x14) addr:0x020c0868 -func_ov001_020c087c kind:function(thumb,size=0x1c) addr:0x020c087c -func_ov001_020c0898 kind:function(arm,size=0x38) addr:0x020c0898 -func_ov001_020c08d0 kind:function(arm,size=0x10) addr:0x020c08d0 -func_ov001_020c08e0 kind:function(arm,size=0x14) addr:0x020c08e0 -func_ov001_020c08f4 kind:function(thumb,size=0x14) addr:0x020c08f4 -func_ov001_020c0908 kind:function(thumb,size=0xf4) addr:0x020c0908 -func_ov001_020c09fc kind:function(thumb,size=0x2) addr:0x020c09fc -_ZN19func_ov001_020c0a00D0Ev kind:function(thumb,size=0xc) addr:0x020c0a00 -func_ov001_020c0a0c kind:function(thumb,size=0x60) addr:0x020c0a0c -func_ov001_020c0a6c kind:function(thumb,size=0x14) addr:0x020c0a6c -func_ov001_020c0a80 kind:function(thumb,size=0x8c) addr:0x020c0a80 -func_ov001_020c0b0c kind:function(thumb,size=0xc0) addr:0x020c0b0c -func_ov001_020c0bcc kind:function(thumb,size=0x44) addr:0x020c0bcc -func_ov001_020c0c10 kind:function(thumb,size=0xe) addr:0x020c0c10 -func_ov001_020c0c20 kind:function(thumb,size=0x30) addr:0x020c0c20 -func_ov001_020c0c50 kind:function(thumb,size=0x2c) addr:0x020c0c50 -func_ov001_020c0c7c kind:function(arm,size=0x2c) addr:0x020c0c7c -func_ov001_020c0ca8 kind:function(arm,size=0x2c) addr:0x020c0ca8 -func_ov001_020c0cd4 kind:function(arm,size=0x2c) addr:0x020c0cd4 +func_ov001_020be79c kind:function(thumb,size=0x90) addr:0x020bfff0 +func_ov001_020be82c kind:function(thumb,size=0x54) addr:0x020c0080 +func_ov001_020be880 kind:function(thumb,size=0x60) addr:0x020c00d4 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be8e0Ev kind:function(thumb,size=0x4c) addr:0x020c0134 +func_ov001_020be92c kind:function(thumb,size=0x20) addr:0x020c0180 +func_ov001_020be94c kind:function(thumb,size=0x4c) addr:0x020c01a0 +func_ov001_020be998 kind:function(thumb,size=0x64) addr:0x020c01ec +func_ov001_020be9fc kind:function(thumb,size=0x30) addr:0x020c0250 +func_ov001_020bea2c kind:function(thumb,size=0x14) addr:0x020c0280 +func_ov001_020bea40 kind:function(thumb,size=0x18) addr:0x020c0294 +func_ov001_020bea58 kind:function(thumb,size=0x2c) addr:0x020c02ac +func_ov001_020bea84 kind:function(thumb,size=0x48) addr:0x020c02d8 +func_ov001_020beacc kind:function(thumb,size=0xc) addr:0x020c0320 +func_ov001_020bead8 kind:function(thumb,size=0xc) addr:0x020c032c +_ZN18UnkStruct_027e09ac6CreateEv kind:function(thumb,size=0x18) addr:0x020c0338 +func_ov001_020beafc kind:function(thumb,size=0x90) addr:0x020c0350 +_ZN18UnkStruct_027e09acD1Ev kind:function(thumb,size=0x2c) addr:0x020c03e0 +_ZN18UnkStruct_027e09ac19func_ov001_020bebb8Ev kind:function(thumb,size=0xd4) addr:0x020c040c +_ZN18UnkStruct_027e09ac19func_ov001_020bec8cEv kind:function(thumb,size=0x2) addr:0x020c04e0 +func_ov001_020bec90 kind:function(thumb,size=0x20) addr:0x020c04e4 +func_ov001_020becb0 kind:function(thumb,size=0x20) addr:0x020c0504 +func_ov001_020becd0 kind:function(thumb,size=0x20) addr:0x020c0524 +func_ov001_020becf0 kind:function(thumb,size=0xc) addr:0x020c0544 +func_ov001_020becfc kind:function(thumb,size=0xc) addr:0x020c0550 +func_ov001_020bed08 kind:function(thumb,size=0xc) addr:0x020c055c +_ZN18UnkStruct_027e0cec6CreateEv kind:function(thumb,size=0x20) addr:0x020c0568 +func_ov001_020bed34 kind:function(thumb,size=0x1c) addr:0x020c0588 +func_ov001_020bed50 kind:function(thumb,size=0x248) addr:0x020c05a4 +func_ov001_020bef98 kind:function(thumb,size=0x7c) addr:0x020c07ec +func_ov001_020bf014 kind:function(thumb,size=0x14) addr:0x020c0868 +func_ov001_020bf028 kind:function(thumb,size=0x1c) addr:0x020c087c +func_ov001_020bf044 kind:function(arm,size=0x38) addr:0x020c0898 +func_ov001_020bf07c kind:function(arm,size=0x10) addr:0x020c08d0 +func_ov001_020bf08c kind:function(arm,size=0x14) addr:0x020c08e0 +func_ov001_020bf0a0 kind:function(thumb,size=0x14) addr:0x020c08f4 +func_ov001_020bf0b4 kind:function(thumb,size=0xf4) addr:0x020c0908 +func_ov001_020bf1a8 kind:function(thumb,size=0x2) addr:0x020c09fc +_ZN19func_ov001_020bf1acD0Ev kind:function(thumb,size=0xc) addr:0x020c0a00 +func_ov001_020bf1b8 kind:function(thumb,size=0x60) addr:0x020c0a0c +func_ov001_020bf218 kind:function(thumb,size=0x14) addr:0x020c0a6c +func_ov001_020bf22c kind:function(thumb,size=0x8c) addr:0x020c0a80 +func_ov001_020bf2b8 kind:function(thumb,size=0xc0) addr:0x020c0b0c +func_ov001_020bf378 kind:function(thumb,size=0x44) addr:0x020c0bcc +func_ov001_020bf3bc kind:function(thumb,size=0xe) addr:0x020c0c10 +func_ov001_020bf3cc kind:function(thumb,size=0x30) addr:0x020c0c20 +func_ov001_020bf3fc kind:function(thumb,size=0x2c) addr:0x020c0c50 +func_ov001_020bf428 kind:function(arm,size=0x2c) addr:0x020c0c7c +func_ov001_020bf454 kind:function(arm,size=0x2c) addr:0x020c0ca8 +func_ov001_020bf480 kind:function(arm,size=0x2c) addr:0x020c0cd4 _ZN18UnkStruct_027e0d00C1Ev kind:function(thumb,size=0x76) addr:0x020c0d00 _ZN18UnkStruct_027e0d00D1Ev kind:function(thumb,size=0xc) addr:0x020c0d78 -func_ov001_020c0d84 kind:function(thumb,size=0x38) addr:0x020c0d84 -func_ov001_020c0dbc kind:function(thumb,size=0x28) addr:0x020c0dbc -func_ov001_020c0de4 kind:function(thumb,size=0x10c) addr:0x020c0de4 -func_ov001_020c0ef0 kind:function(thumb,size=0x94) addr:0x020c0ef0 -func_ov001_020c0f84 kind:function(thumb,size=0x20) addr:0x020c0f84 -func_ov001_020c0fa4 kind:function(thumb,size=0x16) addr:0x020c0fa4 -func_ov001_020c0fbc kind:function(thumb,size=0x50) addr:0x020c0fbc -func_ov001_020c100c kind:function(thumb,size=0x2e) addr:0x020c100c -func_ov001_020c103c kind:function(thumb,size=0xc) addr:0x020c103c -func_ov001_020c1048 kind:function(thumb,size=0xc) addr:0x020c1048 +func_ov001_020bf530 kind:function(thumb,size=0x38) addr:0x020c0d84 +func_ov001_020bf568 kind:function(thumb,size=0x28) addr:0x020c0dbc +func_ov001_020bf590 kind:function(thumb,size=0x10c) addr:0x020c0de4 +func_ov001_020bf69c kind:function(thumb,size=0x94) addr:0x020c0ef0 +func_ov001_020bf730 kind:function(thumb,size=0x20) addr:0x020c0f84 +func_ov001_020bf750 kind:function(thumb,size=0x16) addr:0x020c0fa4 +func_ov001_020bf768 kind:function(thumb,size=0x50) addr:0x020c0fbc +func_ov001_020bf7b8 kind:function(thumb,size=0x2e) addr:0x020c100c +func_ov001_020bf7e8 kind:function(thumb,size=0xc) addr:0x020c103c +func_ov001_020bf7f4 kind:function(thumb,size=0xc) addr:0x020c1048 _ZN12CargoManagerC1Ev kind:function(thumb,size=0x22) addr:0x020c1054 _ZN12CargoManagerD1Ev kind:function(thumb,size=0xc) addr:0x020c1078 _ZN12CargoManager19func_ov001_020bf830Ev kind:function(thumb,size=0x28) addr:0x020c1084 @@ -404,22 +404,22 @@ _ZN8InstanceI16PassengerManagerED2Ev kind:function(thumb,size=0xc) addr:0x020c12 _ZN24UnkStruct_027e0cf8_08_00C1Eh kind:function(thumb,size=0xc2) addr:0x020c12a4 _ZN24UnkStruct_027e0cf8_08_00D1Ev kind:function(thumb,size=0xc) addr:0x020c1368 _ZN24UnkStruct_027e0cf8_08_0019func_ov001_020bfb20Ev kind:function(thumb,size=0x1a0) addr:0x020c1374 -func_ov001_020c1514 kind:function(thumb,size=0x30) addr:0x020c1514 -func_ov001_020c1544 kind:function(thumb,size=0x30) addr:0x020c1544 -func_ov001_020c1574 kind:function(thumb,size=0x34) addr:0x020c1574 -func_ov001_020c15a8 kind:function(thumb,size=0x30) addr:0x020c15a8 -func_ov001_020c15d8 kind:function(thumb,size=0x4c) addr:0x020c15d8 -func_ov001_020c1624 kind:function(thumb,size=0x3c) addr:0x020c1624 -func_ov001_020c1660 kind:function(thumb,size=0x3c) addr:0x020c1660 -func_ov001_020c169c kind:function(thumb,size=0x3c) addr:0x020c169c -func_ov001_020c16d8 kind:function(thumb,size=0x2c) addr:0x020c16d8 -func_ov001_020c1704 kind:function(thumb,size=0x3c) addr:0x020c1704 -func_ov001_020c1740 kind:function(thumb,size=0x10) addr:0x020c1740 -func_ov001_020c1750 kind:function(thumb,size=0x10) addr:0x020c1750 -func_ov001_020c1760 kind:function(thumb,size=0x10) addr:0x020c1760 -func_ov001_020c1770 kind:function(thumb,size=0x10) addr:0x020c1770 -func_ov001_020c1780 kind:function(thumb,size=0x8) addr:0x020c1780 -func_ov001_020c1788 kind:function(thumb,size=0x40) addr:0x020c1788 +func_ov001_020bfcc0 kind:function(thumb,size=0x30) addr:0x020c1514 +func_ov001_020bfcf0 kind:function(thumb,size=0x30) addr:0x020c1544 +func_ov001_020bfd20 kind:function(thumb,size=0x34) addr:0x020c1574 +func_ov001_020bfd54 kind:function(thumb,size=0x30) addr:0x020c15a8 +func_ov001_020bfd84 kind:function(thumb,size=0x4c) addr:0x020c15d8 +func_ov001_020bfdd0 kind:function(thumb,size=0x3c) addr:0x020c1624 +func_ov001_020bfe0c kind:function(thumb,size=0x3c) addr:0x020c1660 +func_ov001_020bfe48 kind:function(thumb,size=0x3c) addr:0x020c169c +func_ov001_020bfe84 kind:function(thumb,size=0x2c) addr:0x020c16d8 +func_ov001_020bfeb0 kind:function(thumb,size=0x3c) addr:0x020c1704 +func_ov001_020bfeec kind:function(thumb,size=0x10) addr:0x020c1740 +func_ov001_020bfefc kind:function(thumb,size=0x10) addr:0x020c1750 +func_ov001_020bff0c kind:function(thumb,size=0x10) addr:0x020c1760 +func_ov001_020bff1c kind:function(thumb,size=0x10) addr:0x020c1770 +func_ov001_020bff2c kind:function(thumb,size=0x8) addr:0x020c1780 +func_ov001_020bff34 kind:function(thumb,size=0x40) addr:0x020c1788 _ZN20AdventureModeManager6CreateEi kind:function(thumb,size=0x1c) addr:0x020c17c8 _ZN20AdventureModeManagerC1Ei kind:function(thumb,size=0x134) addr:0x020c17e4 _ZN20AdventureModeManager8vfunc_10Eiii kind:function(thumb,size=0x10) addr:0x020c1918 @@ -439,9 +439,9 @@ _ZN24UnkStruct_ov000_020b4f70D1Ev kind:function(thumb,size=0xc) addr:0x020c2100 _ZN24AdventureModeManager_15CC1Ev kind:function(thumb,size=0x68) addr:0x020c210c _ZN24AdventureModeManager_15CD1Ev kind:function(thumb,size=0x22) addr:0x020c2174 _ZN17GameModeAdventureC1Ev kind:function(thumb,size=0x58) addr:0x020c2198 -func_ov001_020c21f0 kind:function(thumb,size=0x24) addr:0x020c21f0 -func_ov001_020c2214 kind:function(thumb,size=0x1c) addr:0x020c2214 -func_ov001_020c2230 kind:function(thumb,size=0x48) addr:0x020c2230 +func_ov001_020c099c kind:function(thumb,size=0x24) addr:0x020c21f0 +func_ov001_020c09c0 kind:function(thumb,size=0x1c) addr:0x020c2214 +func_ov001_020c09dc kind:function(thumb,size=0x48) addr:0x020c2230 DetectFlashcart kind:function(arm,size=0xb8,unknown) addr:0x020c2278 DetectNotFlashcart kind:function(arm,size=0xb8,unknown) addr:0x020c2330 DetectEmulator kind:function(arm,size=0xb8,unknown) addr:0x020c23e8 @@ -491,9 +491,9 @@ RC4_DecryptInstructions kind:function(arm,size=0x10c,unknown) addr:0x020c3c08 RC4_InitAndEncryptInstructions kind:function(arm,size=0x58,unknown) addr:0x020c3d14 RC4_InitAndDecryptInstructions kind:function(arm,size=0x58,unknown) addr:0x020c3d6c NitroStaticInit kind:function(arm,size=0x50,unknown) addr:0x020c3dc4 local -bad_mac_addr kind:data(any) addr:0x020c3e14 -data_ov001_020c3e28 kind:data(any) addr:0x020c3e28 -data_ov001_020c3e50 kind:data(any) addr:0x020c3e50 +data_ov001_020c25c0 kind:data(any) addr:0x020c3e14 +data_ov001_020c25d4 kind:data(any) addr:0x020c3e28 +data_ov001_020c25fc kind:data(any) addr:0x020c3e50 data_ov001_020c3e78 kind:data(any) addr:0x020c3e78 data_ov001_020c3e7c kind:data(any) addr:0x020c3e7c data_ov001_020c3e82 kind:data(any) addr:0x020c3e82 @@ -506,10 +506,10 @@ data_ov001_020c3fb2 kind:data(any) addr:0x020c3fb2 data_ov001_020c3fc0 kind:data(any) addr:0x020c3fc0 data_ov001_020c3ffc kind:data(any) addr:0x020c3ffc data_ov001_020c4060 kind:data(any) addr:0x020c4060 -__sinit_ov001_020c4068 kind:function(thumb,size=0x24) addr:0x020c4068 +__sinit_CourseList.cpp kind:function(thumb,size=0x24) addr:0x020c4068 local __sinit_ov001_020c408c kind:function(thumb,size=0xb8) addr:0x020c408c __sinit_ov001_020c4144 kind:function(thumb,size=0x10) addr:0x020c4144 -.p__sinit_ov001_020c4068 kind:data(word) addr:0x020c4154 +.p__sinit_CourseList.cpp kind:data(word) addr:0x020c4154 local .p__sinit_ov001_020c408c kind:data(word) addr:0x020c4158 .p__sinit_ov001_020c4144 kind:data(word) addr:0x020c415c .p__sinit_ov001_020c2958 kind:data(word) addr:0x020c4160 local @@ -517,8 +517,8 @@ __sinit_ov001_020c4144 kind:function(thumb,size=0x10) addr:0x020c4144 .p__sinit_ov001_020c3218 kind:data(word) addr:0x020c4168 local .p__sinit_ov001_020c39d4 kind:data(word) addr:0x020c416c local .p__sinit_ov001_020c3dc4 kind:data(word) addr:0x020c4170 local -data_ov001_020c4180 kind:data(any) addr:0x020c4180 -data_ov001_020c4198 kind:data(any) addr:0x020c4198 +@433 kind:data(byte[0x16]) addr:0x020c4180 local +@450 kind:data(byte[0x16]) addr:0x020c4198 local data_ov001_020c41b0 kind:data(any) addr:0x020c41b0 data_ov001_020c41c4 kind:data(any) addr:0x020c41c4 data_ov001_020c41c8 kind:data(any) addr:0x020c41c8 @@ -637,30 +637,8 @@ data_ov001_020c47f4 kind:data(any) addr:0x020c47f4 data_ov001_020c480c kind:data(any) addr:0x020c480c data_ov001_020c4814 kind:data(any) addr:0x020c4814 data_ov001_020c4818 kind:data(any) addr:0x020c4818 -data_ov001_020c4820 kind:bss addr:0x020c4820 -data_ov001_020c4824 kind:bss addr:0x020c4824 -data_ov001_020c4890 kind:bss addr:0x020c4890 -data_ov001_020c49ac kind:bss addr:0x020c49ac ambiguous -data_ov001_020c4a14 kind:bss addr:0x020c4a14 -data_ov001_020c4a6c kind:bss addr:0x020c4a6c -data_ov001_020c4ae4 kind:bss addr:0x020c4ae4 -data_ov001_020c4b5c kind:bss addr:0x020c4b5c -data_ov001_020c4c20 kind:bss addr:0x020c4c20 -data_ov001_020c4ce4 kind:bss addr:0x020c4ce4 -data_ov001_020c4d5c kind:bss addr:0x020c4d5c -data_ov001_020c4e1c kind:bss addr:0x020c4e1c -data_ov001_020c4e90 kind:bss addr:0x020c4e90 -data_ov001_020c4edc kind:bss addr:0x020c4edc -data_ov001_020c4f00 kind:bss addr:0x020c4f00 -data_ov001_020c5008 kind:bss addr:0x020c5008 -data_ov001_020c5114 kind:bss addr:0x020c5114 -data_ov001_020c5138 kind:bss addr:0x020c5138 ambiguous -data_ov001_020c516c kind:bss addr:0x020c516c -data_ov001_020c51a8 kind:bss addr:0x020c51a8 ambiguous -data_ov001_020c5200 kind:bss addr:0x020c5200 ambiguous -data_ov001_020c5448 kind:bss addr:0x020c5448 -data_ov001_020c5758 kind:bss addr:0x020c5758 -data_ov001_020c5790 kind:bss addr:0x020c5790 ambiguous +_ZGVN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c4820 +_ZN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c4824 data_ov001_020c5928 kind:bss addr:0x020c5928 data_ov001_020c5934 kind:bss addr:0x020c5934 data_ov001_020c5f34 kind:bss addr:0x020c5f34 diff --git a/config/jp/arm9/overlays/ov002/symbols.txt b/config/jp/arm9/overlays/ov002/symbols.txt index 28099877..1f0c0dd8 100644 --- a/config/jp/arm9/overlays/ov002/symbols.txt +++ b/config/jp/arm9/overlays/ov002/symbols.txt @@ -1,4 +1,4 @@ -func_ov002_020b7d40 kind:function(thumb,size=0x14) addr:0x020b7d40 +func_ov002_020b6520 kind:function(thumb,size=0x14) addr:0x020b7d40 func_ov002_020b7d54 kind:function(thumb,size=0x2) addr:0x020b7d54 _ZN19func_ov002_020b7d58D0Ev kind:function(thumb,size=0xc) addr:0x020b7d58 func_ov002_020b7d64 kind:function(thumb,size=0x94) addr:0x020b7d64 diff --git a/config/jp/arm9/overlays/ov017/symbols.txt b/config/jp/arm9/overlays/ov017/symbols.txt index cf9e8d2d..6b8fb840 100644 --- a/config/jp/arm9/overlays/ov017/symbols.txt +++ b/config/jp/arm9/overlays/ov017/symbols.txt @@ -177,6 +177,7 @@ __sinit_ov017_020c56f4 kind:function(arm,size=0x18) addr:0x020c56f4 .p__sinit_ov017_020c56f4 kind:data(word) addr:0x020c5714 data_ov017_020c5728 kind:data(any) addr:0x020c5728 data_ov017_020c5734 kind:data(any) addr:0x020c5734 +data_ov017_020c5758 kind:data(any) addr:0x020c5758 data_ov017_020c575c kind:data(any) addr:0x020c575c data_ov017_020c5760 kind:data(any) addr:0x020c5760 data_ov017_020c5780 kind:bss addr:0x020c5780 diff --git a/config/jp/arm9/overlays/ov021/relocs.txt b/config/jp/arm9/overlays/ov021/relocs.txt index eadf60ba..4b0e216b 100644 --- a/config/jp/arm9/overlays/ov021/relocs.txt +++ b/config/jp/arm9/overlays/ov021/relocs.txt @@ -2846,7 +2846,7 @@ from:0x02104534 kind:load to:0x02103a20 module:overlay(21) from:0x02104538 kind:load to:0x020b3724 add:0x8 module:overlay(0) from:0x0210453c kind:load to:0x020b3784 add:0x8 module:overlay(0) from:0x02104544 kind:load to:0x0210b4d8 module:overlay(21) -from:0x02104548 kind:load to:0x020c5790 module:overlays(1,17) +from:0x02104548 kind:load to:0x020c5790 module:overlay(17) from:0x0210454c kind:load to:0x02103904 module:overlay(21) from:0x02104550 kind:load to:0x021039a8 module:overlay(21) from:0x02104554 kind:load to:0x02108ccc module:overlay(21) @@ -2887,7 +2887,7 @@ from:0x021046e4 kind:arm_call_thumb to:0x02059bec module:overlay(0) from:0x021046f8 kind:arm_call to:0x0203e740 module:main from:0x02104700 kind:arm_call to:0x021020a0 module:overlay(21) from:0x0210470c kind:load to:0x0210aa5c module:overlay(21) -from:0x02104710 kind:load to:0x020c5790 module:overlays(1,17) +from:0x02104710 kind:load to:0x020c5790 module:overlay(17) from:0x02104714 kind:load to:0x0210b4d8 module:overlay(21) from:0x02104718 kind:load to:0x02104580 module:overlay(21) from:0x02104734 kind:arm_call to:0x0201f288 module:main @@ -2914,7 +2914,7 @@ from:0x02104828 kind:arm_call to:0x0203e740 module:main from:0x02104830 kind:arm_call to:0x021020a0 module:overlay(21) from:0x02104838 kind:arm_call to:0x02011ff4 module:main from:0x02104844 kind:load to:0x0210aa5c module:overlay(21) -from:0x02104848 kind:load to:0x020c5790 module:overlays(1,17) +from:0x02104848 kind:load to:0x020c5790 module:overlay(17) from:0x0210484c kind:load to:0x0210b4d8 module:overlay(21) from:0x02104850 kind:load to:0x02104580 module:overlay(21) from:0x02104874 kind:arm_call to:0x02107420 module:overlay(21) diff --git a/config/jp/arm9/overlays/ov021/symbols.txt b/config/jp/arm9/overlays/ov021/symbols.txt index 5c69fbf8..a3380d69 100644 --- a/config/jp/arm9/overlays/ov021/symbols.txt +++ b/config/jp/arm9/overlays/ov021/symbols.txt @@ -37,7 +37,7 @@ func_ov021_020ebf4c kind:function(arm,size=0x1c) addr:0x020ebf4c func_ov021_020ebf68 kind:function(arm,size=0x10) addr:0x020ebf68 func_ov021_020ebf78 kind:function(arm,size=0x2c) addr:0x020ebf78 func_ov021_020ebfa4 kind:function(arm,size=0x14) addr:0x020ebfa4 -func_ov021_020ebfb8 kind:function(arm,size=0x44) addr:0x020ebfb8 +_ZN27UnkStruct_027e09a4_54_Type3C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x44) addr:0x020ebfb8 _ZN19func_ov021_020ebffcD1Ev kind:function(arm,size=0x30) addr:0x020ebffc _ZN19func_ov021_020ec02cD0Ev kind:function(arm,size=0x38) addr:0x020ec02c func_ov021_020ec064 kind:function(arm,size=0xc) addr:0x020ec064 diff --git a/config/jp/arm9/overlays/ov022/relocs.txt b/config/jp/arm9/overlays/ov022/relocs.txt index c42551a3..a23cc50c 100644 --- a/config/jp/arm9/overlays/ov022/relocs.txt +++ b/config/jp/arm9/overlays/ov022/relocs.txt @@ -33,7 +33,7 @@ from:0x020eb4d0 kind:arm_call to:0x020ca644 module:overlay(20) from:0x020eb4e4 kind:arm_call to:0x020c9d8c module:overlay(20) from:0x020eb4ec kind:arm_call to:0x020182e4 module:main from:0x020eb4f8 kind:load to:0x020ef9ec add:0x8 module:overlay(22) -from:0x020eb4fc kind:load to:0x020c5790 module:overlays(1,17) +from:0x020eb4fc kind:load to:0x020c5790 module:overlay(17) from:0x020eb500 kind:load to:0x0204b120 module:main from:0x020eb504 kind:load to:0x020b684c module:overlay(0) from:0x020eb508 kind:load to:0x020b68c0 module:overlay(0) @@ -49,7 +49,7 @@ from:0x020eb59c kind:arm_call to:0x020c9d8c module:overlay(20) from:0x020eb5a4 kind:arm_call to:0x020182e4 module:main from:0x020eb5ac kind:arm_call to:0x02011ff4 module:main from:0x020eb5b8 kind:load to:0x020ef9ec add:0x8 module:overlay(22) -from:0x020eb5bc kind:load to:0x020c5790 module:overlays(1,17) +from:0x020eb5bc kind:load to:0x020c5790 module:overlay(17) from:0x020eb5c0 kind:load to:0x0204b120 module:main from:0x020eb5c4 kind:load to:0x020b684c module:overlay(0) from:0x020eb5c8 kind:load to:0x020b68c0 module:overlay(0) @@ -76,7 +76,7 @@ from:0x020eb6c4 kind:load to:0x020b68c0 module:overlay(0) from:0x020eb6c8 kind:load to:0x020ea3a0 module:overlay(20) from:0x020eb6cc kind:load to:0x020b69b8 module:overlay(0) from:0x020eb6d0 kind:load to:0x0204b120 module:main -from:0x020eb6d4 kind:load to:0x020c5790 module:overlays(1,17) +from:0x020eb6d4 kind:load to:0x020c5790 module:overlay(17) from:0x020eb6e4 kind:arm_call to:0x020c9ff4 module:overlay(20) from:0x020eb6f4 kind:arm_call to:0x020eea0c module:overlay(22) from:0x020eb72c kind:arm_call to:0x020ebf84 module:overlay(22) diff --git a/config/jp/arm9/overlays/ov023/relocs.txt b/config/jp/arm9/overlays/ov023/relocs.txt index d434d7f2..fb1d218e 100644 --- a/config/jp/arm9/overlays/ov023/relocs.txt +++ b/config/jp/arm9/overlays/ov023/relocs.txt @@ -31,7 +31,7 @@ from:0x020eb44c kind:arm_call to:0x020ebb5c module:overlay(23) from:0x020eb450 kind:arm_call to:0x0200e234 module:main from:0x020eb464 kind:arm_call to:0x020182e4 module:main from:0x020eb470 kind:load to:0x020f3240 add:0x8 module:overlay(23) -from:0x020eb474 kind:load to:0x020c5790 module:overlays(1,17) +from:0x020eb474 kind:load to:0x020c5790 module:overlay(17) from:0x020eb478 kind:load to:0x0204b120 module:main from:0x020eb47c kind:load to:0x020b684c module:overlay(0) from:0x020eb480 kind:load to:0x020f3440 module:overlay(23) @@ -45,7 +45,7 @@ from:0x020eb4bc kind:arm_call to:0x0200e234 module:main from:0x020eb4d0 kind:arm_call to:0x020182e4 module:main from:0x020eb4d8 kind:arm_call to:0x02011ff4 module:main from:0x020eb4e4 kind:load to:0x020f3240 add:0x8 module:overlay(23) -from:0x020eb4e8 kind:load to:0x020c5790 module:overlays(1,17) +from:0x020eb4e8 kind:load to:0x020c5790 module:overlay(17) from:0x020eb4ec kind:load to:0x0204b120 module:main from:0x020eb4f0 kind:load to:0x020b684c module:overlay(0) from:0x020eb4f4 kind:load to:0x020f3440 module:overlay(23) @@ -66,7 +66,7 @@ from:0x020eb628 kind:load to:0x020b66ec module:overlay(0) from:0x020eb62c kind:load to:0x020b7d20 module:overlay(0) from:0x020eb630 kind:load to:0x020b684c module:overlay(0) from:0x020eb634 kind:load to:0x0204b120 module:main -from:0x020eb638 kind:load to:0x020c5790 module:overlays(1,17) +from:0x020eb638 kind:load to:0x020c5790 module:overlay(17) from:0x020eb6b4 kind:arm_call to:0x020eb958 module:overlay(23) from:0x020eb6cc kind:arm_call to:0x020f0e7c module:overlay(23) from:0x020eb6dc kind:arm_call to:0x020eb870 module:overlay(23) diff --git a/config/jp/arm9/overlays/ov024/relocs.txt b/config/jp/arm9/overlays/ov024/relocs.txt index ec29e912..7097a43b 100644 --- a/config/jp/arm9/overlays/ov024/relocs.txt +++ b/config/jp/arm9/overlays/ov024/relocs.txt @@ -658,7 +658,7 @@ from:0x020c9d2c kind:arm_call to:0x0201b974 module:main from:0x020c9d58 kind:arm_call to:0x0201b798 module:main from:0x020c9d68 kind:load to:0x0204fb78 module:main from:0x020c9d80 kind:arm_call to:0x020627d0 module:overlay(0) -from:0x020c9d90 kind:arm_call_thumb to:0x020b7d40 module:overlays(1,2,6,10,12,14) +from:0x020c9d90 kind:arm_call_thumb to:0x020b7d40 module:overlays(2,6,10,12,14) from:0x020c9da0 kind:arm_call_thumb to:0x020b82dc module:overlay(6) from:0x020c9db8 kind:arm_call_thumb to:0x020b83f8 module:overlay(6) from:0x020c9de0 kind:arm_call_thumb to:0x020b8164 module:overlays(6,14) diff --git a/config/jp/arm9/overlays/ov026/symbols.txt b/config/jp/arm9/overlays/ov026/symbols.txt index 30107780..39ac2d42 100644 --- a/config/jp/arm9/overlays/ov026/symbols.txt +++ b/config/jp/arm9/overlays/ov026/symbols.txt @@ -1111,7 +1111,7 @@ func_ov026_02108704 kind:function(arm,size=0x30) addr:0x02108704 func_ov026_02108734 kind:function(arm,size=0x20) addr:0x02108734 func_ov026_02108754 kind:function(arm,size=0x20) addr:0x02108754 func_ov026_02108774 kind:function(arm,size=0x4c) addr:0x02108774 -func_ov026_021087c0 kind:function(arm,size=0x54) addr:0x021087c0 +func_ov026_02106564 kind:function(arm,size=0x54) addr:0x021087c0 func_ov026_02108814 kind:function(arm,size=0x20c) addr:0x02108814 func_ov026_02108a20 kind:function(arm,size=0x8) addr:0x02108a20 func_ov026_02108a28 kind:function(arm,size=0x5c) addr:0x02108a28 @@ -2208,7 +2208,7 @@ func_ov026_02131cf8 kind:function(arm,size=0x118) addr:0x02131cf8 func_ov026_02131e10 kind:function(arm,size=0x28) addr:0x02131e10 func_ov026_02131e38 kind:function(arm,size=0x10) addr:0x02131e38 func_ov026_02131e48 kind:function(arm,size=0x14) addr:0x02131e48 -func_ov026_02131e5c kind:function(arm,size=0xc8) addr:0x02131e5c +_ZN27UnkStruct_027e09a4_54_Type2C1EP18UnkStruct_027e09a4 kind:function(arm,size=0xc8) addr:0x02131e5c func_ov026_02131f24 kind:function(arm,size=0x184) addr:0x02131f24 func_ov026_021320a8 kind:function(arm,size=0xd4) addr:0x021320a8 _ZN19func_ov026_0213217cD1Ev kind:function(arm,size=0x14) addr:0x0213217c diff --git a/config/jp/arm9/overlays/ov058/symbols.txt b/config/jp/arm9/overlays/ov058/symbols.txt index c4eebe36..ea918dc9 100644 --- a/config/jp/arm9/overlays/ov058/symbols.txt +++ b/config/jp/arm9/overlays/ov058/symbols.txt @@ -1,9 +1,9 @@ -func_ov058_02140ba0 kind:function(arm,size=0x110) addr:0x02140ba0 +_ZN27UnkStruct_027e09a4_54_Type1C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x110) addr:0x02140ba0 func_ov058_02140cb0 kind:function(arm,size=0x20) addr:0x02140cb0 func_ov058_02140cd0 kind:function(arm,size=0x38) addr:0x02140cd0 _ZN19func_ov058_02140d08D1Ev kind:function(arm,size=0x14) addr:0x02140d08 _ZN19func_ov058_02140d1cD0Ev kind:function(arm,size=0x1c) addr:0x02140d1c -func_ov058_02140d38 kind:function(arm,size=0x68) addr:0x02140d38 +_ZN27UnkStruct_027e09a4_54_Type4C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x68) addr:0x02140d38 func_ov058_02140da0 kind:function(arm,size=0x20) addr:0x02140da0 func_ov058_02140dc0 kind:function(arm,size=0x3c) addr:0x02140dc0 func_ov058_02140dfc kind:function(arm,size=0x8) addr:0x02140dfc diff --git a/config/jp/arm9/overlays/ov070/symbols.txt b/config/jp/arm9/overlays/ov070/symbols.txt index 05ba3804..c9fb91c2 100644 --- a/config/jp/arm9/overlays/ov070/symbols.txt +++ b/config/jp/arm9/overlays/ov070/symbols.txt @@ -1,4 +1,4 @@ -func_ov070_02140ba0 kind:function(arm,size=0x110) addr:0x02140ba0 +_ZN27UnkStruct_027e09a4_54_Type5C1EP18UnkStruct_027e09a4 kind:function(arm,size=0x110) addr:0x02140ba0 func_ov070_02140cb0 kind:function(arm,size=0x20) addr:0x02140cb0 func_ov070_02140cd0 kind:function(arm,size=0x3cc) addr:0x02140cd0 _ZN19func_ov070_0214109cD1Ev kind:function(arm,size=0x14) addr:0x0214109c diff --git a/config/jp/arm9/overlays/ov093/relocs.txt b/config/jp/arm9/overlays/ov093/relocs.txt index 687dc012..2c018556 100644 --- a/config/jp/arm9/overlays/ov093/relocs.txt +++ b/config/jp/arm9/overlays/ov093/relocs.txt @@ -698,7 +698,7 @@ from:0x0216f5ec kind:thumb_call_arm to:0x020741c0 module:overlay(0) from:0x0216f5fc kind:thumb_call_arm to:0x020741c0 module:overlay(0) from:0x0216f610 kind:thumb_call_arm to:0x02173284 module:overlay(93) from:0x0216f618 kind:load to:0x027e09a4 module:dtcm -from:0x0216f61c kind:load to:0x020ac090 module:overlay(0) +from:0x0216f61c kind:load to:0x020ac08c add:4 module:overlay(0) from:0x0216f620 kind:load to:0x027e09ac module:dtcm from:0x0216f66c kind:arm_call to:0x0208217c module:overlay(0) from:0x0216f684 kind:load to:0x027e0cd8 module:dtcm diff --git a/config/jp/arm9/symbols.txt b/config/jp/arm9/symbols.txt index 678eb833..57f783c9 100644 --- a/config/jp/arm9/symbols.txt +++ b/config/jp/arm9/symbols.txt @@ -607,7 +607,7 @@ _Z13func_02011f10i kind:function(arm,size=0x20) addr:0x02011f10 _Z13func_02011f30i kind:function(arm,size=0xc) addr:0x02011f30 _Znwmjj kind:function(arm,size=0xb8) addr:0x02011f3c _ZdlPv kind:function(arm,size=0xc) addr:0x02011ff4 -_ZN9SysObjectdaEPv kind:function(arm,size=0xc) addr:0x02012000 +_ZdaPv kind:function(arm,size=0xc) addr:0x02012000 func_0201200c kind:function(arm,size=0x15c) addr:0x0201200c func_02012168 kind:function(arm,size=0x198) addr:0x02012168 func_02012300 kind:function(arm,size=0x3c) addr:0x02012300 @@ -714,7 +714,7 @@ _ZN14OverlayManager4LoadEjj kind:function(thumb,size=0x2c) addr:0x02014828 _ZN14OverlayManager6UnloadEj kind:function(thumb,size=0x28) addr:0x02014854 func_0201487c kind:function(thumb,size=0x58) addr:0x0201487c _ZN14OverlayManager13func_020148d0Ej kind:function(thumb,size=0x46) addr:0x020148d4 -func_0201491c kind:function(thumb,size=0x2c) addr:0x0201491c +_ZN14OverlayManager13func_02014918Ej kind:function(thumb,size=0x2c) addr:0x0201491c func_02014948 kind:function(thumb,size=0x50) addr:0x02014948 _ZN14OverlayManager13func_02014994Ei kind:function(thumb,size=0x7c) addr:0x02014998 func_02014a14 kind:function(arm,size=0x24) addr:0x02014a14 @@ -1037,8 +1037,8 @@ func_0201b754 kind:function(arm,size=0x44) addr:0x0201b754 _ZN18UnkStruct_0204e5f813func_0201b9a8EPv kind:function(arm,size=0x34) addr:0x0201b798 func_0201b7cc kind:function(arm,size=0x40) addr:0x0201b7cc func_0201b80c kind:function(arm,size=0x20) addr:0x0201b80c -_ZN24UnkStruct_0204a060_Base2C1Ev kind:function(arm,size=0x2c) addr:0x0201b82c -_ZN24UnkStruct_0204a060_Base3C1Ev kind:function(arm,size=0x2c) addr:0x0201b858 +_ZN24UnkStruct_0204a060_Base2C2Ev kind:function(arm,size=0x2c) addr:0x0201b82c +_ZN24UnkStruct_0204a060_Base2C1Ev kind:function(arm,size=0x2c) addr:0x0201b858 _ZN24UnkStruct_0204a060_Base2D1Ev kind:function(arm,size=0x18) addr:0x0201b884 _ZN24UnkStruct_0204a060_Base2D0Ev kind:function(arm,size=0x20) addr:0x0201b89c _ZN24UnkStruct_0204a060_Base2D2Ev kind:function(arm,size=0x18) addr:0x0201b8bc diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 5e828f61..cc7d6ba7 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -124,7 +124,7 @@ public: typedef s16 ActorState; #define ActorState_None -1 -class Actor : public SysObject { +class Actor { public: /* 00 (vtable) */ /* 04 */ VecFx32 mPos; diff --git a/include/Actor/ActorManager.hpp b/include/Actor/ActorManager.hpp index a002735d..ac41b5c1 100644 --- a/include/Actor/ActorManager.hpp +++ b/include/Actor/ActorManager.hpp @@ -44,13 +44,16 @@ public: ActorManager(); ~ActorManager(); + // itcm Actor **func_01fff350(void *param1, Actor **ppActorTable); Actor *func_01fff3b4(ActorRef ref); + // overlay 0 void func_ov000_02096e44(int index); unk32 func_ov000_0209704c(); unk32 func_ov000_020970c8(u16 param1, unk32 *param2); + // overlay 1 void func_ov001_020bafdc(); void func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *param1); void func_ov001_020bb488(); diff --git a/include/Actor/ActorProfile.hpp b/include/Actor/ActorProfile.hpp index 5377a2eb..320ab6a9 100644 --- a/include/Actor/ActorProfile.hpp +++ b/include/Actor/ActorProfile.hpp @@ -9,7 +9,7 @@ class Actor; -class ActorProfile : public SysObject { +class ActorProfile { public: /* 00 (vtable) */ /* 04 */ Cylinder mUnk_04; diff --git a/include/Actor/Actor_Derived1.hpp b/include/Actor/Actor_Derived1.hpp index ddeea90f..f78149c8 100644 --- a/include/Actor/Actor_Derived1.hpp +++ b/include/Actor/Actor_Derived1.hpp @@ -179,8 +179,6 @@ public: void func_ov000_020a9a50(); void func_ov000_020a9a94(); void func_ov000_020a9abc(); - void func_ov000_020a9ae0(); - void func_ov000_020a9afc(); static void func_ov000_020a9804(); diff --git a/include/Course/Course.hpp b/include/Course/Course.hpp new file mode 100644 index 00000000..72f7b1a8 --- /dev/null +++ b/include/Course/Course.hpp @@ -0,0 +1,213 @@ +#pragma once + +#include "types.h" + +/* +naming scheme: +- test_xxx: debug area +- e3_xxx: E3 demo area +- t_xxx: "T" for "Train" -> overworld area +- d_xxx: "D" for "Dungeon" -> dungeon area +- b_xxx: "B" for "Boss" -> dungeon boss area +- f_xxx: "F" for "Field" -> normal gameplay area (also known as a "land" area) +*/ +typedef u32 SceneIndex; +typedef u16 SceneIndex_Half; +typedef s16 SceneIndex_Halfs; +enum SceneIndex_ { + /* -1 */ SceneIndex_None = -1, + /* 0 */ SceneIndex_test_trn = 0x00, // + /* 1 */ SceneIndex_test_trn2 = 0x01, // + /* 2 */ SceneIndex_test_pre = 0x02, // + /* 3 */ SceneIndex_test_iwa = 0x03, // + /* 4 */ SceneIndex_t_area0 = 0x04, // Forest Realm + /* 5 */ SceneIndex_t_area1 = 0x05, // Snow Realm + /* 6 */ SceneIndex_t_area2 = 0x06, // Ocean Realm + /* 7 */ SceneIndex_t_area3 = 0x07, // Fire Realm + /* 8 */ SceneIndex_t_tutorial = 0x08, // + /* 9 */ SceneIndex_t_forest = 0x09, // + /* 10 */ SceneIndex_t_smarine = 0x0A, // + /* 11 */ SceneIndex_t_smount = 0x0B, // rocktite scene? + /* 12 */ SceneIndex_t_smount2 = 0x0C, // rocktite scene? + /* 13 */ SceneIndex_t_smount3 = 0x0D, // rocktite fire realm scene? + /* 14 */ SceneIndex_t_minigame = 0x0E, // goron target range minigame + /* 15 */ SceneIndex_t_dark = 0x0F, // Dark Realm + /* 16 */ SceneIndex_t_eviltrain = 0x10, // train cole fight + /* 17 */ SceneIndex_t_eviltrain2 = 0x11, // same as above + /* 18 */ SceneIndex_t_eviltrain3 = 0x12, // same as above + /* 19 */ SceneIndex_d_main = 0x13, // Tower Of Spirits + /* 20 */ SceneIndex_d_main_f = 0x14, // ToS base + /* 21 */ SceneIndex_d_main_s = 0x15, // ToS top stairs + /* 22 */ SceneIndex_d_main_a = 0x16, // ToS altar + /* 23 */ SceneIndex_d_main_w = 0x17, // ToS inner Stairs + /* 24 */ SceneIndex_d_tutorial = 0x18, // Tunnel to ToS + /* 25 */ SceneIndex_d_forest = 0x19, // Forest Temple + /* 26 */ SceneIndex_d_snow26 = 0x1A, // Snow Temple + /* 27 */ SceneIndex_d_water27 = 0x1B, // Water Temple + /* 28 */ SceneIndex_d_flame = 0x1C, // Fire Temple + /* 29 */ SceneIndex_d_sand = 0x1D, // Sand Temple + /* 30 */ SceneIndex_b_forest = 0x1E, // Stagnox + /* 31 */ SceneIndex_b_snow = 0x1F, // Fraaz + /* 32 */ SceneIndex_b_water = 0x20, // Phytops + /* 33 */ SceneIndex_b_flame = 0x21, // Cragma + /* 34 */ SceneIndex_b_sand = 0x22, // Skeldritch + /* 35 */ SceneIndex_b_deago = 0x23, // Byrne + /* 36 */ SceneIndex_b_last1 = 0x24, // demon zelda train + /* 37 */ SceneIndex_b_last2 = 0x25, // malladus beast 1 + /* 38 */ SceneIndex_b_last22 = 0x26, // malladus song + /* 39 */ SceneIndex_b_last23 = 0x27, // mallasdus beast 2 + /* 40 */ SceneIndex_f_hyral = 0x28, // hyrule castle + /* 41 */ SceneIndex_f_htown = 0x29, // castle town + /* 42 */ SceneIndex_f_forest1 = 0x2A, // Whittleton + /* 43 */ SceneIndex_f_snow = 0x2B, // Anouki Village + /* 44 */ SceneIndex_f_water = 0x2C, // Papuchia Village + /* 45 */ SceneIndex_f_flame = 0x2D, // Goron Village + /* 46 */ SceneIndex_f_flame5 = 0x2E, + /* 47 */ SceneIndex_f_first = 0x2F, // Aboda Village + /* 48 */ SceneIndex_f_forest2 = 0x30, // Forest Sanctuary + /* 49 */ SceneIndex_f_snow2 = 0x31, // Snow Sanctuary + /* 50 */ SceneIndex_f_water2 = 0x32, // Water Sanctuary + /* 51 */ SceneIndex_f_flame2 = 0x33, // Fire Sanctuary + /* 52 */ SceneIndex_f_sand = 0x34, // Sand Sanctuary + /* 53 */ SceneIndex_f_tetsuo = 0x35, // Icy Spring + /* 54 */ SceneIndex_f_bridge = 0x36, // Bridge Worker's House + /* 55 */ SceneIndex_f_bridge2 = 0x37, // Trading Post + /* 56 */ SceneIndex_f_forest3 = 0x38, // whittleton forest + /* 57 */ SceneIndex_f_water3 = 0x39, // papuchia south and lost at sea station + /* 58 */ SceneIndex_f_ajito = 0x3A, // Pirate Hideout + /* 59 */ SceneIndex_f_ajito2 = 0x3B, // same as above + /* 60 */ SceneIndex_f_flame3 = 0x3C, // Goron Target Range + /* 61 */ SceneIndex_f_flame4 = 0x3D, // Dark Ore Mine + /* 62 */ SceneIndex_f_rabbit = 0x3E, // Rabbit Haven + /* 63 */ SceneIndex_f_kakushi1 = 0x3F, // Snowdrift Station + /* 64 */ SceneIndex_f_kakushi2 = 0x40, // Disorientation Station + /* 65 */ SceneIndex_f_kakushi3 = 0x41, // Ends of the Earth Station + /* 66 */ SceneIndex_f_kakushi4 = 0x42, // train required? + /* 67 */ SceneIndex_f_pirate = 0x43, // Train passenger pirate attack (including Carben) + /* 68 */ SceneIndex_f_passenger = 0x44, // Anjean force gem + /* 69 */ SceneIndex_f_trnnpc = 0x45, // Ferrus encounter + /* 70 */ SceneIndex_tekiya00 = 0x46, // take em all on? + /* 71 */ SceneIndex_tekiya01 = 0x47, // take em all on? + /* 72 */ SceneIndex_tekiya02 = 0x48, // take em all on? + /* 73 */ SceneIndex_tekiya03 = 0x49, // take em all on? + /* 74 */ SceneIndex_tekiya04 = 0x4A, // take em all on? + /* 75 */ SceneIndex_tekiya05 = 0x4B, // take em all on? + /* 76 */ SceneIndex_tekiya06 = 0x4C, // take em all on? + /* 77 */ SceneIndex_tekiya07 = 0x4D, // take em all on? + /* 78 */ SceneIndex_tekiya08 = 0x4E, // take em all on? + /* 79 */ SceneIndex_tekiya09 = 0x4F, // take em all on? + /* 80 */ SceneIndex_demo_train = 0x50, // title screen? + /* 81 */ SceneIndex_e3_train = 0x51, // ? + /* 82 */ SceneIndex_e3_dungeon = 0x52, // ? + /* 83 */ SceneIndex_e3_boss = 0x53, // forest temple boss + /* 84 */ SceneIndex_e3_bossm = 0x54, // fake forest temple room + /* 85 */ SceneIndex_e3_smount = 0x55, // ? + /* 86 */ SceneIndex_test_hiratsu = 0x56, // ? + /* 87 */ SceneIndex_test_sik = 0x57, // ? + /* 88 */ SceneIndex_test_fuj = 0x58, // ? + /* 89 */ SceneIndex_test_nit = 0x59, // ? + /* 90 */ SceneIndex_test_mri = 0x5A, // ? + /* 91 */ SceneIndex_test_morita = 0x5B, // ? + /* 92 */ SceneIndex_test_yamaz = 0x5C, // ? + /* 93 */ SceneIndex_test_sako = 0x5D, // ? + /* 94 */ SceneIndex_test_kita = 0x5E, // ? + /* 95 */ SceneIndex_test_take = 0x5F, // ? + /* 96 */ SceneIndex_test_suzuki = 0x60, // ? + /* 97 */ SceneIndex_test_okane = 0x61, // ? + /* 98 */ SceneIndex_test_dera = 0x62, // ? + /* 99 */ SceneIndex_test_hosaka = 0x63, // ? + /* 100 */ SceneIndex_test_hosaka_f = 0x64, // ? + /* 101 */ SceneIndex_test_kato = 0x65, // ? + /* 102 */ SceneIndex_test_okane_f = 0x66, // ? + /* 103 */ SceneIndex_test_yamaz_f = 0x67, // ? + /* 104 */ SceneIndex_test_sako_f = 0x68, // ? + /* 105 */ SceneIndex_test_take_f = 0x69, // ? + /* 106 */ SceneIndex_test_kiuchi = 0x6A, // ? + /* 107 */ SceneIndex_test_dera_f = 0x6B, // ? + /* 108 */ SceneIndex_test_slope = 0x6C, // ? + /* 109 */ SceneIndex_battle01 = 0x6D, // battle mode? + /* 110 */ SceneIndex_battle02 = 0x6E, // battle mode? + /* 111 */ SceneIndex_battle03 = 0x6F, // battle mode? + /* 112 */ SceneIndex_battle04 = 0x70, // battle mode? + /* 113 */ SceneIndex_battle05 = 0x71, // battle mode? + /* 114 */ SceneIndex_battle06 = 0x72, // battle mode? + /* 115 */ SceneIndex_battle07 = 0x73, // battle mode? + /* 116 */ SceneIndex_battle08 = 0x74, // battle mode? + /* 117 */ SceneIndex_battle09 = 0x75, // battle mode? + /* 118 */ SceneIndex_battle10 = 0x76, // battle mode? + /* 119 */ SceneIndex_battle11 = 0x77, // battle mode? + /* 120 */ SceneIndex_battle12 = 0x78, // battle mode? + /* 121 */ SceneIndex_Max = 0x79 +}; + +enum SaveCourseIndex_ { + /* -1 */ SaveCourseIndex_None = 0xFF, + /* 0 */ SaveCourseIndex_t_area0 = 0x00, + /* 1 */ SaveCourseIndex_t_area1 = 0x01, + /* 2 */ SaveCourseIndex_t_area2 = 0x02, + /* 3 */ SaveCourseIndex_t_area3 = 0x03, + /* 4 */ SaveCourseIndex_t_tutorial = 0x04, + /* 5 */ SaveCourseIndex_t_forest = 0x05, + /* 6 */ SaveCourseIndex_t_smarine = 0x06, + /* 7 */ SaveCourseIndex_t_smount = 0x07, + /* 8 */ SaveCourseIndex_t_smount2 = 0x08, + /* 9 */ SaveCourseIndex_t_smount3 = 0x09, + /* 10 */ SaveCourseIndex_t_eviltrain = 0x0A, + /* 11 */ SaveCourseIndex_d_main = 0x0B, + /* 12 */ SaveCourseIndex_d_main_f = 0x0C, + /* 13 */ SaveCourseIndex_d_main_s = 0x0D, + /* 14 */ SaveCourseIndex_d_main_a = 0x0E, + /* 15 */ SaveCourseIndex_d_main_w = 0x0F, + /* 16 */ SaveCourseIndex_d_tutorial = 0x10, + /* 17 */ SaveCourseIndex_d_forest = 0x11, + /* 18 */ SaveCourseIndex_d_snow = 0x12, + /* 19 */ SaveCourseIndex_d_water = 0x13, + /* 20 */ SaveCourseIndex_d_flame = 0x14, + /* 21 */ SaveCourseIndex_d_sand = 0x15, + /* 22 */ SaveCourseIndex_b_forest = 0x16, + /* 23 */ SaveCourseIndex_b_snow = 0x17, + /* 24 */ SaveCourseIndex_b_water = 0x18, + /* 25 */ SaveCourseIndex_b_flame = 0x19, + /* 26 */ SaveCourseIndex_b_sand = 0x1A, + /* 27 */ SaveCourseIndex_b_deago = 0x1B, + /* 28 */ SaveCourseIndex_b_last1 = 0x1C, + /* 29 */ SaveCourseIndex_b_last2 = 0x1D, + /* 30 */ SaveCourseIndex_b_last22 = 0x1E, + /* 31 */ SaveCourseIndex_b_last23 = 0x1F, + /* 32 */ SaveCourseIndex_f_hyral = 0x20, + /* 33 */ SaveCourseIndex_f_htown = 0x21, + /* 34 */ SaveCourseIndex_f_forest1 = 0x22, + /* 35 */ SaveCourseIndex_f_snow = 0x23, + /* 36 */ SaveCourseIndex_f_water = 0x24, + /* 37 */ SaveCourseIndex_f_flame = 0x25, + /* 38 */ SaveCourseIndex_f_flame5 = 0x26, + /* 39 */ SaveCourseIndex_f_first = 0x27, + /* 40 */ SaveCourseIndex_f_forest2 = 0x28, + /* 41 */ SaveCourseIndex_f_snow2 = 0x29, + /* 42 */ SaveCourseIndex_f_water2 = 0x2A, + /* 43 */ SaveCourseIndex_f_flame2 = 0x2B, + /* 44 */ SaveCourseIndex_f_sand = 0x2C, + /* 45 */ SaveCourseIndex_f_tetsuo = 0x2D, + /* 46 */ SaveCourseIndex_f_bridge = 0x2E, + /* 47 */ SaveCourseIndex_f_bridge2 = 0x2F, + /* 48 */ SaveCourseIndex_f_forest3 = 0x30, + /* 49 */ SaveCourseIndex_f_water3 = 0x31, + /* 50 */ SaveCourseIndex_f_ajito = 0x32, + /* 51 */ SaveCourseIndex_f_ajito2 = 0x33, + /* 52 */ SaveCourseIndex_f_flame3 = 0x34, + /* 53 */ SaveCourseIndex_f_flame4 = 0x35, + /* 54 */ SaveCourseIndex_f_rabbit = 0x36, + /* 55 */ SaveCourseIndex_f_kakushi1 = 0x37, + /* 56 */ SaveCourseIndex_f_kakushi2 = 0x38, + /* 57 */ SaveCourseIndex_f_kakushi3 = 0x39, + /* 58 */ SaveCourseIndex_f_kakushi4 = 0x3A, + /* 59 */ SaveCourseIndex_f_pirate = 0x3B, + /* 60 */ SaveCourseIndex_f_passenger = 0x3C, + /* 61 */ SaveCourseIndex_f_trnnpc = 0x3D, + /* 62 */ SaveCourseIndex_e3_train = 0x3E, + /* 63 */ SaveCourseIndex_e3_dungeon = 0x3F, + /* 64 */ SaveCourseIndex_e3_boss = 0x40, + /* 65 */ SaveCourseIndex_e3_bossm = 0x41, + /* 66 */ SaveCourseIndex_e3_smount = 0x42, + /* 96 */ SaveCourseIndex_Max = 0x60, +}; diff --git a/include/Cutscene/Cutscene.hpp b/include/Cutscene/Cutscene.hpp index cd21c789..280571ff 100644 --- a/include/Cutscene/Cutscene.hpp +++ b/include/Cutscene/Cutscene.hpp @@ -5,6 +5,7 @@ #include "Save/AdventureFlags.hpp" +typedef u32 CutsceneIndex; enum CutsceneIndex_ { /* 0 */ CutsceneIndex_TitleScreen, /* 1 */ CutsceneIndex_Intro, diff --git a/include/FileSelect/FileSelect.hpp b/include/FileSelect/FileSelect.hpp index 654776c8..13a93141 100644 --- a/include/FileSelect/FileSelect.hpp +++ b/include/FileSelect/FileSelect.hpp @@ -43,7 +43,7 @@ public: /* 00 */ virtual ~FileSelect_UnkClass2_Sub4_Base() override {} }; -class FileSelectSubScreen : public SysObject, public FileSelect_UnkClass2_Sub4_Base { +class FileSelectSubScreen : public FileSelect_UnkClass2_Sub4_Base { public: /* 0000 (base) */ /* 001C */ unk32 mUnk_001C; diff --git a/include/FileSelect/FileSelectOptions.hpp b/include/FileSelect/FileSelectOptions.hpp index 5fa337ea..77a72d0c 100644 --- a/include/FileSelect/FileSelectOptions.hpp +++ b/include/FileSelect/FileSelectOptions.hpp @@ -28,7 +28,7 @@ public: UnkStruct_ov019_020d24c8_2C_24_FC3() {} }; -class UnkStruct_ov019_020d24c8_2C_24_FB0 : public SysObject { +class UnkStruct_ov019_020d24c8_2C_24_FB0 { public: /* 00 */ UnkSystem2_UnkSubSystem5 *mUnk_00[6]; /* 18 */ @@ -36,7 +36,7 @@ public: UnkStruct_ov019_020d24c8_2C_24_FB0() {} }; -class UnkStruct_ov019_020d24c8_2C_24_FB8 : public SysObject { +class UnkStruct_ov019_020d24c8_2C_24_FB8 { public: /* 00 */ UnkSystem2_UnkSubSystem1_Derived1 *mUnk_00[6]; /* 18 */ diff --git a/include/FileSelect/FileSelectUnkDraw.hpp b/include/FileSelect/FileSelectUnkDraw.hpp index e1f50c63..6948565d 100644 --- a/include/FileSelect/FileSelectUnkDraw.hpp +++ b/include/FileSelect/FileSelectUnkDraw.hpp @@ -5,7 +5,7 @@ #include "System/SysNew.hpp" #include "global.h" -class FileSelectManager_UnkDrawBase : public SysObject { +class FileSelectManager_UnkDrawBase { public: /* 00 (vtable) */ /* 04 */ LinkListImpl mUnk_04; diff --git a/include/FileSelect/UnkSubStruct9.hpp b/include/FileSelect/UnkSubStruct9.hpp index ae6759f0..c60ec372 100644 --- a/include/FileSelect/UnkSubStruct9.hpp +++ b/include/FileSelect/UnkSubStruct9.hpp @@ -8,7 +8,7 @@ #include "types.h" // file tab manager? -class UnkSubStruct9 : public SysObject { +class UnkSubStruct9 { public: /* 000 */ u8 mSaveSlotIndex; // save slot index, 0 for file 1 and 1 for file 2 /* 001 */ unk8 mUnk_001; diff --git a/include/Game/GameMode.hpp b/include/Game/GameMode.hpp index 306b8522..f822cb81 100644 --- a/include/Game/GameMode.hpp +++ b/include/Game/GameMode.hpp @@ -3,7 +3,7 @@ #include "System/SysNew.hpp" #include "types.h" -class GameModeBase : public SysObject { +class GameModeBase { public: /* 00 (vtable) */ /* 04 */ diff --git a/include/Game/GameModeManager.hpp b/include/Game/GameModeManager.hpp index ef1999de..d5e1ea31 100644 --- a/include/Game/GameModeManager.hpp +++ b/include/Game/GameModeManager.hpp @@ -15,7 +15,7 @@ class GameModeManagerBase; class GameModeManagerBase_104; class GameModeManagerBase_104_0C; -class GameModeManagerBase_004 : public SysObject { +class GameModeManagerBase_004 { public: unk32 *mUnk_00; @@ -79,7 +79,7 @@ public: void func_ov088_0217230c(); }; -class GameModeManagerBase : public SysObject { +class GameModeManagerBase { public: /* 000 (vtable) */ /* 004 */ GameModeManagerBase_004 mUnk_004; diff --git a/include/Item/ItemManager.hpp b/include/Item/ItemManager.hpp index fa139424..0524057d 100644 --- a/include/Item/ItemManager.hpp +++ b/include/Item/ItemManager.hpp @@ -54,7 +54,7 @@ public: bool func_ov031_020db8f8(); }; -class ItemManager : public SysObject { +class ItemManager { public: /* 00 */ ItemFlag mEquippedItem; /* 04 */ ItemFlag mForcedItem; @@ -124,9 +124,9 @@ public: static AdventureFlag GetAdvFlagFromItem(ItemId itemId); }; -class TreasureManager : public AutoInstance, public ItemManager { +class TreasureManager : public AutoInstance { public: - /* 28 */ unk8 mUnk_28[0x3C - 0x28]; + /* 28 */ unk8 mUnk_00[0x3C - 0x00]; /* 3C */ s16 mUnk_3C[TreasureType_Max]; // treasures /* 5C */ unk16 mUnk_5C; /* 5E */ unk16 mUnk_5E; @@ -137,6 +137,7 @@ public: TreasureManager(); ~TreasureManager(); + // overlay 0 void func_ov000_020a9b10(void *param1); static unk32 func_ov000_020a9b2c(unk32 param1); static unk32 func_ov000_020a9b3c(unk32 param1); @@ -153,6 +154,11 @@ public: static unk32 func_ov000_020a9f4c(unk32 param1); ItemId func_ov000_020aa02c(ItemId itemId); void func_ov000_020aa0ac(ItemId itemId); + + static TreasureManager *Create(); + + // overlay 1 + static void Destroy(); }; extern TreasureManager *gpTreasureManager; diff --git a/include/MainGame/MiscAdvManager.hpp b/include/MainGame/MiscAdvManager.hpp index 404e8a45..b1ecd52a 100644 --- a/include/MainGame/MiscAdvManager.hpp +++ b/include/MainGame/MiscAdvManager.hpp @@ -91,6 +91,7 @@ public: return this->GetNumPostcards() >= MAX_PRICECARDS ? true : false; } + // overlay 24 void func_ov024_020d6310(MiscAdvManager *pSrc); void GiveLetterOrPriceCard(ItemId itemId); void GiveLetter(AdventureFlag_Half flag); @@ -108,6 +109,9 @@ public: void func_ov024_020d6610(); static MiscAdvManager *Create(); + + // overlay 1 + static void Destroy(); }; extern MiscAdvManager *gpMiscAdvManager; diff --git a/include/MapObject/MapObject.hpp b/include/MapObject/MapObject.hpp index 41980aa6..762f02bd 100644 --- a/include/MapObject/MapObject.hpp +++ b/include/MapObject/MapObject.hpp @@ -114,7 +114,7 @@ public: static void func_ov000_0209c7ac(MapObjectId mapObjId); }; -class MapObject : public SysObject { +class MapObject { public: /* 00 (vtable) */ /* 04 */ VecFx32 mPos; diff --git a/include/MapObject/MapObjectManager.hpp b/include/MapObject/MapObjectManager.hpp index a7f8fa58..fa9f4b45 100644 --- a/include/MapObject/MapObjectManager.hpp +++ b/include/MapObject/MapObjectManager.hpp @@ -8,7 +8,7 @@ typedef void (*UnkCallback_func_01fff4cc)(void *, void *); -class MapObjectManager { +class MapObjectManager : public AutoInstance { public: /* 00 */ MapObject **mMapObjTable; /* 04 */ MapObject **mMapObjTableEnd; @@ -26,20 +26,25 @@ public: /* 6C */ void *mUnk_6C; /* 70 */ + MapObjectManager(); + ~MapObjectManager(); + + // itcm MapObject *func_01fff498(Vec2b param1); void func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2); MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2); void func_01fff6d0(VecFx32 *param1, s32 *param2, s32 *param3); + // overlay 0 MapObjectId func_ov000_0209c3a8(Vec2b *param1); void func_ov000_0209c3e8(); void func_ov000_0209c444(); - void SetInstance(); // func_ov001_020baf4c - void ClearInstance(); // func_ov001_020baf58 - static void func_ov000_0209c490(); - static MapObjectManager *Create(); // func_ov001_020bac40 + + // overlay 1 + static MapObjectManager *Create(); + static void Destroy(); }; extern MapObjectManager *gpMapObjManager; diff --git a/include/MapObject/MapObjectProfile.hpp b/include/MapObject/MapObjectProfile.hpp index a31476cb..01c089f9 100644 --- a/include/MapObject/MapObjectProfile.hpp +++ b/include/MapObject/MapObjectProfile.hpp @@ -13,7 +13,7 @@ class MapObject; class MapObject_20; class MapObjectProfile_Derived2_20; -class MapObjectProfile : public SysObject { +class MapObjectProfile { public: /* 00 (vtable) */ /* 04 */ unk8 mUnk_04[2]; diff --git a/include/Message/BMG.hpp b/include/Message/BMG.hpp index e9bae220..1b532655 100644 --- a/include/Message/BMG.hpp +++ b/include/Message/BMG.hpp @@ -195,7 +195,7 @@ struct BMGFileInfo { /* 1C */ }; -class BMGGroups : public SysObject { +class BMGGroups { public: /* 00 */ BMGFileInfo *entries; // accessed with `groupId` /* 04 */ s32 numEntries; diff --git a/include/Player/PlayerGet.hpp b/include/Player/PlayerGet.hpp index c4f80549..de0e1557 100644 --- a/include/Player/PlayerGet.hpp +++ b/include/Player/PlayerGet.hpp @@ -101,7 +101,7 @@ public: } }; -class UnkStruct_PlayerGet_74_base : public SysObject { +class UnkStruct_PlayerGet_74_base { public: /* 00 (vtable) */ diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp index dddf4578..e56eb2a4 100644 --- a/include/System/OverlayManager.hpp +++ b/include/System/OverlayManager.hpp @@ -404,6 +404,7 @@ public: void LoadEquipItem(ItemFlag equipId); void func_020148d0(OverlayIndex index); + void func_02014918(OverlayIndex index); void func_02014994(unk32 param1); }; diff --git a/include/System/SysNew.hpp b/include/System/SysNew.hpp index d5676c00..fdcbf2f2 100644 --- a/include/System/SysNew.hpp +++ b/include/System/SysNew.hpp @@ -33,13 +33,10 @@ enum HeapIndex_ { HeapIndex_Max = 9 }; -class SysObject { -public: - void operator delete[](void *ptr); -}; - void *operator new(size_t length, u32 id, u32 idLength = 4); void *operator new[](size_t length, u32 id, u32 idLength = 4); +void operator delete[](void *ptr); + inline void *operator new(size_t length, void *ptr = nullptr) { #pragma unused(length) return ptr; @@ -61,7 +58,7 @@ public: /* 2C */ unk8 mUnk_2C[0x60 - 0x2C]; }; -class UnkStruct_02011e10 : public SysObject { +class UnkStruct_02011e10 { public: /* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00[HeapIndex_Max]; // the pointer seems to match arena lo /* 24 */ unk32 mUnk_24[2]; diff --git a/include/TitleScreen/TitleScreen.hpp b/include/TitleScreen/TitleScreen.hpp index a64a8650..4d658857 100644 --- a/include/TitleScreen/TitleScreen.hpp +++ b/include/TitleScreen/TitleScreen.hpp @@ -65,7 +65,7 @@ public: UnkSubStruct1_Methods; }; -class TitleScreen : public SysObject, public GameModeManagerBase_104 { // 0233c6d4 +class TitleScreen : public GameModeManagerBase_104 { // 0233c6d4 public: /* 000 (base) */ /* 01C */ TitleScreenState mState; diff --git a/include/Unknown/UnkStruct_0204a060.hpp b/include/Unknown/UnkStruct_0204a060.hpp index 8a23883c..afd1ac34 100644 --- a/include/Unknown/UnkStruct_0204a060.hpp +++ b/include/Unknown/UnkStruct_0204a060.hpp @@ -10,7 +10,7 @@ class GameModeFileSelect; -class UnkStruct_0204a060_Base3 : public LinkList { +class UnkStruct_0204a060_Base2 : public LinkList { public: /* 00 (vtable) */ /* 04 (base) */ @@ -18,30 +18,27 @@ public: /* 0D */ unk8 mUnk_0D; /* 0E */ unk8 mUnk_0E; /* 0F */ unk8 mUnk_0F; - /* 10 */ - - UnkStruct_0204a060_Base3(); - - // data_020440f4 vtable - /* 00 */ virtual ~UnkStruct_0204a060_Base3(); - /* 08 */ virtual bool vfunc_08(unk32 param1); - /* 0C */ -}; - -class UnkStruct_0204a060_Base2 : public UnkStruct_0204a060_Base3 { -public: - /* 00 (vtable) */ /* 10 */ unk16 mUnk_10; /* 12 */ unk16 mUnk_12; /* 14 */ UnkStruct_0204a060_Base2(); + // data_020440f4 vtable /* 00 */ virtual ~UnkStruct_0204a060_Base2() override; + /* 08 */ virtual bool vfunc_08(unk32 param1); + /* 0C */ void func_0201ba68(); }; +class UnkStruct_0204a060_Base3 : public UnkStruct_0204a060_Base2 { +public: + /* 00 (base) */ + + UnkStruct_0204a060_Base3(); +}; + class UnkStruct_0204a060_Base : public UnkStruct_0204a060_Base2 { public: /* 00 (base) */ diff --git a/include/Unknown/UnkStruct_0204a088.hpp b/include/Unknown/UnkStruct_0204a088.hpp index de8e90be..694f4d24 100644 --- a/include/Unknown/UnkStruct_0204a088.hpp +++ b/include/Unknown/UnkStruct_0204a088.hpp @@ -4,7 +4,7 @@ #include "System/SysNew.hpp" #include "types.h" -class UnkStruct_0204a088_Base : public SysObject { +class UnkStruct_0204a088_Base { public: UnkStruct_0204a088_Base(); ~UnkStruct_0204a088_Base(); //! TODO: most likely inlined but can't make it work for some reasons diff --git a/include/Unknown/UnkStruct_0204a110.hpp b/include/Unknown/UnkStruct_0204a110.hpp index 31e138ee..d5b511c6 100644 --- a/include/Unknown/UnkStruct_0204a110.hpp +++ b/include/Unknown/UnkStruct_0204a110.hpp @@ -263,8 +263,10 @@ public: UnkStruct_0204a110(); + // itcm unk32 func_01ff9b50(); + // main void func_02018be0(unk32 param1); void func_02018c2c(); void func_02018c78(unk32 param1); @@ -284,9 +286,13 @@ public: bool func_02019548(); UnkStruct_func_02019590 *func_02019590(unk16 param1, unk32 param2); + // overlay 1 void func_ov001_020bd514(unk32 param1, void *param2, unk32 param3, unk32 param4); void func_ov001_020bd58c(void); + void func_ov001_020bd638(void); + void func_ov001_020bd5b0(void); + // overlay 18 void func_ov018_020c5300(void); }; diff --git a/include/Unknown/UnkStruct_0204e5f8.hpp b/include/Unknown/UnkStruct_0204e5f8.hpp index 8592fad1..7e276b21 100644 --- a/include/Unknown/UnkStruct_0204e5f8.hpp +++ b/include/Unknown/UnkStruct_0204e5f8.hpp @@ -26,8 +26,7 @@ public: class UnkStruct_0204e5f8 { public: - /* 00 */ UnkStruct_0204a060_Base3 mUnk_00; - /* 10 */ unk32 mUnk_10; + /* 00 */ UnkStruct_0204a060_Base2 mUnk_00; /* 14 */ unk32 mUnk_14; /* 18 */ bool mUnk_18; /* 19 */ unk8 mUnk_19; diff --git a/include/Unknown/UnkStruct_027e0954.hpp b/include/Unknown/UnkStruct_027e0954.hpp index fae490b4..2f252352 100644 --- a/include/Unknown/UnkStruct_027e0954.hpp +++ b/include/Unknown/UnkStruct_027e0954.hpp @@ -4,17 +4,27 @@ #include "global.h" #include "types.h" -class UnkStruct_027e0954 { +class UnkStruct_027e0954_00 { public: /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; + /* 04 */ LinkList mUnk_04; //! TODO: unknown target type /* 0C */ unk32 mUnk_0C; - /* 10 */ unk32 mUnk_10; - /* 14 */ LinkListImpl mUnk_14; + /* 10 */ + + ~UnkStruct_027e0954_00(); +}; + +class UnkStruct_027e0954 : public AutoInstance { +public: + /* 00 */ UnkStruct_027e0954_00 mUnk_00[4]; + /* 40 */ UnkStruct_027e0954(); - ~UnkStruct_027e0954(); + ~UnkStruct_027e0954() {} + + // overlay 0 + static UnkStruct_027e0954 *Create(); + static void Destroy(); }; extern UnkStruct_027e0954 *data_027e0954; diff --git a/include/Unknown/UnkStruct_027e0958.hpp b/include/Unknown/UnkStruct_027e0958.hpp new file mode 100644 index 00000000..73ac1afe --- /dev/null +++ b/include/Unknown/UnkStruct_027e0958.hpp @@ -0,0 +1,18 @@ +#pragma once + +#include "global.h" +#include "types.h" + +class UnkStruct_027e0958 : public AutoInstance { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_027e0958(); + ~UnkStruct_027e0958() {} + + // overlay 0 + static UnkStruct_027e0958 *Create(); + static void Destroy(); +}; + +extern UnkStruct_027e0958 *data_027e0958; diff --git a/include/Unknown/UnkStruct_027e095c.hpp b/include/Unknown/UnkStruct_027e095c.hpp index 8c750a6a..f449d3d4 100644 --- a/include/Unknown/UnkStruct_027e095c.hpp +++ b/include/Unknown/UnkStruct_027e095c.hpp @@ -5,13 +5,19 @@ class UnkStruct_027e095c : public AutoInstance { public: - /* 00 */ unk32 mUnk_00; + /* 000 */ unk32 mUnk_000; + /* 944 */ UnkStruct_027e095c(); - ~UnkStruct_027e095c(); + ~UnkStruct_027e095c() {} + // overlay 0 void func_ov000_020592ec(); void func_ov000_020592a0(); + + // overlay 1 + static UnkStruct_027e095c *Create(); + static void Destroy(); }; extern UnkStruct_027e095c *data_027e095c; diff --git a/include/Unknown/UnkStruct_027e0960.hpp b/include/Unknown/UnkStruct_027e0960.hpp index 8067529a..77cd3b81 100644 --- a/include/Unknown/UnkStruct_027e0960.hpp +++ b/include/Unknown/UnkStruct_027e0960.hpp @@ -59,7 +59,7 @@ public: bool func_ov000_02059ccc(u8 param1, u8 param2); }; -class UnkStruct_027e0960 { +class UnkStruct_027e0960 : public AutoInstance { public: /* 00 */ Iterator mTable; /* 08 */ @@ -67,8 +67,17 @@ public: UnkStruct_027e0960(); ~UnkStruct_027e0960(); + // overlay 0 UnkStruct_027e0960_TableEntry *func_ov000_0205a390(u8 param1); UnkStruct_027e0960_TableEntry *func_ov000_0205a3fc(VecFx32 param1, unk32 param4); + + static UnkStruct_027e0960 *Create(); + + // overlay 1 + void func_ov000_0205a164(); + void func_ov000_0205a160(); + + static void Destroy(); }; extern UnkStruct_027e0960 *data_027e0960; diff --git a/include/Unknown/UnkStruct_027e09a0.hpp b/include/Unknown/UnkStruct_027e09a0.hpp index 15b5737f..e0816875 100644 --- a/include/Unknown/UnkStruct_027e09a0.hpp +++ b/include/Unknown/UnkStruct_027e09a0.hpp @@ -1,123 +1,46 @@ #pragma once +#include "Course/Course.hpp" +#include "Unknown/UnkFileSystem.hpp" +#include "files.h" #include "global.h" #include "types.h" -enum SaveCourseIndex_ { - SaveCourseIndex_None = 0xFF, - SaveCourseIndex_t_area0 = 0x00, - SaveCourseIndex_t_area1 = 0x01, - SaveCourseIndex_t_area2 = 0x02, - SaveCourseIndex_t_area3 = 0x03, - SaveCourseIndex_t_tutorial = 0x04, - SaveCourseIndex_t_forest = 0x05, - SaveCourseIndex_t_smarine = 0x06, - SaveCourseIndex_t_smount = 0x07, - SaveCourseIndex_t_smount2 = 0x08, - SaveCourseIndex_t_smount3 = 0x09, - SaveCourseIndex_t_eviltrain = 0x0A, - SaveCourseIndex_d_main = 0x0B, - SaveCourseIndex_d_main_f = 0x0C, - SaveCourseIndex_d_main_s = 0x0D, - SaveCourseIndex_d_main_a = 0x0E, - SaveCourseIndex_d_main_w = 0x0F, - SaveCourseIndex_d_tutorial = 0x10, - SaveCourseIndex_d_forest = 0x11, - SaveCourseIndex_d_snow = 0x12, - SaveCourseIndex_d_water = 0x13, - SaveCourseIndex_d_flame = 0x14, - SaveCourseIndex_d_sand = 0x15, - SaveCourseIndex_b_forest = 0x16, - SaveCourseIndex_b_snow = 0x17, - SaveCourseIndex_b_water = 0x18, - SaveCourseIndex_b_flame = 0x19, - SaveCourseIndex_b_sand = 0x1A, - SaveCourseIndex_b_deago = 0x1B, - SaveCourseIndex_b_last1 = 0x1C, - SaveCourseIndex_b_last2 = 0x1D, - SaveCourseIndex_b_last22 = 0x1E, - SaveCourseIndex_b_last23 = 0x1F, - SaveCourseIndex_f_hyral = 0x20, - SaveCourseIndex_f_htown = 0x21, - SaveCourseIndex_f_forest1 = 0x22, - SaveCourseIndex_f_snow = 0x23, - SaveCourseIndex_f_water = 0x24, - SaveCourseIndex_f_flame = 0x25, - SaveCourseIndex_f_flame5 = 0x26, - SaveCourseIndex_f_first = 0x27, - SaveCourseIndex_f_forest2 = 0x28, - SaveCourseIndex_f_snow2 = 0x29, - SaveCourseIndex_f_water2 = 0x2A, - SaveCourseIndex_f_flame2 = 0x2B, - SaveCourseIndex_f_sand = 0x2C, - SaveCourseIndex_f_tetsuo = 0x2D, - SaveCourseIndex_f_bridge = 0x2E, - SaveCourseIndex_f_bridge2 = 0x2F, - SaveCourseIndex_f_forest3 = 0x30, - SaveCourseIndex_f_water3 = 0x31, - SaveCourseIndex_f_ajito = 0x32, - SaveCourseIndex_f_ajito2 = 0x33, - SaveCourseIndex_f_flame3 = 0x34, - SaveCourseIndex_f_flame4 = 0x35, - SaveCourseIndex_f_rabbit = 0x36, - SaveCourseIndex_f_kakushi1 = 0x37, - SaveCourseIndex_f_kakushi2 = 0x38, - SaveCourseIndex_f_kakushi3 = 0x39, - SaveCourseIndex_f_kakushi4 = 0x3A, - SaveCourseIndex_f_pirate = 0x3B, - SaveCourseIndex_f_passenger = 0x3C, - SaveCourseIndex_f_trnnpc = 0x3D, - SaveCourseIndex_e3_train = 0x3E, - SaveCourseIndex_e3_dungeon = 0x3F, - SaveCourseIndex_e3_boss = 0x40, - SaveCourseIndex_e3_bossm = 0x41, - SaveCourseIndex_e3_smount = 0x42, - SaveCourseIndex_Max = 0x60, -}; - struct UnkStruct_func_ov000_020702a8 { /* 00 */ STRUCT_PAD(0x00, 0x20); /* 20 */ unk16 mUnk_20; }; -struct CourseRoomEntry { - /* 00 */ u8 roomIndex; - /* 01 */ u8 mapPaintIndex; - /* 02 */ u8 unk_02; - /* 03 */ u8 unk_03; - /* 04 */ -}; - -struct CourseEntry { - /* 00 */ const char name[16]; - /* 10 */ unk32 unk_10; - /* 14 */ unk8 numRooms; - /* 15 */ unk8 unk_15; - /* 16 */ unk8 titleCardMsgIndex; - /* 17 */ u8 saveCourseIndex; - /* 18 */ STRUCT_PAD(0x18, 0x1B); - /* 1B */ u8 unk_1B; - /* 1C */ u8 unk_1C; - /* 1D */ u8 unk_1D; - /* 1E */ u8 unk_1E; - /* 1F */ u8 unk_1F; - /* 20 */ u8 defaultMapPaintIndex; - /* 24 */ CourseRoomEntry roomEntries[]; -}; - -class UnkStruct_027e09a0 { +class CourseInitBinary { public: - /* 00 */ CourseEntry **mUnk_00; // elements from courselist.clb + /* 0000 */ CourseInitEntry mEntries[SceneIndex_Max]; + /* 1104 */ + + CourseInitBinary(); +}; + +class UnkStruct_027e09a0 : public AutoInstance { +public: + /* 00 */ CourseListEntry **mpCourseTable; // elements from courselist.clb + /* 04 */ UnkFileSystem5 *mpCourseFile; + /* 08 */ unk8 mUnk_08[0x10]; + /* 18 */ UnkStruct_027e09a0(); ~UnkStruct_027e09a0(); - CourseEntry *GetCourseEntry(u32 sceneIndex); + CourseListEntry *GetCourseEntry(u32 sceneIndex); UnkStruct_func_ov000_020702a8 *func_ov000_020702a8(unk32 param1); unk32 GetRoomEntryIndex(); - CourseRoomEntry *GetRoomEntry(u32 sceneIndex, unk32 param2); + CourseListRoomEntry *GetRoomEntry(u32 sceneIndex, unk32 param2); u32 GetSceneIndexFromName(const char *sceneName); bool func_ov000_02070378(u32 param1); + + // overlay 1 + void InitCourseTable(); + + static UnkStruct_027e09a0 *Create(); + static void Destroy(); }; extern UnkStruct_027e09a0 *data_027e09a0; diff --git a/include/Unknown/UnkStruct_027e09a4.hpp b/include/Unknown/UnkStruct_027e09a4.hpp index 0e305f88..0ba4976c 100644 --- a/include/Unknown/UnkStruct_027e09a4.hpp +++ b/include/Unknown/UnkStruct_027e09a4.hpp @@ -1,177 +1,40 @@ #pragma once +#include "Course/Course.hpp" #include "Cutscene/Cutscene.hpp" #include "System/SysNew.hpp" #include "Unknown/UnkStruct_0204a060.hpp" #include "Unknown/UnkStruct_027e09a0.hpp" #include "global.h" +#include "iterator.hpp" #include "types.h" struct SaveFile; +class UnkStruct_027e09a4; -/* -naming scheme: -- test_xxx: debug area -- e3_xxx: E3 demo area -- t_xxx: "T" for "Train" -> overworld area -- d_xxx: "D" for "Dungeon" -> dungeon area -- b_xxx: "B" for "Boss" -> dungeon boss area -- f_xxx: "F" for "Field" -> normal gameplay area (also known as a "land" area) -*/ -typedef u32 SceneIndex; -typedef u16 SceneIndex_Half; -enum SceneIndex_ { - /* -1 */ SceneIndex_None = -1, - /* 0 */ SceneIndex_test_trn = 0x00, // - /* 1 */ SceneIndex_test_trn2 = 0x01, // - /* 2 */ SceneIndex_test_pre = 0x02, // - /* 3 */ SceneIndex_test_iwa = 0x03, // - /* 4 */ SceneIndex_t_area0 = 0x04, // Forest Realm - /* 5 */ SceneIndex_t_area1 = 0x05, // Snow Realm - /* 6 */ SceneIndex_t_area2 = 0x06, // Ocean Realm - /* 7 */ SceneIndex_t_area3 = 0x07, // Fire Realm - /* 8 */ SceneIndex_t_tutorial = 0x08, // - /* 9 */ SceneIndex_t_forest = 0x09, // - /* 10 */ SceneIndex_t_smarine = 0x0A, // - /* 11 */ SceneIndex_t_smount = 0x0B, // rocktite scene? - /* 12 */ SceneIndex_t_smount2 = 0x0C, // rocktite scene? - /* 13 */ SceneIndex_t_smount3 = 0x0D, // rocktite fire realm scene? - /* 14 */ SceneIndex_t_minigame = 0x0E, // goron target range minigame - /* 15 */ SceneIndex_t_dark = 0x0F, // Dark Realm - /* 16 */ SceneIndex_t_eviltrain = 0x10, // train cole fight - /* 17 */ SceneIndex_t_eviltrain2 = 0x11, // same as above - /* 18 */ SceneIndex_t_eviltrain3 = 0x12, // same as above - /* 19 */ SceneIndex_d_main = 0x13, // Tower Of Spirits - /* 20 */ SceneIndex_d_main_f = 0x14, // ToS base - /* 21 */ SceneIndex_d_main_s = 0x15, // ToS top stairs - /* 22 */ SceneIndex_d_main_a = 0x16, // ToS altar - /* 23 */ SceneIndex_d_main_w = 0x17, // ToS inner Stairs - /* 24 */ SceneIndex_d_tutorial = 0x18, // Tunnel to ToS - /* 25 */ SceneIndex_d_forest = 0x19, // Forest Temple - /* 26 */ SceneIndex_d_snow26 = 0x1A, // Snow Temple - /* 27 */ SceneIndex_d_water27 = 0x1B, // Water Temple - /* 28 */ SceneIndex_d_flame = 0x1C, // Fire Temple - /* 29 */ SceneIndex_d_sand = 0x1D, // Sand Temple - /* 30 */ SceneIndex_b_forest = 0x1E, // Stagnox - /* 31 */ SceneIndex_b_snow = 0x1F, // Fraaz - /* 32 */ SceneIndex_b_water = 0x20, // Phytops - /* 33 */ SceneIndex_b_flame = 0x21, // Cragma - /* 34 */ SceneIndex_b_sand = 0x22, // Skeldritch - /* 35 */ SceneIndex_b_deago = 0x23, // Byrne - /* 36 */ SceneIndex_b_last1 = 0x24, // demon zelda train - /* 37 */ SceneIndex_b_last2 = 0x25, // malladus beast 1 - /* 38 */ SceneIndex_b_last22 = 0x26, // malladus song - /* 39 */ SceneIndex_b_last23 = 0x27, // mallasdus beast 2 - /* 40 */ SceneIndex_f_hyral = 0x28, // hyrule castle - /* 41 */ SceneIndex_f_htown = 0x29, // castle town - /* 42 */ SceneIndex_f_forest1 = 0x2A, // Whittleton - /* 43 */ SceneIndex_f_snow = 0x2B, // Anouki Village - /* 44 */ SceneIndex_f_water = 0x2C, // Papuchia Village - /* 45 */ SceneIndex_f_flame = 0x2D, // Goron Village - /* 46 */ SceneIndex_f_flame5 = 0x2E, - /* 47 */ SceneIndex_f_first = 0x2F, // Aboda Village - /* 48 */ SceneIndex_f_forest2 = 0x30, // Forest Sanctuary - /* 49 */ SceneIndex_f_snow2 = 0x31, // Snow Sanctuary - /* 50 */ SceneIndex_f_water2 = 0x32, // Water Sanctuary - /* 51 */ SceneIndex_f_flame2 = 0x33, // Fire Sanctuary - /* 52 */ SceneIndex_f_sand = 0x34, // Sand Sanctuary - /* 53 */ SceneIndex_f_tetsuo = 0x35, // Icy Spring - /* 54 */ SceneIndex_f_bridge = 0x36, // Bridge Worker's House - /* 55 */ SceneIndex_f_bridge2 = 0x37, // Trading Post - /* 56 */ SceneIndex_f_forest3 = 0x38, // whittleton forest - /* 57 */ SceneIndex_f_water3 = 0x39, // papuchia south and lost at sea station - /* 58 */ SceneIndex_f_ajito = 0x3A, // Pirate Hideout - /* 59 */ SceneIndex_f_ajito2 = 0x3B, // same as above - /* 60 */ SceneIndex_f_flame3 = 0x3C, // Goron Target Range - /* 61 */ SceneIndex_f_flame4 = 0x3D, // Dark Ore Mine - /* 62 */ SceneIndex_f_rabbit = 0x3E, // Rabbit Haven - /* 63 */ SceneIndex_f_kakushi1 = 0x3F, // Snowdrift Station - /* 64 */ SceneIndex_f_kakushi2 = 0x40, // Disorientation Station - /* 65 */ SceneIndex_f_kakushi3 = 0x41, // Ends of the Earth Station - /* 66 */ SceneIndex_f_kakushi4 = 0x42, // train required? - /* 67 */ SceneIndex_f_pirate = 0x43, // Train passenger pirate attack (including Carben) - /* 68 */ SceneIndex_f_passenger = 0x44, // Anjean force gem - /* 69 */ SceneIndex_f_trnnpc = 0x45, // Ferrus encounter - /* 70 */ SceneIndex_tekiya00 = 0x46, // take em all on? - /* 71 */ SceneIndex_tekiya01 = 0x47, // take em all on? - /* 72 */ SceneIndex_tekiya02 = 0x48, // take em all on? - /* 73 */ SceneIndex_tekiya03 = 0x49, // take em all on? - /* 74 */ SceneIndex_tekiya04 = 0x4A, // take em all on? - /* 75 */ SceneIndex_tekiya05 = 0x4B, // take em all on? - /* 76 */ SceneIndex_tekiya06 = 0x4C, // take em all on? - /* 77 */ SceneIndex_tekiya07 = 0x4D, // take em all on? - /* 78 */ SceneIndex_tekiya08 = 0x4E, // take em all on? - /* 79 */ SceneIndex_tekiya09 = 0x4F, // take em all on? - /* 80 */ SceneIndex_demo_train = 0x50, // title screen? - /* 81 */ SceneIndex_e3_train = 0x51, // ? - /* 82 */ SceneIndex_e3_dungeon = 0x52, // ? - /* 83 */ SceneIndex_e3_boss = 0x53, // forest temple boss - /* 84 */ SceneIndex_e3_bossm = 0x54, // fake forest temple room - /* 85 */ SceneIndex_e3_smount = 0x55, // ? - /* 86 */ SceneIndex_test_hiratsu = 0x56, // ? - /* 87 */ SceneIndex_test_sik = 0x57, // ? - /* 88 */ SceneIndex_test_fuj = 0x58, // ? - /* 89 */ SceneIndex_test_nit = 0x59, // ? - /* 90 */ SceneIndex_test_mri = 0x5A, // ? - /* 91 */ SceneIndex_test_morita = 0x5B, // ? - /* 92 */ SceneIndex_test_yamaz = 0x5C, // ? - /* 93 */ SceneIndex_test_sako = 0x5D, // ? - /* 94 */ SceneIndex_test_kita = 0x5E, // ? - /* 95 */ SceneIndex_test_take = 0x5F, // ? - /* 96 */ SceneIndex_test_suzuki = 0x60, // ? - /* 97 */ SceneIndex_test_okane = 0x61, // ? - /* 98 */ SceneIndex_test_dera = 0x62, // ? - /* 99 */ SceneIndex_test_hosaka = 0x63, // ? - /* 100 */ SceneIndex_test_hosaka_f = 0x64, // ? - /* 101 */ SceneIndex_test_kato = 0x65, // ? - /* 102 */ SceneIndex_test_okane_f = 0x66, // ? - /* 103 */ SceneIndex_test_yamaz_f = 0x67, // ? - /* 104 */ SceneIndex_test_sako_f = 0x68, // ? - /* 105 */ SceneIndex_test_take_f = 0x69, // ? - /* 106 */ SceneIndex_test_kiuchi = 0x6A, // ? - /* 107 */ SceneIndex_test_dera_f = 0x6B, // ? - /* 108 */ SceneIndex_test_slope = 0x6C, // ? - /* 109 */ SceneIndex_battle01 = 0x6D, // battle mode? - /* 110 */ SceneIndex_battle02 = 0x6E, // battle mode? - /* 111 */ SceneIndex_battle03 = 0x6F, // battle mode? - /* 112 */ SceneIndex_battle04 = 0x70, // battle mode? - /* 113 */ SceneIndex_battle05 = 0x71, // battle mode? - /* 114 */ SceneIndex_battle06 = 0x72, // battle mode? - /* 115 */ SceneIndex_battle07 = 0x73, // battle mode? - /* 116 */ SceneIndex_battle08 = 0x74, // battle mode? - /* 117 */ SceneIndex_battle09 = 0x75, // battle mode? - /* 118 */ SceneIndex_battle10 = 0x76, // battle mode? - /* 119 */ SceneIndex_battle11 = 0x77, // battle mode? - /* 120 */ SceneIndex_battle12 = 0x78, // battle mode? - /* 121 */ SceneIndex_Max = 0x79 -}; +#define ROOM_INDEX_NONE 0xFF -struct UnkStruct_SceneChange1_Base { +struct UnkStruct_SceneChange1 { /* 00 */ unk32 mSceneIndex; /* 04 */ unk32 mUnk_04; /* 08 */ unk16 mUnk_08; /* 0A */ u8 mRoomIndex; /* 0B */ u8 mSpawnIndex; /* 0C */ bool mIsCS; - /* 0D */ unk8 mUnk_0D; + /* 0D */ u8 mUnk_0D; /* 0E */ u8 mCutsceneIndex; - /* 0F */ unk8 mUnk_0F; -}; - -struct UnkStruct_SceneChange1 : public UnkStruct_SceneChange1_Base { - /* 10 */ unk8 mUnk_10; - /* 11 */ unk8 mUnk_11; - /* 12 */ unk8 mUnk_12; - /* 13 */ unk8 mUnk_13; + /* 0F */ u8 mUnk_0F; + /* 10 */ u8 mUnk_10; + /* 11 */ u8 mUnk_11; + /* 12 */ u16 mUnk_12; /* 14 */ UnkStruct_SceneChange1() { - this->mSceneIndex = SceneIndex_Max; - this->mUnk_04 = 0; - this->mUnk_08 = 0; - this->mRoomIndex = 0xFF; // this changes when you enter a house, it's not clear if it has another purpose yet - this->mSpawnIndex = 0; // changing this then saving will change your spawn location after opening the save again - // (not the area) + this->mSceneIndex = SceneIndex_Max; + this->mUnk_04 = 0; + this->mUnk_08 = 0; + this->mRoomIndex = ROOM_INDEX_NONE; + this->mSpawnIndex = 0; this->mIsCS = false; this->mUnk_0D = 0; this->mCutsceneIndex = CutsceneIndex_None; @@ -196,31 +59,136 @@ struct UnkStruct_SceneChange1 : public UnkStruct_SceneChange1_Base { this->mUnk_0F = 0; this->mUnk_10 = 0; } + + UnkStruct_SceneChange1(s32) {} +}; + +class UnkStruct_WarpUnk1_24 : public UnkStruct_0204a060_Base3 { +public: + /* 00 (base) */ + /* 14 */ STRUCT_PAD(0x14, 0x2A); + /* 2A */ bool mUnk_2A; + /* 2C */ + + UnkStruct_WarpUnk1_24(); + void func_ov000_02070f58(unk32 param1); +}; + +class UnkStruct_WarpUnk1_50 : public UnkStruct_0204a060_Base3 { +public: + /* 00 (base) */ + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1C */ unk32 mUnk_1C; + /* 20 */ unk32 mUnk_20; + /* 24 */ unk32 mUnk_24; + /* 28 */ + + UnkStruct_WarpUnk1_50(); + void func_ov000_02065f68(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5); +}; + +class UnkStruct_WarpUnk1_A0 { +public: + /* 00 */ SceneIndex_Halfs mSceneIndex; + /* 02 */ unk16 mRoomIndex; + /* 04 */ VecFx32 mUnk_04; + /* 10 */ s16 mUnk_10; + /* 12 */ u16 mUnk_12; + /* 14 */ }; class UnkStruct_WarpUnk1 : public UnkStruct_0204a060_Base { public: /* 00 (base) */ - /* 24 */ STRUCT_PAD(0x24, 0x78); + /* 24 */ UnkStruct_WarpUnk1_24 mUnk_24; + /* 50 */ UnkStruct_WarpUnk1_50 mUnk_50; /* 78 */ UnkStruct_SceneChange1 mUnk_78; // current scene? /* 8C */ UnkStruct_SceneChange1 mUnk_8C; // next scene - /* A0 */ STRUCT_PAD(0xA0, 0xB4); + /* A0 */ UnkStruct_WarpUnk1_A0 mUnk_A0; /* B4 */ unk32 mSpawnTransitionType; // the behavior of Link when entering a new scene + /* B8 */ + + UnkStruct_WarpUnk1(); + ~UnkStruct_WarpUnk1() {} + + bool func_ov001_020b7144(); }; -class UnkStruct_027e09a4 : public SysObject { +struct UnkStruct_027e09a4_2C { + /* 00 */ SceneIndex_Halfs mSceneIndex; + /* 02 */ unk16 mUnk_02; + /* 04 */ VecFx32 mUnk_04; + /* 10 */ u16 mUnk_10; + /* 14 */ +}; + +class UnkStruct_027e09a4_54_04 { public: - /* 00 */ UnkStruct_SceneChange1_Base mUnk_00; // the infos of the current area, this isn't saved when you save the game - /* 10 */ unk32 *mUnk_10; + /* 00 */ STRUCT_PAD(0x00, 0x10); + /* 10 */ + + ~UnkStruct_027e09a4_54_04() {} +}; + +class UnkStruct_027e09a4_54_Base { +public: + /* 00 (vtable) */ + /* 04 */ Iterator mUnk_04; + /* 0C */ wchar_t mUnk_0C[8]; + /* 1C */ UnkStruct_SceneChange1 mUnk_1C; + /* 30 */ unk16 mUnk_30; + /* 32 */ bool mUnk_32; + /* 33 */ unk8 mUnk_33; + /* 34 */ + + UnkStruct_027e09a4_54_Base(unk32 *param1); + + /* 00 */ virtual bool vfunc_00(void *param1); + /* 04 */ virtual ~UnkStruct_027e09a4_54_Base(); + /* 0C */ virtual void vfunc_0C(); + /* 10 */ + + void func_ov001_020b6fa0(CourseListEntry *pCourseEntry); + void func_ov001_020b7048(); +}; + +class UnkStruct_027e09a4_54_Type1 : public UnkStruct_027e09a4_54_Base { +public: + UnkStruct_027e09a4_54_Type1(UnkStruct_027e09a4 *param1); +}; + +class UnkStruct_027e09a4_54_Type2 : public UnkStruct_027e09a4_54_Base { +public: + UnkStruct_027e09a4_54_Type2(UnkStruct_027e09a4 *param1); +}; + +class UnkStruct_027e09a4_54_Type3 : public UnkStruct_027e09a4_54_Base { +public: + UnkStruct_027e09a4_54_Type3(UnkStruct_027e09a4 *param1); +}; + +class UnkStruct_027e09a4_54_Type4 : public UnkStruct_027e09a4_54_Base { +public: + UnkStruct_027e09a4_54_Type4(UnkStruct_027e09a4 *param1); +}; + +class UnkStruct_027e09a4_54_Type5 : public UnkStruct_027e09a4_54_Base { +public: + UnkStruct_027e09a4_54_Type5(UnkStruct_027e09a4 *param1); +}; + +class UnkStruct_027e09a4 : public AutoInstance { +public: + /* 00 */ UnkStruct_SceneChange1 mUnk_00; // the infos of the current area, this isn't saved when you save the game /* 14 */ UnkStruct_SceneChange1 mUnk_14; /* 28 */ unk32 mUnk_28; - /* 2C */ s16 mUnk_2C; - /* 2C */ unk16 mUnk_2E; - /* 30 */ VecFx32 mUnk_30; - /* 3C */ STRUCT_PAD(0x3C, 0x54); - /* 54 */ void *mUnk_54; // vtable + /* 2C */ UnkStruct_027e09a4_2C mUnk_2C; + /* 40 */ UnkStruct_027e09a4_2C mUnk_40; + /* 54 */ UnkStruct_027e09a4_54_Base *mUnk_54; /* 58 */ UnkStruct_WarpUnk1 *mpWarpUnk1; - /* 5C */ unk32 mUnk_5C; + /* 5C */ unk16 mUnk_5C; + /* 5E */ unk16 mUnk_5E; /* 60 */ unk32 mUnk_60; // related to ds download? /* 64 */ unk32 mUnk_64; /* 68 */ @@ -298,12 +266,13 @@ public: return this->mUnk_00.mSceneIndex == SceneIndex_f_passenger; } + UnkStruct_027e09a4(unk32 param1); ~UnkStruct_027e09a4(); // itcm bool IsLand(); bool IsTrain(); - CourseEntry *GetCurrentCourseEntry() const; + CourseListEntry *GetCurrentCourseEntry() const; // overlay 0 unk8 func_ov000_02070bd0(unk32 csIndex, unk32 param2); @@ -315,12 +284,22 @@ public: void func_ov000_02070938(unk32 param1); void func_ov000_02070a4c(unk32 param1); unk32 func_ov000_02070554(); - unk16 *func_ov000_02070538(); + UnkStruct_WarpUnk1_A0 *func_ov000_02070538(); bool func_ov000_02070a9c(UnkStruct_SceneChange1 *param1); bool func_ov000_02072154(UnkStruct_SceneChange1 *param1, unk32 param2); bool func_ov000_0207056c(); void func_ov000_020705e8(SaveFile *param1, unk32 param2); + // overlay 1 + void func_ov001_020b662c(); + void func_ov001_020b66dc(); + void func_ov001_020b6758(const UnkStruct_SceneChange1 *param1, bool param2); + void func_ov001_020b68a4(bool param1, bool param2, bool param3); + void func_ov001_020b6924(const UnkStruct_SceneChange1 *param1, bool param2); + void func_ov001_020b69b4(const UnkStruct_SceneChange1 *param1, bool param2); + + static UnkStruct_027e09a4 *Create(unk32 param1); + // overlay 17 void func_ov017_020bb994(void *param1); void func_ov017_020bb994(unk32 param1); diff --git a/include/Unknown/UnkStruct_027e09ac.hpp b/include/Unknown/UnkStruct_027e09ac.hpp index 59332ee3..427f264c 100644 --- a/include/Unknown/UnkStruct_027e09ac.hpp +++ b/include/Unknown/UnkStruct_027e09ac.hpp @@ -78,8 +78,16 @@ public: UnkStruct_027e09ac(); ~UnkStruct_027e09ac(); + // overlay 0 void func_ov000_020726f0(unk32 param1, unk32 param2, unk32 param3); void func_ov000_020729c4(UnkStruct_027e09ac_14 *param1, u16 param2, u16 param3, s16 param4, s16 param5); + + // overlay 1 + void func_ov001_020bec8c(); + void func_ov001_020bebb8(); + + static UnkStruct_027e09ac *Create(); + static void Destroy(); }; extern UnkStruct_027e09ac *data_027e09ac; diff --git a/include/Unknown/UnkStruct_027e09b8.hpp b/include/Unknown/UnkStruct_027e09b8.hpp index 1b518b6f..6bc1311d 100644 --- a/include/Unknown/UnkStruct_027e09b8.hpp +++ b/include/Unknown/UnkStruct_027e09b8.hpp @@ -1,5 +1,6 @@ #pragma once +#include "Cutscene/Cutscene.hpp" #include "MapObject/MapObject.hpp" #include "Save/AdventureFlags.hpp" #include "types.h" @@ -63,7 +64,7 @@ public: ~UnkStruct_027e09b8_10(); }; -class UnkStruct_027e09b8 { +class UnkStruct_027e09b8 : public AutoInstance { public: /* 00 */ UnkStruct_027e09b8_00 *mUnk_00; /* 04 */ UnkStruct_027e09b8_04 *mUnk_04; @@ -80,8 +81,13 @@ public: return GET_FLAG(this->mAdventureFlags, flag); } + UnkStruct_027e09b8(); + ~UnkStruct_027e09b8(); + + // itcm unk32 func_01ffd420(); + // overlay 0 unk32 func_ov000_020732ec(unk32 param1); unk32 func_ov000_020732fc(unk32 param1); bool func_ov000_020732dc(unk32 param1); @@ -94,6 +100,13 @@ public: #if IS_JP void func_ov000_02074d78(unk32 param1); #endif + + // overlay 1 + void func_ov001_020b76c0(CutsceneIndex csIndex); + void func_ov001_020b7700(); + + static UnkStruct_027e09b8 *Create(); + static void Destroy(); }; extern UnkStruct_027e09b8 *data_027e09b8; diff --git a/include/Unknown/UnkStruct_027e09bc.hpp b/include/Unknown/UnkStruct_027e09bc.hpp index 0b63c35d..4edcaccd 100644 --- a/include/Unknown/UnkStruct_027e09bc.hpp +++ b/include/Unknown/UnkStruct_027e09bc.hpp @@ -13,7 +13,7 @@ public: bool func_ov000_02078764(VecFx32 *param1, void *param2, unk32 param3); }; -class UnkStruct_027e09bc { +class UnkStruct_027e09bc : public AutoInstance { public: /* 00 */ unk32 mUnk_00; /* 04 */ UnkStruct_027e09bc_0C *mUnk_04; @@ -22,6 +22,13 @@ public: UnkStruct_027e09bc(); ~UnkStruct_027e09bc(); + + // overlay 1 + void func_ov001_020babc8(); + void func_ov001_020bab5c(); + + static UnkStruct_027e09bc *Create(); + static void Destroy(); }; extern UnkStruct_027e09bc *data_027e09bc; diff --git a/include/Unknown/UnkStruct_027e09c0.hpp b/include/Unknown/UnkStruct_027e09c0.hpp new file mode 100644 index 00000000..f7e7dd8a --- /dev/null +++ b/include/Unknown/UnkStruct_027e09c0.hpp @@ -0,0 +1,21 @@ +#pragma once + +#include "global.h" +#include "types.h" + +class UnkStruct_027e09c0 : public AutoInstance { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_027e09c0(); + ~UnkStruct_027e09c0(); + + // overlay 1 + void func_ov001_020be3c4(); + void func_ov001_020be394(); + + static UnkStruct_027e09c0 *Create(); + static void Destroy(); +}; + +extern UnkStruct_027e09c0 *data_027e09c0; diff --git a/include/Unknown/UnkStruct_027e0cd8.hpp b/include/Unknown/UnkStruct_027e0cd8.hpp index 1fd44e34..7eda248b 100644 --- a/include/Unknown/UnkStruct_027e0cd8.hpp +++ b/include/Unknown/UnkStruct_027e0cd8.hpp @@ -130,7 +130,7 @@ public: UnkStruct_027e0cd8_04(); }; -class UnkStruct_027e0cd8 { +class UnkStruct_027e0cd8 : public AutoInstance { public: /* 00 */ unk32 mUnk_00; /* 04 */ UnkStruct_027e0cd8_04 *mUnk_04; // stage flags @@ -142,6 +142,10 @@ public: /* 34 */ STRUCT_PAD(0x34, 0x4C); /* 4C */ + UnkStruct_027e0cd8(); + ~UnkStruct_027e0cd8(); + + // overlay 0 bool func_ov000_02081e30(unk32 param1, unk32 param2); void func_ov000_02081d7c(unk32 flagValue, unk32 param2, bool doSet); void func_ov000_02081ecc(unk16 param1, unk32 param2); @@ -150,6 +154,14 @@ public: u32 func_ov000_02081d5c(); // returns current room index? bool func_ov000_02082124(); bool func_ov000_02081c28(); + + // overlay 1 + void func_ov001_020b7a7c(); + void func_ov001_020b7830(UnkStruct_SceneChange1 *param1); + void func_ov001_020b7c08(UnkStruct_SceneChange1 *param1, UnkStruct_WarpUnk1_A0 *param2); + + static UnkStruct_027e0cd8 *Create(); + static void Destroy(); }; extern UnkStruct_027e0cd8 *data_027e0cd8; diff --git a/include/Unknown/UnkStruct_027e0ce0.hpp b/include/Unknown/UnkStruct_027e0ce0.hpp index 3951cafe..eb408e55 100644 --- a/include/Unknown/UnkStruct_027e0ce0.hpp +++ b/include/Unknown/UnkStruct_027e0ce0.hpp @@ -376,7 +376,7 @@ public: }; // PlayerManager? -class UnkStruct_027e0ce0 { +class UnkStruct_027e0ce0 : public AutoInstance { public: /* 00 */ unk8 mHealth; /* 01 */ unk8 mHealthMax; @@ -400,6 +400,10 @@ public: /* 40 */ UnkStruct_027e0ce0_40 *mUnk_40; // pointer to data_027e0478 when not on the train /* 44 */ + UnkStruct_027e0ce0(); + ~UnkStruct_027e0ce0(); + + // itcm VecFx32 *func_01fff148(unk32 param1); bool func_01fff1a4(); bool func_01fff1e0(); @@ -413,6 +417,13 @@ public: static UnkStruct_027e0ce0_34 *func_ov000_0205c904(); + // overlay 1 + void func_ov001_020bc5f8(); + void func_ov001_020bc524(bool param1); + + static UnkStruct_027e0ce0 *Create(); + static void Destroy(); + // overlay 17 void func_ov017_020bd69c(); }; diff --git a/include/Unknown/UnkStruct_027e0cec.hpp b/include/Unknown/UnkStruct_027e0cec.hpp index 073890f5..2b39a6d6 100644 --- a/include/Unknown/UnkStruct_027e0cec.hpp +++ b/include/Unknown/UnkStruct_027e0cec.hpp @@ -4,13 +4,19 @@ #include "math.hpp" #include "types.h" -class UnkStruct_027e0cec { +class UnkStruct_027e0cec : public AutoInstance { public: + UnkStruct_027e0cec(); + ~UnkStruct_027e0cec(); + void func_ov000_0209feac(unk32 param1, VecFx32 *param2, unk32 param3, unk32 param4, unk32 param5); void func_ov000_0209ff8c(UnkStruct_PlayerGet_ec *param1, unk32 param2, VecFx32 *param3, unk32 param4); void func_ov000_020a0000(UnkStruct_PlayerGet_ec *param1, void *param2, unk32 *param3, VecFx32 *param4, unk32 param5); void func_ov000_020a0110(UnkStruct_PlayerGet_ec *param1); void func_ov000_020a0220(void *param1, void *param2); + + // overlay 1 + static UnkStruct_027e0cec *Create(); }; extern UnkStruct_027e0cec *data_027e0cec; diff --git a/include/Unknown/UnkStruct_027e0cf4.hpp b/include/Unknown/UnkStruct_027e0cf4.hpp index 1ba47f3c..4afcf27c 100644 --- a/include/Unknown/UnkStruct_027e0cf4.hpp +++ b/include/Unknown/UnkStruct_027e0cf4.hpp @@ -3,7 +3,7 @@ #include "System/SysNew.hpp" #include "types.h" -class UnkStruct_027e0cf4 : public SysObject { +class UnkStruct_027e0cf4 { public: ~UnkStruct_027e0cf4(); void func_ov021_020f8cdc(); diff --git a/include/Unknown/UnkStruct_027e0d70.hpp b/include/Unknown/UnkStruct_027e0d70.hpp index dc723e7e..646a5261 100644 --- a/include/Unknown/UnkStruct_027e0d70.hpp +++ b/include/Unknown/UnkStruct_027e0d70.hpp @@ -3,7 +3,7 @@ #include "System/SysNew.hpp" #include "types.h" -class UnkStruct_027e0d70 : public SysObject { +class UnkStruct_027e0d70 { public: ~UnkStruct_027e0d70(); void func_ov071_0215e8f8(); diff --git a/include/Unknown/UnkStruct_ov000_02067bc4.hpp b/include/Unknown/UnkStruct_ov000_02067bc4.hpp index 8871954d..0c5bd402 100644 --- a/include/Unknown/UnkStruct_ov000_02067bc4.hpp +++ b/include/Unknown/UnkStruct_ov000_02067bc4.hpp @@ -96,7 +96,7 @@ public: /* 14 */ }; -class UnkStruct_ov000_020b504c_Sub3 : public SysObject { +class UnkStruct_ov000_020b504c_Sub3 { public: /* 00 */ BMGEntry **mpBMGTable; /* 04 */ BMGHeader **mUnk_04; @@ -148,6 +148,7 @@ public: UnkStruct_ov000_020b504c(); + // overlay 0 void *func_ov000_02067bb4(unk32 param1); UnkStruct_ov000_02067bc4 *func_ov000_02067bc4(unk32); unk8 func_ov000_02067cf8(unk32 param1, unk32 param2, UnkStruct_ov000_02067bc4::UnkStruct1 *param3); // ShowText? @@ -161,9 +162,11 @@ public: bool func_ov000_0206807c(unk32 param1, void *param2); void func_ov000_02067b60(); + // overlay 1 void func_ov001_020be510(); void func_ov001_020be668(void); void func_ov001_020be6f4(void); + void func_ov001_020be8e0(void); }; // gMessageManager? diff --git a/include/Unknown/UnkStruct_ov000_020b50c0.hpp b/include/Unknown/UnkStruct_ov000_020b50c0.hpp index 9c3d8375..0086673a 100644 --- a/include/Unknown/UnkStruct_ov000_020b50c0.hpp +++ b/include/Unknown/UnkStruct_ov000_020b50c0.hpp @@ -3,7 +3,9 @@ #include "System/SysNew.hpp" #include "types.h" -class UnkStruct_ov018_020c5ac0 : public SysObject { +class UnkStruct_SceneChange1; + +class UnkStruct_ov018_020c5ac0 { public: /* 00 */ unk8 mUnk_00; /* 00 */ unk8 mUnk_01; @@ -43,6 +45,7 @@ public: UnkStruct_ov000_020b50c0(); + // overlay 0 void func_ov000_02069d3c(unk32 param1); void func_ov000_02069d7c(unk32 param1); void func_ov000_02069f58(void); @@ -53,12 +56,17 @@ public: void func_ov000_0206a740(void); void func_ov000_0206a758(void); void func_ov000_0206a77c(void); + void func_ov000_0206a014(void); + // overlay 1 void func_ov001_020bd854(); void func_ov001_020bd87c(void); void func_ov001_020bd8dc(void); void func_ov001_020bd8ac(void); + void func_ov001_020bde04(UnkStruct_SceneChange1 *param1); + void func_ov001_020bd970(UnkStruct_SceneChange1 *param1); + // overlay 18 UnkStruct_ov018_020c5ac0 *func_ov018_020c5718(void); }; diff --git a/include/Unknown/UnkStruct_ov000_020b51b8.hpp b/include/Unknown/UnkStruct_ov000_020b51b8.hpp index 2a460290..228cfa8f 100644 --- a/include/Unknown/UnkStruct_ov000_020b51b8.hpp +++ b/include/Unknown/UnkStruct_ov000_020b51b8.hpp @@ -4,7 +4,7 @@ #include "Unknown/UnkStruct_ov000_020b5214.hpp" #include "types.h" -class UnkStruct_ov000_020b51b8_00 : public SysObject { +class UnkStruct_ov000_020b51b8_00 { public: /* 00 (vtable) */ /* 04 */ STRUCT_PAD(0x04, 0xA0); @@ -17,7 +17,7 @@ public: /* 0C */ virtual void vfunc_0C(unk32 param1); }; -class UnkStruct_ov000_020b51b8_04 : public SysObject { +class UnkStruct_ov000_020b51b8_04 { public: /* 00 (vtable) */ /* 04 */ STRUCT_PAD(0x04, 0x98); diff --git a/include/Unknown/UnkSystem1.hpp b/include/Unknown/UnkSystem1.hpp index e773aede..29e17835 100644 --- a/include/Unknown/UnkSystem1.hpp +++ b/include/Unknown/UnkSystem1.hpp @@ -16,7 +16,7 @@ struct UnkStruct5 { }; // data_ov000_020b2078 -class UnkSystem1_ov000_Base : public SysObject { +class UnkSystem1_ov000_Base { public: /* 00 (vtable) */ /* 04 */ unk16 mUnk_04; diff --git a/include/files.h b/include/files.h index af6d84ec..dcafadcb 100644 --- a/include/files.h +++ b/include/files.h @@ -14,6 +14,8 @@ enum FileType_ { FileType_ZOB = 'BLOZ', FileType_ZTB = '1BTZ', FileType_ZMB = '1BMZ', + FileType_CIB = 'ZCIB', + FileType_CLB = 'ZCLB', }; typedef struct FileInfos { @@ -167,6 +169,53 @@ typedef struct ZMBSectionRALB { /* 0C */ ZMBEntryRALB entries[]; } ZMBSectionRALB; +// .cib +typedef struct CourseInitEntry { + /* 00 */ const char name[16]; + /* 10 */ STRUCT_PAD(0x10, 0x24); +} CourseInitEntry; // size = 0x24 + +typedef struct CourseInitHeader { + /* 00 */ FileType type; // always "ZCIB" + /* 04 */ size_t nSize; + /* 08 */ u32 nEntries; + /* 0C */ u32 nEntries2; // same value as above? +} CourseInitHeader; // size = 0x10 + +// .clb +typedef struct CourseListRoomEntry { + /* 00 */ u8 roomIndex; + /* 01 */ u8 mapPaintIndex; + /* 02 */ u8 unk_02; + /* 03 */ u8 unk_03; +} CourseListRoomEntry; // size = 0x08 + +typedef struct CourseListEntry { + /* 00 */ const char name[16]; + /* 10 */ unk32 unk_10; + /* 14 */ unk8 numRooms; + /* 15 */ unk8 unk_15; + /* 16 */ unk8 titleCardMsgIndex; + /* 17 */ u8 saveCourseIndex; + /* 18 */ u8 unk_18; + /* 19 */ u8 unk_19; + /* 1A */ u8 unk_1A; + /* 1B */ u8 unk_1B; + /* 1C */ u8 unk_1C; + /* 1D */ u8 unk_1D; + /* 1E */ u8 unk_1E; + /* 1F */ u8 unk_1F; + /* 20 */ u8 defaultMapPaintIndex; + /* 24 */ CourseListRoomEntry roomEntries[]; +} CourseListEntry; // size >= 0x28 + +typedef struct CourseListHeader { + /* 00 */ FileType type; // always "ZCIB" + /* 04 */ size_t nSize; + /* 08 */ u32 nEntries; + /* 0C */ u32 nEntries2; // same value as above? +} CourseListHeader; // size = 0x10 + #ifdef __cplusplus } // extern "C" #endif diff --git a/include/types.h b/include/types.h index 83427353..e16b7633 100644 --- a/include/types.h +++ b/include/types.h @@ -50,14 +50,26 @@ public: ~AutoInstance() {} }; - #define DECL_INSTANCE(T, gpInstance) \ - template Instance::Instance() { \ - gpInstance = (T *) this; \ - } \ - template Instance::~Instance() { \ - gpInstance = NULL; \ - } \ - template class Instance + #define DECL_INSTANCE_CTOR(T, gpInstance) \ + template Instance::Instance() { \ + gpInstance = (T *) this; \ + } \ + template class Instance; + + #define DECL_INSTANCE_DTOR(T, gpInstance) \ + Instance::~Instance() { \ + gpInstance = NULL; \ + } + + #define DECL_INSTANCE(T, gpInstance) \ + DECL_INSTANCE_CTOR(T, gpInstance) \ + DECL_INSTANCE_DTOR(T, gpInstance) + +template struct StaticInstance { + static T sInstance; +}; + + #define DECL_STATIC_INSTANCE(T) T StaticInstance::sInstance #endif diff --git a/src/000_Second/Actor/Actor_Derived1.cpp b/src/000_Second/Actor/Actor_Derived1.cpp index 06eec1d2..92322122 100644 --- a/src/000_Second/Actor/Actor_Derived1.cpp +++ b/src/000_Second/Actor/Actor_Derived1.cpp @@ -258,5 +258,3 @@ void Actor_Derived1::func_ov000_020a9a34() {} void Actor_Derived1::func_ov000_020a9a50() {} void Actor_Derived1::func_ov000_020a9a94() {} void Actor_Derived1::func_ov000_020a9abc() {} -void Actor_Derived1::func_ov000_020a9ae0() {} -void Actor_Derived1::func_ov000_020a9afc() {} diff --git a/src/000_Second/Item/TreasureManager.cpp b/src/000_Second/Item/TreasureManager.cpp index 99b9bcd6..f8534713 100644 --- a/src/000_Second/Item/TreasureManager.cpp +++ b/src/000_Second/Item/TreasureManager.cpp @@ -85,6 +85,16 @@ extern u16 data_ov000_020afe8c; extern u16 data_ov000_020afe90; extern u16 data_ov000_020afe94; +TreasureManager *TreasureManager::Create() { + return new(HeapIndex_1) TreasureManager(); +} + +TreasureManager::TreasureManager() { + this->mUnk_5C = 0; +} + +TreasureManager::~TreasureManager() {} + void TreasureManager::func_ov000_020a9b10(void *param1) { MI_CpuCopyFast(param1, this, sizeof(TreasureManager)); } diff --git a/src/001_SceneInit/Actor/ActorManager_001.cpp b/src/001_SceneInit/Actor/ActorManager_001.cpp index e7b87ef8..492061e4 100644 --- a/src/001_SceneInit/Actor/ActorManager_001.cpp +++ b/src/001_SceneInit/Actor/ActorManager_001.cpp @@ -151,7 +151,7 @@ void ActorManager::func_ov001_020bb018(UnkStruct_func_ov001_020bb018_param2 *par auStack_28.func_ov000_02059270(0x24, "drop4", 0x2D200000); auStack_28.func_ov000_02059270(0x25, "drop5", 0x2D200000); - CourseEntry *ptr = data_027e09a0->GetCourseEntry(iVar5); + CourseListEntry *ptr = data_027e09a0->GetCourseEntry(iVar5); if ((ptr->unk_1D - 1) == 1) { auStack_28.func_ov000_02059270(0x38, "mic_0", 0x35B00000); auStack_28.func_ov000_02059270(0x39, "mic_1", 0x35B00000); diff --git a/src/001_SceneInit/CourseList.cpp b/src/001_SceneInit/CourseList.cpp new file mode 100644 index 00000000..b77b45f8 --- /dev/null +++ b/src/001_SceneInit/CourseList.cpp @@ -0,0 +1,59 @@ +#include "System/SysNew.hpp" +#include "Unknown/UnkFileSystem.hpp" +#include "Unknown/UnkStruct_027e09a0.hpp" + +#include + +DECL_STATIC_INSTANCE(CourseInitBinary); + +CourseInitBinary::CourseInitBinary() { + UnkFileSystem2 auStack_30("Course/courseinit.cib", 0); + auStack_30.vfunc_08(-0x20); + + CourseInitHeader *pHeader = (CourseInitHeader *) auStack_30.mpFile; + u32 *pEntryStart = (u32 *) ((u8 *) auStack_30.mpFile + sizeof(CourseInitHeader)); + + // note: each entry starts with its size followed by the actual data + for (int i = 0; i < pHeader->nEntries; i++) { + CourseInitEntry *pEntry = (CourseInitEntry *) ((u8 *) pEntryStart + sizeof(u32)); + + MI_CpuCopyFast(pEntry, &this->mEntries[i], sizeof(CourseInitEntry)); + + pEntryStart = (u32 *) ((u8 *) pEntryStart + *pEntryStart); + } +} + +UnkStruct_027e09a0::UnkStruct_027e09a0() { + this->mpCourseTable = (CourseListEntry **) ::operator new(SceneIndex_Max * 4, HeapIndex_1, 4); + this->mpCourseFile = new(HeapIndex_1) UnkFileSystem5("Course/courselist.clb", 0x82, 0x01, 0x00); + MI_CpuFill32(0, this->mUnk_08, sizeof(this->mUnk_08)); + this->InitCourseTable(); +} + +UnkStruct_027e09a0::~UnkStruct_027e09a0() { + delete this->mpCourseFile; + + if (this->mpCourseTable != 0) { + delete[] this->mpCourseTable; + } +} + +UnkStruct_027e09a0 *UnkStruct_027e09a0::Create() { + return new(HeapIndex_1) UnkStruct_027e09a0(); +} + +void UnkStruct_027e09a0::InitCourseTable() { + CourseListHeader *pHeader = (CourseListHeader *) this->mpCourseFile->vfunc_08(sizeof(CourseListHeader)); + u32 *pEntryStart = (u32 *) ((u8 *) this->mpCourseFile->mpFile + sizeof(CourseListHeader)); + + // note: each entry starts with its size followed by the actual data + for (int i = 0; i < pHeader->nEntries; i++) { + CourseListEntry *pEntry = (CourseListEntry *) ((u8 *) pEntryStart + sizeof(u32)); + + this->mpCourseTable[i] = pEntry; + + pEntryStart = (u32 *) ((u8 *) pEntryStart + *pEntryStart); + } +} + +DECL_INSTANCE(UnkStruct_027e09a0, data_027e09a0); diff --git a/src/001_SceneInit/Game/GameModeAdventure_001.cpp b/src/001_SceneInit/Game/GameModeAdventure_001.cpp index 8005cb22..1de80851 100644 --- a/src/001_SceneInit/Game/GameModeAdventure_001.cpp +++ b/src/001_SceneInit/Game/GameModeAdventure_001.cpp @@ -4,7 +4,6 @@ #include "Unknown/UnkStruct_0204a110.hpp" extern "C" { -void *func_ov001_020b6520(unk32 param1); void func_ov020_020c4ac0(void *); void func_0201659c(); } @@ -20,7 +19,7 @@ GameModeAdventure::GameModeAdventure() { data_0204a110.func_ov001_020bd514(0, AdventureModeManager::Create, 0, 1); gSaveManager.func_ov001_020ba670(); gSaveManager.func_ov001_020ba7a8(); - func_ov020_020c4ac0(func_ov001_020b6520(0)); + func_ov020_020c4ac0(UnkStruct_027e09a4::Create(0)); } THUMB_END diff --git a/src/001_SceneInit/Item/ItemManager_001.cpp b/src/001_SceneInit/Item/ItemManager_001.cpp index 90dbe00b..3a3e2e9f 100644 --- a/src/001_SceneInit/Item/ItemManager_001.cpp +++ b/src/001_SceneInit/Item/ItemManager_001.cpp @@ -11,7 +11,7 @@ void ItemManager::func_ov001_020bb9f8() { this->mTearsAmount = 0; } - CourseEntry *pEntry = data_027e09a0->GetCourseEntry(data_027e09a4->mUnk_00.mSceneIndex); + CourseListEntry *pEntry = data_027e09a0->GetCourseEntry(data_027e09a4->mUnk_00.mSceneIndex); if (pEntry->saveCourseIndex < SaveCourseIndex_Max) { this->mKeyAmount = gSaveManager.mUnk_000->unk_030[pEntry->saveCourseIndex].keyAmount; diff --git a/src/001_SceneInit/MapObject/MapObjectManager_001.cpp b/src/001_SceneInit/MapObject/MapObjectManager_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/Player/PlayerActorBase_70_001.cpp b/src/001_SceneInit/Player/PlayerActorBase_70_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/Player/Player_001.cpp b/src/001_SceneInit/Player/Player_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/SceneInitializers_001.cpp b/src/001_SceneInit/SceneInitializers_001.cpp new file mode 100644 index 00000000..b0b0d1e2 --- /dev/null +++ b/src/001_SceneInit/SceneInitializers_001.cpp @@ -0,0 +1,616 @@ +#include "global.h" + +THUMB_BEGIN + +#include "Actor/ActorManager.hpp" +#include "Cutscene/Cutscene.hpp" +#include "Game/GameModeManager.hpp" +#include "MainGame/AdventureMode.hpp" +#include "MainGame/MiscAdvManager.hpp" +#include "MapObject/MapObjectManager.hpp" +#include "System/OverlayManager.hpp" +#include "System/SysNew.hpp" +#include "Unknown/UnkStruct_0204a110.hpp" +#include "Unknown/UnkStruct_0204e5f8.hpp" +#include "Unknown/UnkStruct_027e0954.hpp" +#include "Unknown/UnkStruct_027e0958.hpp" +#include "Unknown/UnkStruct_027e095c.hpp" +#include "Unknown/UnkStruct_027e0960.hpp" +#include "Unknown/UnkStruct_027e09a0.hpp" +#include "Unknown/UnkStruct_027e09a4.hpp" +#include "Unknown/UnkStruct_027e09ac.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e09bc.hpp" +#include "Unknown/UnkStruct_027e09c0.hpp" +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "Unknown/UnkStruct_027e0ce0.hpp" +#include "Unknown/UnkStruct_027e0cec.hpp" +#include "Unknown/UnkStruct_027e0cf8.hpp" +#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b50c0.hpp" +#include "versions.h" + +#include +#include + +extern "C" void func_ov001_020bed34(); +extern "C" void func_01fff17c(unk16 *, UnkStruct_027e0ce0 *, unk32); +extern "C" u16 func_ov026_02106564(void *); + +extern const OverlayIndex data_ov000_020b21c4[]; +extern const OverlayIndex data_ov000_020b21e0[]; + +struct UnkStruct_ov000_020aa88c { + /* 00 */ bool mUnk_00; + /* 01 */ bool mUnk_01; + /* 02 */ bool mUnk_02; + /* 03 */ bool mUnk_03; + /* 04 */ unk16 mUnk_04; + /* 06 */ u16 mUnk_06; + /* 08 */ +}; +extern UnkStruct_ov000_020aa88c data_ov000_020aa88c[]; + +static const SceneIndex_Halfs data_ov001_020c25c0[10] = { + SceneIndex_t_area1, SceneIndex_t_area0, SceneIndex_t_area0, SceneIndex_t_area0, SceneIndex_t_area0, + SceneIndex_t_area1, SceneIndex_t_area2, SceneIndex_t_area3, SceneIndex_t_area1, SceneIndex_t_area2, +}; + +static const u32 data_ov001_020c25fc[10] = { + 0x11, 0x12, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x10, 0x1D, +}; + +static const SceneIndex data_ov001_020c25d4[10] = { + SceneIndex_f_bridge, SceneIndex_f_bridge2, SceneIndex_f_htown, SceneIndex_f_first, SceneIndex_f_forest1, + SceneIndex_f_snow, SceneIndex_f_water, SceneIndex_f_flame5, SceneIndex_f_tetsuo, SceneIndex_f_ajito, +}; + +UnkStruct_027e09a4 *UnkStruct_027e09a4::Create(unk32 param1) { + return new(HeapIndex_1) UnkStruct_027e09a4(param1); +} + +UnkStruct_027e09a4::UnkStruct_027e09a4(unk32 param1) { + this->mUnk_28 = 0; + this->mUnk_54 = NULL; + this->mpWarpUnk1 = NULL; + this->mUnk_5C = 0; + this->mUnk_60 = param1; + this->mUnk_64 = 0; + + UnkStruct_027e09a0::Create(); + UnkStruct_027e09c0::Create(); + UnkStruct_027e09bc::Create(); + UnkStruct_027e0cd8::Create(); + UnkStruct_027e0ce0::Create(); + ActorManager::Create(); + MapObjectManager::Create(); + UnkStruct_027e0960::Create(); + UnkStruct_027e09b8::Create(); + UnkStruct_027e09ac::Create(); + UnkStruct_027e0954::Create(); + UnkStruct_027e0958::Create(); + + if (this->mUnk_60 == 0) { + MiscAdvManager::Create(); + } + + TreasureManager::Create(); + + this->mUnk_2C.mSceneIndex = SceneIndex_t_area0; + this->mUnk_2C.mUnk_02 = 0x00; + this->mUnk_2C.mUnk_04.x = FLOAT_TO_FX32(0.0f); + this->mUnk_2C.mUnk_04.y = FLOAT_TO_FX32(0.0f); + this->mUnk_2C.mUnk_04.z = FLOAT_TO_FX32(0.0f); + this->mUnk_2C.mUnk_10 = 0x00; + this->mUnk_40 = this->mUnk_2C; + this->mpWarpUnk1 = new(HeapIndex_1) UnkStruct_WarpUnk1(); +} + +void UnkStruct_027e09a4::func_ov001_020b662c() { + UnkStruct_WarpUnk1 *ptr = this->mpWarpUnk1; + ptr->mUnk_78 = this->mUnk_00; + this->mUnk_14 = this->mUnk_00; + this->func_ov001_020b6758(&this->mUnk_00, false); +} + +void UnkStruct_027e09a4::func_ov001_020b66dc() { + data_02049ba0.Unload(OverlaySlot_10); + data_02049ba0.Unload(OverlaySlot_9); + + //! TODO: ??? + UnkStruct_WarpUnk1 *ptr = this->mpWarpUnk1; + if (ptr != NULL) { + ptr->UnkStruct_WarpUnk1::~UnkStruct_WarpUnk1(); + ::operator delete(ptr); + } + + TreasureManager::Destroy(); + + if (this->mUnk_60 == 0) { + MiscAdvManager::Destroy(); + } + + UnkStruct_027e0958::Destroy(); + UnkStruct_027e0954::Destroy(); + UnkStruct_027e09ac::Destroy(); + UnkStruct_027e09b8::Destroy(); + UnkStruct_027e0960::Destroy(); + MapObjectManager::Destroy(); + ActorManager::Destroy(); + UnkStruct_027e0ce0::Destroy(); + UnkStruct_027e0cd8::Destroy(); + UnkStruct_027e09bc::Destroy(); + UnkStruct_027e09c0::Destroy(); + UnkStruct_027e09a0::Destroy(); +} + +void UnkStruct_027e09a4::func_ov001_020b6758(const UnkStruct_SceneChange1 *param1, bool param2) { + OverlayIndex index; + unk32 unk_10; + + this->mUnk_00 = *param1; + + unk_10 = this->GetCurrentCourseEntry()->unk_10; + UnkStruct_027e095c::Create(); + + index = data_ov000_020b21c4[unk_10]; + if (index != OverlayIndex_None) { + data_02049ba0.func_02014918(index); + } + + index = data_ov000_020b21e0[unk_10]; + if (index != OverlayIndex_None) { + data_02049ba0.LoadIfNotLoaded(OverlaySlot_7, index); + } + + switch (unk_10) { + case 0: + this->mUnk_54 = new(HeapIndex_1) UnkStruct_027e09a4_54_Type1(this); + break; + case 1: + case 3: + this->mUnk_54 = new(HeapIndex_1) UnkStruct_027e09a4_54_Type5(this); + break; + case 6: + this->mUnk_54 = new(HeapIndex_1) UnkStruct_027e09a4_54_Type4(this); + break; + case 2: + case 4: + this->mUnk_54 = new(HeapIndex_1) UnkStruct_027e09a4_54_Type2(this); + data_0204999c.mUnk_60 = 0xFFDC; + break; + case 5: + this->mUnk_54 = new(HeapIndex_1) UnkStruct_027e09a4_54_Type3(this); + break; + default: + break; + } + + if (param2) { + this->mUnk_54->mUnk_32 = true; + } + + if (this->IsCutscene()) { + data_027e09b8->func_ov001_020b76c0(param1->mCutsceneIndex); + } + + this->mUnk_54->func_ov001_020b6fa0(this->GetCurrentCourseEntry()); +} + +void UnkStruct_027e09a4::func_ov001_020b68a4(bool param1, bool param2, bool param3) { + this->mUnk_54->func_ov001_020b7048(); + DELETE(this->mUnk_54); + + if (param3) { + data_02049ba0.Unload(OverlaySlot_8); + data_02049ba0.Unload(OverlaySlot_11); + } + + if (param2) { + data_02049ba0.Unload(OverlaySlot_7); + } + + if (param1) { + if (gOverlayManager.mLoadedOverlays[9] != OverlayIndex_Land2) { + data_02049ba0.Unload(OverlaySlot_10); + data_02049ba0.Unload(OverlaySlot_9); + } + + data_02049ba0.Unload(OverlaySlot_6); + data_02049ba0.Unload(OverlaySlot_3); + } + + UnkStruct_027e095c::Destroy(); +} + +void UnkStruct_027e09a4::func_ov001_020b6924(const UnkStruct_SceneChange1 *param1, bool param2) { + unk32 iVar5; + unk32 iVar6; + u8 cVar1; + u8 cVar2; + + iVar6 = this->GetCurrentCourseEntry()->unk_10; + iVar5 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_10; + cVar1 = data_027e09a0->GetCourseEntry(this->CurrentSceneIndex())->unk_1C; + cVar2 = data_027e09a0->GetCourseEntry(param1->mSceneIndex)->unk_1C; + + this->func_ov001_020b69b4(param1, param2); + this->func_ov001_020b68a4(data_ov000_020b21c4[iVar5] != data_ov000_020b21c4[iVar6], + data_ov000_020b21e0[iVar5] != data_ov000_020b21e0[iVar6], cVar1 != cVar2); + this->func_ov001_020b6758(param1, param2); +} + +void UnkStruct_027e09a4::func_ov001_020b69b4(const UnkStruct_SceneChange1 *param1, bool param2) { + VecFx32 vec1; + VecFx32 vec2; + unk32 local_34; + unk32 index; + bool bVar1; + + bVar1 = false; + index = -1; + + for (int i = 0; i < ARRAY_LEN(data_ov001_020c25d4); i++) { + SceneIndex sceneIndex = data_ov001_020c25d4[i]; + + if (sceneIndex == param1->mSceneIndex) { + bVar1 = true; + index = i; + } + } + + if (param2) { + this->mUnk_2C = this->mUnk_40; + } else if (bVar1) { + this->mUnk_2C.mSceneIndex = data_ov001_020c25c0[index]; + + GetAdventureModeManager()->func_ov024_020c6840(this->mUnk_2C.mSceneIndex); + vec1.x = 0; + vec1.y = 0; + vec1.z = 0; + data_027e0cf8->func_ov024_020c77c0(&vec1.x, &vec1.z, data_ov001_020c25fc[index]); + this->mUnk_2C.mUnk_04.x = vec1.x; + this->mUnk_2C.mUnk_04.y = vec1.y; + this->mUnk_2C.mUnk_04.z = vec1.z; + this->mUnk_2C.mUnk_02 = this->func_ov000_02070538()->mUnk_10; + this->mUnk_2C.mUnk_10 = this->func_ov000_02070538()->mUnk_12; + } else if (this->GetCurrentCourseEntry()->unk_10 == 2) { + this->mUnk_2C.mSceneIndex = this->func_ov000_02070538()->mSceneIndex; + this->mUnk_2C.mUnk_02 = this->func_ov000_02070538()->mUnk_10; + + VecFx32 *psVar4 = &this->func_ov000_02070538()->mUnk_04; + this->mUnk_2C.mUnk_04.x = psVar4->x; + this->mUnk_2C.mUnk_04.y = psVar4->y; + this->mUnk_2C.mUnk_04.z = psVar4->z; + this->mUnk_2C.mUnk_10 = this->func_ov000_02070538()->mUnk_12; + } else { + if (this->GetCurrentCourseEntry()->unk_10 == 4) { + switch (param1->mSceneIndex) { + case SceneIndex_d_water27: + case SceneIndex_f_forest2: + case SceneIndex_f_snow2: + switch (param1->mSceneIndex) { + case SceneIndex_d_water27: + this->mUnk_2C.mSceneIndex = SceneIndex_t_area2; + local_34 = 0x0D; + break; + case SceneIndex_f_forest2: + this->mUnk_2C.mSceneIndex = SceneIndex_t_area0; + local_34 = 0x07; + break; + case SceneIndex_f_snow2: + this->mUnk_2C.mSceneIndex = SceneIndex_t_area1; + local_34 = 0x08; + break; + default: + break; + } + + GetAdventureModeManager()->func_ov024_020c6840(this->mUnk_2C.mSceneIndex); + vec2.x = 0; + vec2.y = 0; + vec2.z = 0; + data_027e0cf8->func_ov024_020c77c0(&vec2.x, &vec2.z, local_34); + this->mUnk_2C.mUnk_04.x = vec2.x; + this->mUnk_2C.mUnk_04.y = vec2.y; + this->mUnk_2C.mUnk_04.z = vec2.z; + this->mUnk_2C.mUnk_02 = this->func_ov000_02070538()->mUnk_10; + this->mUnk_2C.mUnk_10 = this->func_ov000_02070538()->mUnk_12; + break; + default: + break; + } + } + } +} + +void TreasureManager::Destroy() { + if (gpTreasureManager != NULL) { + delete gpTreasureManager; + } +} + +void MiscAdvManager::Destroy() { + if (gpMiscAdvManager != NULL) { + delete gpMiscAdvManager; + } +} + +void UnkStruct_027e0960::Destroy() { + if (data_027e0960 != NULL) { + delete data_027e0960; + } +} + +void UnkStruct_027e09a0::Destroy() { + if (data_027e09a0 != NULL) { + delete data_027e09a0; + } +} + +void UnkStruct_027e095c::Destroy() { + if (data_027e095c != NULL) { + delete data_027e095c; + } +} + +void UnkStruct_027e0958::Destroy() { + if (data_027e0958 != NULL) { + delete data_027e0958; + } +} + +void UnkStruct_027e0954::Destroy() { + if (data_027e0954 != NULL) { + delete data_027e0954; + } +} + +void UnkStruct_027e09ac::Destroy() { + if (data_027e09ac != NULL) { + delete data_027e09ac; + } +} + +void UnkStruct_027e09b8::Destroy() { + if (data_027e09b8 != NULL) { + delete data_027e09b8; + } +} + +void UnkStruct_027e09bc::Destroy() { + if (data_027e09bc != NULL) { + delete data_027e09bc; + } +} + +void UnkStruct_027e0ce0::Destroy() { + if (data_027e0ce0 != NULL) { + delete data_027e0ce0; + } +} + +void MapObjectManager::Destroy() { + if (gpMapObjManager != NULL) { + delete gpMapObjManager; + } +} + +void ActorManager::Destroy() { + if (gpActorManager != NULL) { + delete gpActorManager; + } +} + +void UnkStruct_027e0cd8::Destroy() { + if (data_027e0cd8 != NULL) { + delete data_027e0cd8; + } +} + +DECL_INSTANCE_CTOR(UnkStruct_027e09a4, data_027e09a4); +UnkStruct_027e0954_00::~UnkStruct_027e0954_00() {} +DECL_INSTANCE_DTOR(UnkStruct_027e095c, data_027e095c); +DECL_INSTANCE_DTOR(UnkStruct_027e0958, data_027e0958); +DECL_INSTANCE_DTOR(UnkStruct_027e0954, data_027e0954); + +UnkStruct_027e09a4_54_Base::UnkStruct_027e09a4_54_Base(unk32 *param1) : + mUnk_1C((s32) 0) { + this->mUnk_04.Clear(); + this->mUnk_0C[0] = L'\0'; + this->mUnk_0C[7] = L'\0'; + MI_CpuCopy32(param1, &this->mUnk_1C, sizeof(this->mUnk_1C)); + this->mUnk_32 = false; +} + +UnkStruct_027e09a4_54_Base::~UnkStruct_027e09a4_54_Base() { + data_ov000_020b504c.func_ov001_020be8e0(); + data_027e09b8->func_ov001_020b7700(); + data_027e0960->func_ov000_0205a164(); + data_027e09ac->func_ov001_020bec8c(); + data_027e09bc->func_ov001_020babc8(); + data_027e0ce0->func_ov001_020bc5f8(); + data_027e09c0->func_ov001_020be3c4(); + data_0204a110.func_ov001_020bd638(); + data_ov000_020b50c0.func_ov001_020bde04(&this->mUnk_1C); + func_ov001_020bed34(); +} + +void UnkStruct_027e09a4_54_Base::vfunc_0C() { + UnkStruct_027e0cec::Create(); + data_ov000_020b50c0.func_ov001_020bd970(&this->mUnk_1C); + data_0204a110.func_ov001_020bd5b0(); + data_027e09c0->func_ov001_020be394(); + data_027e0ce0->func_ov001_020bc524(this->mUnk_32); + data_027e09bc->func_ov001_020bab5c(); + data_027e09ac->func_ov001_020bebb8(); + data_027e0960->func_ov000_0205a160(); +} + +void UnkStruct_027e09a4_54_Base::func_ov001_020b6fa0(CourseListEntry *pCourseEntry) { + if (this->mUnk_1C.mIsCS == true) { + data_0204a110.func_02018d78(Cutscene_GetParamEntry(this->mUnk_1C.mCutsceneIndex)->mUnk_14); + } else { + if (data_027e09a4->mUnk_60 == 0) { + if (data_027e09a4->IsDarkRealm()) { + GetAdventureModeManager()->func_ov024_020c555c(2); + } else { + if (data_027e09a4->IsTrain()) { + GetAdventureModeManager()->func_ov024_020c555c(1); + } else { + GetAdventureModeManager()->func_ov024_020c555c(0); + } + } + } + + switch (pCourseEntry->unk_18) { + case 0: + data_0204a110.func_02018d78(0); + break; + case 1: + data_0204a110.func_02018d78(1); + break; + default: + break; + } + } + + strncpy((char *) this->mUnk_0C, pCourseEntry->name, sizeof(this->mUnk_0C) - 1); + this->mUnk_30 = pCourseEntry->unk_1A; + this->vfunc_0C(); + data_027e0cd8->func_ov001_020b7830(&this->mUnk_1C); +} + +void UnkStruct_027e09a4_54_Base::func_ov001_020b7048() { + data_027e0cd8->func_ov001_020b7a7c(); +} + +UnkStruct_WarpUnk1_24::UnkStruct_WarpUnk1_24() { + this->mUnk_2A = false; +} + +UnkStruct_WarpUnk1::UnkStruct_WarpUnk1() { + this->mSpawnTransitionType = 0; + this->mUnk_A0.mUnk_04.x = 0; + this->mUnk_A0.mUnk_04.y = 0; + this->mUnk_A0.mUnk_04.z = 0; + this->mUnk_A0.mUnk_10 = 0; + this->mUnk_A0.mSceneIndex = SceneIndex_None; + this->mUnk_A0.mRoomIndex = (s8) ROOM_INDEX_NONE; + this->mUnk_A0.mUnk_12 = 0; +} + +// non-matching +bool UnkStruct_WarpUnk1::func_ov001_020b7144() { + bool iVar9; + u16 uVar1; + UnkStruct_027e0ce0_38 *pTrainPlayer; + unk16 local_18; + unk32 uVar8; + bool bVar2; + + iVar9 = false; + uVar1 = data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_06; + pTrainPlayer = data_027e0ce0->mUnk_38; + + if (pTrainPlayer == NULL) { + VecFx32 *pPos = data_027e0ce0->func_01fff148(0); + VecFx32_Copy(pPos, &this->mUnk_A0.mUnk_04); + func_01fff17c(&local_18, data_027e0ce0, 0); + this->mUnk_A0.mUnk_10 = local_18; + } else { + VecFx32 *pPos = &pTrainPlayer->mPos; + VecFx32_Copy(pPos, &this->mUnk_A0.mUnk_04); + this->mUnk_A0.mUnk_10 = pTrainPlayer->mUnk_056; + this->mUnk_A0.mUnk_12 = func_ov026_02106564(NULL); + } + + this->mUnk_A0.mSceneIndex = this->mUnk_78.mSceneIndex; + this->mUnk_A0.mRoomIndex = this->mUnk_78.mRoomIndex; + + switch (this->mSpawnTransitionType) { + case 0x04: + case 0x05: + break; + case 0x02: + case 0x1D: +#if IS_JP + case 0x29: +#endif + iVar9 = true; + break; + default: + if (((this->mUnk_78.mSceneIndex != this->mUnk_8C.mSceneIndex) || (this->mUnk_8C.mIsCS == true) || + (this->mUnk_78.mIsCS == true))) { + iVar9 = true; + } else { + iVar9 = false; + } + break; + } + + data_ov000_020b50c0.func_ov000_0206a014(); + this->mUnk_78 = this->mUnk_8C; + + if (iVar9) { + data_027e09a4->func_ov001_020b6924(&this->mUnk_8C, this->mSpawnTransitionType == 2); + } else { + data_027e0cd8->func_ov001_020b7c08(&this->mUnk_8C, &this->mUnk_A0); + } + + uVar8 = 0; + bVar2 = false; + + data_027e0cd8->mUnk_0C->func_ov001_020b8a5c(this->mUnk_8C.mSpawnIndex, 0); + + this->Detach(); + this->mUnk_0C = false; + + //! TODO: find out why we need this + LinkListImpl::Detach((LinkListNode *) ((u8 *) &this->mUnk_24 + 4)); + this->mUnk_24.mUnk_0C = false; + + LinkListImpl::Detach((LinkListNode *) ((u8 *) &this->mUnk_50 + 4)); + this->mUnk_50.mUnk_0C = false; + + if (this->mUnk_8C.mIsCS == true) { + this->Detach(); + this->mUnk_0C = false; + } else { + if (data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_00) { + if (data_027e09a4->GetCurrentCourseEntry()->unk_18 == 1) { + this->mUnk_50.mUnk_18 = 0x00130000; + this->mUnk_50.mUnk_1C = 0x00050000; + this->mUnk_50.mUnk_24 = 0x00004000; + this->mUnk_50.func_ov000_02065f68(0x02, 0x00, -0xE0, uVar1, 0x02); + data_0204e5f8.func_0201b9a8(&this->mUnk_50); + this->mUnk_1E = 0x02; + this->func_0201bba4(0x00, 0x02); + data_0204e5f8.func_0201b9a8(this); + bVar2 = true; + } else { + this->mUnk_24.func_ov000_02070f58(uVar1); + data_0204e5f8.func_0201b9a8(&this->mUnk_24); + } + } + + if ((data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_01 || + data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_02) && + !bVar2) { + if (data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_03) { + this->mUnk_14 = 0x00010000; + } else { + this->mUnk_14 = 0xFFFF0000; + } + + this->func_0201bba4(0x02, uVar1); + this->mUnk_18 = data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_01; + this->mUnk_19 = data_ov000_020aa88c[this->mSpawnTransitionType].mUnk_02; + data_0204e5f8.func_0201b9a8(this); + } + } + + return iVar9; +} + +THUMB_END diff --git a/src/001_SceneInit/SysNew_001.cpp b/src/001_SceneInit/SysNew_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e095c_001.cpp b/src/001_SceneInit/UnkStruct_027e095c_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e09b8_001.cpp b/src/001_SceneInit/UnkStruct_027e09b8_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e09bc_001.cpp b/src/001_SceneInit/UnkStruct_027e09bc_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0cd8_001.cpp b/src/001_SceneInit/UnkStruct_027e0cd8_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp b/src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp b/src/001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0ce0_001.cpp b/src/001_SceneInit/UnkStruct_027e0ce0_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0ce0_30_001.cpp b/src/001_SceneInit/UnkStruct_027e0ce0_30_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0ce0_40_Base_001.cpp b/src/001_SceneInit/UnkStruct_027e0ce0_40_Base_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/ZeldaArrangeBinary.cpp b/src/001_SceneInit/ZeldaArrangeBinary.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/ZeldaMapBinary.cpp b/src/001_SceneInit/ZeldaMapBinary.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/code_020bc234_001.cpp b/src/001_SceneInit/code_020bc234_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/code_020bc2c8_001.cpp b/src/001_SceneInit/code_020bc2c8_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/018_StartUp/StartUpInitializers.cpp b/src/018_StartUp/StartUpInitializers.cpp index c92a663e..74e60509 100644 --- a/src/018_StartUp/StartUpInitializers.cpp +++ b/src/018_StartUp/StartUpInitializers.cpp @@ -214,10 +214,11 @@ UnkStruct_0204af1c::UnkStruct_0204af1c() { UnkStruct_0204e5f8::UnkStruct_0204e5f8() : mUnk_18(0) { - this->mUnk_10 = 0; - this->mUnk_14 = 0; - this->mUnk_38 = 1; - this->mUnk_39 = 1; + //! TODO: fake match + *(u32 *) &this->mUnk_00.mUnk_10 = 0; + this->mUnk_14 = 0; + this->mUnk_38 = 1; + this->mUnk_39 = 1; REG_WININ = (REG_WININ & ~0x3F) | 0x3F; REG_WINOUT = (REG_WINOUT & ~0x3F) | 0x30; diff --git a/src/024_MainGame/Game/AdventureModeManager_160_024.cpp b/src/024_MainGame/Game/AdventureModeManager_160_024.cpp index 242c3771..c476f382 100644 --- a/src/024_MainGame/Game/AdventureModeManager_160_024.cpp +++ b/src/024_MainGame/Game/AdventureModeManager_160_024.cpp @@ -15,7 +15,7 @@ extern "C" void func_02019b3c(); extern "C" AdventureModeManager_160_18 *func_ov006_020b6ab0(void *, void *); //! TODO: this is fake according to GameModeTitleScreen::GameModeTitleScreen() -extern "C" AdventureModeManager_160_14 *func_ov001_020b6520(void *, void *, int); +extern "C" AdventureModeManager_160_14 *func_ov002_020b6520(void *, void *, int); bool AdventureModeManager_160_4C::vfunc_0C() { return data_0204a088->func_ov000_02061224(); @@ -417,8 +417,7 @@ void AdventureModeManager_160::func_ov024_020c84c4() { void AdventureModeManager_160::func_ov024_020c851c(unk32 param1) { data_0204a088->func_ov000_02061248(); - //! TODO: fake match - this->mUnk_14 = func_ov001_020b6520(&this->mUnk_10, this->mUnk_1C, param1); + this->mUnk_14 = func_ov002_020b6520(&this->mUnk_10, this->mUnk_1C, param1); this->mUnk_18 = func_ov006_020b6ab0(&this->mUnk_10, this->mUnk_1C); if (param1 == 1 || param1 == 6) { diff --git a/src/024_MainGame/Train/UnkDataStruct4.cpp b/src/024_MainGame/Train/UnkDataStruct4.cpp index 303e5f04..3e2e24a1 100644 --- a/src/024_MainGame/Train/UnkDataStruct4.cpp +++ b/src/024_MainGame/Train/UnkDataStruct4.cpp @@ -49,7 +49,7 @@ void UnkDataStruct4::func_ov024_020d258c(u32 sceneIndex, u8 roomIndex) { wchar_t sp34[16]; wchar_t sp10[2]; FileInfos sp8; - CourseEntry *pEntry; + CourseListEntry *pEntry; this->mSceneIndex = sceneIndex; diff --git a/src/024_MainGame/Unknown/UnkStruct_027e0998_024.cpp b/src/024_MainGame/Unknown/UnkStruct_027e0998_024.cpp index 22cb1007..7cf3d424 100644 --- a/src/024_MainGame/Unknown/UnkStruct_027e0998_024.cpp +++ b/src/024_MainGame/Unknown/UnkStruct_027e0998_024.cpp @@ -126,9 +126,9 @@ bool UnkStruct_027e0998::func_ov024_020c727c(Vec2s *param1, u16 *param2) { return false; } - bool temp_r4 = this->UnkStruct_027e0998_Base::vfunc_00(&data_027e09a4->mUnk_30, param1, param2); + bool temp_r4 = this->UnkStruct_027e0998_Base::vfunc_00(&data_027e09a4->mUnk_2C.mUnk_04, param1, param2); Vec2s sp0; - func_ov024_020d51dc(&sp0, data_027e09a4->mUnk_2C); + func_ov024_020d51dc(&sp0, data_027e09a4->mUnk_2C.mSceneIndex); param1->x += sp0.x; param1->y += sp0.y; diff --git a/src/025_Title/GameModeTitleScreen.cpp b/src/025_Title/GameModeTitleScreen.cpp index fcd3b8df..c0feda02 100644 --- a/src/025_Title/GameModeTitleScreen.cpp +++ b/src/025_Title/GameModeTitleScreen.cpp @@ -9,14 +9,13 @@ extern "C" { void func_0201659c(); void func_0200e234(); -void *func_ov001_020b6520(unk32 param1); } GameModeTitleScreen::GameModeTitleScreen() { func_0201659c(); gGame.func_02013370(2); data_0204a110.func_ov001_020bd514(0, TitleScreenManager::Create, 0, 1); - func_ov001_020b6520(2); + UnkStruct_027e09a4::Create(2); } GameModeTitleScreen::~GameModeTitleScreen() { diff --git a/src/025_Title/TitleScreen.cpp b/src/025_Title/TitleScreen.cpp index a73edf59..7ca6c545 100644 --- a/src/025_Title/TitleScreen.cpp +++ b/src/025_Title/TitleScreen.cpp @@ -343,7 +343,7 @@ void TitleScreen::vfunc_0C(unk32 param1) { if (param1 == 1 && this->mShowUI) { UnkStruct_027e0954 *ptr = data_027e0954; TitleScreen_Sub2 *pList = GetLinkListRef(this->mUnk_204); - ptr->mUnk_14.Prepend(pList); + ptr->mUnk_00[1].mUnk_04.Prepend(pList); } } diff --git a/src/112_PlayerSceneChange/PlayerSceneChange.cpp b/src/112_PlayerSceneChange/PlayerSceneChange.cpp index 05e8e45d..599d87f6 100644 --- a/src/112_PlayerSceneChange/PlayerSceneChange.cpp +++ b/src/112_PlayerSceneChange/PlayerSceneChange.cpp @@ -305,7 +305,7 @@ void PlayerSceneChange::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) { if (eScene == SceneIndex_tekiya07) { this->mUnk_68 = 0x18; } else { - switch (*data_027e09a4->func_ov000_02070538()) { + switch (data_027e09a4->func_ov000_02070538()->mSceneIndex) { case SceneIndex_d_water27: if (eScene == SceneIndex_b_water) { this->mUnk_68 = 0x18; diff --git a/src/Main/System/SysNew.cpp b/src/Main/System/SysNew.cpp index f28d07a9..42f656dc 100644 --- a/src/Main/System/SysNew.cpp +++ b/src/Main/System/SysNew.cpp @@ -95,6 +95,6 @@ void operator delete(void *ptr) { SysDelete(ptr); } -void SysObject::operator delete[](void *ptr) { +void operator delete[](void *ptr) { SysDelete(ptr); } diff --git a/src/Main/UnkStruct_0204a060.cpp b/src/Main/UnkStruct_0204a060.cpp index 632e13b7..254b04e9 100644 --- a/src/Main/UnkStruct_0204a060.cpp +++ b/src/Main/UnkStruct_0204a060.cpp @@ -5,6 +5,7 @@ #include "System/OverlayManager.hpp" #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" +#include "versions.h" extern "C" void func_ov001_020be078(); diff --git a/tools/configure.py b/tools/configure.py index bf9b74e2..261c1ccf 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -119,11 +119,11 @@ def LibCPP(lib_name: str, objects: List[Object]) -> Dict[str, Any]: # Helper function for overlays and similar modules -def GameLib(lib_name: str, objects: List[Object]) -> Dict[str, Any]: +def GameLib(lib_name: str, objects: List[Object], extra_cflags=list()) -> Dict[str, Any]: return { "lib": lib_name, "mw_version": "dsi/1.2p1", - "cflags": [*config.cflags_base, "-str reuse"], + "cflags": [*config.cflags_base, *extra_cflags, "-str reuse"], "objects": objects, } @@ -187,15 +187,35 @@ config.libs = [ GameLib( "Overlay 1", [ + Object("001_SceneInit/SceneInitializers_001.cpp"), + Object("001_SceneInit/CourseList.cpp"), + Object("001_SceneInit/UnkStruct_027e09b8_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0cd8_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0cd8_0C_148_154_001.cpp"), + Object("001_SceneInit/ZeldaArrangeBinary.cpp"), + Object("001_SceneInit/ZeldaMapBinary.cpp"), + Object("001_SceneInit/UnkStruct_027e095c_001.cpp"), + Object("001_SceneInit/SysNew_001.cpp"), + Object("001_SceneInit/Save/SaveManager_001.cpp"), + Object("001_SceneInit/UnkStruct_027e09bc_001.cpp"), + Object("001_SceneInit/MapObject/MapObjectManager_001.cpp"), Object("001_SceneInit/Actor/ActorManager_001.cpp"), Object("001_SceneInit/Item/ItemManager_001.cpp"), + Object("001_SceneInit/Player/PlayerActorBase_70_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0ce0_30_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0ce0_40_Base_001.cpp"), + Object("001_SceneInit/code_020bc234_001.cpp"), + Object("001_SceneInit/code_020bc2c8_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0ce0_001.cpp"), + Object("001_SceneInit/Player/Player_001.cpp"), Object("001_SceneInit/CargoManager_001.cpp"), Object("001_SceneInit/PassengerManager_001.cpp"), Object("001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp"), Object("001_SceneInit/Game/AdventureModeManager_001.cpp"), Object("001_SceneInit/Game/GameModeAdventure_001.cpp"), - Object("001_SceneInit/Save/SaveManager_001.cpp"), - ] + ], + extra_cflags=["-thumb"], ), GameLib( "Overlay 17",