diff --git a/config/eur/arm9/overlays/ov001/delinks.txt b/config/eur/arm9/overlays/ov001/delinks.txt index c97bf07d..186440c4 100644 --- a/config/eur/arm9/overlays/ov001/delinks.txt +++ b/config/eur/arm9/overlays/ov001/delinks.txt @@ -96,6 +96,7 @@ src/001_SceneInit/UnkStruct_027e0cdc_001.cpp: src/001_SceneInit/Player/PlayerActorBase_001.cpp: complete .text start:0x020bc794 end:0x020bc99c + .rodata start:0x020c264c end:0x020c274c src/001_SceneInit/Player/PlayerLinkActor_001.cpp: complete @@ -172,6 +173,7 @@ src/001_SceneInit/PassengerManager_001.cpp: src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp: complete .text start:0x020bfa50 end:0x020bfcc0 + .rodata start:0x020c274c end:0x020c276c src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp: complete @@ -180,13 +182,16 @@ src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp: src/001_SceneInit/code_020bfdd0.cpp: complete .text start:0x020bfdd0 end:0x020bfeec + .bss start:0x020c46f4 end:0x020c46f8 src/001_SceneInit/code_020bfeec.cpp: complete .text start:0x020bfeec end:0x020bff74 + .bss start:0x020c46f8 end:0x020c46fc src/001_SceneInit/Game/AdventureModeManager_001.cpp: .text start:0x020bff74 end:0x020c0944 + .rodata start:0x020c276c end:0x020c280c src/001_SceneInit/Game/GameModeAdventure_001.cpp: complete @@ -195,3 +200,7 @@ src/001_SceneInit/Game/GameModeAdventure_001.cpp: src/001_SceneInit/code_020c099c.cpp: complete .text start:0x020c099c end:0x020c0a24 + .bss start:0x020c46fc end:0x020c4700 + .init start:0x020c28f0 end:0x020c2900 + .ctor start:0x020c2908 end:0x020c290c + .data start:0x020c2fd4 end:0x020c2fe0 diff --git a/config/eur/arm9/overlays/ov001/relocs.txt b/config/eur/arm9/overlays/ov001/relocs.txt index 3a6cd803..2277ed73 100644 --- a/config/eur/arm9/overlays/ov001/relocs.txt +++ b/config/eur/arm9/overlays/ov001/relocs.txt @@ -2326,7 +2326,6 @@ from:0x020c111c kind:load to:0x020c22ac module:overlay(1) from:0x020c1590 kind:load to:0x020c4701 module:overlay(1) from:0x020c1608 kind:load to:0x020c4701 module:overlay(1) from:0x020c1680 kind:load to:0x020c4701 module:overlay(1) -from:0x020c168c kind:load to:0x020c273c module:overlay(1) from:0x020c16f8 kind:load to:0x020c4701 module:overlay(1) from:0x020c1718 kind:load to:0x020c1528 add:0x1400 module:overlay(1) from:0x020c18a4 kind:load to:0x020c4700 module:overlay(1) diff --git a/config/eur/arm9/overlays/ov001/symbols.txt b/config/eur/arm9/overlays/ov001/symbols.txt index 6ee2c840..58052e3a 100644 --- a/config/eur/arm9/overlays/ov001/symbols.txt +++ b/config/eur/arm9/overlays/ov001/symbols.txt @@ -497,20 +497,20 @@ data_ov001_020c25fc kind:data(any) addr:0x020c25fc data_ov001_020c2624 kind:data(any) addr:0x020c2624 local data_ov001_020c262e kind:data(any) addr:0x020c262e local data_ov001_020c2638 kind:data(any) addr:0x020c2638 local -data_ov001_020c264c kind:data(any) addr:0x020c264c -data_ov001_020c26bc kind:data(any) addr:0x020c26bc -data_ov001_020c273c kind:data(any) addr:0x020c273c -data_ov001_020c2750 kind:data(any) addr:0x020c2750 -data_ov001_020c275e kind:data(any) addr:0x020c275e +data_ov001_020c264c kind:data(any) addr:0x020c264c local +data_ov001_020c26bc kind:data(any) addr:0x020c26bc local +data_ov001_020c274c kind:data(any) addr:0x020c274c local +data_ov001_020c2750 kind:data(any) addr:0x020c2750 local +data_ov001_020c275e kind:data(any) addr:0x020c275e local data_ov001_020c276c kind:data(any) addr:0x020c276c data_ov001_020c27a8 kind:data(any) addr:0x020c27a8 -data_ov001_020c280c kind:data(any) addr:0x020c280c +bad_mac_addr kind:data(any) addr:0x020c280c __sinit_CourseList.cpp kind:function(thumb,size=0x24) addr:0x020c2814 local __sinit_UnkStruct_027e0cd8_0C_001.cpp kind:function(thumb,size=0xb8) addr:0x020c2838 -__sinit_ov001_020c28f0 kind:function(thumb,size=0x10) addr:0x020c28f0 +__sinit_code_020c099c.cpp kind:function(thumb,size=0x10) addr:0x020c28f0 local .p__sinit_CourseList.cpp kind:data(word) addr:0x020c2900 local .p__sinit_UnkStruct_027e0cd8_0C_001.cpp kind:data(word) addr:0x020c2904 -.p__sinit_ov001_020c28f0 kind:data(word) addr:0x020c2908 +.p__sinit_code_020c099c.cpp kind:data(word) addr:0x020c2908 local .p__sinit_ov001_020c1104 kind:data(word) addr:0x020c290c local .p__sinit_ov001_020c1708 kind:data(word) addr:0x020c2910 local .p__sinit_ov001_020c19c4 kind:data(word) addr:0x020c2914 local @@ -627,13 +627,13 @@ data_ov001_020c2f28 kind:data(any) addr:0x020c2f28 local @17 kind:data(byte[0x5]) addr:0x020c2fac local @18 kind:data(byte[0x10]) addr:0x020c2fb4 local _ZTV21UnkStruct_027e0cec_18 kind:data(any) addr:0x020c2fc4 -data_ov001_020c2fd4 kind:data(any) addr:0x020c2fd4 +data_ov001_020c2fd4 kind:data(byte[4]) addr:0x020c2fd4 local _ZGVN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c2fe0 _ZN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c2fe4 @4613 kind:bss addr:0x020c40e8 local data_ov001_020c40f4 kind:bss addr:0x020c40f4 local -data_ov001_020c46f4 kind:bss addr:0x020c46f4 -data_ov001_020c46f8 kind:bss addr:0x020c46f8 -data_ov001_020c46fc kind:bss addr:0x020c46fc +data_ov001_020c46f4 kind:bss addr:0x020c46f4 local +data_ov001_020c46f8 kind:bss addr:0x020c46f8 local +data_ov001_020c46fc kind:bss addr:0x020c46fc local data_ov001_020c4700 kind:bss addr:0x020c4700 data_ov001_020c4701 kind:bss addr:0x020c4701 diff --git a/config/jp/arm9/overlays/ov001/delinks.txt b/config/jp/arm9/overlays/ov001/delinks.txt index 412ef756..5d24c7e8 100644 --- a/config/jp/arm9/overlays/ov001/delinks.txt +++ b/config/jp/arm9/overlays/ov001/delinks.txt @@ -96,6 +96,7 @@ src/001_SceneInit/UnkStruct_027e0cdc_001.cpp: src/001_SceneInit/Player/PlayerActorBase_001.cpp: complete .text start:0x020bdfdc end:0x020be1e4 + .rodata start:0x020c3ea0 end:0x020c3fa0 src/001_SceneInit/Player/PlayerLinkActor_001.cpp: complete @@ -172,6 +173,7 @@ src/001_SceneInit/PassengerManager_001.cpp: src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp: complete .text start:0x020c12a4 end:0x020c1514 + .rodata start:0x020c3fa0 end:0x020c3fc0 src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp: complete @@ -180,13 +182,16 @@ src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp: src/001_SceneInit/code_020bfdd0.cpp: complete .text start:0x020c1624 end:0x020c1740 + .bss start:0x020c5f34 end:0x020c5f38 src/001_SceneInit/code_020bfeec.cpp: complete .text start:0x020c1740 end:0x020c17c8 + .bss start:0x020c5f38 end:0x020c5f3c src/001_SceneInit/Game/AdventureModeManager_001.cpp: .text start:0x020c17c8 end:0x020c2198 + .rodata start:0x020c3fc0 end:0x020c4060 src/001_SceneInit/Game/GameModeAdventure_001.cpp: complete @@ -195,3 +200,7 @@ src/001_SceneInit/Game/GameModeAdventure_001.cpp: src/001_SceneInit/code_020c099c.cpp: complete .text start:0x020c21f0 end:0x020c2278 + .bss start:0x020c5f3c end:0x020c5f40 + .init start:0x020c4144 end:0x020c4154 + .ctor start:0x020c415c end:0x020c4160 + .data start:0x020c4814 end:0x020c4818 diff --git a/config/jp/arm9/overlays/ov001/relocs.txt b/config/jp/arm9/overlays/ov001/relocs.txt index 3bbe49b4..7c6b7d98 100644 --- a/config/jp/arm9/overlays/ov001/relocs.txt +++ b/config/jp/arm9/overlays/ov001/relocs.txt @@ -2319,7 +2319,6 @@ 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:0x020c2498 kind:load to:0x020c417c module:overlays(2,4) -from:0x020c254c kind:load to:0x020c4818 module:overlay(1) from:0x020c26f0 kind:load to:0x020c5f41 module:overlay(1) from:0x020c2768 kind:load to:0x020c5f41 module:overlay(1) from:0x020c27e0 kind:load to:0x020c5f41 module:overlay(1) @@ -2327,11 +2326,9 @@ 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:0x020c2b8c kind:load to:0x020c4818 module:overlay(1) from:0x020c2de4 kind:load to:0x020c5f41 module:overlay(1) from:0x020c2e5c kind:load to:0x020c5f41 module:overlay(1) from:0x020c2ed4 kind:load to:0x020c5f41 module:overlay(1) -from:0x020c2ee0 kind:load to:0x020c3f90 module:overlay(1) from:0x020c2f4c kind:load to:0x020c5f41 module:overlay(1) from:0x020c2f6c kind:load to:0x020c417c module:overlays(2,4) from:0x020c30f8 kind:load to:0x020c5f40 module:overlay(1) @@ -2353,7 +2350,6 @@ from:0x020c394c kind:load to:0x020c5f41 module:overlay(1) from:0x020c3954 kind:load to:0x020d3b2a module:overlay(19) from:0x020c39c4 kind:load to:0x020c5f41 module:overlay(1) from:0x020c39cc kind:load to:0x020d3b2a module:overlay(19) -from:0x020c39fc kind:load to:0x020c4818 module:overlay(1) from:0x020c3de0 kind:load to:0x020c738c module:overlay(25) from:0x020c3e00 kind:load to:0x020c7398 module:overlay(25) from:0x020c3e08 kind:load to:0x020c7398 module:overlay(25) diff --git a/config/jp/arm9/overlays/ov001/symbols.txt b/config/jp/arm9/overlays/ov001/symbols.txt index 6a04966e..2be56012 100644 --- a/config/jp/arm9/overlays/ov001/symbols.txt +++ b/config/jp/arm9/overlays/ov001/symbols.txt @@ -497,20 +497,20 @@ data_ov001_020c25fc kind:data(any) addr:0x020c3e50 data_ov001_020c2624 kind:data(any) addr:0x020c3e78 local data_ov001_020c262e kind:data(any) addr:0x020c3e82 local data_ov001_020c2638 kind:data(any) addr:0x020c3e8c local -data_ov001_020c264c kind:data(any) addr:0x020c3ea0 -data_ov001_020c26bc kind:data(any) addr:0x020c3f10 -data_ov001_020c3f90 kind:data(any) addr:0x020c3f90 -data_ov001_020c2750 kind:data(any) addr:0x020c3fa4 -data_ov001_020c275e kind:data(any) addr:0x020c3fb2 +data_ov001_020c264c kind:data(any) addr:0x020c3ea0 local +data_ov001_020c26bc kind:data(any) addr:0x020c3f10 local +data_ov001_020c274c kind:data(any) addr:0x020c3fa0 local +data_ov001_020c2750 kind:data(any) addr:0x020c3fa4 local +data_ov001_020c275e kind:data(any) addr:0x020c3fb2 local data_ov001_020c276c kind:data(any) addr:0x020c3fc0 data_ov001_020c27a8 kind:data(any) addr:0x020c3ffc -data_ov001_020c4060 kind:data(any) addr:0x020c4060 +bad_mac_addr kind:data(any) addr:0x020c4060 __sinit_CourseList.cpp kind:function(thumb,size=0x24) addr:0x020c4068 local __sinit_UnkStruct_027e0cd8_0C_001.cpp kind:function(thumb,size=0xb8) addr:0x020c408c -__sinit_ov001_020c4144 kind:function(thumb,size=0x10) addr:0x020c4144 +__sinit_code_020c099c.cpp kind:function(thumb,size=0x10) addr:0x020c4144 local .p__sinit_CourseList.cpp kind:data(word) addr:0x020c4154 local .p__sinit_UnkStruct_027e0cd8_0C_001.cpp kind:data(word) addr:0x020c4158 -.p__sinit_ov001_020c4144 kind:data(word) addr:0x020c415c +.p__sinit_code_020c099c.cpp kind:data(word) addr:0x020c415c local .p__sinit_ov001_020c2958 kind:data(word) addr:0x020c4160 local .p__sinit_ov001_020c2f5c kind:data(word) addr:0x020c4164 local .p__sinit_ov001_020c3218 kind:data(word) addr:0x020c4168 local @@ -627,14 +627,13 @@ data_ov001_020c2f28 kind:data(any) addr:0x020c4768 local @17 kind:data(byte[0x5]) addr:0x020c47ec local @18 kind:data(byte[0x10]) addr:0x020c47f4 local _ZTV21UnkStruct_027e0cec_18 kind:data(any) addr:0x020c4804 -data_ov001_020c4814 kind:data(any) addr:0x020c4814 -data_ov001_020c4818 kind:data(any) addr:0x020c4818 +data_ov001_020c2fd4 kind:data(byte[4]) addr:0x020c4814 local _ZGVN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c4820 _ZN14StaticInstanceI16CourseInitBinaryE9sInstanceE kind:bss addr:0x020c4824 @4613 kind:bss addr:0x020c5928 local data_ov001_020c40f4 kind:bss addr:0x020c5934 local -data_ov001_020c46f4 kind:bss addr:0x020c5f34 -data_ov001_020c46f8 kind:bss addr:0x020c5f38 -data_ov001_020c46fc kind:bss addr:0x020c5f3c +data_ov001_020c46f4 kind:bss addr:0x020c5f34 local +data_ov001_020c46f8 kind:bss addr:0x020c5f38 local +data_ov001_020c46fc kind:bss addr:0x020c5f3c local data_ov001_020c5f40 kind:bss addr:0x020c5f40 data_ov001_020c5f41 kind:bss addr:0x020c5f41 diff --git a/include/Game/GameModeDownloadPlay.hpp b/include/Game/GameModeDownloadPlay.hpp index 0a4f98e4..0c867948 100644 --- a/include/Game/GameModeDownloadPlay.hpp +++ b/include/Game/GameModeDownloadPlay.hpp @@ -16,8 +16,6 @@ public: /* 00 */ virtual ~UnkStruct_ov001_020c46fc(); }; -extern UnkStruct_ov001_020c46fc *data_ov001_020c46fc; - class GameModeDownloadPlay : public GameModeBase { public: /* 00 (base) */ diff --git a/include/Unknown/UnkStruct_ov023_020f1d94.hpp b/include/Unknown/UnkStruct_ov023_020f1d94.hpp index 4e9f5438..4162cd84 100644 --- a/include/Unknown/UnkStruct_ov023_020f1d94.hpp +++ b/include/Unknown/UnkStruct_ov023_020f1d94.hpp @@ -47,8 +47,6 @@ public: /* 0C */ virtual void vfunc_0C() override; }; -extern UnkStruct_ov001_020c46f4_Base *data_ov001_020c46f4; - class UnkStruct_ov023_020f1d94 { public: /* 00 */ unk32 mUnk_00; diff --git a/src/001_SceneInit/Game/AdventureModeManager_001.cpp b/src/001_SceneInit/Game/AdventureModeManager_001.cpp index 998fc218..fffb4aa2 100644 --- a/src/001_SceneInit/Game/AdventureModeManager_001.cpp +++ b/src/001_SceneInit/Game/AdventureModeManager_001.cpp @@ -17,8 +17,17 @@ extern "C" void *func_ov000_02066294(); -extern s16 data_ov001_020c27a8; -extern s16 data_ov001_020c276c; +static const s16 data_ov001_020c27a8[] = { + 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0009, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, + 0x000F, 0x0010, 0x0011, 0x0012, 0x0014, 0x0015, 0x0018, 0x001C, 0x0019, 0x001A, 0x001D, 0x001E, 0x001F, + 0x0020, 0x0021, 0x0022, 0x0023, 0x0024, 0x0025, 0x0026, 0x0027, 0x0017, 0x0028, 0x003C, 0x0000, 0x0114, + 0xEBAA, 0x4EB7, 0x4006, 0x3696, 0x5F01, 0x1F83, 0xE521, 0x335B, 0xE7EF, 0x197C, 0xE84B, +}; + +static const s16 data_ov001_020c276c[] = { + 0x0000, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000A, 0x000B, 0x000C, 0x000D, 0x000E, 0x0012, 0x0013, + 0x0014, 0x0015, 0x0018, 0x0019, 0x001A, 0x001B, 0x001E, 0x001F, 0x0020, 0x0021, 0x0022, 0x0026, 0x0027, 0x003C, 0x0000, +}; GameModeManagerBase *AdventureModeManager::Create(UnkStruct_0204a110_Sub2 *param1) { return new(HeapIndex_1) AdventureModeManager(param1); @@ -101,7 +110,7 @@ void AdventureModeManager::vfunc_14() { UnkStruct_027e0cf8::Create(); if (data_027e09a4->IsTrain()) { - this->mUnk_004.func_ov001_020bd734(&data_ov001_020c276c); + this->mUnk_004.func_ov001_020bd734(data_ov001_020c276c); if (data_027e09a4->IsNotCutscene()) { if (data_027e09a4->IsDarkRealm()) { @@ -111,7 +120,7 @@ void AdventureModeManager::vfunc_14() { } } } else { - this->mUnk_004.func_ov001_020bd734(&data_ov001_020c27a8); + this->mUnk_004.func_ov001_020bd734(data_ov001_020c27a8); if (data_027e09a4->IsNotCutscene()) { this->mUnk_004.func_0201c00c(0, 1); } diff --git a/src/001_SceneInit/Player/PlayerActorBase_001.cpp b/src/001_SceneInit/Player/PlayerActorBase_001.cpp index f5b5c0c2..7678db91 100644 --- a/src/001_SceneInit/Player/PlayerActorBase_001.cpp +++ b/src/001_SceneInit/Player/PlayerActorBase_001.cpp @@ -4,11 +4,17 @@ #include "System/SysNew.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" -extern const char data_ov001_020c264c[][16]; -extern const char data_ov001_020c26bc[][16]; extern "C" u16 *func_ov021_020ea868(int); extern "C" void func_ov000_0205c584(void *, int, int); +static const char data_ov001_020c264c[][16] = { + "swA", "sheath", "swB", "sheathB", "belt", "cap", "body_all", +}; + +static const char data_ov001_020c26bc[][16] = { + "center", "body_chn", "waist_chn", "cl_podA", "cl_LhandA", "cl_RhandA", "LlegB_jnt", "RlegB_jnt", "head_jnt", +}; + ModelRender_Derived4::ModelRender_Derived4(PlayerCharacter character, unk32 param2, G3d_Model *pModel, G3d_BoneMtxStruct *pCacheJntAnm) : ModelRender_Derived3(character, pModel), diff --git a/src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp b/src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp index b06e9ebe..789b44df 100644 --- a/src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp +++ b/src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp @@ -1,7 +1,15 @@ #include "Unknown/UnkStruct_027e0cf8.hpp" -extern s16 data_ov001_020c2750[]; -extern s16 data_ov001_020c275e[]; +static const int data_ov001_020c274c[] = {0x0C}; +DECOMP_FORCE(data_ov001_020c274c); + +static const s16 data_ov001_020c2750[] = { + 0, 0, -1, -1, -3, -4, -6, +}; + +static const s16 data_ov001_020c275e[] = { + -6, -4, -3, -2, -1, 0, 0, +}; UnkStruct_027e0cf8_08_00::UnkStruct_027e0cf8_08_00(u8 bgType) : AdventureModeManager_1B8_Base(bgType, true, AdventureModeManager_1B8_Base_1C(0x00, 0x00, 0x100, 0xC0), true, true) { diff --git a/src/001_SceneInit/code_020bfdd0.cpp b/src/001_SceneInit/code_020bfdd0.cpp index 0a48e4d8..1984a465 100644 --- a/src/001_SceneInit/code_020bfdd0.cpp +++ b/src/001_SceneInit/code_020bfdd0.cpp @@ -5,6 +5,8 @@ #include +static UnkStruct_ov001_020c46f4_Base *data_ov001_020c46f4 = NULL; + void func_ov001_020bfdd0() { if (data_ov001_020c46f4 != NULL) { DELETE(data_ov001_020c46f4); diff --git a/src/001_SceneInit/code_020bfeec.cpp b/src/001_SceneInit/code_020bfeec.cpp index 73b3aa77..b098f7cb 100644 --- a/src/001_SceneInit/code_020bfeec.cpp +++ b/src/001_SceneInit/code_020bfeec.cpp @@ -3,7 +3,7 @@ #include -extern ActorUnkLBCK *data_ov001_020c46f8; +static ActorUnkLBCK *data_ov001_020c46f8 = NULL; void func_ov001_020bfeec(void) { data_ov001_020c46f8->func_ov000_020984d0(); diff --git a/src/001_SceneInit/code_020c099c.cpp b/src/001_SceneInit/code_020c099c.cpp index dd573dac..fb9b415f 100644 --- a/src/001_SceneInit/code_020c099c.cpp +++ b/src/001_SceneInit/code_020c099c.cpp @@ -3,6 +3,19 @@ #include +// probably not here but it's unused +class UnkStruct_ov001_020c2fd4 { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_ov001_020c2fd4() { + mUnk_00 = 0x00010005; + } +}; +static const UnkStruct_ov001_020c2fd4 data_ov001_020c2fd4; + +static UnkStruct_ov001_020c46fc *data_ov001_020c46fc = NULL; + void func_ov001_020c099c(void) { data_ov001_020c46fc = new(HeapIndex_1) UnkStruct_ov001_020c46fc(); }