diff --git a/config/eur/arm9/overlays/ov000/relocs.txt b/config/eur/arm9/overlays/ov000/relocs.txt index 2e32b223..3ecca61b 100644 --- a/config/eur/arm9/overlays/ov000/relocs.txt +++ b/config/eur/arm9/overlays/ov000/relocs.txt @@ -1870,7 +1870,7 @@ from:0x02067a78 kind:arm_call to:0x02067a2c module:overlay(0) from:0x02067ae0 kind:arm_call to:0x0206757c module:overlay(0) from:0x02067b50 kind:arm_call to:0x02067804 module:overlay(0) from:0x02067b58 kind:load to:0x020b20e4 module:overlay(0) -from:0x02067b5c kind:load to:0x02182c40 module:overlays(100,97) +from:0x02067b5c kind:load to:0x02182c40 module:overlay(100) from:0x02067b78 kind:arm_call to:0x02067970 module:overlay(0) from:0x02067b84 kind:arm_call to:0x01ffd3d8 module:itcm from:0x02067ba0 kind:arm_call to:0x02067804 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 4cd56004..198208cc 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -699,8 +699,8 @@ _ZN21UnkSystem1_ov000_Base8vfunc_10EPt kind:function(arm,size=0x3a0) addr:0x0206 _ZN21UnkSystem1_ov000_Base8vfunc_14EP9FLW1Instr kind:function(arm,size=0x438) addr:0x02066dfc _ZN21UnkSystem1_ov000_Base8vfunc_1CEjii kind:function(arm,size=0x8) addr:0x02067234 _ZN21UnkSystem1_ov000_Base8vfunc_20Eiii kind:function(arm,size=0x8) addr:0x0206723c -_ZN25UnkSystem1_ov000_Derived1C2EiPN24UnkStruct_ov000_02067bc410UnkStruct1E kind:function(arm,size=0x34) addr:0x02067244 -_ZN25UnkSystem1_ov000_Derived1C1EiPN24UnkStruct_ov000_02067bc410UnkStruct1E kind:function(arm,size=0x34) addr:0x02067278 +_ZN25UnkSystem1_ov000_Derived1C2EiP14UnkTextStruct1 kind:function(arm,size=0x34) addr:0x02067244 +_ZN25UnkSystem1_ov000_Derived1C1EiP14UnkTextStruct1 kind:function(arm,size=0x34) addr:0x02067278 _ZN25UnkSystem1_ov000_Derived1D1Ev kind:function(arm,size=0x48) addr:0x020672ac _ZN25UnkSystem1_ov000_Derived1D0Ev kind:function(arm,size=0x50) addr:0x020672f4 _ZN25UnkSystem1_ov000_Derived1D2Ev kind:function(arm,size=0x48) addr:0x02067344 @@ -712,11 +712,11 @@ func_ov000_020674a8 kind:function(arm,size=0xc0) addr:0x020674a8 func_ov000_02067568 kind:function(arm,size=0x14) addr:0x02067568 func_ov000_0206757c kind:function(arm,size=0x60) addr:0x0206757c _ZN29UnkStruct_ov000_020b504c_Sub3C1Ei kind:function(arm,size=0x11c) addr:0x020675dc -_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_020676f8EPKci kind:function(arm,size=0xb8) addr:0x020676f8 -func_ov000_020677b0 kind:function(arm,size=0x54) addr:0x020677b0 -func_ov000_02067804 kind:function(arm,size=0xdc) addr:0x02067804 +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_020676f8EPKcj kind:function(arm,size=0xb8) addr:0x020676f8 +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_020677b0EPKcj kind:function(arm,size=0x54) addr:0x020677b0 +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02067804EPKcPvm kind:function(arm,size=0xdc) addr:0x02067804 func_ov000_020678e0 kind:function(arm,size=0x90) addr:0x020678e0 -func_ov000_02067970 kind:function(arm,size=0xbc) addr:0x02067970 +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02068f0cEv kind:function(arm,size=0xbc) addr:0x02067970 _ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02067a2cEj kind:function(arm,size=0x34) addr:0x02067a2c _ZN17UnkMsgDataStruct119func_ov000_02067a60EPvi kind:function(arm,size=0x44) addr:0x02067a60 func_ov000_02067aa4 kind:function(arm,size=0x7c) addr:0x02067aa4 @@ -730,7 +730,7 @@ func_ov000_02067bf8 kind:function(arm,size=0x8) addr:0x02067bf8 func_ov000_02067c00 kind:function(arm,size=0x98) addr:0x02067c00 func_ov000_02067c98 kind:function(arm,size=0x4) addr:0x02067c98 func_ov000_02067c9c kind:function(arm,size=0x5c) addr:0x02067c9c -_ZN24UnkStruct_ov000_020b504c19func_ov000_02067cf8EiiPN24UnkStruct_ov000_02067bc410UnkStruct1E kind:function(arm,size=0x168) addr:0x02067cf8 +_ZN24UnkStruct_ov000_020b504c19func_ov000_02067cf8EiiP14UnkTextStruct1 kind:function(arm,size=0x168) addr:0x02067cf8 _ZN24UnkStruct_ov000_020b504c19func_ov000_02067e60Ehi kind:function(arm,size=0xfc) addr:0x02067e60 _ZN24UnkStruct_ov000_020b504c19func_ov000_02067f5cEi kind:function(arm,size=0x2c) addr:0x02067f5c _ZN24UnkStruct_ov000_020b504c19func_ov000_02067f88Eii kind:function(arm,size=0xe0) addr:0x02067f88 @@ -790,7 +790,7 @@ func_ov000_02069bf0 kind:function(arm,size=0x24) addr:0x02069bf0 func_ov000_02069c14 kind:function(arm,size=0x8) addr:0x02069c14 func_ov000_02069c1c kind:function(arm,size=0x28) addr:0x02069c1c func_ov000_02069c44 kind:function(arm,size=0x34) addr:0x02069c44 -func_ov000_02069c78 kind:function(arm,size=0x28) addr:0x02069c78 +_ZN24UnkStruct_ov000_020b50c019func_ov000_02069c78Ev kind:function(arm,size=0x28) addr:0x02069c78 func_ov000_02069ca0 kind:function(arm,size=0x9c) addr:0x02069ca0 _ZN24UnkStruct_ov000_020b50c019func_ov000_02069d3cEi kind:function(arm,size=0x40) addr:0x02069d3c _ZN24UnkStruct_ov000_020b50c019func_ov000_02069d7cEi kind:function(arm,size=0x40) addr:0x02069d7c @@ -805,16 +805,16 @@ _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a014Ev kind:function(arm,size=0x20 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 -func_ov000_0206a260 kind:function(arm,size=0x98) addr:0x0206a260 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a260Eiii kind:function(arm,size=0x98) addr:0x0206a260 func_ov000_0206a2f8 kind:function(arm,size=0x210) addr:0x0206a2f8 func_ov000_0206a508 kind:function(arm,size=0x24) addr:0x0206a508 -func_ov000_0206a52c kind:function(arm,size=0x94) addr:0x0206a52c +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a52cEi kind:function(arm,size=0x94) addr:0x0206a52c func_ov000_0206a5c0 kind:function(arm,size=0xc) addr:0x0206a5c0 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a5ccEi kind:function(arm,size=0xc) addr:0x0206a5cc _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a5d8Ei kind:function(arm,size=0x24) addr:0x0206a5d8 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a5fcEv kind:function(arm,size=0xa8) addr:0x0206a5fc _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a6a4Ei kind:function(arm,size=0x60) addr:0x0206a6a4 -func_ov000_0206a704 kind:function(arm,size=0x3c) addr:0x0206a704 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a704Ei kind:function(arm,size=0x3c) addr:0x0206a704 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a740Ev kind:function(arm,size=0x18) addr:0x0206a740 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a758Ev kind:function(arm,size=0x24) addr:0x0206a758 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a77cEv kind:function(arm,size=0x28) addr:0x0206a77c @@ -859,7 +859,7 @@ func_ov000_0206bacc kind:function(arm,size=0x14) addr:0x0206bacc _ZN19func_ov000_0206bae0D0Ev kind:function(arm,size=0x1c) addr:0x0206bae0 func_ov000_0206bafc kind:function(arm,size=0x34) addr:0x0206bafc func_ov000_0206bb30 kind:function(arm,size=0xcc) addr:0x0206bb30 -func_ov000_0206bbfc kind:function(arm,size=0x18) addr:0x0206bbfc +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206bbfcEi kind:function(arm,size=0x18) addr:0x0206bbfc func_ov000_0206bc14 kind:function(arm,size=0xe4) addr:0x0206bc14 func_ov000_0206bcf8 kind:function(arm,size=0xdc) addr:0x0206bcf8 func_ov000_0206bdd4 kind:function(arm,size=0x10) addr:0x0206bdd4 @@ -872,7 +872,7 @@ func_ov000_0206c2e8 kind:function(arm,size=0x100) addr:0x0206c2e8 func_ov000_0206c3e8 kind:function(arm,size=0x9c) addr:0x0206c3e8 func_ov000_0206c484 kind:function(arm,size=0x34) addr:0x0206c484 func_ov000_0206c4b8 kind:function(arm,size=0x34) addr:0x0206c4b8 -func_ov000_0206c4ec kind:function(arm,size=0x84) addr:0x0206c4ec +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206c4ecEi kind:function(arm,size=0x84) addr:0x0206c4ec func_ov000_0206c570 kind:function(arm,size=0x4c) addr:0x0206c570 func_ov000_0206c5bc kind:function(arm,size=0x4c) addr:0x0206c5bc _ZN24UnkStruct_ov000_020b51b819func_ov000_0206c608Eiii kind:function(arm,size=0x58) addr:0x0206c608 @@ -897,7 +897,7 @@ func_ov000_0206d32c kind:function(arm,size=0x10) addr:0x0206d32c func_ov000_0206d33c kind:function(arm,size=0x58) addr:0x0206d33c func_ov000_0206d394 kind:function(arm,size=0x38) addr:0x0206d394 func_ov000_0206d3cc kind:function(arm,size=0x70) addr:0x0206d3cc -func_ov000_0206d43c kind:function(arm,size=0x10) addr:0x0206d43c +_ZN24UnkStruct_ov000_020b521419func_ov000_0206d43cEv kind:function(arm,size=0x10) addr:0x0206d43c func_ov000_0206d44c kind:function(arm,size=0x80) addr:0x0206d44c func_ov000_0206d4cc kind:function(arm,size=0x98) addr:0x0206d4cc func_ov000_0206d564 kind:function(arm,size=0x150) addr:0x0206d564 @@ -907,8 +907,8 @@ _ZN24UnkStruct_ov000_020b521419func_ov000_0206d83cEi kind:function(arm,size=0x40 func_ov000_0206d87c kind:function(arm,size=0x4c) addr:0x0206d87c func_ov000_0206d8c8 kind:function(arm,size=0x4c) addr:0x0206d8c8 func_ov000_0206d914 kind:function(arm,size=0x4c) addr:0x0206d914 -func_ov000_0206d960 kind:function(arm,size=0x24) addr:0x0206d960 -func_ov000_0206d984 kind:function(arm,size=0x24) addr:0x0206d984 +_ZN24UnkStruct_ov000_020b521419func_ov000_0206d960Ev kind:function(arm,size=0x24) addr:0x0206d960 +_ZN24UnkStruct_ov000_020b521419func_ov000_0206d984Ev kind:function(arm,size=0x24) addr:0x0206d984 func_ov000_0206d9a8 kind:function(arm,size=0xd4) addr:0x0206d9a8 func_ov000_0206da7c kind:function(arm,size=0x18) addr:0x0206da7c func_ov000_0206da94 kind:function(arm,size=0xb0) addr:0x0206da94 @@ -955,7 +955,7 @@ func_ov000_0206f584 kind:function(arm,size=0x1c) addr:0x0206f584 func_ov000_0206f5a0 kind:function(arm,size=0x34) addr:0x0206f5a0 func_ov000_0206f5d4 kind:function(arm,size=0x24) addr:0x0206f5d4 func_ov000_0206f5f8 kind:function(arm,size=0x24) addr:0x0206f5f8 -func_ov000_0206f61c kind:function(arm,size=0x90) addr:0x0206f61c +_ZN24UnkStruct_ov018_020c5ac019func_ov000_0206f61cEi kind:function(arm,size=0x90) addr:0x0206f61c _ZN24UnkStruct_ov000_020b52b419func_ov000_0206f6acEv kind:function(arm,size=0x2c) addr:0x0206f6ac func_ov000_0206f6d8 kind:function(arm,size=0x34) addr:0x0206f6d8 func_ov000_0206f70c kind:function(arm,size=0x48) addr:0x0206f70c @@ -963,7 +963,7 @@ func_ov000_0206f754 kind:function(arm,size=0x24) addr:0x0206f754 _ZN24UnkStruct_ov000_020b52b419func_ov000_0206f778Eiii kind:function(arm,size=0x1f0) addr:0x0206f778 func_ov000_0206f968 kind:function(arm,size=0x18) addr:0x0206f968 _ZN24UnkStruct_ov000_020b52e819func_ov000_0206f980Ei kind:function(arm,size=0x14) addr:0x0206f980 -func_ov000_0206f994 kind:function(arm,size=0xc) addr:0x0206f994 +_ZN24UnkStruct_ov000_020b52e819func_ov000_0206f994Ev kind:function(arm,size=0xc) addr:0x0206f994 func_ov000_0206f9a0 kind:function(arm,size=0x128) addr:0x0206f9a0 func_ov000_0206fac8 kind:function(arm,size=0x1c) addr:0x0206fac8 func_ov000_0206fae4 kind:function(arm,size=0x1c) addr:0x0206fae4 @@ -999,12 +999,12 @@ func_ov000_020704c8 kind:function(arm,size=0x2c) addr:0x020704c8 _ZN18UnkStruct_027e09a4D1Ev kind:function(arm,size=0x44) addr:0x020704f4 _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_02070554Ev kind:function(arm,size=0xc) addr:0x02070554 _ZN18UnkStruct_027e09a419func_ov000_02070560Ev kind:function(arm,size=0xc) addr:0x02070560 _ZN18UnkStruct_027e09a419func_ov000_0207056cEv kind:function(arm,size=0x14) addr:0x0207056c func_ov000_02070580 kind:function(arm,size=0x1c) addr:0x02070580 -func_ov000_0207059c kind:function(arm,size=0x4c) addr:0x0207059c -_ZN18UnkStruct_027e09a419func_ov000_020705e8EP8SaveFilei kind:function(thumb,size=0x134) addr:0x020705e8 +_ZN18UnkStruct_027e09a419func_ov000_0207059cEv kind:function(arm,size=0x4c) addr:0x0207059c +_ZN18UnkStruct_027e09a419func_ov000_020705e8EP12GameSaveSloti kind:function(thumb,size=0x134) addr:0x020705e8 func_ov000_0207071c kind:function(thumb,size=0x8c) addr:0x0207071c _ZN18UnkStruct_027e09a419func_ov000_020707a8EPv kind:function(thumb,size=0x8c) addr:0x020707a8 _ZN18UnkStruct_027e09a419func_ov000_02070834EPv kind:function(arm,size=0x48) addr:0x02070834 @@ -1398,9 +1398,9 @@ func_ov000_0207b994 kind:function(arm,size=0x14) addr:0x0207b994 _ZN19func_ov000_0207b9a8D0Ev kind:function(arm,size=0x1c) addr:0x0207b9a8 func_ov000_0207b9c4 kind:function(arm,size=0x60) addr:0x0207b9c4 func_ov000_0207ba24 kind:function(arm,size=0x60) addr:0x0207ba24 -func_ov000_0207ba84 kind:function(arm,size=0x1c) addr:0x0207ba84 -func_ov000_0207baa0 kind:function(arm,size=0x14) addr:0x0207baa0 -func_ov000_0207bab4 kind:function(arm,size=0x14) addr:0x0207bab4 +_ZN18UnkStruct_027e09e819func_ov000_0207ba84EP14UnkFileSystem1P26UnkStruct_027e0cd8_0C_Base kind:function(arm,size=0x1c) addr:0x0207ba84 +_ZN18UnkStruct_027e09e819func_ov000_0207baa0Ev kind:function(arm,size=0x14) addr:0x0207baa0 +_ZN18UnkStruct_027e09e819func_ov000_0207bab4EP12ZCBEntryTRIBt kind:function(arm,size=0x14) addr:0x0207bab4 func_ov000_0207bac8 kind:function(arm,size=0x18) addr:0x0207bac8 func_ov000_0207bae0 kind:function(arm,size=0x10) addr:0x0207bae0 func_ov000_0207baf0 kind:function(arm,size=0xbc) addr:0x0207baf0 @@ -1484,7 +1484,7 @@ func_ov000_0207e770 kind:function(arm,size=0x28) addr:0x0207e770 func_ov000_0207e798 kind:function(arm,size=0x30) addr:0x0207e798 func_ov000_0207e7c8 kind:function(arm,size=0x1c0) addr:0x0207e7c8 func_ov000_0207e988 kind:function(arm,size=0x14) addr:0x0207e988 -func_ov000_0207e99c kind:function(arm,size=0x1a4) addr:0x0207e99c +_ZN18UnkStruct_027e09e819func_ov000_0207e99cEP14ZCBSectionGRDBP26UnkStruct_027e0cd8_0C_Base kind:function(arm,size=0x1a4) addr:0x0207e99c func_ov000_0207eb40 kind:function(arm,size=0x4c) addr:0x0207eb40 func_ov000_0207eb8c kind:function(arm,size=0x68) addr:0x0207eb8c func_ov000_0207ebf4 kind:function(arm,size=0x74) addr:0x0207ebf4 @@ -1505,17 +1505,17 @@ func_ov000_0207ee80 kind:function(arm,size=0x4) addr:0x0207ee80 func_ov000_0207ee84 kind:function(arm,size=0x8) addr:0x0207ee84 func_ov000_0207ee8c kind:function(arm,size=0x60) addr:0x0207ee8c func_ov000_0207eeec kind:function(arm,size=0x44) addr:0x0207eeec -func_ov000_0207ef30 kind:function(arm,size=0x118) addr:0x0207ef30 -func_ov000_0207f048 kind:function(arm,size=0x120) addr:0x0207f048 +_ZN18UnkStruct_027e0a4819func_ov000_0207ef30Ev kind:function(arm,size=0x118) addr:0x0207ef30 +_ZN18UnkStruct_027e0a4819func_ov000_0207f048Ev kind:function(arm,size=0x120) addr:0x0207f048 func_ov000_0207f168 kind:function(arm,size=0x88) addr:0x0207f168 -func_ov000_0207f1f0 kind:function(arm,size=0x90) addr:0x0207f1f0 -func_ov000_0207f280 kind:function(arm,size=0x58) addr:0x0207f280 -func_ov000_0207f2d8 kind:function(arm,size=0x20) addr:0x0207f2d8 +_ZN18UnkStruct_027e0a4819func_ov000_0207f1f0Ev kind:function(arm,size=0x90) addr:0x0207f1f0 +_ZN18UnkStruct_027e0a4819func_ov000_0207f280EP26UnkStruct_027e0cd8_0C_Base kind:function(arm,size=0x58) addr:0x0207f280 +_ZN18UnkStruct_027e0a4819func_ov000_0207f2d8Ev kind:function(arm,size=0x20) addr:0x0207f2d8 func_ov000_0207f2f8 kind:function(arm,size=0x16c) addr:0x0207f2f8 func_ov000_0207f464 kind:function(arm,size=0x18) addr:0x0207f464 func_ov000_0207f47c kind:function(arm,size=0x2c) addr:0x0207f47c func_ov000_0207f4a8 kind:function(arm,size=0x2c) addr:0x0207f4a8 -func_ov000_0207f4d4 kind:function(arm,size=0x14) addr:0x0207f4d4 +_ZN21UnkStruct_027e09c0_0419func_ov000_0207f4d4Ev kind:function(arm,size=0x14) addr:0x0207f4d4 func_ov000_0207f4e8 kind:function(arm,size=0x14) addr:0x0207f4e8 func_ov000_0207f4fc kind:function(arm,size=0x254) addr:0x0207f4fc func_ov000_0207f750 kind:function(thumb,size=0x14) addr:0x0207f750 @@ -1662,7 +1662,7 @@ func_ov000_02082600 kind:function(arm,size=0x1c) addr:0x02082600 _ZN29UnkStruct_027e0cd8_0C_Base_8819func_ov000_0208261cEv kind:function(arm,size=0x68) addr:0x0208261c func_ov000_02082684 kind:function(arm,size=0x34) addr:0x02082684 func_ov000_020826b8 kind:function(arm,size=0x90) addr:0x020826b8 -func_ov000_02082748 kind:function(arm,size=0x14) addr:0x02082748 +_ZN21PlayerLinkActor_A0_3419func_ov000_02082748Ev kind:function(arm,size=0x14) addr:0x02082748 func_ov000_0208275c kind:function(arm,size=0xa8) addr:0x0208275c func_ov000_02082804 kind:function(arm,size=0xc8) addr:0x02082804 func_ov000_020828cc kind:function(arm,size=0xfc) addr:0x020828cc @@ -1707,7 +1707,7 @@ func_ov000_02083aec kind:function(arm,size=0x1cc) addr:0x02083aec func_ov000_02083cb8 kind:function(arm,size=0x25c) addr:0x02083cb8 func_ov000_02083f14 kind:function(arm,size=0x54) addr:0x02083f14 func_ov000_02083f68 kind:function(thumb,size=0x30) addr:0x02083f68 -func_ov000_02083f98 kind:function(thumb,size=0xe) addr:0x02083f98 +_ZN24UnkStruct_027e0ce0_1C_C8D1Ev kind:function(thumb,size=0xe) addr:0x02083f98 func_ov000_02083fa8 kind:function(arm,size=0x1a8) addr:0x02083fa8 func_ov000_02084150 kind:function(arm,size=0x24) addr:0x02084150 func_ov000_02084174 kind:function(arm,size=0xd8) addr:0x02084174 @@ -1803,7 +1803,7 @@ func_ov000_02087f78 kind:function(arm,size=0x50) addr:0x02087f78 func_ov000_02087fc8 kind:function(arm,size=0x98) addr:0x02087fc8 func_ov000_02088060 kind:function(arm,size=0x10c) addr:0x02088060 func_ov000_0208816c kind:function(arm,size=0xfc) addr:0x0208816c -func_ov000_02088268 kind:function(arm,size=0x60) addr:0x02088268 +_ZN21PlayerLinkActor_A0_0419func_ov000_02088268Ev kind:function(arm,size=0x60) addr:0x02088268 func_ov000_020882c8 kind:function(arm,size=0x64) addr:0x020882c8 func_ov000_0208832c kind:function(arm,size=0x20) addr:0x0208832c func_ov000_0208834c kind:function(arm,size=0xdc) addr:0x0208834c @@ -2040,10 +2040,10 @@ func_ov000_0208e5e8 kind:function(arm,size=0x40) addr:0x0208e5e8 func_ov000_0208e628 kind:function(arm,size=0x4c) addr:0x0208e628 func_ov000_0208e674 kind:function(arm,size=0x54) addr:0x0208e674 func_ov000_0208e6c8 kind:function(arm,size=0x3c) addr:0x0208e6c8 -func_ov000_0208e704 kind:function(arm,size=0x18) addr:0x0208e704 +_ZN21PlayerLinkActor_A0_2C19func_ov000_0208e704Ev kind:function(arm,size=0x18) addr:0x0208e704 func_ov000_0208e71c kind:function(arm,size=0x2c) addr:0x0208e71c func_ov000_0208e748 kind:function(arm,size=0x40) addr:0x0208e748 -func_ov000_0208e788 kind:function(thumb,size=0x68) addr:0x0208e788 +_ZN24UnkStruct_027e0ce0_1C_08C1Eiii kind:function(thumb,size=0x68) addr:0x0208e788 _ZN19func_ov000_0208e7f0D1Ev kind:function(arm,size=0x14) addr:0x0208e7f0 _ZN19func_ov000_0208e804D0Ev kind:function(arm,size=0x1c) addr:0x0208e804 func_ov000_0208e820 kind:function(arm,size=0x10) addr:0x0208e820 @@ -2115,15 +2115,15 @@ _ZN19func_ov000_020916bcD0Ev kind:function(arm,size=0x48) addr:0x020916bc func_ov000_02091704 kind:function(arm,size=0xe4) addr:0x02091704 func_ov000_020917e8 kind:function(arm,size=0x4c4) addr:0x020917e8 _ZN18PlayerLinkActor_A0C1EiP21UnkStruct_027e0ce0_40P15PlayerActorBaseP18PlayerLinkActor_9C kind:function(thumb,size=0x1f4) addr:0x02091cac -func_ov000_02091ea0 kind:function(arm,size=0x18) addr:0x02091ea0 +_ZN18PlayerLinkActor_A019func_ov000_02091ea0Ev kind:function(arm,size=0x18) addr:0x02091ea0 func_ov000_02091eb8 kind:function(arm,size=0x50) addr:0x02091eb8 -func_ov000_02091f08 kind:function(arm,size=0x28) addr:0x02091f08 +_ZN18PlayerLinkActor_A019func_ov000_02091f08Ei kind:function(arm,size=0x28) addr:0x02091f08 func_ov000_02091f30 kind:function(arm,size=0x164) addr:0x02091f30 func_ov000_02092094 kind:function(arm,size=0x1c) addr:0x02092094 func_ov000_020920b0 kind:function(arm,size=0x34) addr:0x020920b0 func_ov000_020920e4 kind:function(arm,size=0xc4) addr:0x020920e4 func_ov000_020921a8 kind:function(arm,size=0x3c) addr:0x020921a8 -_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020921e4Ei kind:function(arm,size=0x464) addr:0x020921e4 +_ZN18PlayerLinkActor_A019func_ov000_020921e4Ei kind:function(arm,size=0x464) addr:0x020921e4 func_ov000_02092648 kind:function(arm,size=0x7f0) addr:0x02092648 func_ov000_02092e38 kind:function(arm,size=0x70) addr:0x02092e38 func_ov000_02092ea8 kind:function(arm,size=0x24) addr:0x02092ea8 @@ -2141,7 +2141,7 @@ func_ov000_0209360c kind:function(arm,size=0x44) addr:0x0209360c func_ov000_02093650 kind:function(arm,size=0x4c) addr:0x02093650 func_ov000_0209369c kind:function(arm,size=0x28) addr:0x0209369c func_ov000_020936c4 kind:function(arm,size=0x28) addr:0x020936c4 -_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020936ecEv kind:function(arm,size=0x2c) addr:0x020936ec +_ZN18PlayerLinkActor_A019func_ov000_020936ecEv kind:function(arm,size=0x2c) addr:0x020936ec _ZN18PlayerLinkActor_A019func_ov000_02093718Ev kind:function(arm,size=0x38) addr:0x02093718 func_ov000_02093750 kind:function(arm,size=0x3c) addr:0x02093750 _ZN18PlayerLinkActor_A019func_ov000_0209378cEv kind:function(arm,size=0x58) addr:0x0209378c @@ -2150,7 +2150,7 @@ func_ov000_020938a4 kind:function(arm,size=0x2c) addr:0x020938a4 func_ov000_020938d0 kind:function(arm,size=0x2c) addr:0x020938d0 func_ov000_020938fc kind:function(arm,size=0x58) addr:0x020938fc func_ov000_02093954 kind:function(arm,size=0xb0) addr:0x02093954 -_ZN27UnkStruct_ov000_0208f820_3019func_ov000_02093a04Ev kind:function(arm,size=0x10) addr:0x02093a04 +_ZN18PlayerLinkActor_A019func_ov000_02093a04Ev kind:function(arm,size=0x10) addr:0x02093a04 func_ov000_02093a14 kind:function(arm,size=0x30) addr:0x02093a14 func_ov000_02093a44 kind:function(arm,size=0x44) addr:0x02093a44 func_ov000_02093a88 kind:function(arm,size=0x28) addr:0x02093a88 @@ -2636,8 +2636,8 @@ func_ov000_0209f0d4 kind:function(arm,size=0x1c) addr:0x0209f0d4 func_ov000_0209f0f0 kind:function(arm,size=0x1c) addr:0x0209f0f0 func_ov000_0209f10c kind:function(arm,size=0xc) addr:0x0209f10c func_ov000_0209f118 kind:function(arm,size=0xc) addr:0x0209f118 -func_ov000_0209f124 kind:function(arm,size=0xfc) addr:0x0209f124 -func_ov000_0209f220 kind:function(arm,size=0x3c) addr:0x0209f220 +_ZN26GameModeManagerBase_004_00C1Es kind:function(arm,size=0xfc) addr:0x0209f124 +_ZN26GameModeManagerBase_004_00D1Ev kind:function(arm,size=0x3c) addr:0x0209f220 func_ov000_0209f25c kind:function(arm,size=0xb0) addr:0x0209f25c func_ov000_0209f30c kind:function(arm,size=0x290) addr:0x0209f30c func_ov000_0209f59c kind:function(arm,size=0x88) addr:0x0209f59c @@ -2739,7 +2739,7 @@ func_ov000_020a1718 kind:function(arm,size=0xc) addr:0x020a1718 func_ov000_020a1724 kind:function(arm,size=0x4c) addr:0x020a1724 func_ov000_020a1770 kind:function(arm,size=0x1e4) addr:0x020a1770 func_ov000_020a1954 kind:function(arm,size=0x180) addr:0x020a1954 -func_ov000_020a1ad4 kind:function(arm,size=0x180) addr:0x020a1ad4 +_ZN36UnkStruct_ov000_020b504c_0C_Derived1C1Ei kind:function(arm,size=0x180) addr:0x020a1ad4 func_ov000_020a1c54 kind:function(arm,size=0x70) addr:0x020a1c54 _ZN19func_ov000_020a1cc4D0Ev kind:function(arm,size=0x78) addr:0x020a1cc4 func_ov000_020a1d3c kind:function(arm,size=0x70) addr:0x020a1d3c @@ -2770,7 +2770,7 @@ func_ov000_020a2dcc kind:function(arm,size=0x20) addr:0x020a2dcc func_ov000_020a2dec kind:function(arm,size=0x40) addr:0x020a2dec func_ov000_020a2e2c kind:function(arm,size=0x54) addr:0x020a2e2c func_ov000_020a2e80 kind:function(arm,size=0x78) addr:0x020a2e80 -func_ov000_020a2ef8 kind:function(arm,size=0x20) addr:0x020a2ef8 +_ZN36UnkStruct_ov000_020b504c_0C_Derived3C1Ei kind:function(arm,size=0x20) addr:0x020a2ef8 func_ov000_020a2f18 kind:function(arm,size=0x14) addr:0x020a2f18 func_ov000_020a2f2c kind:function(arm,size=0x44) addr:0x020a2f2c func_ov000_020a2f70 kind:function(arm,size=0x8) addr:0x020a2f70 @@ -2781,7 +2781,7 @@ func_ov000_020a3008 kind:function(arm,size=0x44) addr:0x020a3008 func_ov000_020a304c kind:function(arm,size=0x3c) addr:0x020a304c _ZN19func_ov000_020a3088D1Ev kind:function(arm,size=0x14) addr:0x020a3088 _ZN19func_ov000_020a309cD0Ev kind:function(arm,size=0x1c) addr:0x020a309c -func_ov000_020a30b8 kind:function(arm,size=0xfc) addr:0x020a30b8 +_ZN36UnkStruct_ov000_020b504c_0C_Derived2C1Ev kind:function(arm,size=0xfc) addr:0x020a30b8 func_ov000_020a31b4 kind:function(arm,size=0x2f0) addr:0x020a31b4 func_ov000_020a34a4 kind:function(arm,size=0x18c) addr:0x020a34a4 func_ov000_020a3630 kind:function(arm,size=0x284) addr:0x020a3630 @@ -2816,8 +2816,8 @@ func_ov000_020a4490 kind:function(arm,size=0x38) addr:0x020a4490 func_ov000_020a44c8 kind:function(arm,size=0x1f4) addr:0x020a44c8 func_ov000_020a46bc kind:function(arm,size=0x8) addr:0x020a46bc func_ov000_020a46c4 kind:function(arm,size=0x10) addr:0x020a46c4 -func_ov000_020a46d4 kind:function(arm,size=0x90) addr:0x020a46d4 -func_ov000_020a4764 kind:function(arm,size=0x14) addr:0x020a4764 +_ZN27UnkStruct_ov000_020b504c_08C1Ev kind:function(arm,size=0x90) addr:0x020a46d4 +_ZN27UnkStruct_ov000_020b504c_0819func_ov000_020a4764Ev kind:function(arm,size=0x14) addr:0x020a4764 func_ov000_020a4778 kind:function(arm,size=0x60) addr:0x020a4778 func_ov000_020a47d8 kind:function(arm,size=0x240) addr:0x020a47d8 func_ov000_020a4a18 kind:function(arm,size=0xa0) addr:0x020a4a18 diff --git a/config/eur/arm9/overlays/ov001/delinks.txt b/config/eur/arm9/overlays/ov001/delinks.txt index 9d39bab4..6b8005c0 100644 --- a/config/eur/arm9/overlays/ov001/delinks.txt +++ b/config/eur/arm9/overlays/ov001/delinks.txt @@ -101,6 +101,57 @@ src/001_SceneInit/Player/PlayerLinkActor_001.cpp: complete .text start:0x020bc99c end:0x020bcca0 +src/001_SceneInit/UnkStruct_027e0ce0_1C_001.cpp: + .text start:0x020bcca0 end:0x020bd514 + .data start:0x020c2c70 end:0x020c2c80 + +src/001_SceneInit/UnkStruct_0204a110_001.cpp: + complete + .text start:0x020bd514 end:0x020bd7c8 + +src/001_SceneInit/UnkStruct_ov024_020d86a0_001.cpp: + complete + .text start:0x020bd7c8 end:0x020bd854 + +src/001_SceneInit/UnkStruct_ov000_020b50c0_001.cpp: + complete + .text start:0x020bd854 end:0x020be054 + +src/001_SceneInit/Game/GameModeCreate.cpp: + complete + .text start:0x020be054 end:0x020be138 + +src/001_SceneInit/ZeldaCollisionBinary.cpp: + complete + .text start:0x020be138 end:0x020be2d0 + +src/001_SceneInit/UnkStruct_027e09c0_001.cpp: + complete + .text start:0x020be2d0 end:0x020be504 + +src/001_SceneInit/UnkStruct_ov000_020b504c_001.cpp: + complete + .text start:0x020be504 end:0x020bea40 + .data start:0x020c2c80 end:0x020c2dec + +src/001_SceneInit/UnkStruct_027e09b4_001.cpp: + .text start:0x020bea40 end:0x020beae4 + +src/001_SceneInit/UnkStruct_027e09ac_001.cpp: + .text start:0x020beae4 end:0x020bed14 + +src/001_SceneInit/UnkStruct_027e0cec_001.cpp: + .text start:0x020bed14 end:0x020bf0a0 + +src/001_SceneInit/code_020bf0a0.cpp: + .text start:0x020bf0a0 end:0x020bf1b8 + +src/001_SceneInit/UnkStruct_027e0ce0_34_001.cpp: + .text start:0x020bf1b8 end:0x020bf4ac + +src/001_SceneInit/UnkStruct_027e0d00_001.cpp: + .text start:0x020bf4ac end:0x020bf800 + src/001_SceneInit/CargoManager_001.cpp: complete .text start:0x020bf800 end:0x020bf870 @@ -111,8 +162,18 @@ src/001_SceneInit/PassengerManager_001.cpp: src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp: .text start:0x020bfa50 end:0x020bfcc0 +src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp: + .text start:0x020bfcc0 end:0x020bfdd0 + +src/001_SceneInit/code_020bfdd0.cpp: + .text start:0x020bfdd0 end:0x020bff74 + src/001_SceneInit/Game/AdventureModeManager_001.cpp: .text start:0x020bff74 end:0x020c0944 src/001_SceneInit/Game/GameModeAdventure_001.cpp: + complete .text start:0x020c0944 end:0x020c099c + +src/001_SceneInit/code_020c099c.cpp: + .text start:0x020c099c end:0x020c0a24 diff --git a/config/eur/arm9/overlays/ov001/relocs.txt b/config/eur/arm9/overlays/ov001/relocs.txt index 8845f840..7896509b 100644 --- a/config/eur/arm9/overlays/ov001/relocs.txt +++ b/config/eur/arm9/overlays/ov001/relocs.txt @@ -911,14 +911,14 @@ from:0x020baa90 kind:thumb_call_arm to:0x02011f3c module:main from:0x020baa9a kind:thumb_call_arm to:0x02077674 module:overlay(0) from:0x020baaa8 kind:thumb_call_arm to:0x02011f3c module:main from:0x020baab2 kind:thumb_call_arm to:0x02077674 module:overlay(0) -from:0x020baad0 kind:load to:0x020b2470 module:overlay(0) add:0x8 -from:0x020baad4 kind:load to:0x020b24c4 module:overlay(0) add:0x8 +from:0x020baad0 kind:load to:0x020b2470 add:0x8 module:overlay(0) +from:0x020baad4 kind:load to:0x020b24c4 add:0x8 module:overlay(0) from:0x020baad8 kind:load to:0x027e09a4 module:dtcm from:0x020baadc kind:load to:0x020e8544 module:overlay(20) from:0x020bab42 kind:thumb_call_arm to:0x02016694 module:main from:0x020bab4a kind:thumb_call_arm to:0x0201bacc module:main from:0x020bab50 kind:thumb_call to:0x020bac34 module:overlay(1) -from:0x020bab58 kind:load to:0x020b2470 module:overlay(0) add:0x8 +from:0x020bab58 kind:load to:0x020b2470 add:0x8 module:overlay(0) from:0x020babb8 kind:thumb_call_arm to:0x02078cec module:overlay(0) from:0x020babc0 kind:load to:0x027e09a4 module:dtcm from:0x020babc4 kind:load to:0x027e09bc module:dtcm @@ -1268,7 +1268,7 @@ from:0x020bc40c kind:thumb_call to:0x020bbee4 module:overlay(1) from:0x020bc422 kind:thumb_call_arm to:0x02011f3c module:main from:0x020bc42a kind:thumb_call to:0x020bf1b8 module:overlay(1) from:0x020bc43e kind:thumb_call to:0x020829c8 module:overlay(0) -from:0x020bc448 kind:load to:0x020b2b30 module:overlay(0) add:0x8 +from:0x020bc448 kind:load to:0x020b2b30 add:0x8 module:overlay(0) from:0x020bc44c kind:load to:0x027e09a4 module:dtcm from:0x020bc454 kind:thumb_call to:0x020bc768 module:overlay(1) from:0x020bc460 kind:thumb_call to:0x020bf218 module:overlay(1) @@ -1342,7 +1342,7 @@ from:0x020bc7c8 kind:thumb_call_arm to:0x02057d3c module:overlay(0) from:0x020bc7d6 kind:thumb_call_arm to:0x02057f18 module:overlay(0) from:0x020bc7f0 kind:thumb_call_arm to:0x02057f40 module:overlay(0) from:0x020bc80a kind:thumb_call to:0x0208c058 module:overlay(0) -from:0x020bc814 kind:load to:0x020b2b68 module:overlay(0) add:0x8 +from:0x020bc814 kind:load to:0x020b2b68 add:0x8 module:overlay(0) from:0x020bc818 kind:load to:0x020c26bc module:overlay(1) from:0x020bc81c kind:load to:0x020c264c module:overlay(1) from:0x020bc860 kind:thumb_call_arm to:0x0208a0f0 module:overlay(0) @@ -2336,8 +2336,6 @@ from:0x020c1718 kind:load to:0x020c1528 add:0x1400 module:overlay(1) from:0x020c18a4 kind:load to:0x020c4700 module:overlay(1) from:0x020c1930 kind:load to:0x020c4700 module:overlay(1) from:0x020c19c0 kind:load to:0x020c4700 module:overlay(1) -from:0x020c19d4 kind:load to:0x020c2d34 module:overlay(1) -from:0x020c19dc kind:load to:0x020c2cac module:overlay(1) from:0x020c1a98 kind:load to:0x020c280c module:overlay(1) from:0x020c1b48 kind:load to:0x020c280c module:overlay(1) from:0x020c1bb4 kind:load to:0x020c4701 module:overlay(1) diff --git a/config/eur/arm9/overlays/ov001/symbols.txt b/config/eur/arm9/overlays/ov001/symbols.txt index 27a7ab34..c9ad3c03 100644 --- a/config/eur/arm9/overlays/ov001/symbols.txt +++ b/config/eur/arm9/overlays/ov001/symbols.txt @@ -260,81 +260,81 @@ _ZN18PlayerLinkActor_A019func_ov001_020bd358Ev kind:function(thumb,size=0x30) ad _ZN18PlayerLinkActor_A019func_ov001_020bd388Ebb kind:function(thumb,size=0x128) addr:0x020bd388 _ZN29UnkStruct_027e0ce0_40_Base_7CC1Ei kind:function(thumb,size=0x40) addr:0x020bd4b0 _ZN29UnkStruct_027e0ce0_40_Base_7CD1Ev kind:function(thumb,size=0x22) addr:0x020bd4f0 -_ZN18UnkStruct_0204a11019func_ov001_020bd514EiPvii kind:function(thumb,size=0x78) addr:0x020bd514 +_ZN18UnkStruct_0204a11019func_ov001_020bd514EiPFP19GameModeManagerBaseP23UnkStruct_0204a110_Sub2Ebb kind:function(thumb,size=0x78) addr:0x020bd514 _ZN18UnkStruct_0204a11019func_ov001_020bd58cEv kind:function(thumb,size=0x24) addr:0x020bd58c _ZN18UnkStruct_0204a11019func_ov001_020bd5b0Ev kind:function(thumb,size=0x88) addr:0x020bd5b0 _ZN18UnkStruct_0204a11019func_ov001_020bd638Ev kind:function(thumb,size=0x40) addr:0x020bd638 _ZN18UnkStruct_0204a11019func_ov001_020bd678Ev kind:function(thumb,size=0x14) addr:0x020bd678 _ZN18UnkStruct_0204a11019func_ov001_020bd68cEv kind:function(thumb,size=0x1c) addr:0x020bd68c -func_ov001_020bd6a8 kind:function(thumb,size=0x18) addr:0x020bd6a8 -func_ov001_020bd6c0 kind:function(thumb,size=0x38) addr:0x020bd6c0 -func_ov001_020bd6f8 kind:function(thumb,size=0x30) addr:0x020bd6f8 -func_ov001_020bd728 kind:function(thumb,size=0xc) addr:0x020bd728 -_ZN23GameModeManagerBase_00419func_ov001_020bd734EPi kind:function(thumb,size=0x50) addr:0x020bd734 +_ZN18UnkStruct_0204a0886CreateEv kind:function(thumb,size=0x18) addr:0x020bd6a8 +_ZN18UnkStruct_0204a088C1Ev kind:function(thumb,size=0x38) addr:0x020bd6c0 +_ZN18UnkStruct_0204a08819func_ov001_020bd6f8Ev kind:function(thumb,size=0x30) addr:0x020bd6f8 +_ZN8InstanceI18UnkStruct_0204a088EC2Ev kind:function(thumb,size=0xc) addr:0x020bd728 +_ZN23GameModeManagerBase_00419func_ov001_020bd734EPKs kind:function(thumb,size=0x50) addr:0x020bd734 _ZN23GameModeManagerBase_00419func_ov001_020bd784Ev kind:function(thumb,size=0x3c) addr:0x020bd784 -func_ov001_020bd7c0 kind:function(thumb,size=0x8) addr:0x020bd7c0 +_ZN23UnkStruct_0204a110_Sub219func_ov001_020bd7c0Ev kind:function(thumb,size=0x8) addr:0x020bd7c0 _ZN24UnkStruct_ov024_020d86a0C1Ev kind:function(thumb,size=0x32) addr:0x020bd7c8 _ZN24UnkStruct_ov024_020d86a0D1Ev kind:function(thumb,size=0x1a) addr:0x020bd7fc _ZN24UnkStruct_ov024_020d86a019func_ov001_020bd818Ev kind:function(thumb,size=0x24) addr:0x020bd818 -func_ov001_020bd83c kind:function(thumb,size=0xc) addr:0x020bd83c -func_ov001_020bd848 kind:function(thumb,size=0xc) addr:0x020bd848 +_ZN8InstanceI24UnkStruct_ov024_020d86a0EC2Ev kind:function(thumb,size=0xc) addr:0x020bd83c +_ZN8InstanceI24UnkStruct_ov024_020d86a0ED2Ev kind:function(thumb,size=0xc) addr:0x020bd848 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd854Ev kind:function(thumb,size=0x28) addr:0x020bd854 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd87cEv kind:function(thumb,size=0x30) addr:0x020bd87c _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8acEv kind:function(thumb,size=0x30) addr:0x020bd8ac _ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8dcEv kind:function(thumb,size=0xc) addr:0x020bd8dc -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 -_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EP12EntranceInfo kind:function(thumb,size=0x494) addr:0x020bd970 -_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP12EntranceInfo kind:function(thumb,size=0x48) addr:0x020bde04 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8e8Ev kind:function(thumb,size=0x28) addr:0x020bd8e8 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd910Ev kind:function(thumb,size=0x24) addr:0x020bd910 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd934Eb kind:function(thumb,size=0x3c) addr:0x020bd934 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EPK12EntranceInfo kind:function(thumb,size=0x494) addr:0x020bd970 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EPK12EntranceInfo kind:function(thumb,size=0x48) addr:0x020bde04 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK12EntranceInfo kind:function(thumb,size=0x10) addr:0x020bde4c _ZN24UnkStruct_ov000_020b50c019func_ov001_020bde5cEv kind:function(thumb,size=0x10) addr:0x020bde5c -func_ov001_020bde6c kind:function(thumb,size=0xe) addr:0x020bde6c -func_ov001_020bde7c kind:function(thumb,size=0x14) addr:0x020bde7c -func_ov001_020bde90 kind:function(thumb,size=0x110) addr:0x020bde90 -func_ov001_020bdfa0 kind:function(thumb,size=0x16) addr:0x020bdfa0 -func_ov001_020bdfb8 kind:function(thumb,size=0x78) addr:0x020bdfb8 -func_ov001_020be030 kind:function(thumb,size=0x2) addr:0x020be030 -func_ov001_020be034 kind:function(thumb,size=0x20) addr:0x020be034 -func_ov001_020be054 kind:function(thumb,size=0x24) addr:0x020be054 -func_ov001_020be078 kind:function(thumb,size=0x60) addr:0x020be078 -func_ov001_020be0d8 kind:function(thumb,size=0x14) addr:0x020be0d8 -func_ov001_020be0ec kind:function(thumb,size=0x14) addr:0x020be0ec -func_ov001_020be100 kind:function(thumb,size=0x2c) addr:0x020be100 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bde6cEv kind:function(thumb,size=0xe) addr:0x020bde6c +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bde7cEv kind:function(thumb,size=0x14) addr:0x020bde7c +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bde90EPK12EntranceInfo kind:function(thumb,size=0x110) addr:0x020bde90 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bdfa0EPK12EntranceInfo kind:function(thumb,size=0x16) addr:0x020bdfa0 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bdfb8EPK12EntranceInfo kind:function(thumb,size=0x78) addr:0x020bdfb8 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020be030Ev kind:function(thumb,size=0x2) addr:0x020be030 +_ZN18UnkStruct_027e0d087DestroyEv kind:function(thumb,size=0x20) addr:0x020be034 +_ZN17GameModeAdventure6CreateEv kind:function(thumb,size=0x24) addr:0x020be054 +_ZN19GameModeTitleScreen6CreateEv kind:function(thumb,size=0x60) addr:0x020be078 +_ZN19GameModeContactMode6CreateEv kind:function(thumb,size=0x14) addr:0x020be0d8 +_ZN20GameModeDownloadPlay6CreateEv kind:function(thumb,size=0x14) addr:0x020be0ec +_ZN14GameModeBattle6CreateEv kind:function(thumb,size=0x2c) addr:0x020be100 _ZN24UnkStruct_ov000_020b4eec19func_ov001_020be12cEv kind:function(thumb,size=0xc) addr:0x020be12c -func_ov001_020be138 kind:function(thumb,size=0xc0) addr:0x020be138 -func_ov001_020be1f8 kind:function(thumb,size=0x96) addr:0x020be1f8 -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 +ZCB_ParseFile kind:function(thumb,size=0xc0) addr:0x020be138 +ZCB_ParseVTXB kind:function(thumb,size=0x96) addr:0x020be1f8 +ZCB_ParseNRMB kind:function(thumb,size=0x12) addr:0x020be290 +ZCB_ParsePCLB kind:function(thumb,size=0x10) addr:0x020be2a4 +ZCB_ParseTRIB kind:function(thumb,size=0x10) addr:0x020be2b4 +ZCB_ParseGRDB kind:function(thumb,size=0xc) addr:0x020be2c4 _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 +_ZN18UnkStruct_027e09c0C1Ev kind:function(thumb,size=0xa0) addr:0x020be2f4 _ZN18UnkStruct_027e09c019func_ov001_020be394Ev kind:function(thumb,size=0x30) addr:0x020be394 _ZN18UnkStruct_027e09c019func_ov001_020be3c4Ev kind:function(thumb,size=0x18) addr:0x020be3c4 _ZN18UnkStruct_027e09c019func_ov001_020be3dcEP14UnkFileSystem3P26UnkStruct_027e0cd8_0C_Base kind:function(thumb,size=0x24) addr:0x020be3dc _ZN18UnkStruct_027e09c019func_ov001_020be400Ev kind:function(thumb,size=0x3c) addr:0x020be400 -func_ov001_020be43c kind:function(thumb,size=0x20) addr:0x020be43c -func_ov001_020be45c kind:function(thumb,size=0xc) addr:0x020be45c -func_ov001_020be468 kind:function(thumb,size=0xc) addr:0x020be468 -func_ov001_020be474 kind:function(thumb,size=0x70) addr:0x020be474 -func_ov001_020be4e4 kind:function(thumb,size=0x1e) addr:0x020be4e4 +_ZN18UnkStruct_027e09c011DestroyImplEv kind:function(thumb,size=0x20) addr:0x020be43c +_ZN8InstanceI18UnkStruct_027e09c0EC2Ev kind:function(thumb,size=0xc) addr:0x020be45c +_ZN8InstanceI18UnkStruct_027e09c0ED2Ev kind:function(thumb,size=0xc) addr:0x020be468 +_ZN18UnkStruct_027e0b4819func_ov001_020be474Ev kind:function(thumb,size=0x70) addr:0x020be474 +_ZN18UnkStruct_027e0b4819func_ov001_020be4e4Ev kind:function(thumb,size=0x1e) addr:0x020be4e4 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be504Ev kind:function(thumb,size=0xc) addr:0x020be504 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be510Ev kind:function(thumb,size=0xd8) addr:0x020be510 -func_ov001_020be5e8 kind:function(thumb,size=0x80) addr:0x020be5e8 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be5e8Ev kind:function(thumb,size=0x80) addr:0x020be5e8 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be668Ev kind:function(thumb,size=0x70) addr:0x020be668 -func_ov001_020be6d8 kind:function(thumb,size=0x1c) addr:0x020be6d8 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be6d8Ev kind:function(thumb,size=0x1c) addr:0x020be6d8 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be6f4Ev kind:function(thumb,size=0xa8) addr:0x020be6f4 -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 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be79cEj kind:function(thumb,size=0x90) addr:0x020be79c +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be82cEj kind:function(thumb,size=0x54) addr:0x020be82c +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be880Ej kind:function(thumb,size=0x60) addr:0x020be880 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be8e0Ev kind:function(thumb,size=0x4c) addr:0x020be8e0 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be92cEP24UnkStruct_027e0cd8_04_0C kind:function(thumb,size=0x20) addr:0x020be92c _ZN24UnkStruct_ov000_020b504c19func_ov001_020be94cEv kind:function(thumb,size=0x4c) addr:0x020be94c _ZN24UnkStruct_ov000_020b504c19func_ov001_020be998Ev kind:function(thumb,size=0x64) addr:0x020be998 -func_ov001_020be9fc kind:function(thumb,size=0x30) addr:0x020be9fc -func_ov001_020bea2c kind:function(thumb,size=0x14) addr:0x020bea2c +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be9fcEv kind:function(thumb,size=0x30) addr:0x020be9fc +_ZN24UnkStruct_ov000_020b504c19func_ov001_020bea2cEv kind:function(thumb,size=0x14) addr:0x020bea2c func_ov001_020bea40 kind:function(thumb,size=0x18) addr:0x020bea40 func_ov001_020bea58 kind:function(thumb,size=0x2c) addr:0x020bea58 func_ov001_020bea84 kind:function(thumb,size=0x48) addr:0x020bea84 @@ -420,8 +420,8 @@ func_ov001_020bff0c kind:function(thumb,size=0x10) addr:0x020bff0c func_ov001_020bff1c kind:function(thumb,size=0x10) addr:0x020bff1c func_ov001_020bff2c kind:function(thumb,size=0x8) addr:0x020bff2c func_ov001_020bff34 kind:function(thumb,size=0x40) addr:0x020bff34 -_ZN20AdventureModeManager6CreateEi kind:function(thumb,size=0x1c) addr:0x020bff74 -_ZN20AdventureModeManagerC1Ei kind:function(thumb,size=0x134) addr:0x020bff90 +_ZN20AdventureModeManager6CreateEP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x1c) addr:0x020bff74 +_ZN20AdventureModeManagerC1EP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x134) addr:0x020bff90 _ZN20AdventureModeManager8vfunc_10Eiii kind:function(thumb,size=0x10) addr:0x020c00c4 _ZN20AdventureModeManager19func_ov001_020c00d4Ev kind:function(thumb,size=0x30) addr:0x020c00d4 _ZN20AdventureModeManager19func_ov001_020c0104Ev kind:function(thumb,size=0x90) addr:0x020c0104 @@ -535,75 +535,73 @@ data_ov001_020c2a40 kind:data(any) addr:0x020c2a40 @3288 kind:data(byte[28]) addr:0x020c2af0 local @3292 kind:data(byte[23]) addr:0x020c2b0c local @3293 kind:data(byte[21]) addr:0x020c2b24 local -@5615 kind:data(byte[0x0C]) addr:0x020c2b3c local -@5616 kind:data(byte[0x0D]) addr:0x020c2b48 local -@5617 kind:data(byte[0x0C]) addr:0x020c2b58 local -@5618 kind:data(byte[0x05]) addr:0x020c2b64 local -@5619 kind:data(byte[0x06]) addr:0x020c2b6c local -@5620 kind:data(byte[0x06]) addr:0x020c2b74 local -@5621 kind:data(byte[0x06]) addr:0x020c2b7c local -@5622 kind:data(byte[0x06]) addr:0x020c2b84 local -@5623 kind:data(byte[0x06]) addr:0x020c2b8c local -@5624 kind:data(byte[0x06]) addr:0x020c2b94 local -@5625 kind:data(byte[0x05]) addr:0x020c2b9c local -@5626 kind:data(byte[0x05]) addr:0x020c2ba4 local -@5627 kind:data(byte[0x06]) addr:0x020c2bac local -@5628 kind:data(byte[0x06]) addr:0x020c2bb4 local -@5629 kind:data(byte[0x06]) addr:0x020c2bbc local -@5630 kind:data(byte[0x06]) addr:0x020c2bc4 local -@5631 kind:data(byte[0x06]) addr:0x020c2bcc local -@5632 kind:data(byte[0x06]) addr:0x020c2bd4 local -@5633 kind:data(byte[0x06]) addr:0x020c2bdc local -@5634 kind:data(byte[0x06]) addr:0x020c2be4 local -@5635 kind:data(byte[0x07]) addr:0x020c2bec local -@5636 kind:data(byte[0x07]) addr:0x020c2bf4 local -@5637 kind:data(byte[0x07]) addr:0x020c2bfc local -@5638 kind:data(byte[0x0B]) addr:0x020c2c04 local -@5639 kind:data(byte[0x07]) addr:0x020c2c10 local -@5640 kind:data(byte[0x11]) addr:0x020c2c18 local -@5641 kind:data(byte[0x07]) addr:0x020c2c2c local -@5642 kind:data(byte[0x04]) addr:0x020c2c34 local -@5643 kind:data(byte[0x09]) addr:0x020c2c38 local -@5644 kind:data(byte[0x0C]) addr:0x020c2c44 local -@5645 kind:data(byte[0x09]) addr:0x020c2c50 local -@5646 kind:data(byte[0x0C]) addr:0x020c2c5c local -@5647 kind:data(byte[0x06]) addr:0x020c2c68 local -data_ov001_020c2c70 kind:data(any) addr:0x020c2c70 -data_ov001_020c2c78 kind:data(any) addr:0x020c2c78 -data_ov001_020c2c80 kind:data(any) addr:0x020c2c80 -data_ov001_020c2c88 kind:data(any) addr:0x020c2c88 -data_ov001_020c2c90 kind:data(any) addr:0x020c2c90 -data_ov001_020c2c98 kind:data(any) addr:0x020c2c98 -data_ov001_020c2ca0 kind:data(any) addr:0x020c2ca0 -data_ov001_020c2ca8 kind:data(any) addr:0x020c2ca8 -data_ov001_020c2cac kind:data(any) addr:0x020c2cac -data_ov001_020c2cb0 kind:data(any) addr:0x020c2cb0 -data_ov001_020c2cb8 kind:data(any) addr:0x020c2cb8 -data_ov001_020c2cc0 kind:data(any) addr:0x020c2cc0 -data_ov001_020c2cc8 kind:data(any) addr:0x020c2cc8 -data_ov001_020c2cd0 kind:data(any) addr:0x020c2cd0 -data_ov001_020c2cdc kind:data(any) addr:0x020c2cdc -data_ov001_020c2ce8 kind:data(any) addr:0x020c2ce8 -data_ov001_020c2cf4 kind:data(any) addr:0x020c2cf4 -data_ov001_020c2d2c kind:data(any) addr:0x020c2d2c -data_ov001_020c2d34 kind:data(any) addr:0x020c2d34 -data_ov001_020c2d38 kind:data(any) addr:0x020c2d38 -data_ov001_020c2d48 kind:data(any) addr:0x020c2d48 -data_ov001_020c2d58 kind:data(any) addr:0x020c2d58 -data_ov001_020c2d60 kind:data(any) addr:0x020c2d60 -data_ov001_020c2d68 kind:data(any) addr:0x020c2d68 -data_ov001_020c2d70 kind:data(any) addr:0x020c2d70 -data_ov001_020c2d7c kind:data(any) addr:0x020c2d7c -data_ov001_020c2d84 kind:data(any) addr:0x020c2d84 -data_ov001_020c2d8c kind:data(any) addr:0x020c2d8c -data_ov001_020c2d98 kind:data(any) addr:0x020c2d98 -data_ov001_020c2da0 kind:data(any) addr:0x020c2da0 -data_ov001_020c2dac kind:data(any) addr:0x020c2dac -data_ov001_020c2db8 kind:data(any) addr:0x020c2db8 -data_ov001_020c2dc4 kind:data(any) addr:0x020c2dc4 -data_ov001_020c2dd0 kind:data(any) addr:0x020c2dd0 -data_ov001_020c2ddc kind:data(any) addr:0x020c2ddc -data_ov001_020c2de4 kind:data(any) addr:0x020c2de4 +@5615 kind:data(byte[12]) addr:0x020c2b3c local +@5616 kind:data(byte[13]) addr:0x020c2b48 local +@5617 kind:data(byte[12]) addr:0x020c2b58 local +@5618 kind:data(byte[5]) addr:0x020c2b64 local +@5619 kind:data(byte[6]) addr:0x020c2b6c local +@5620 kind:data(byte[6]) addr:0x020c2b74 local +@5621 kind:data(byte[6]) addr:0x020c2b7c local +@5622 kind:data(byte[6]) addr:0x020c2b84 local +@5623 kind:data(byte[6]) addr:0x020c2b8c local +@5624 kind:data(byte[6]) addr:0x020c2b94 local +@5625 kind:data(byte[5]) addr:0x020c2b9c local +@5626 kind:data(byte[5]) addr:0x020c2ba4 local +@5627 kind:data(byte[6]) addr:0x020c2bac local +@5628 kind:data(byte[6]) addr:0x020c2bb4 local +@5629 kind:data(byte[6]) addr:0x020c2bbc local +@5630 kind:data(byte[6]) addr:0x020c2bc4 local +@5631 kind:data(byte[6]) addr:0x020c2bcc local +@5632 kind:data(byte[6]) addr:0x020c2bd4 local +@5633 kind:data(byte[6]) addr:0x020c2bdc local +@5634 kind:data(byte[6]) addr:0x020c2be4 local +@5635 kind:data(byte[7]) addr:0x020c2bec local +@5636 kind:data(byte[7]) addr:0x020c2bf4 local +@5637 kind:data(byte[7]) addr:0x020c2bfc local +@5638 kind:data(byte[11]) addr:0x020c2c04 local +@5639 kind:data(byte[7]) addr:0x020c2c10 local +@5640 kind:data(byte[17]) addr:0x020c2c18 local +@5641 kind:data(byte[7]) addr:0x020c2c2c local +@5642 kind:data(byte[4]) addr:0x020c2c34 local +@5643 kind:data(byte[9]) addr:0x020c2c38 local +@5644 kind:data(byte[12]) addr:0x020c2c44 local +@5645 kind:data(byte[9]) addr:0x020c2c50 local +@5646 kind:data(byte[12]) addr:0x020c2c5c local +@5647 kind:data(byte[6]) addr:0x020c2c68 local +@4095 kind:data(byte[6]) addr:0x020c2c70 local +@4096 kind:data(byte[7]) addr:0x020c2c78 local +@2191 kind:data(byte[5]) addr:0x020c2c80 local +@2192 kind:data(byte[6]) addr:0x020c2c88 local +@2193 kind:data(byte[6]) addr:0x020c2c90 local +@2194 kind:data(byte[6]) addr:0x020c2c98 local +@2195 kind:data(byte[7]) addr:0x020c2ca0 local +@2196 kind:data(byte[7]) addr:0x020c2ca8 local +@2197 kind:data(byte[7]) addr:0x020c2cb0 local +@2198 kind:data(byte[8]) addr:0x020c2cb8 local +@2199 kind:data(byte[8]) addr:0x020c2cc0 local +@2200 kind:data(byte[8]) addr:0x020c2cc8 local +@2201 kind:data(byte[10]) addr:0x020c2cd0 local +@2202 kind:data(byte[12]) addr:0x020c2cdc local +@2203 kind:data(byte[12]) addr:0x020c2ce8 local +data_ov001_020c2cf4 kind:data(any) addr:0x020c2cf4 local +@1725 kind:data(byte[9]) addr:0x020c2d2c local +@1756 kind:data(byte[14]) addr:0x020c2d38 local +@1757 kind:data(byte[14]) addr:0x020c2d48 local +@1758 kind:data(byte[7]) addr:0x020c2d58 local +@1759 kind:data(byte[8]) addr:0x020c2d60 local +@2363 kind:data(byte[6]) addr:0x020c2d68 local +@2364 kind:data(byte[10]) addr:0x020c2d70 local +@2365 kind:data(byte[8]) addr:0x020c2d7c local +@2366 kind:data(byte[6]) addr:0x020c2d84 local +@2367 kind:data(byte[12]) addr:0x020c2d8c local +@2368 kind:data(byte[5]) addr:0x020c2d98 local +@2369 kind:data(byte[10]) addr:0x020c2da0 local +@2370 kind:data(byte[10]) addr:0x020c2dac local +@2371 kind:data(byte[10]) addr:0x020c2db8 local +@2372 kind:data(byte[10]) addr:0x020c2dc4 local +@2373 kind:data(byte[10]) addr:0x020c2dd0 local +@2374 kind:data(byte[5]) addr:0x020c2ddc local +@2375 kind:data(byte[5]) addr:0x020c2de4 local data_ov001_020c2dec kind:data(any) addr:0x020c2dec data_ov001_020c2e00 kind:data(any) addr:0x020c2e00 data_ov001_020c2e08 kind:data(any) addr:0x020c2e08 diff --git a/config/eur/arm9/overlays/ov019/symbols.txt b/config/eur/arm9/overlays/ov019/symbols.txt index 039e14e5..fc95cb64 100644 --- a/config/eur/arm9/overlays/ov019/symbols.txt +++ b/config/eur/arm9/overlays/ov019/symbols.txt @@ -11,8 +11,8 @@ _ZN18GameModeFileSelect8vfunc_20Ev kind:function(arm,size=0x4) addr:0x020c4ae0 _ZN18GameModeFileSelect17LoadAdventureModeEt kind:function(arm,size=0x48) addr:0x020c4ae4 _ZN18GameModeFileSelect14LoadBattleModeEt kind:function(arm,size=0x28) addr:0x020c4b2c _ZN18GameModeFileSelect15LoadContactModeEt kind:function(arm,size=0x28) addr:0x020c4b54 -_ZN17FileSelectManager6CreateEi kind:function(arm,size=0x2c) addr:0x020c4b7c -_ZN17FileSelectManagerC1Ei kind:function(arm,size=0x90) addr:0x020c4ba8 +_ZN17FileSelectManager6CreateEP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x2c) addr:0x020c4b7c +_ZN17FileSelectManagerC1EP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x90) addr:0x020c4ba8 _ZN25UnkSystem1_ov019_Derived2D1Ev kind:function(arm,size=0x14) addr:0x020c4c38 _ZN17FileSelectManagerD1Ev kind:function(arm,size=0xc8) addr:0x020c4c4c _ZN17FileSelectManagerD0Ev kind:function(arm,size=0xd0) addr:0x020c4d14 @@ -24,7 +24,7 @@ _ZN17FileSelectManager19func_ov019_020c503cEv kind:function(arm,size=0x12c) addr _ZN17FileSelectManager8vfunc_28EPc kind:function(arm,size=0x20) addr:0x020c5168 _ZN17FileSelectManager6DrawUIEPc kind:function(arm,size=0x20) addr:0x020c5188 _ZN17FileSelectManager19func_ov019_020c51a8Ev kind:function(arm,size=0x44) addr:0x020c51a8 -_ZN23UnkStruct_0204a088_BaseD2Ev kind:function(arm,size=0x14) addr:0x020c51ec +_ZN8InstanceI18UnkStruct_0204a088ED2Ev kind:function(arm,size=0x14) addr:0x020c51ec _ZN25UnkSystem1_ov019_Derived1C1Ev kind:function(arm,size=0x3c) addr:0x020c5200 _ZN25UnkSystem1_ov019_Derived18vfunc_08Ei kind:function(arm,size=0x48) addr:0x020c523c _ZN25UnkSystem1_ov019_Derived18vfunc_1CEjii kind:function(arm,size=0x1ac) addr:0x020c5284 diff --git a/config/eur/arm9/overlays/ov021/symbols.txt b/config/eur/arm9/overlays/ov021/symbols.txt index 87fa9fa2..ed720a36 100644 --- a/config/eur/arm9/overlays/ov021/symbols.txt +++ b/config/eur/arm9/overlays/ov021/symbols.txt @@ -1,4 +1,4 @@ -func_ov021_020e9a40 kind:function(arm,size=0x234) addr:0x020e9a40 +_ZN14GameModeBattleC1Ei kind:function(arm,size=0x234) addr:0x020e9a40 func_ov021_020e9c74 kind:function(arm,size=0x14) addr:0x020e9c74 func_ov021_020e9c88 kind:function(arm,size=0xa4) addr:0x020e9c88 _ZN19func_ov021_020e9d2cD0Ev kind:function(arm,size=0xac) addr:0x020e9d2c diff --git a/config/eur/arm9/overlays/ov022/symbols.txt b/config/eur/arm9/overlays/ov022/symbols.txt index 12957b32..66b34b22 100644 --- a/config/eur/arm9/overlays/ov022/symbols.txt +++ b/config/eur/arm9/overlays/ov022/symbols.txt @@ -1,7 +1,7 @@ func_ov022_020e9a40 kind:function(arm,size=0x24) addr:0x020e9a40 func_ov022_020e9a64 kind:function(arm,size=0x24) addr:0x020e9a64 func_ov022_020e9a88 kind:function(arm,size=0xc) addr:0x020e9a88 -func_ov022_020e9a94 kind:function(arm,size=0x24) addr:0x020e9a94 +_ZN20GameModeDownloadPlay14CreateInstanceEv kind:function(arm,size=0x24) addr:0x020e9a94 func_ov022_020e9ab8 kind:function(arm,size=0x124) addr:0x020e9ab8 func_ov022_020e9bdc kind:function(arm,size=0xb8) addr:0x020e9bdc _ZN19func_ov022_020e9c94D0Ev kind:function(arm,size=0xc0) addr:0x020e9c94 diff --git a/config/eur/arm9/overlays/ov023/symbols.txt b/config/eur/arm9/overlays/ov023/symbols.txt index 5f11a627..2a0f5688 100644 --- a/config/eur/arm9/overlays/ov023/symbols.txt +++ b/config/eur/arm9/overlays/ov023/symbols.txt @@ -1,5 +1,5 @@ func_ov023_020e9a40 kind:function(arm,size=0x3c) addr:0x020e9a40 -func_ov023_020e9a7c kind:function(arm,size=0x24) addr:0x020e9a7c +_ZN19GameModeContactMode14CreateInstanceEv kind:function(arm,size=0x24) addr:0x020e9a7c func_ov023_020e9aa0 kind:function(arm,size=0x10) addr:0x020e9aa0 func_ov023_020e9ab0 kind:function(arm,size=0xe8) addr:0x020e9ab0 _ZN19func_ov023_020e9b98D1Ev kind:function(arm,size=0x6c) addr:0x020e9b98 diff --git a/config/eur/arm9/overlays/ov025/symbols.txt b/config/eur/arm9/overlays/ov025/symbols.txt index 6844bdd1..8c960628 100644 --- a/config/eur/arm9/overlays/ov025/symbols.txt +++ b/config/eur/arm9/overlays/ov025/symbols.txt @@ -9,8 +9,8 @@ _ZN19GameModeTitleScreen8vfunc_18Ev kind:function(arm,size=0x24) addr:0x020c49dc _ZN19GameModeTitleScreen8vfunc_1CEv kind:function(arm,size=0x24) addr:0x020c4a00 _ZN19GameModeTitleScreen8vfunc_20Ev kind:function(arm,size=0x3c) addr:0x020c4a24 _ZN18UnkStruct_027e09a419func_ov025_020c4a60Ev kind:function(arm,size=0x2c) addr:0x020c4a60 -_ZN18TitleScreenManager6CreateEi kind:function(arm,size=0x2c) addr:0x020c4a8c -_ZN18TitleScreenManagerC1Ei kind:function(arm,size=0x58) addr:0x020c4ab8 +_ZN18TitleScreenManager6CreateEP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x2c) addr:0x020c4a8c +_ZN18TitleScreenManagerC1EP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x58) addr:0x020c4ab8 _ZN18TitleScreenManager8vfunc_14Ev kind:function(arm,size=0x78) addr:0x020c4b10 _ZN18TitleScreenManager8vfunc_18Ev kind:function(arm,size=0x34) addr:0x020c4b88 _ZN18TitleScreenManager8vfunc_24Ev kind:function(arm,size=0x20) addr:0x020c4bbc diff --git a/config/eur/arm9/overlays/ov031/relocs.txt b/config/eur/arm9/overlays/ov031/relocs.txt index ece1e764..9c56e350 100644 --- a/config/eur/arm9/overlays/ov031/relocs.txt +++ b/config/eur/arm9/overlays/ov031/relocs.txt @@ -51,13 +51,13 @@ from:0x020d8d60 kind:load to:0x027e0ce4 module:dtcm from:0x020d8d94 kind:arm_call to:0x0207c018 module:overlay(0) from:0x020d8db4 kind:arm_call to:0x0207ec68 module:overlay(0) from:0x020d8dc8 kind:arm_call to:0x020d8f24 module:overlay(31) -from:0x020d8dd4 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x020d8dd4 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x020d8dd8 kind:load to:0x02112a64 module:overlay(31) from:0x020d8de4 kind:arm_call to:0x0207ed10 module:overlay(0) from:0x020d8e24 kind:arm_call to:0x0207c018 module:overlay(0) from:0x020d8e44 kind:arm_call to:0x0207ec68 module:overlay(0) from:0x020d8e58 kind:arm_call to:0x020d8f24 module:overlay(31) -from:0x020d8e64 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x020d8e64 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x020d8e68 kind:load to:0x02112a64 module:overlay(31) from:0x020d8e74 kind:arm_call to:0x020d8f98 module:overlay(31) from:0x020d8e7c kind:arm_call to:0x0207ed10 module:overlay(0) @@ -1236,16 +1236,16 @@ from:0x020e4114 kind:arm_call to:0x0209767c module:overlay(0) from:0x020e412c kind:load to:0x02112e4c add:0x8 module:overlay(31) from:0x020e4138 kind:arm_call to:0x020e3da0 module:overlay(31) from:0x020e415c kind:load to:0x02112e70 add:0x8 module:overlay(31) -from:0x020e4160 kind:load to:0x02112ee4 module:overlay(31) add:0x8 +from:0x020e4160 kind:load to:0x02112ee4 add:0x8 module:overlay(31) from:0x020e4188 kind:arm_call to:0x020e4514 module:overlay(31) from:0x020e4190 kind:arm_call to:0x02098488 module:overlay(0) from:0x020e419c kind:load to:0x02112e70 add:0x8 module:overlay(31) -from:0x020e41a0 kind:load to:0x02112ee4 module:overlay(31) add:0x8 +from:0x020e41a0 kind:load to:0x02112ee4 add:0x8 module:overlay(31) from:0x020e41c8 kind:arm_call to:0x020e4514 module:overlay(31) from:0x020e41d0 kind:arm_call to:0x02098488 module:overlay(0) from:0x020e41d8 kind:arm_call to:0x02011ff4 module:main from:0x020e41e4 kind:load to:0x02112e70 add:0x8 module:overlay(31) -from:0x020e41e8 kind:load to:0x02112ee4 module:overlay(31) add:0x8 +from:0x020e41e8 kind:load to:0x02112ee4 add:0x8 module:overlay(31) from:0x020e4230 kind:arm_call to:0x020e4274 module:overlay(31) from:0x020e424c kind:arm_call to:0x020732ec module:overlay(0) from:0x020e4270 kind:load to:0x027e09b8 module:dtcm @@ -1282,8 +1282,8 @@ from:0x020e4724 kind:arm_call to:0x020d8df0 module:overlay(31) from:0x020e4740 kind:load to:0x02112f74 add:0x8 module:overlay(31) from:0x020e4744 kind:load to:0x027e0ce0 module:dtcm from:0x020e4748 kind:load to:0x020b1960 add:0x8 module:overlay(0) -from:0x020e474c kind:load to:0x02112efc module:overlay(31) add:0x8 -from:0x020e4750 kind:load to:0x02112f34 module:overlay(31) add:0x8 +from:0x020e474c kind:load to:0x02112efc add:0x8 module:overlay(31) +from:0x020e4750 kind:load to:0x02112f34 add:0x8 module:overlay(31) from:0x020e4754 kind:load to:0x020a02d4 module:overlay(0) from:0x020e4758 kind:load to:0x020e5704 module:overlay(31) from:0x020e4768 kind:arm_call to:0x0207b6c0 module:overlay(0) @@ -1399,7 +1399,7 @@ from:0x020e53f8 kind:load to:0x027e0d2c module:dtcm from:0x020e53fc kind:load to:0x020d95c8 module:overlay(31) from:0x020e543c kind:arm_call to:0x0207b754 module:overlay(0) from:0x020e5458 kind:arm_call to:0x020982a8 module:overlay(0) -from:0x020e5470 kind:load to:0x02112f18 module:overlay(31) add:0x8 +from:0x020e5470 kind:load to:0x02112f18 add:0x8 module:overlay(31) from:0x020e547c kind:arm_call to:0x0207bffc module:overlay(0) from:0x020e5490 kind:arm_call to:0x0207bffc module:overlay(0) from:0x020e5498 kind:arm_call to:0x02011ff4 module:main @@ -1446,7 +1446,7 @@ from:0x020e5b00 kind:load to:0x0211302c add:0x8 module:overlay(31) from:0x020e5b04 kind:load to:0x02110a88 module:overlay(31) from:0x020e5b08 kind:load to:0x027e0ce0 module:dtcm from:0x020e5b0c kind:load to:0x02112ff4 module:overlay(31) -from:0x020e5b10 kind:load to:0x02112fd0 module:overlay(31) add:0x8 +from:0x020e5b10 kind:load to:0x02112fd0 add:0x8 module:overlay(31) from:0x020e5b14 kind:load to:0x020b27c8 module:overlay(0) from:0x020e5b18 kind:load to:0x020a02d4 module:overlay(0) from:0x020e5b1c kind:load to:0x020e5704 module:overlay(31) @@ -1724,7 +1724,7 @@ from:0x020e884c kind:arm_call to:0x020e88e0 module:overlay(31) from:0x020e8860 kind:arm_call to:0x02097898 module:overlay(0) from:0x020e8870 kind:arm_call to:0x0207c018 module:overlay(0) from:0x020e88c8 kind:load to:0x021133cc module:overlay(31) -from:0x020e88cc kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x020e88cc kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x020e88d0 kind:load to:0x021133e8 add:0x8 module:overlay(31) from:0x020e88e8 kind:arm_call to:0x02098388 module:overlay(0) from:0x020e8954 kind:arm_call to:0x0207ec88 module:overlay(0) @@ -3772,7 +3772,7 @@ from:0x020fab98 kind:arm_call to:0x0209767c module:overlay(0) from:0x020fabb0 kind:load to:0x02114d4c add:0x8 module:overlay(31) from:0x020fabbc kind:arm_call to:0x02098388 module:overlay(0) from:0x020fabc4 kind:arm_call to:0x02061648 module:overlay(0) -from:0x020fac58 kind:load to:0x02114d34 module:overlay(31) add:0x8 +from:0x020fac58 kind:load to:0x02114d34 add:0x8 module:overlay(31) from:0x020fac5c kind:load to:0x02114d70 add:0x8 module:overlay(31) from:0x020fac60 kind:load to:0x02114dec add:0x8 module:overlay(31) from:0x020fac9c kind:arm_call to:0x01fff350 module:itcm @@ -4479,8 +4479,8 @@ from:0x02101028 kind:arm_call to:0x02011f3c module:main from:0x02101034 kind:arm_call to:0x02101128 module:overlay(31) from:0x0210104c kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x0210105c kind:arm_call to:0x0207c018 module:overlay(0) -from:0x021010c8 kind:load to:0x0211561c module:overlay(31) add:0x8 -from:0x021010cc kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x021010c8 kind:load to:0x0211561c add:0x8 module:overlay(31) +from:0x021010cc kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x021010d0 kind:load to:0x02115640 module:overlay(31) from:0x021010e8 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02101124 kind:load to:0x0211565c module:overlay(31) @@ -4544,8 +4544,8 @@ from:0x02101a30 kind:arm_call to:0x02011f3c module:main from:0x02101a3c kind:arm_call to:0x02101ad4 module:overlay(31) from:0x02101a54 kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x02101a64 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x02101abc kind:load to:0x0211561c module:overlay(31) add:0x8 -from:0x02101ac4 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x02101abc kind:load to:0x0211561c add:0x8 module:overlay(31) +from:0x02101ac4 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x02101ac8 kind:load to:0x021156b0 module:overlay(31) from:0x02101adc kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02101af4 kind:arm_call_thumb to:0x02057b70 module:overlay(0) @@ -4628,7 +4628,7 @@ from:0x02102518 kind:arm_call to:0x02102bc0 module:overlay(31) from:0x02102538 kind:arm_call to:0x0207c018 module:overlay(0) from:0x021025ac kind:load to:0x02115728 module:overlay(31) from:0x021025b0 kind:load to:0x02117acc module:overlay(31) -from:0x021025b4 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x021025b4 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x02102638 kind:arm_call to:0x020e0f30 module:overlay(31) from:0x021026b0 kind:arm_call to:0x020d9c04 module:overlay(31) from:0x02102704 kind:load to:0x027e0d38 module:dtcm @@ -4942,12 +4942,12 @@ from:0x02104f4c kind:arm_call to:0x02011f3c module:main from:0x02104f58 kind:arm_call to:0x02104fec module:overlay(31) from:0x02104f70 kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x02104f80 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x02104fd8 kind:load to:0x0211561c module:overlay(31) add:0x8 -from:0x02104fdc kind:load to:0x02112a70 module:overlay(31) add:0x8 -from:0x02104fe0 kind:load to:0x02115ae4 module:overlay(31) add:0x8 +from:0x02104fd8 kind:load to:0x0211561c add:0x8 module:overlay(31) +from:0x02104fdc kind:load to:0x02112a70 add:0x8 module:overlay(31) +from:0x02104fe0 kind:load to:0x02115ae4 add:0x8 module:overlay(31) from:0x02104ff4 kind:arm_call to:0x0209d700 module:overlay(0) from:0x02105050 kind:arm_call_thumb to:0x020578e8 module:overlay(0) -from:0x02105078 kind:load to:0x02115b00 module:overlay(31) add:0x8 +from:0x02105078 kind:load to:0x02115b00 add:0x8 module:overlay(31) from:0x0210507c kind:load to:0x02117f3c module:overlay(31) from:0x02105084 kind:load to:0x02118010 module:overlay(31) from:0x021050a4 kind:arm_call to:0x01ffe868 module:itcm @@ -5028,7 +5028,7 @@ from:0x02105924 kind:arm_call to:0x02102bc0 module:overlay(31) from:0x02105940 kind:arm_call to:0x0207c018 module:overlay(0) from:0x021059a0 kind:load to:0x02115c20 module:overlay(31) from:0x021059a4 kind:load to:0x02118148 module:overlay(31) -from:0x021059a8 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x021059a8 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x021059f0 kind:arm_call to:0x01fff3b4 module:itcm from:0x021059fc kind:arm_call to:0x01fff458 module:itcm from:0x02105ad4 kind:arm_call to:0x020e0f30 module:overlay(31) @@ -5587,7 +5587,7 @@ from:0x0210ac6c kind:arm_call to:0x0207f4fc module:overlay(0) from:0x0210ac90 kind:arm_call to:0x02028c4c module:main from:0x0210acb0 kind:load to:0x02115b8c module:overlay(31) from:0x0210acb4 kind:load to:0x02113f10 add:0x8 module:overlay(31) -from:0x0210acb8 kind:load to:0x021839dc module:overlays(97,100,101) +from:0x0210acb8 kind:load to:0x021839dc module:overlay(101) from:0x0210acc4 kind:load to:0x02116000 module:overlay(31) from:0x0210acc8 kind:load to:0x02118918 module:overlay(31) from:0x0210accc kind:load to:0x021188e0 module:overlay(31) @@ -5634,8 +5634,8 @@ from:0x0210b3a4 kind:arm_call to:0x02011f3c module:main from:0x0210b3b0 kind:arm_call to:0x0210b440 module:overlay(31) from:0x0210b3c8 kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x0210b3d8 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x0210b42c kind:load to:0x0211561c module:overlay(31) add:0x8 -from:0x0210b434 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x0210b42c kind:load to:0x0211561c add:0x8 module:overlay(31) +from:0x0210b434 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x0210b438 kind:load to:0x02116068 module:overlay(31) from:0x0210b448 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x0210b450 kind:arm_call to:0x02061648 module:overlay(0) @@ -5702,8 +5702,8 @@ from:0x0210bad0 kind:arm_call to:0x02011f3c module:main from:0x0210badc kind:arm_call to:0x0210bb84 module:overlay(31) from:0x0210baf4 kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x0210bb04 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x0210bb6c kind:load to:0x0211561c module:overlay(31) add:0x8 -from:0x0210bb70 kind:load to:0x02112a70 module:overlay(31) add:0x8 +from:0x0210bb6c kind:load to:0x0211561c add:0x8 module:overlay(31) +from:0x0210bb70 kind:load to:0x02112a70 add:0x8 module:overlay(31) from:0x0210bb74 kind:load to:0x02116118 module:overlay(31) from:0x0210bb8c kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x0210bbec kind:arm_call_thumb to:0x02057b70 module:overlay(0) @@ -6816,7 +6816,7 @@ from:0x0211299c kind:load to:0x02112928 module:overlay(31) from:0x021129a0 kind:load to:0x021129ac module:overlay(31) from:0x021129a4 kind:load to:0x021129ac module:overlay(31) from:0x021129a8 kind:load to:0x02112938 module:overlay(31) -from:0x02112a0c kind:load to:0x021834e9 module:overlays(97,100,101) +from:0x02112a0c kind:load to:0x021834e9 module:overlay(101) from:0x02112a10 kind:load to:0x021835c1 module:overlay(101) from:0x02112a14 kind:load to:0x02183771 module:overlay(101) from:0x02112a18 kind:load to:0x021845c8 module:overlay(102) diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 6d55a937..e4d70241 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -209,8 +209,8 @@ func_ov031_020dc4b8 kind:function(arm,size=0x248) addr:0x020dc4b8 func_ov031_020dc700 kind:function(arm,size=0x1a0) addr:0x020dc700 func_ov031_020dc8a0 kind:function(arm,size=0x6c) addr:0x020dc8a0 func_ov031_020dc90c kind:function(arm,size=0x114) addr:0x020dc90c -func_ov031_020dca20 kind:function(thumb,size=0xc) addr:0x020dca20 -func_ov031_020dca2c kind:function(thumb,size=0xe) addr:0x020dca2c +_ZN32UnkStruct_027e0ce0_40_Base_7C_04C1Ev kind:function(thumb,size=0xc) addr:0x020dca20 +_ZN32UnkStruct_027e0ce0_40_Base_7C_04D1Ev kind:function(thumb,size=0xe) addr:0x020dca2c func_ov031_020dca3c kind:function(arm,size=0x10) addr:0x020dca3c func_ov031_020dca4c kind:function(thumb,size=0x84) addr:0x020dca4c func_ov031_020dcad0 kind:function(arm,size=0x3c) addr:0x020dcad0 @@ -281,7 +281,7 @@ func_ov031_020e0624 kind:function(thumb,size=0x4c) addr:0x020e0624 func_ov031_020e0670 kind:function(thumb,size=0x68) addr:0x020e0670 func_ov031_020e06d8 kind:function(thumb,size=0x70) addr:0x020e06d8 func_ov031_020e0748 kind:function(arm,size=0x24) addr:0x020e0748 -_ZN30UnkStruct_ov000_0208f820_30_1019func_ov031_020e076cEv kind:function(thumb,size=0x64) addr:0x020e076c +_ZN21PlayerLinkActor_A0_1019func_ov031_020e076cEv kind:function(thumb,size=0x64) addr:0x020e076c func_ov031_020e07d0 kind:function(arm,size=0xb8) addr:0x020e07d0 func_ov031_020e0888 kind:function(arm,size=0x1c) addr:0x020e0888 func_ov031_020e08a4 kind:function(arm,size=0x50) addr:0x020e08a4 diff --git a/config/eur/arm9/overlays/ov047/symbols.txt b/config/eur/arm9/overlays/ov047/symbols.txt index 312483f6..dd28d715 100644 --- a/config/eur/arm9/overlays/ov047/symbols.txt +++ b/config/eur/arm9/overlays/ov047/symbols.txt @@ -120,10 +120,10 @@ _ZN12ActorUnkDLTG19func_ov047_02135878Ev kind:function(arm,size=0x2c) addr:0x021 _ZN12ActorUnkDLTG19func_ov047_021358a4Ev kind:function(arm,size=0x1c) addr:0x021358a4 _ZN12ActorUnkDLTG19func_ov047_021358c0Ev kind:function(arm,size=0x1d4) addr:0x021358c0 _ZN19ActorProfileUnkDLTGD1Ev kind:function(arm,size=0x14) addr:0x02135a94 -func_ov047_02135aa8 kind:function(arm,size=0x10) addr:0x02135aa8 +_ZN21PlayerLinkActor_A0_28C1EP21PlayerLinkActor_A0_10P21PlayerLinkActor_A0_14 kind:function(arm,size=0x10) addr:0x02135aa8 func_ov047_02135ab8 kind:function(arm,size=0x8c) addr:0x02135ab8 func_ov047_02135b44 kind:function(arm,size=0x8c) addr:0x02135b44 -func_ov047_02135bd0 kind:function(arm,size=0x98) addr:0x02135bd0 +_ZN21PlayerLinkActor_A0_28D1Ev kind:function(arm,size=0x98) addr:0x02135bd0 func_ov047_02135c68 kind:function(arm,size=0x70) addr:0x02135c68 data_ov047_02135cd8 kind:data(any) addr:0x02135cd8 data_ov047_02135ce8 kind:data(any) addr:0x02135ce8 diff --git a/config/eur/arm9/overlays/ov082/symbols.txt b/config/eur/arm9/overlays/ov082/symbols.txt index 835ff84b..6dc4a46b 100644 --- a/config/eur/arm9/overlays/ov082/symbols.txt +++ b/config/eur/arm9/overlays/ov082/symbols.txt @@ -106,8 +106,8 @@ _ZN12ActorUnkDSWTD1Ev kind:function(arm,size=0x20) addr:0x02157b38 _ZN12ActorUnkDSWTD0Ev kind:function(arm,size=0x28) addr:0x02157b58 _ZN19ActorProfileUnkDSWTD1Ev kind:function(arm,size=0x14) addr:0x02157b80 func_ov082_02157b94 kind:function(thumb,size=0x12) addr:0x02157b94 -func_ov082_02157ba8 kind:function(thumb,size=0xe) addr:0x02157ba8 -func_ov082_02157bb8 kind:function(arm,size=0x3c) addr:0x02157bb8 +_ZN21PlayerLinkActor_A0_18D1Ev kind:function(thumb,size=0xe) addr:0x02157ba8 +_ZN21PlayerLinkActor_A0_1819func_ov082_02157bb8Ev kind:function(arm,size=0x3c) addr:0x02157bb8 func_ov082_02157bf4 kind:function(arm,size=0x38) addr:0x02157bf4 func_ov082_02157c2c kind:function(arm,size=0x24) addr:0x02157c2c func_ov082_02157c50 kind:function(arm,size=0x240) addr:0x02157c50 diff --git a/config/eur/arm9/overlays/ov083/relocs.txt b/config/eur/arm9/overlays/ov083/relocs.txt index 9f6f03bd..82a20bf0 100644 --- a/config/eur/arm9/overlays/ov083/relocs.txt +++ b/config/eur/arm9/overlays/ov083/relocs.txt @@ -1538,7 +1538,7 @@ from:0x0215e168 kind:load to:0x020bfd50 module:overlay(17) from:0x0215e16c kind:load to:0x0215c534 module:overlay(83) from:0x0215e170 kind:load to:0x020984b0 module:overlay(0) from:0x0215e174 kind:load to:0x02181acc module:overlay(98) -from:0x0215e178 kind:load to:0x02181b1c module:overlays(97,98) +from:0x0215e178 kind:load to:0x02181b1c module:overlay(98) from:0x0215e17c kind:load to:0x020984bc module:overlay(0) from:0x0215e180 kind:load to:0x02181b30 module:overlay(98) from:0x0215e184 kind:load to:0x020984c4 module:overlay(0) @@ -1567,7 +1567,7 @@ from:0x0215e21c kind:load to:0x020bfd50 module:overlay(17) from:0x0215e220 kind:load to:0x0215c6e8 module:overlay(83) from:0x0215e224 kind:load to:0x020984b0 module:overlay(0) from:0x0215e228 kind:load to:0x02181378 module:overlay(98) -from:0x0215e22c kind:load to:0x021813c8 module:overlays(97,98) +from:0x0215e22c kind:load to:0x021813c8 module:overlay(98) from:0x0215e230 kind:load to:0x020984bc module:overlay(0) from:0x0215e234 kind:load to:0x021813dc module:overlay(98) from:0x0215e238 kind:load to:0x020984c4 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov088/symbols.txt b/config/eur/arm9/overlays/ov088/symbols.txt index cd36b564..6186c357 100644 --- a/config/eur/arm9/overlays/ov088/symbols.txt +++ b/config/eur/arm9/overlays/ov088/symbols.txt @@ -565,7 +565,7 @@ _ZN19func_ov088_0217378cD1Ev kind:function(arm,size=0x20) addr:0x0217378c _ZN19func_ov088_021737acD0Ev kind:function(arm,size=0x28) addr:0x021737ac func_ov088_021737d4 kind:function(arm,size=0x16c) addr:0x021737d4 func_ov088_02173940 kind:function(arm,size=0x13c) addr:0x02173940 -func_ov088_02173a7c kind:function(arm,size=0x11c) addr:0x02173a7c +_ZN36UnkStruct_ov000_020b504c_0C_Derived4C1Ev kind:function(arm,size=0x11c) addr:0x02173a7c _ZN19func_ov088_02173b98D1Ev kind:function(arm,size=0x3c) addr:0x02173b98 _ZN19func_ov088_02173bd4D0Ev kind:function(arm,size=0x44) addr:0x02173bd4 func_ov088_02173c18 kind:function(arm,size=0x54) addr:0x02173c18 diff --git a/config/eur/arm9/overlays/ov097/delinks.txt b/config/eur/arm9/overlays/ov097/delinks.txt index 41915b03..9cf4f12a 100644 --- a/config/eur/arm9/overlays/ov097/delinks.txt +++ b/config/eur/arm9/overlays/ov097/delinks.txt @@ -1,2 +1,6 @@ .ctor start:0x02181040 end:0x02181040 kind:rodata align:4 .bss start:0x02181060 end:0x02189c60 kind:bss align:32 + +src/097_TrainMsg/TrainMsg.cpp: + complete + .bss start:0x02181060 end:0x02189c60 diff --git a/config/eur/arm9/overlays/ov097/symbols.txt b/config/eur/arm9/overlays/ov097/symbols.txt index 1a57f943..56519c76 100644 --- a/config/eur/arm9/overlays/ov097/symbols.txt +++ b/config/eur/arm9/overlays/ov097/symbols.txt @@ -1,45 +1 @@ -data_ov097_02181060 kind:bss addr:0x02181060 -data_ov097_021810b4 kind:bss addr:0x021810b4 ambiguous -data_ov097_021810d8 kind:bss addr:0x021810d8 ambiguous -data_ov097_02181378 kind:bss addr:0x02181378 ambiguous -data_ov097_021813c8 kind:bss addr:0x021813c8 ambiguous -data_ov097_021813dc kind:bss addr:0x021813dc ambiguous -data_ov097_0218145c kind:bss addr:0x0218145c ambiguous -data_ov097_02181688 kind:bss addr:0x02181688 ambiguous -data_ov097_0218186c kind:bss addr:0x0218186c ambiguous -data_ov097_02181888 kind:bss addr:0x02181888 ambiguous -data_ov097_02181acc kind:bss addr:0x02181acc ambiguous -data_ov097_02181b1c kind:bss addr:0x02181b1c ambiguous -data_ov097_02181b30 kind:bss addr:0x02181b30 ambiguous -data_ov097_02181bc4 kind:bss addr:0x02181bc4 ambiguous -data_ov097_02181d8c kind:bss addr:0x02181d8c ambiguous -data_ov097_02181f70 kind:bss addr:0x02181f70 ambiguous -data_ov097_02182c40 kind:bss addr:0x02182c40 ambiguous -data_ov097_02182e54 kind:bss addr:0x02182e54 ambiguous -data_ov097_0218345d kind:bss addr:0x0218345d ambiguous -data_ov097_021834e9 kind:bss addr:0x021834e9 ambiguous -data_ov097_021835c1 kind:bss addr:0x021835c1 ambiguous -data_ov097_021836a1 kind:bss addr:0x021836a1 ambiguous -data_ov097_02183771 kind:bss addr:0x02183771 ambiguous -data_ov097_021838bd kind:bss addr:0x021838bd ambiguous -data_ov097_02183968 kind:bss addr:0x02183968 ambiguous -data_ov097_021839dc kind:bss addr:0x021839dc ambiguous -data_ov097_02183b28 kind:bss addr:0x02183b28 ambiguous -data_ov097_02183b70 kind:bss addr:0x02183b70 ambiguous -data_ov097_02183de8 kind:bss addr:0x02183de8 ambiguous -data_ov097_02183f68 kind:bss addr:0x02183f68 ambiguous -data_ov097_02183f7c kind:bss addr:0x02183f7c ambiguous -data_ov097_021845c8 kind:bss addr:0x021845c8 ambiguous -data_ov097_02184628 kind:bss addr:0x02184628 ambiguous -data_ov097_02184644 kind:bss addr:0x02184644 ambiguous -data_ov097_021847d4 kind:bss addr:0x021847d4 ambiguous -data_ov097_02184d88 kind:bss addr:0x02184d88 ambiguous -data_ov097_02185630 kind:bss addr:0x02185630 ambiguous -data_ov097_021860c4 kind:bss addr:0x021860c4 ambiguous -data_ov097_02188e48 kind:bss addr:0x02188e48 ambiguous -data_ov097_02188f08 kind:bss addr:0x02188f08 ambiguous -data_ov097_02188f64 kind:bss addr:0x02188f64 ambiguous -data_ov097_02188f78 kind:bss addr:0x02188f78 ambiguous -data_ov097_02188f88 kind:bss addr:0x02188f88 ambiguous -data_ov097_02188f98 kind:bss addr:0x02188f98 ambiguous -data_ov097_02189280 kind:bss addr:0x02189280 ambiguous +gBufferTrainMsg kind:bss(size=0x8c00) addr:0x02181060 diff --git a/config/eur/arm9/overlays/ov100/delinks.txt b/config/eur/arm9/overlays/ov100/delinks.txt index 173ace91..5e649973 100644 --- a/config/eur/arm9/overlays/ov100/delinks.txt +++ b/config/eur/arm9/overlays/ov100/delinks.txt @@ -1,2 +1,6 @@ .ctor start:0x02182c20 end:0x02182c20 kind:rodata align:4 .bss start:0x02182c40 end:0x02189c40 kind:bss align:32 + +src/100_CollectMsg/CollectMsg.cpp: + complete + .bss start:0x02182c40 end:0x02189c40 diff --git a/config/eur/arm9/overlays/ov100/symbols.txt b/config/eur/arm9/overlays/ov100/symbols.txt index a0678326..b95d8f82 100644 --- a/config/eur/arm9/overlays/ov100/symbols.txt +++ b/config/eur/arm9/overlays/ov100/symbols.txt @@ -1,29 +1 @@ -data_ov100_02182c40 kind:bss addr:0x02182c40 ambiguous -data_ov100_02182e54 kind:bss addr:0x02182e54 ambiguous -data_ov100_0218345d kind:bss addr:0x0218345d ambiguous -data_ov100_021834e9 kind:bss addr:0x021834e9 ambiguous -data_ov100_021835c1 kind:bss addr:0x021835c1 ambiguous -data_ov100_021836a1 kind:bss addr:0x021836a1 ambiguous -data_ov100_02183771 kind:bss addr:0x02183771 ambiguous -data_ov100_021838bd kind:bss addr:0x021838bd ambiguous -data_ov100_02183968 kind:bss addr:0x02183968 ambiguous -data_ov100_021839dc kind:bss addr:0x021839dc ambiguous -data_ov100_02183b28 kind:bss addr:0x02183b28 ambiguous -data_ov100_02183b70 kind:bss addr:0x02183b70 ambiguous -data_ov100_02183de8 kind:bss addr:0x02183de8 ambiguous -data_ov100_02183f68 kind:bss addr:0x02183f68 ambiguous -data_ov100_02183f7c kind:bss addr:0x02183f7c ambiguous -data_ov100_021845c8 kind:bss addr:0x021845c8 ambiguous -data_ov100_02184628 kind:bss addr:0x02184628 ambiguous -data_ov100_02184644 kind:bss addr:0x02184644 ambiguous -data_ov100_021847d4 kind:bss addr:0x021847d4 ambiguous -data_ov100_02184d88 kind:bss addr:0x02184d88 ambiguous -data_ov100_02185630 kind:bss addr:0x02185630 ambiguous -data_ov100_021860c4 kind:bss addr:0x021860c4 ambiguous -data_ov100_02188e48 kind:bss addr:0x02188e48 ambiguous -data_ov100_02188f08 kind:bss addr:0x02188f08 ambiguous -data_ov100_02188f64 kind:bss addr:0x02188f64 ambiguous -data_ov100_02188f78 kind:bss addr:0x02188f78 ambiguous -data_ov100_02188f88 kind:bss addr:0x02188f88 ambiguous -data_ov100_02188f98 kind:bss addr:0x02188f98 ambiguous -data_ov100_02189280 kind:bss addr:0x02189280 ambiguous +gBufferCollectMsg kind:bss(size=0x7000) addr:0x02182c40 diff --git a/config/eur/arm9/overlays/ov101/symbols.txt b/config/eur/arm9/overlays/ov101/symbols.txt index 3a5e8ee7..41b0bc98 100644 --- a/config/eur/arm9/overlays/ov101/symbols.txt +++ b/config/eur/arm9/overlays/ov101/symbols.txt @@ -15,7 +15,7 @@ _ZN21UnkStruct_027e0ce0_4019func_ov101_02182fb4Eb kind:function(thumb,size=0x50) _ZN21UnkStruct_027e0ce0_4019func_ov101_02183004Ev kind:function(thumb,size=0x1e) addr:0x02183004 _ZN21UnkStruct_027e0ce0_4019func_ov101_02183024EPK24UnkStruct_ov001_020c40f4S2_iiP11ItemManagerP21UnkStruct_027e0ce0_30bb kind:function(thumb,size=0x260) addr:0x02183024 func_ov101_02183284 kind:function(thumb,size=0xc) addr:0x02183284 -func_ov101_02183290 kind:function(thumb,size=0x48) addr:0x02183290 +_ZN21PlayerLinkActor_A0_1C19func_ov101_02183290Ev kind:function(thumb,size=0x48) addr:0x02183290 func_ov101_021832d8 kind:function(thumb,size=0x50) addr:0x021832d8 func_ov101_02183328 kind:function(thumb,size=0x134) addr:0x02183328 func_ov101_0218345c kind:function(thumb,size=0x2) addr:0x0218345c diff --git a/config/eur/arm9/symbols.txt b/config/eur/arm9/symbols.txt index 97d1428d..0e5c4015 100644 --- a/config/eur/arm9/symbols.txt +++ b/config/eur/arm9/symbols.txt @@ -919,9 +919,9 @@ _ZN18UnkStruct_0204a06013func_02018424Ev kind:function(thumb,size=0x14) addr:0x0 _ZN18UnkStruct_0204a060D1Ev kind:function(arm,size=0x14) addr:0x02018438 _ZN18UnkStruct_0204a060D0Ev kind:function(arm,size=0x1c) addr:0x0201844c _ZN18UnkStruct_0204a060D2Ev kind:function(arm,size=0x14) addr:0x02018468 -_ZN19GameModeManagerBase6CreateEi kind:function(thumb,size=0x1c) addr:0x0201847c -_ZN19GameModeManagerBaseC2Ei kind:function(thumb,size=0x5c) addr:0x02018498 -_ZN19GameModeManagerBaseC1Ei kind:function(thumb,size=0x5c) addr:0x020184f4 +_ZN19GameModeManagerBase6CreateEP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x1c) addr:0x0201847c +_ZN19GameModeManagerBaseC2EP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x5c) addr:0x02018498 +_ZN19GameModeManagerBaseC1EP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x5c) addr:0x020184f4 _ZN19GameModeManagerBase13func_02018550Ev kind:function(thumb,size=0x2) addr:0x02018550 _ZN19GameModeManagerBase13func_02018554Ev kind:function(thumb,size=0x2) addr:0x02018554 _ZN19GameModeManagerBaseD1Ev kind:function(thumb,size=0x24) addr:0x02018558 @@ -1088,7 +1088,7 @@ func_0201c6cc kind:function(thumb,size=0x6e) addr:0x0201c6cc func_0201c73c kind:function(arm,size=0x44) addr:0x0201c73c func_0201c780 kind:function(arm,size=0x84) addr:0x0201c780 func_0201c804 kind:function(arm,size=0x8c) addr:0x0201c804 -_ZN23UnkStruct_0204a110_Sub213func_0201c890Eiiiii kind:function(thumb,size=0x40) addr:0x0201c890 +_ZN23UnkStruct_0204a110_Sub213func_0201c890Eiibbb kind:function(thumb,size=0x40) addr:0x0201c890 func_0201c8d0 kind:function(thumb,size=0x94) addr:0x0201c8d0 func_0201c964 kind:function(thumb,size=0x16) addr:0x0201c964 func_0201c97c kind:function(thumb,size=0x2) addr:0x0201c97c @@ -1118,7 +1118,7 @@ func_0201da4c kind:function(arm,size=0xc8) addr:0x0201da4c _ZN23UnkStruct_0204a110_Sub713func_0201db14EiiP5Vec2sS1_ii kind:function(arm,size=0xfc) addr:0x0201db14 _ZN23UnkStruct_0204a110_Sub713func_0201dc10EPsii kind:function(arm,size=0x148) addr:0x0201dc10 _ZN23UnkStruct_0204a110_Sub713func_0201dd58Eii kind:function(arm,size=0xcc) addr:0x0201dd58 -func_0201de24 kind:function(arm,size=0x2c0) addr:0x0201de24 +_ZN23UnkStruct_0204a110_Sub813func_0201de24Ev kind:function(arm,size=0x2c0) addr:0x0201de24 func_0201e0e4 kind:function(arm,size=0x174) addr:0x0201e0e4 func_0201e258 kind:function(arm,size=0x330) addr:0x0201e258 _ZN23UnkStruct_0204a110_Sub813func_0201e588Eiiiii kind:function(arm,size=0x88) addr:0x0201e588 @@ -1248,10 +1248,10 @@ func_02021724 kind:function(arm,size=0x168) addr:0x02021724 func_0202188c kind:function(arm,size=0x50) addr:0x0202188c func_020218dc kind:function(arm,size=0x16c) addr:0x020218dc func_02021a48 kind:function(arm,size=0x1a4) addr:0x02021a48 -_ZN24UnkStruct_ov000_02067bc413func_02021becEs kind:function(arm,size=0x8) addr:0x02021bec +_ZN32UnkStruct_ov000_020b504c_0C_Base13func_02021becEs kind:function(arm,size=0x8) addr:0x02021bec func_02021bf4 kind:function(arm,size=0x14) addr:0x02021bf4 -_ZN24UnkStruct_ov000_02067bc413func_02021c08Ev kind:function(arm,size=0x24) addr:0x02021c08 -_ZN24UnkStruct_ov000_02067bc413func_02021c2cEv kind:function(arm,size=0x10) addr:0x02021c2c +_ZN32UnkStruct_ov000_020b504c_0C_Base13func_02021c08Ev kind:function(arm,size=0x24) addr:0x02021c08 +_ZN32UnkStruct_ov000_020b504c_0C_Base13func_02021c2cEv kind:function(arm,size=0x10) addr:0x02021c2c func_02021c3c kind:function(arm,size=0x8) addr:0x02021c3c func_02021c44 kind:function(arm,size=0x18) addr:0x02021c44 func_02021c5c kind:function(arm,size=0x12c) addr:0x02021c5c @@ -1264,9 +1264,9 @@ func_02021f44 kind:function(arm,size=0xc) addr:0x02021f44 func_02021f50 kind:function(arm,size=0xb0) addr:0x02021f50 func_02022000 kind:function(arm,size=0xc8) addr:0x02022000 func_020220c8 kind:function(arm,size=0x60) addr:0x020220c8 -_ZN29UnkStruct_ov000_02067bc4_Sub113func_02022128Ev kind:function(arm,size=0x14) addr:0x02022128 +_ZN36UnkStruct_ov000_020b504c_28_Base_16013func_02022128Ev kind:function(arm,size=0x14) addr:0x02022128 func_0202213c kind:function(arm,size=0x1c) addr:0x0202213c -func_02022158 kind:function(arm,size=0x20) addr:0x02022158 +_ZN27UnkStruct_ov000_020b504c_28C1Ei kind:function(arm,size=0x20) addr:0x02022158 func_02022178 kind:function(arm,size=0x54) addr:0x02022178 func_020221cc kind:function(arm,size=0x8c) addr:0x020221cc func_02022258 kind:function(arm,size=0x70) addr:0x02022258 @@ -1274,7 +1274,7 @@ func_020222c8 kind:function(arm,size=0x68) addr:0x020222c8 func_02022330 kind:function(arm,size=0x84) addr:0x02022330 func_020223b4 kind:function(arm,size=0x60) addr:0x020223b4 func_02022414 kind:function(arm,size=0xa4) addr:0x02022414 -func_020224b8 kind:function(arm,size=0x20) addr:0x020224b8 +_ZN27UnkStruct_ov000_020b504c_2CC1Ei kind:function(arm,size=0x20) addr:0x020224b8 func_020224d8 kind:function(arm,size=0x40) addr:0x020224d8 func_02022518 kind:function(arm,size=0x2d0) addr:0x02022518 func_020227e8 kind:function(arm,size=0x3c) addr:0x020227e8 diff --git a/config/jp/arm9/overlays/ov000/relocs.txt b/config/jp/arm9/overlays/ov000/relocs.txt index 11527356..446639fd 100644 --- a/config/jp/arm9/overlays/ov000/relocs.txt +++ b/config/jp/arm9/overlays/ov000/relocs.txt @@ -1870,7 +1870,7 @@ from:0x02069014 kind:arm_call to:0x02068fc8 module:overlay(0) from:0x0206907c kind:arm_call to:0x02068b18 module:overlay(0) from:0x020690ec kind:arm_call to:0x02068da0 module:overlay(0) from:0x020690f4 kind:load to:0x020b38e4 module:overlay(0) -from:0x020690f8 kind:load to:0x021847c0 module:overlays(100,97) +from:0x020690f8 kind:load to:0x021847c0 module:overlay(100) from:0x02069114 kind:arm_call to:0x02068f0c module:overlay(0) from:0x02069120 kind:arm_call to:0x01ffd3d8 module:itcm from:0x0206913c kind:arm_call to:0x02068da0 module:overlay(0) @@ -5320,7 +5320,7 @@ from:0x0208d61c kind:arm_call to:0x0208d5e0 module:overlay(0) from:0x0208d658 kind:arm_call to:0x0208993c module:overlay(0) from:0x0208d67c kind:arm_call to:0x0208999c module:overlay(0) from:0x0208d690 kind:load to:0x0208afe4 module:overlay(0) -from:0x0208d6b8 kind:load to:0x021849d4 module:overlays(97,100,102) +from:0x0208d6b8 kind:load to:0x021849d4 module:overlay(102) from:0x0208d6c6 kind:thumb_call to:0x020590d4 module:overlay(0) from:0x0208d6ea kind:thumb_call to:0x0208d6f8 module:overlay(0) from:0x0208d6f4 kind:load to:0x020b4344 module:overlay(0) @@ -6212,14 +6212,14 @@ from:0x020957c4 kind:load to:0x020ae82c module:overlay(0) from:0x020957e0 kind:arm_call to:0x02187364 module:overlays(106,108) from:0x02095800 kind:arm_call to:0x02186cc8 module:overlay(108) from:0x02095824 kind:arm_call to:0x02090efc module:overlay(0) -from:0x02095834 kind:load to:0x02186908 module:overlays(109,97,100) +from:0x02095834 kind:load to:0x02186908 module:overlay(109) from:0x02095850 kind:arm_call to:0x02187574 module:overlay(107) from:0x02095870 kind:arm_call to:0x021868ac module:overlay(106) from:0x02095890 kind:arm_call to:0x02186704 module:overlay(105) from:0x020958b0 kind:arm_call to:0x02186640 module:overlays(104,111) from:0x020958d0 kind:arm_call to:0x021868c4 module:overlays(103,109) from:0x020958f4 kind:arm_call to:0x02090efc module:overlay(0) -from:0x02095904 kind:load to:0x021871b0 module:overlays(97,100) +from:0x02095904 kind:load to:0x021871a8 add:0x8 module:overlay(113) from:0x02095920 kind:arm_call to:0x02136c28 module:overlay(48) from:0x02095940 kind:arm_call to:0x02186c1c module:overlay(113) from:0x02095960 kind:arm_call to:0x02186d94 module:overlay(113) diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index 5cbf21fc..935ca169 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -669,7 +669,7 @@ _ZN27AdventureModeManager_160_2819func_ov000_02066218Ei kind:function(arm,size=0 func_ov000_020677d8 kind:function(arm,size=0x14) addr:0x020677d8 _ZN19func_ov000_020677ecD1Ev kind:function(arm,size=0x14) addr:0x020677ec _ZN19func_ov000_02067800D0Ev kind:function(arm,size=0x1c) addr:0x02067800 -func_ov000_0206781c kind:function(arm,size=0x24) addr:0x0206781c +func_ov000_02066294 kind:function(arm,size=0x24) addr:0x0206781c func_ov000_02067840 kind:function(arm,size=0x30) addr:0x02067840 _ZN24UnkStruct_ov000_020b4f7019func_ov000_020662e8Ev kind:function(arm,size=0x7c) addr:0x02067870 func_ov000_020678ec kind:function(arm,size=0xc) addr:0x020678ec @@ -699,8 +699,8 @@ _ZN21UnkSystem1_ov000_Base8vfunc_10EPt kind:function(arm,size=0x3a0) addr:0x0206 _ZN21UnkSystem1_ov000_Base8vfunc_14EP9FLW1Instr kind:function(arm,size=0x44c) addr:0x02068384 _ZN21UnkSystem1_ov000_Base8vfunc_1CEjii kind:function(arm,size=0x8) addr:0x020687d0 _ZN21UnkSystem1_ov000_Base8vfunc_20Eiii kind:function(arm,size=0x8) addr:0x020687d8 -_ZN25UnkSystem1_ov000_Derived1C2EiPN24UnkStruct_ov000_02067bc410UnkStruct1E kind:function(arm,size=0x34) addr:0x020687e0 -_ZN25UnkSystem1_ov000_Derived1C1EiPN24UnkStruct_ov000_02067bc410UnkStruct1E kind:function(arm,size=0x34) addr:0x02068814 +_ZN25UnkSystem1_ov000_Derived1C2EiP14UnkTextStruct1 kind:function(arm,size=0x34) addr:0x020687e0 +_ZN25UnkSystem1_ov000_Derived1C1EiP14UnkTextStruct1 kind:function(arm,size=0x34) addr:0x02068814 _ZN25UnkSystem1_ov000_Derived1D1Ev kind:function(arm,size=0x48) addr:0x02068848 _ZN25UnkSystem1_ov000_Derived1D0Ev kind:function(arm,size=0x50) addr:0x02068890 _ZN25UnkSystem1_ov000_Derived1D2Ev kind:function(arm,size=0x48) addr:0x020688e0 @@ -712,17 +712,17 @@ func_ov000_02068a44 kind:function(arm,size=0xc0) addr:0x02068a44 func_ov000_02068b04 kind:function(arm,size=0x14) addr:0x02068b04 func_ov000_02068b18 kind:function(arm,size=0x60) addr:0x02068b18 _ZN29UnkStruct_ov000_020b504c_Sub3C1Ei kind:function(arm,size=0x11c) addr:0x02068b78 -_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_020676f8EPKci kind:function(arm,size=0xb8) addr:0x02068c94 -func_ov000_02068d4c kind:function(arm,size=0x54) addr:0x02068d4c -func_ov000_02068da0 kind:function(arm,size=0xdc) addr:0x02068da0 +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_020676f8EPKcj kind:function(arm,size=0xb8) addr:0x02068c94 +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_020677b0EPKcj kind:function(arm,size=0x54) addr:0x02068d4c +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02067804EPKcPvm kind:function(arm,size=0xdc) addr:0x02068da0 func_ov000_02068e7c kind:function(arm,size=0x90) addr:0x02068e7c -func_ov000_02068f0c kind:function(arm,size=0xbc) addr:0x02068f0c +_ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02068f0cEv kind:function(arm,size=0xbc) addr:0x02068f0c _ZN29UnkStruct_ov000_020b504c_Sub319func_ov000_02067a2cEj kind:function(arm,size=0x34) addr:0x02068fc8 _ZN17UnkMsgDataStruct119func_ov000_02067a60EPvi kind:function(arm,size=0x44) addr:0x02068ffc func_ov000_02069040 kind:function(arm,size=0x7c) addr:0x02069040 _ZN24UnkStruct_ov000_020b504c19func_ov000_02067b20Ev kind:function(arm,size=0x40) addr:0x020690bc _ZN24UnkStruct_ov000_020b504c19func_ov000_02067b60Ev kind:function(arm,size=0x54) addr:0x020690fc -_ZN24UnkStruct_ov000_02067bc419func_ov000_02067bb4Ei kind:function(arm,size=0x10) addr:0x02069150 +_ZN24UnkStruct_ov000_020b504c19func_ov000_02067bb4Ei kind:function(arm,size=0x10) addr:0x02069150 _ZN24UnkStruct_ov000_020b504c19func_ov000_02067bc4Ei kind:function(arm,size=0x1c) addr:0x02069160 func_ov000_0206917c kind:function(arm,size=0x10) addr:0x0206917c _ZN24UnkStruct_ov000_020b504c19func_ov000_02067bf0Ev kind:function(arm,size=0x8) addr:0x0206918c @@ -731,7 +731,7 @@ func_ov000_0206919c kind:function(arm,size=0x8) addr:0x0206919c func_ov000_020691a4 kind:function(arm,size=0x98) addr:0x020691a4 func_ov000_0206923c kind:function(arm,size=0x4) addr:0x0206923c func_ov000_02069240 kind:function(arm,size=0x5c) addr:0x02069240 -_ZN24UnkStruct_ov000_020b504c19func_ov000_02067cf8EiiPN24UnkStruct_ov000_02067bc410UnkStruct1E kind:function(arm,size=0x168) addr:0x0206929c +_ZN24UnkStruct_ov000_020b504c19func_ov000_02067cf8EiiP14UnkTextStruct1 kind:function(arm,size=0x168) addr:0x0206929c _ZN24UnkStruct_ov000_020b504c19func_ov000_02067e60Ehi kind:function(arm,size=0xfc) addr:0x02069404 _ZN24UnkStruct_ov000_020b504c19func_ov000_02067f5cEi kind:function(arm,size=0x2c) addr:0x02069500 _ZN24UnkStruct_ov000_020b504c19func_ov000_02067f88Eii kind:function(arm,size=0xe0) addr:0x0206952c @@ -791,7 +791,7 @@ func_ov000_0206b194 kind:function(arm,size=0x24) addr:0x0206b194 func_ov000_0206b1b8 kind:function(arm,size=0x8) addr:0x0206b1b8 func_ov000_0206b1c0 kind:function(arm,size=0x28) addr:0x0206b1c0 func_ov000_0206b1e8 kind:function(arm,size=0x34) addr:0x0206b1e8 -func_ov000_0206b21c kind:function(arm,size=0x28) addr:0x0206b21c +_ZN24UnkStruct_ov000_020b50c019func_ov000_02069c78Ev kind:function(arm,size=0x28) addr:0x0206b21c func_ov000_0206b244 kind:function(arm,size=0x9c) addr:0x0206b244 _ZN24UnkStruct_ov000_020b50c019func_ov000_02069d3cEi kind:function(arm,size=0x40) addr:0x0206b2e0 _ZN24UnkStruct_ov000_020b50c019func_ov000_02069d7cEi kind:function(arm,size=0x40) addr:0x0206b320 @@ -806,16 +806,16 @@ _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a014Ev kind:function(arm,size=0x20 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 -func_ov000_0206b804 kind:function(arm,size=0x98) addr:0x0206b804 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a260Eiii kind:function(arm,size=0x98) addr:0x0206b804 func_ov000_0206b89c kind:function(arm,size=0x210) addr:0x0206b89c func_ov000_0206baac kind:function(arm,size=0x24) addr:0x0206baac -func_ov000_0206bad0 kind:function(arm,size=0x94) addr:0x0206bad0 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a52cEi kind:function(arm,size=0x94) addr:0x0206bad0 func_ov000_0206bb64 kind:function(arm,size=0xc) addr:0x0206bb64 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a5ccEi kind:function(arm,size=0xc) addr:0x0206bb70 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a5d8Ei kind:function(arm,size=0x24) addr:0x0206bb7c _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a5fcEv kind:function(arm,size=0xa8) addr:0x0206bba0 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a6a4Ei kind:function(arm,size=0x60) addr:0x0206bc48 -func_ov000_0206bca8 kind:function(arm,size=0x3c) addr:0x0206bca8 +_ZN24UnkStruct_ov000_020b50c019func_ov000_0206a704Ei kind:function(arm,size=0x3c) addr:0x0206bca8 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a740Ev kind:function(arm,size=0x18) addr:0x0206bce4 _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a758Ev kind:function(arm,size=0x24) addr:0x0206bcfc _ZN24UnkStruct_ov000_020b50c019func_ov000_0206a77cEv kind:function(arm,size=0x28) addr:0x0206bd20 @@ -860,7 +860,7 @@ func_ov000_0206d070 kind:function(arm,size=0x14) addr:0x0206d070 _ZN19func_ov000_0206d084D0Ev kind:function(arm,size=0x1c) addr:0x0206d084 func_ov000_0206d0a0 kind:function(arm,size=0x34) addr:0x0206d0a0 func_ov000_0206d0d4 kind:function(arm,size=0xcc) addr:0x0206d0d4 -func_ov000_0206d1a0 kind:function(arm,size=0x18) addr:0x0206d1a0 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206bbfcEi kind:function(arm,size=0x18) addr:0x0206d1a0 func_ov000_0206d1b8 kind:function(arm,size=0xe4) addr:0x0206d1b8 func_ov000_0206d29c kind:function(arm,size=0xdc) addr:0x0206d29c func_ov000_0206d378 kind:function(arm,size=0x10) addr:0x0206d378 @@ -873,7 +873,7 @@ func_ov000_0206d88c kind:function(arm,size=0x100) addr:0x0206d88c func_ov000_0206d98c kind:function(arm,size=0xa0) addr:0x0206d98c func_ov000_0206da2c kind:function(arm,size=0x40) addr:0x0206da2c func_ov000_0206da6c kind:function(arm,size=0x34) addr:0x0206da6c -func_ov000_0206daa0 kind:function(arm,size=0x84) addr:0x0206daa0 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206c4ecEi kind:function(arm,size=0x84) addr:0x0206daa0 func_ov000_0206db24 kind:function(arm,size=0x4c) addr:0x0206db24 func_ov000_0206db70 kind:function(arm,size=0x4c) addr:0x0206db70 _ZN24UnkStruct_ov000_020b51b819func_ov000_0206c608Eiii kind:function(arm,size=0x58) addr:0x0206dbbc @@ -898,7 +898,7 @@ func_ov000_0206e8e0 kind:function(arm,size=0x10) addr:0x0206e8e0 func_ov000_0206e8f0 kind:function(arm,size=0x58) addr:0x0206e8f0 func_ov000_0206e948 kind:function(arm,size=0x38) addr:0x0206e948 func_ov000_0206e980 kind:function(arm,size=0x70) addr:0x0206e980 -func_ov000_0206e9f0 kind:function(arm,size=0x10) addr:0x0206e9f0 +_ZN24UnkStruct_ov000_020b521419func_ov000_0206d43cEv kind:function(arm,size=0x10) addr:0x0206e9f0 func_ov000_0206ea00 kind:function(arm,size=0x80) addr:0x0206ea00 func_ov000_0206ea80 kind:function(arm,size=0xa0) addr:0x0206ea80 func_ov000_0206eb20 kind:function(arm,size=0x150) addr:0x0206eb20 @@ -908,8 +908,8 @@ _ZN24UnkStruct_ov000_020b521419func_ov000_0206d83cEi kind:function(arm,size=0x40 func_ov000_0206ee38 kind:function(arm,size=0x4c) addr:0x0206ee38 func_ov000_0206ee84 kind:function(arm,size=0x4c) addr:0x0206ee84 func_ov000_0206eed0 kind:function(arm,size=0x4c) addr:0x0206eed0 -func_ov000_0206ef1c kind:function(arm,size=0x24) addr:0x0206ef1c -func_ov000_0206ef40 kind:function(arm,size=0x24) addr:0x0206ef40 +_ZN24UnkStruct_ov000_020b521419func_ov000_0206d960Ev kind:function(arm,size=0x24) addr:0x0206ef1c +_ZN24UnkStruct_ov000_020b521419func_ov000_0206d984Ev kind:function(arm,size=0x24) addr:0x0206ef40 func_ov000_0206ef64 kind:function(arm,size=0xd4) addr:0x0206ef64 func_ov000_0206f038 kind:function(arm,size=0x18) addr:0x0206f038 func_ov000_0206f050 kind:function(arm,size=0xb0) addr:0x0206f050 @@ -956,15 +956,15 @@ func_ov000_02070bfc kind:function(arm,size=0x1c) addr:0x02070bfc func_ov000_02070c18 kind:function(arm,size=0x34) addr:0x02070c18 func_ov000_02070c4c kind:function(arm,size=0x24) addr:0x02070c4c func_ov000_02070c70 kind:function(arm,size=0x24) addr:0x02070c70 -func_ov000_02070c94 kind:function(arm,size=0x90) addr:0x02070c94 +_ZN24UnkStruct_ov018_020c5ac019func_ov000_0206f61cEi kind:function(arm,size=0x90) addr:0x02070c94 _ZN24UnkStruct_ov000_020b52b419func_ov000_0206f6acEv kind:function(arm,size=0x2c) addr:0x02070d24 func_ov000_02070d50 kind:function(arm,size=0x34) addr:0x02070d50 func_ov000_02070d84 kind:function(arm,size=0x48) addr:0x02070d84 func_ov000_02070dcc kind:function(arm,size=0x24) addr:0x02070dcc _ZN24UnkStruct_ov000_020b52b419func_ov000_0206f778Eiii kind:function(arm,size=0x1f0) addr:0x02070df0 func_ov000_02070fe0 kind:function(arm,size=0x18) addr:0x02070fe0 -func_ov000_02070ff8 kind:function(arm,size=0x14) addr:0x02070ff8 -func_ov000_0207100c kind:function(arm,size=0xc) addr:0x0207100c +_ZN24UnkStruct_ov000_020b52e819func_ov000_0206f980Ei kind:function(arm,size=0x14) addr:0x02070ff8 +_ZN24UnkStruct_ov000_020b52e819func_ov000_0206f994Ev kind:function(arm,size=0xc) addr:0x0207100c func_ov000_02071018 kind:function(arm,size=0x128) addr:0x02071018 func_ov000_02071140 kind:function(arm,size=0x1c) addr:0x02071140 func_ov000_0207115c kind:function(arm,size=0x1c) addr:0x0207115c @@ -1000,12 +1000,12 @@ func_ov000_02071b80 kind:function(arm,size=0x2c) addr:0x02071b80 _ZN18UnkStruct_027e09a4D1Ev kind:function(arm,size=0x44) addr:0x02071bac _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_02070554Ev kind:function(arm,size=0xc) addr:0x02071c0c _ZN18UnkStruct_027e09a419func_ov000_02070560Ev kind:function(arm,size=0xc) addr:0x02071c18 _ZN18UnkStruct_027e09a419func_ov000_0207056cEv kind:function(arm,size=0x14) addr:0x02071c24 func_ov000_02071c38 kind:function(arm,size=0x1c) addr:0x02071c38 -func_ov000_02071c54 kind:function(arm,size=0x4c) addr:0x02071c54 -_ZN18UnkStruct_027e09a419func_ov000_020705e8EP8SaveFilei kind:function(thumb,size=0x134) addr:0x02071ca0 +_ZN18UnkStruct_027e09a419func_ov000_0207059cEv kind:function(arm,size=0x4c) addr:0x02071c54 +_ZN18UnkStruct_027e09a419func_ov000_020705e8EP12GameSaveSloti kind:function(thumb,size=0x134) addr:0x02071ca0 func_ov000_02071dd4 kind:function(thumb,size=0x8c) addr:0x02071dd4 _ZN18UnkStruct_027e09a419func_ov000_020707a8EPv kind:function(thumb,size=0x8c) addr:0x02071e60 _ZN18UnkStruct_027e09a419func_ov000_02070834EPv kind:function(arm,size=0x48) addr:0x02071eec @@ -1396,9 +1396,9 @@ func_ov000_0207d04c kind:function(arm,size=0x14) addr:0x0207d04c _ZN19func_ov000_0207d060D0Ev kind:function(arm,size=0x1c) addr:0x0207d060 func_ov000_0207d07c kind:function(arm,size=0x60) addr:0x0207d07c func_ov000_0207d0dc kind:function(arm,size=0x60) addr:0x0207d0dc -func_ov000_0207d13c kind:function(arm,size=0x1c) addr:0x0207d13c -func_ov000_0207d158 kind:function(arm,size=0x14) addr:0x0207d158 -func_ov000_0207d16c kind:function(arm,size=0x14) addr:0x0207d16c +_ZN18UnkStruct_027e09e819func_ov000_0207ba84EP14UnkFileSystem1P26UnkStruct_027e0cd8_0C_Base kind:function(arm,size=0x1c) addr:0x0207d13c +_ZN18UnkStruct_027e09e819func_ov000_0207baa0Ev kind:function(arm,size=0x14) addr:0x0207d158 +_ZN18UnkStruct_027e09e819func_ov000_0207bab4EP12ZCBEntryTRIBt kind:function(arm,size=0x14) addr:0x0207d16c func_ov000_0207d180 kind:function(arm,size=0x18) addr:0x0207d180 func_ov000_0207d198 kind:function(arm,size=0x10) addr:0x0207d198 func_ov000_0207d1a8 kind:function(arm,size=0xbc) addr:0x0207d1a8 @@ -1482,7 +1482,7 @@ func_ov000_0207fe28 kind:function(arm,size=0x28) addr:0x0207fe28 func_ov000_0207fe50 kind:function(arm,size=0x30) addr:0x0207fe50 func_ov000_0207fe80 kind:function(arm,size=0x1c0) addr:0x0207fe80 func_ov000_02080040 kind:function(arm,size=0x14) addr:0x02080040 -func_ov000_02080054 kind:function(arm,size=0x1a4) addr:0x02080054 +_ZN18UnkStruct_027e09e819func_ov000_0207e99cEP14ZCBSectionGRDBP26UnkStruct_027e0cd8_0C_Base kind:function(arm,size=0x1a4) addr:0x02080054 func_ov000_020801f8 kind:function(arm,size=0x4c) addr:0x020801f8 func_ov000_02080244 kind:function(arm,size=0x68) addr:0x02080244 func_ov000_020802ac kind:function(arm,size=0x74) addr:0x020802ac @@ -1503,17 +1503,17 @@ func_ov000_02080538 kind:function(arm,size=0x4) addr:0x02080538 func_ov000_0208053c kind:function(arm,size=0x8) addr:0x0208053c func_ov000_02080544 kind:function(arm,size=0x60) addr:0x02080544 func_ov000_020805a4 kind:function(arm,size=0x44) addr:0x020805a4 -func_ov000_020805e8 kind:function(arm,size=0x118) addr:0x020805e8 -func_ov000_02080700 kind:function(arm,size=0x120) addr:0x02080700 +_ZN18UnkStruct_027e0a4819func_ov000_0207ef30Ev kind:function(arm,size=0x118) addr:0x020805e8 +_ZN18UnkStruct_027e0a4819func_ov000_0207f048Ev kind:function(arm,size=0x120) addr:0x02080700 func_ov000_02080820 kind:function(arm,size=0x88) addr:0x02080820 -func_ov000_020808a8 kind:function(arm,size=0x90) addr:0x020808a8 -func_ov000_02080938 kind:function(arm,size=0x58) addr:0x02080938 -func_ov000_02080990 kind:function(arm,size=0x20) addr:0x02080990 +_ZN18UnkStruct_027e0a4819func_ov000_0207f1f0Ev kind:function(arm,size=0x90) addr:0x020808a8 +_ZN18UnkStruct_027e0a4819func_ov000_0207f280EP26UnkStruct_027e0cd8_0C_Base kind:function(arm,size=0x58) addr:0x02080938 +_ZN18UnkStruct_027e0a4819func_ov000_0207f2d8Ev kind:function(arm,size=0x20) addr:0x02080990 func_ov000_020809b0 kind:function(arm,size=0x16c) addr:0x020809b0 func_ov000_02080b1c kind:function(arm,size=0x18) addr:0x02080b1c func_ov000_02080b34 kind:function(arm,size=0x2c) addr:0x02080b34 func_ov000_02080b60 kind:function(arm,size=0x2c) addr:0x02080b60 -func_ov000_02080b8c kind:function(arm,size=0x14) addr:0x02080b8c +_ZN21UnkStruct_027e09c0_0419func_ov000_0207f4d4Ev kind:function(arm,size=0x14) addr:0x02080b8c func_ov000_02080ba0 kind:function(arm,size=0x14) addr:0x02080ba0 func_ov000_02080bb4 kind:function(arm,size=0x254) addr:0x02080bb4 func_ov000_02080e08 kind:function(thumb,size=0x14) addr:0x02080e08 @@ -1660,7 +1660,7 @@ func_ov000_02083cb8 kind:function(arm,size=0x1c) addr:0x02083cb8 _ZN29UnkStruct_027e0cd8_0C_Base_8819func_ov000_0208261cEv kind:function(arm,size=0x68) addr:0x02083cd4 func_ov000_02083d3c kind:function(arm,size=0x34) addr:0x02083d3c func_ov000_02083d70 kind:function(arm,size=0x90) addr:0x02083d70 -func_ov000_02083e00 kind:function(arm,size=0x14) addr:0x02083e00 +_ZN21PlayerLinkActor_A0_3419func_ov000_02082748Ev kind:function(arm,size=0x14) addr:0x02083e00 func_ov000_02083e14 kind:function(arm,size=0xac) addr:0x02083e14 func_ov000_02083ec0 kind:function(arm,size=0xc8) addr:0x02083ec0 func_ov000_02083f88 kind:function(arm,size=0xfc) addr:0x02083f88 @@ -1705,7 +1705,7 @@ func_ov000_020851a8 kind:function(arm,size=0x1cc) addr:0x020851a8 func_ov000_02085374 kind:function(arm,size=0x25c) addr:0x02085374 func_ov000_020855d0 kind:function(arm,size=0x54) addr:0x020855d0 func_ov000_02085624 kind:function(thumb,size=0x30) addr:0x02085624 -func_ov000_02085654 kind:function(thumb,size=0xe) addr:0x02085654 +_ZN24UnkStruct_027e0ce0_1C_C8D1Ev kind:function(thumb,size=0xe) addr:0x02085654 func_ov000_02085664 kind:function(arm,size=0x1a8) addr:0x02085664 func_ov000_0208580c kind:function(arm,size=0x24) addr:0x0208580c func_ov000_02085830 kind:function(arm,size=0xd8) addr:0x02085830 @@ -1801,7 +1801,7 @@ func_ov000_0208964c kind:function(arm,size=0x50) addr:0x0208964c func_ov000_0208969c kind:function(arm,size=0x98) addr:0x0208969c func_ov000_02089734 kind:function(arm,size=0x10c) addr:0x02089734 func_ov000_02089840 kind:function(arm,size=0xfc) addr:0x02089840 -func_ov000_0208993c kind:function(arm,size=0x60) addr:0x0208993c +_ZN21PlayerLinkActor_A0_0419func_ov000_02088268Ev kind:function(arm,size=0x60) addr:0x0208993c func_ov000_0208999c kind:function(arm,size=0x64) addr:0x0208999c func_ov000_02089a00 kind:function(arm,size=0x20) addr:0x02089a00 func_ov000_02089a20 kind:function(arm,size=0xdc) addr:0x02089a20 @@ -2038,17 +2038,17 @@ func_ov000_0208fcc4 kind:function(arm,size=0x40) addr:0x0208fcc4 func_ov000_0208fd04 kind:function(arm,size=0x4c) addr:0x0208fd04 func_ov000_0208fd50 kind:function(arm,size=0x54) addr:0x0208fd50 func_ov000_0208fda4 kind:function(arm,size=0x3c) addr:0x0208fda4 -func_ov000_0208fde0 kind:function(arm,size=0x18) addr:0x0208fde0 +_ZN21PlayerLinkActor_A0_2C19func_ov000_0208e704Ev kind:function(arm,size=0x18) addr:0x0208fde0 func_ov000_0208fdf8 kind:function(arm,size=0x2c) addr:0x0208fdf8 func_ov000_0208fe24 kind:function(arm,size=0x40) addr:0x0208fe24 -func_ov000_0208fe64 kind:function(thumb,size=0x68) addr:0x0208fe64 +_ZN24UnkStruct_027e0ce0_1C_08C1Eiii kind:function(thumb,size=0x68) addr:0x0208fe64 _ZN19func_ov000_0208feccD1Ev kind:function(arm,size=0x14) addr:0x0208fecc _ZN19func_ov000_0208fee0D0Ev kind:function(arm,size=0x1c) addr:0x0208fee0 func_ov000_0208fefc kind:function(arm,size=0x10) addr:0x0208fefc -func_ov000_0208ff0c kind:function(arm,size=0x14) addr:0x0208ff0c +func_ov000_0208e830 kind:function(arm,size=0x14) addr:0x0208ff0c func_ov000_0208ff20 kind:function(arm,size=0x14) addr:0x0208ff20 func_ov000_0208ff34 kind:function(thumb,size=0x1c) addr:0x0208ff34 -func_ov000_0208ff50 kind:function(thumb,size=0x148) addr:0x0208ff50 +func_ov000_0208e874 kind:function(thumb,size=0x148) addr:0x0208ff50 func_ov000_02090098 kind:function(thumb,size=0x10) addr:0x02090098 func_ov000_020900a8 kind:function(thumb,size=0x10) addr:0x020900a8 func_ov000_020900b8 kind:function(thumb,size=0x18) addr:0x020900b8 @@ -2113,15 +2113,15 @@ _ZN19func_ov000_02092d98D0Ev kind:function(arm,size=0x48) addr:0x02092d98 func_ov000_02092de0 kind:function(arm,size=0xe4) addr:0x02092de0 func_ov000_02092ec4 kind:function(arm,size=0x4c4) addr:0x02092ec4 _ZN18PlayerLinkActor_A0C1EiP21UnkStruct_027e0ce0_40P15PlayerActorBaseP18PlayerLinkActor_9C kind:function(thumb,size=0x1f4) addr:0x02093388 -func_ov000_0209357c kind:function(arm,size=0x18) addr:0x0209357c +_ZN18PlayerLinkActor_A019func_ov000_02091ea0Ev kind:function(arm,size=0x18) addr:0x0209357c func_ov000_02093594 kind:function(arm,size=0x50) addr:0x02093594 -func_ov000_020935e4 kind:function(arm,size=0x28) addr:0x020935e4 +_ZN18PlayerLinkActor_A019func_ov000_02091f08Ei kind:function(arm,size=0x28) addr:0x020935e4 func_ov000_0209360c kind:function(arm,size=0x164) addr:0x0209360c func_ov000_02093770 kind:function(arm,size=0x1c) addr:0x02093770 func_ov000_0209378c kind:function(arm,size=0x34) addr:0x0209378c func_ov000_020937c0 kind:function(arm,size=0xc4) addr:0x020937c0 func_ov000_02093884 kind:function(arm,size=0x3c) addr:0x02093884 -_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020921e4Ei kind:function(arm,size=0x464) addr:0x020938c0 +_ZN18PlayerLinkActor_A019func_ov000_020921e4Ei kind:function(arm,size=0x464) addr:0x020938c0 func_ov000_02093d24 kind:function(arm,size=0x7f0) addr:0x02093d24 func_ov000_02094514 kind:function(arm,size=0x70) addr:0x02094514 func_ov000_02094584 kind:function(arm,size=0x24) addr:0x02094584 @@ -2139,7 +2139,7 @@ func_ov000_02094ce8 kind:function(arm,size=0x44) addr:0x02094ce8 func_ov000_02094d2c kind:function(arm,size=0x4c) addr:0x02094d2c func_ov000_02094d78 kind:function(arm,size=0x28) addr:0x02094d78 func_ov000_02094da0 kind:function(arm,size=0x28) addr:0x02094da0 -_ZN27UnkStruct_ov000_0208f820_3019func_ov000_020936ecEv kind:function(arm,size=0x2c) addr:0x02094dc8 +_ZN18PlayerLinkActor_A019func_ov000_020936ecEv kind:function(arm,size=0x2c) addr:0x02094dc8 _ZN18PlayerLinkActor_A019func_ov000_02093718Ev kind:function(arm,size=0x38) addr:0x02094df4 func_ov000_02094e2c kind:function(arm,size=0x3c) addr:0x02094e2c _ZN18PlayerLinkActor_A019func_ov000_0209378cEv kind:function(arm,size=0x58) addr:0x02094e68 @@ -2148,7 +2148,7 @@ func_ov000_02094f80 kind:function(arm,size=0x2c) addr:0x02094f80 func_ov000_02094fac kind:function(arm,size=0x2c) addr:0x02094fac func_ov000_02094fd8 kind:function(arm,size=0x58) addr:0x02094fd8 func_ov000_02095030 kind:function(arm,size=0xb0) addr:0x02095030 -_ZN27UnkStruct_ov000_0208f820_3019func_ov000_02093a04Ev kind:function(arm,size=0x10) addr:0x020950e0 +_ZN18PlayerLinkActor_A019func_ov000_02093a04Ev kind:function(arm,size=0x10) addr:0x020950e0 func_ov000_020950f0 kind:function(arm,size=0x30) addr:0x020950f0 func_ov000_02095120 kind:function(arm,size=0x44) addr:0x02095120 func_ov000_02095164 kind:function(arm,size=0x28) addr:0x02095164 @@ -2634,8 +2634,8 @@ func_ov000_020a08ac kind:function(arm,size=0x1c) addr:0x020a08ac func_ov000_020a08c8 kind:function(arm,size=0x1c) addr:0x020a08c8 func_ov000_020a08e4 kind:function(arm,size=0xc) addr:0x020a08e4 func_ov000_020a08f0 kind:function(arm,size=0xc) addr:0x020a08f0 -func_ov000_020a08fc kind:function(arm,size=0xfc) addr:0x020a08fc -func_ov000_020a09f8 kind:function(arm,size=0x3c) addr:0x020a09f8 +_ZN26GameModeManagerBase_004_00C1Es kind:function(arm,size=0xfc) addr:0x020a08fc +_ZN26GameModeManagerBase_004_00D1Ev kind:function(arm,size=0x3c) addr:0x020a09f8 func_ov000_020a0a34 kind:function(arm,size=0xb0) addr:0x020a0a34 func_ov000_020a0ae4 kind:function(arm,size=0x290) addr:0x020a0ae4 func_ov000_020a0d74 kind:function(arm,size=0x88) addr:0x020a0d74 @@ -2737,7 +2737,7 @@ func_ov000_020a2ef0 kind:function(arm,size=0xc) addr:0x020a2ef0 func_ov000_020a2efc kind:function(arm,size=0x4c) addr:0x020a2efc func_ov000_020a2f48 kind:function(arm,size=0x1e4) addr:0x020a2f48 func_ov000_020a312c kind:function(arm,size=0x180) addr:0x020a312c -func_ov000_020a32ac kind:function(arm,size=0x180) addr:0x020a32ac +_ZN36UnkStruct_ov000_020b504c_0C_Derived1C1Ei kind:function(arm,size=0x180) addr:0x020a32ac func_ov000_020a342c kind:function(arm,size=0x70) addr:0x020a342c _ZN19func_ov000_020a349cD0Ev kind:function(arm,size=0x78) addr:0x020a349c func_ov000_020a3514 kind:function(arm,size=0x70) addr:0x020a3514 @@ -2768,7 +2768,7 @@ func_ov000_020a45a4 kind:function(arm,size=0x20) addr:0x020a45a4 func_ov000_020a45c4 kind:function(arm,size=0x40) addr:0x020a45c4 func_ov000_020a4604 kind:function(arm,size=0x54) addr:0x020a4604 func_ov000_020a4658 kind:function(arm,size=0x78) addr:0x020a4658 -func_ov000_020a46d0 kind:function(arm,size=0x20) addr:0x020a46d0 +_ZN36UnkStruct_ov000_020b504c_0C_Derived3C1Ei kind:function(arm,size=0x20) addr:0x020a46d0 func_ov000_020a46f0 kind:function(arm,size=0x14) addr:0x020a46f0 func_ov000_020a4704 kind:function(arm,size=0x44) addr:0x020a4704 func_ov000_020a4748 kind:function(arm,size=0x8) addr:0x020a4748 @@ -2779,7 +2779,7 @@ func_ov000_020a47e0 kind:function(arm,size=0x44) addr:0x020a47e0 func_ov000_020a4824 kind:function(arm,size=0x3c) addr:0x020a4824 _ZN19func_ov000_020a4860D1Ev kind:function(arm,size=0x14) addr:0x020a4860 _ZN19func_ov000_020a4874D0Ev kind:function(arm,size=0x1c) addr:0x020a4874 -func_ov000_020a4890 kind:function(arm,size=0xfc) addr:0x020a4890 +_ZN36UnkStruct_ov000_020b504c_0C_Derived2C1Ev kind:function(arm,size=0xfc) addr:0x020a4890 func_ov000_020a498c kind:function(arm,size=0x2f0) addr:0x020a498c func_ov000_020a4c7c kind:function(arm,size=0x18c) addr:0x020a4c7c func_ov000_020a4e08 kind:function(arm,size=0x284) addr:0x020a4e08 @@ -2815,8 +2815,8 @@ func_ov000_020a5c90 kind:function(arm,size=0x38) addr:0x020a5c90 func_ov000_020a5cc8 kind:function(arm,size=0x1f4) addr:0x020a5cc8 func_ov000_020a5ebc kind:function(arm,size=0x8) addr:0x020a5ebc func_ov000_020a5ec4 kind:function(arm,size=0x10) addr:0x020a5ec4 -func_ov000_020a5ed4 kind:function(arm,size=0x90) addr:0x020a5ed4 -func_ov000_020a5f64 kind:function(arm,size=0x14) addr:0x020a5f64 +_ZN27UnkStruct_ov000_020b504c_08C1Ev kind:function(arm,size=0x90) addr:0x020a5ed4 +_ZN27UnkStruct_ov000_020b504c_0819func_ov000_020a4764Ev kind:function(arm,size=0x14) addr:0x020a5f64 func_ov000_020a5f78 kind:function(arm,size=0x60) addr:0x020a5f78 func_ov000_020a5fd8 kind:function(arm,size=0x240) addr:0x020a5fd8 func_ov000_020a6218 kind:function(arm,size=0xa0) addr:0x020a6218 @@ -4028,7 +4028,7 @@ data_ov000_020b6ab0 kind:bss addr:0x020b6ab0 data_ov000_020b52b4 kind:bss addr:0x020b6ab4 data_ov000_020b6ad8 kind:bss addr:0x020b6ad8 data_ov000_020b6adc kind:bss addr:0x020b6adc -data_ov000_020b6ae8 kind:bss addr:0x020b6ae8 +data_ov000_020b52e8 kind:bss addr:0x020b6ae8 data_ov000_020b6afc kind:bss addr:0x020b6afc data_ov000_020b6b00 kind:bss addr:0x020b6b00 data_ov000_020b6b40 kind:bss addr:0x020b6b40 diff --git a/config/jp/arm9/overlays/ov001/delinks.txt b/config/jp/arm9/overlays/ov001/delinks.txt index f3d7c01d..0cff7aa9 100644 --- a/config/jp/arm9/overlays/ov001/delinks.txt +++ b/config/jp/arm9/overlays/ov001/delinks.txt @@ -101,6 +101,57 @@ src/001_SceneInit/Player/PlayerLinkActor_001.cpp: complete .text start:0x020be1e4 end:0x020be4e8 +src/001_SceneInit/UnkStruct_027e0ce0_1C_001.cpp: + .text start:0x020be4e8 end:0x020bed5c + .data start:0x020c44b0 end:0x020c44c0 + +src/001_SceneInit/UnkStruct_0204a110_001.cpp: + complete + .text start:0x020bed5c end:0x020bf010 + +src/001_SceneInit/UnkStruct_ov024_020d86a0_001.cpp: + complete + .text start:0x020bf010 end:0x020bf09c + +src/001_SceneInit/UnkStruct_ov000_020b50c0_001.cpp: + complete + .text start:0x020bf09c end:0x020bf8a8 + +src/001_SceneInit/Game/GameModeCreate.cpp: + complete + .text start:0x020bf8a8 end:0x020bf98c + +src/001_SceneInit/ZeldaCollisionBinary.cpp: + complete + .text start:0x020bf98c end:0x020bfb24 + +src/001_SceneInit/UnkStruct_027e09c0_001.cpp: + complete + .text start:0x020bfb24 end:0x020bfd58 + +src/001_SceneInit/UnkStruct_ov000_020b504c_001.cpp: + complete + .text start:0x020bfd58 end:0x020c0294 + .data start:0x020c44c0 end:0x020c462c + +src/001_SceneInit/UnkStruct_027e09b4_001.cpp: + .text start:0x020c0294 end:0x020c0338 + +src/001_SceneInit/UnkStruct_027e09ac_001.cpp: + .text start:0x020c0338 end:0x020c0568 + +src/001_SceneInit/UnkStruct_027e0cec_001.cpp: + .text start:0x020c0568 end:0x020c08f4 + +src/001_SceneInit/code_020bf0a0.cpp: + .text start:0x020c08f4 end:0x020c0a0c + +src/001_SceneInit/UnkStruct_027e0ce0_34_001.cpp: + .text start:0x020c0a0c end:0x020c0d00 + +src/001_SceneInit/UnkStruct_027e0d00_001.cpp: + .text start:0x020c0d00 end:0x020c1054 + src/001_SceneInit/CargoManager_001.cpp: complete .text start:0x020c1054 end:0x020c10c4 @@ -111,8 +162,18 @@ src/001_SceneInit/PassengerManager_001.cpp: src/001_SceneInit/UnkStruct_027e0cf8_08_00_001.cpp: .text start:0x020c12a4 end:0x020c1514 +src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp: + .text start:0x020c1514 end:0x020c1624 + +src/001_SceneInit/code_020bfdd0.cpp: + .text start:0x020c1624 end:0x020c17c8 + src/001_SceneInit/Game/AdventureModeManager_001.cpp: .text start:0x020c17c8 end:0x020c2198 src/001_SceneInit/Game/GameModeAdventure_001.cpp: + complete .text start:0x020c2198 end:0x020c21f0 + +src/001_SceneInit/code_020c099c.cpp: + .text start:0x020c21f0 end:0x020c2278 diff --git a/config/jp/arm9/overlays/ov001/relocs.txt b/config/jp/arm9/overlays/ov001/relocs.txt index 16875cd2..90efc0ee 100644 --- a/config/jp/arm9/overlays/ov001/relocs.txt +++ b/config/jp/arm9/overlays/ov001/relocs.txt @@ -911,14 +911,14 @@ from:0x020bc2cc kind:thumb_call_arm to:0x02011f3c module:main from:0x020bc2d6 kind:thumb_call_arm to:0x02078d2c module:overlay(0) from:0x020bc2e4 kind:thumb_call_arm to:0x02011f3c module:main from:0x020bc2ee kind:thumb_call_arm to:0x02078d2c module:overlay(0) -from:0x020bc30c kind:load to:0x020b3c70 module:overlay(0) add:0x8 -from:0x020bc310 kind:load to:0x020b3cc4 module:overlay(0) add:0x8 +from:0x020bc30c kind:load to:0x020b3c70 add:0x8 module:overlay(0) +from:0x020bc310 kind:load to:0x020b3cc4 add:0x8 module:overlay(0) from:0x020bc314 kind:load to:0x027e09a4 module:dtcm from:0x020bc318 kind:load to:0x020e9dc4 module:overlay(20) from:0x020bc37e kind:thumb_call_arm to:0x0201662c module:main from:0x020bc386 kind:thumb_call_arm to:0x0201b8bc module:main from:0x020bc38c kind:thumb_call to:0x020bc470 module:overlay(1) -from:0x020bc394 kind:load to:0x020b3c70 module:overlay(0) add:0x8 +from:0x020bc394 kind:load to:0x020b3c70 add:0x8 module:overlay(0) from:0x020bc3f4 kind:thumb_call_arm to:0x0207a3a4 module:overlay(0) from:0x020bc3fc kind:load to:0x027e09a4 module:dtcm from:0x020bc400 kind:load to:0x027e09bc module:dtcm @@ -1269,7 +1269,7 @@ from:0x020bdc54 kind:thumb_call to:0x020bd72c module:overlay(1) from:0x020bdc6a kind:thumb_call_arm to:0x02011f3c module:main from:0x020bdc72 kind:thumb_call to:0x020c0a0c module:overlay(1) from:0x020bdc86 kind:thumb_call to:0x02084084 module:overlay(0) -from:0x020bdc90 kind:load to:0x020b4330 module:overlay(0) add:0x8 +from:0x020bdc90 kind:load to:0x020b4330 add:0x8 module:overlay(0) from:0x020bdc94 kind:load to:0x027e09a4 module:dtcm from:0x020bdc9c kind:thumb_call to:0x020bdfb0 module:overlay(1) from:0x020bdca8 kind:thumb_call to:0x020c0a6c module:overlay(1) @@ -1343,7 +1343,7 @@ from:0x020be010 kind:thumb_call_arm to:0x020592bc module:overlay(0) from:0x020be01e kind:thumb_call_arm to:0x02059498 module:overlay(0) from:0x020be038 kind:thumb_call_arm to:0x020594c0 module:overlay(0) from:0x020be052 kind:thumb_call to:0x0208d730 module:overlay(0) -from:0x020be05c kind:load to:0x020b4368 module:overlay(0) add:0x8 +from:0x020be05c kind:load to:0x020b4368 add:0x8 module:overlay(0) from:0x020be060 kind:load to:0x020c3f10 module:overlay(1) from:0x020be064 kind:load to:0x020c3ea0 module:overlay(1) from:0x020be0a8 kind:thumb_call_arm to:0x0208b7c4 module:overlay(0) @@ -2339,9 +2339,7 @@ from:0x020c2f6c kind:load to:0x020c417c module:overlays(2,4) from:0x020c30f8 kind:load to:0x020c5f40 module:overlay(1) from:0x020c3184 kind:load to:0x020c5f40 module:overlay(1) from:0x020c3214 kind:load to:0x020c5f40 module:overlay(1) -from:0x020c3228 kind:load to:0x020c4588 module:overlay(1) from:0x020c322c kind:load to:0x020c73cc module:overlay(25) -from:0x020c3230 kind:load to:0x020c4500 module:overlay(1) from:0x020c32ec kind:load to:0x020c4060 module:overlay(1) from:0x020c339c kind:load to:0x020c4060 module:overlay(1) from:0x020c3408 kind:load to:0x020c5f41 module:overlay(1) diff --git a/config/jp/arm9/overlays/ov001/symbols.txt b/config/jp/arm9/overlays/ov001/symbols.txt index 9461c13a..62508328 100644 --- a/config/jp/arm9/overlays/ov001/symbols.txt +++ b/config/jp/arm9/overlays/ov001/symbols.txt @@ -260,81 +260,81 @@ _ZN18PlayerLinkActor_A019func_ov001_020bd358Ev kind:function(thumb,size=0x30) ad _ZN18PlayerLinkActor_A019func_ov001_020bd388Ebb kind:function(thumb,size=0x128) addr:0x020bebd0 _ZN29UnkStruct_027e0ce0_40_Base_7CC1Ei kind:function(thumb,size=0x40) addr:0x020becf8 _ZN29UnkStruct_027e0ce0_40_Base_7CD1Ev kind:function(thumb,size=0x22) addr:0x020bed38 -_ZN18UnkStruct_0204a11019func_ov001_020bd514EiPvii kind:function(thumb,size=0x78) addr:0x020bed5c +_ZN18UnkStruct_0204a11019func_ov001_020bd514EiPFP19GameModeManagerBaseP23UnkStruct_0204a110_Sub2Ebb kind:function(thumb,size=0x78) addr:0x020bed5c _ZN18UnkStruct_0204a11019func_ov001_020bd58cEv kind:function(thumb,size=0x24) addr:0x020bedd4 _ZN18UnkStruct_0204a11019func_ov001_020bd5b0Ev kind:function(thumb,size=0x88) addr:0x020bedf8 _ZN18UnkStruct_0204a11019func_ov001_020bd638Ev kind:function(thumb,size=0x40) addr:0x020bee80 _ZN18UnkStruct_0204a11019func_ov001_020bd678Ev kind:function(thumb,size=0x14) addr:0x020beec0 _ZN18UnkStruct_0204a11019func_ov001_020bd68cEv 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 +_ZN18UnkStruct_0204a0886CreateEv kind:function(thumb,size=0x18) addr:0x020beef0 +_ZN18UnkStruct_0204a088C1Ev kind:function(thumb,size=0x38) addr:0x020bef08 +_ZN18UnkStruct_0204a08819func_ov001_020bd6f8Ev kind:function(thumb,size=0x30) addr:0x020bef40 +_ZN8InstanceI18UnkStruct_0204a088EC2Ev kind:function(thumb,size=0xc) addr:0x020bef70 +_ZN23GameModeManagerBase_00419func_ov001_020bd734EPKs kind:function(thumb,size=0x50) addr:0x020bef7c _ZN23GameModeManagerBase_00419func_ov001_020bd784Ev kind:function(thumb,size=0x3c) addr:0x020befcc -func_ov001_020bd7c0 kind:function(thumb,size=0x8) addr:0x020bf008 +_ZN23UnkStruct_0204a110_Sub219func_ov001_020bd7c0Ev 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_020bd83c kind:function(thumb,size=0xc) addr:0x020bf084 -func_ov001_020bd848 kind:function(thumb,size=0xc) addr:0x020bf090 +_ZN8InstanceI24UnkStruct_ov024_020d86a0EC2Ev kind:function(thumb,size=0xc) addr:0x020bf084 +_ZN8InstanceI24UnkStruct_ov024_020d86a0ED2Ev 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_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_020bd970EP12EntranceInfo kind:function(thumb,size=0x494) addr:0x020bf1c4 -_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EP12EntranceInfo kind:function(thumb,size=0x48) addr:0x020bf658 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd8e8Ev kind:function(thumb,size=0x28) addr:0x020bf130 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd910Ev kind:function(thumb,size=0x30) addr:0x020bf158 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd934Eb kind:function(thumb,size=0x3c) addr:0x020bf188 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bd970EPK12EntranceInfo kind:function(thumb,size=0x494) addr:0x020bf1c4 +_ZN24UnkStruct_ov000_020b50c019func_ov001_020bde04EPK12EntranceInfo kind:function(thumb,size=0x48) addr:0x020bf658 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bde4cEPK12EntranceInfo kind:function(thumb,size=0x10) addr:0x020bf6a0 _ZN24UnkStruct_ov000_020b50c019func_ov001_020bde5cEv 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_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_020be100 kind:function(thumb,size=0x2c) addr:0x020bf954 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bde6cEv kind:function(thumb,size=0xe) addr:0x020bf6c0 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bde7cEv kind:function(thumb,size=0x14) addr:0x020bf6d0 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bde90EPK12EntranceInfo kind:function(thumb,size=0x110) addr:0x020bf6e4 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bdfa0EPK12EntranceInfo kind:function(thumb,size=0x16) addr:0x020bf7f4 +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020bdfb8EPK12EntranceInfo kind:function(thumb,size=0x78) addr:0x020bf80c +_ZN24UnkStruct_ov018_020c5ac019func_ov001_020be030Ev kind:function(thumb,size=0x2) addr:0x020bf884 +_ZN18UnkStruct_027e0d087DestroyEv kind:function(thumb,size=0x20) addr:0x020bf888 +_ZN19GameModeTitleScreen6CreateEv kind:function(thumb,size=0x60) addr:0x020bf8a8 +_ZN17GameModeAdventure6CreateEv kind:function(thumb,size=0x24) addr:0x020bf908 +_ZN19GameModeContactMode6CreateEv kind:function(thumb,size=0x14) addr:0x020bf92c +_ZN20GameModeDownloadPlay6CreateEv kind:function(thumb,size=0x14) addr:0x020bf940 +_ZN14GameModeBattle6CreateEv kind:function(thumb,size=0x2c) addr:0x020bf954 _ZN24UnkStruct_ov000_020b4eec19func_ov001_020be12cEv kind:function(thumb,size=0xc) addr:0x020bf980 -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 +ZCB_ParseFile kind:function(thumb,size=0xc0) addr:0x020bf98c +ZCB_ParseVTXB kind:function(thumb,size=0x96) addr:0x020bfa4c +ZCB_ParseNRMB kind:function(thumb,size=0x12) addr:0x020bfae4 +ZCB_ParsePCLB kind:function(thumb,size=0x10) addr:0x020bfaf8 +ZCB_ParseTRIB kind:function(thumb,size=0x10) addr:0x020bfb08 +ZCB_ParseGRDB 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_027e09c0C1Ev 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 _ZN18UnkStruct_027e09c019func_ov001_020be3dcEP14UnkFileSystem3P26UnkStruct_027e0cd8_0C_Base kind:function(thumb,size=0x24) addr:0x020bfc30 _ZN18UnkStruct_027e09c019func_ov001_020be400Ev 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 +_ZN18UnkStruct_027e09c011DestroyImplEv kind:function(thumb,size=0x20) addr:0x020bfc90 +_ZN8InstanceI18UnkStruct_027e09c0EC2Ev kind:function(thumb,size=0xc) addr:0x020bfcb0 +_ZN8InstanceI18UnkStruct_027e09c0ED2Ev kind:function(thumb,size=0xc) addr:0x020bfcbc +_ZN18UnkStruct_027e0b4819func_ov001_020be474Ev kind:function(thumb,size=0x70) addr:0x020bfcc8 +_ZN18UnkStruct_027e0b4819func_ov001_020be4e4Ev kind:function(thumb,size=0x1e) addr:0x020bfd38 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be504Ev kind:function(thumb,size=0xc) addr:0x020bfd58 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be510Ev kind:function(thumb,size=0xd8) addr:0x020bfd64 -func_ov001_020be5e8 kind:function(thumb,size=0x80) addr:0x020bfe3c +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be5e8Ev kind:function(thumb,size=0x80) addr:0x020bfe3c _ZN24UnkStruct_ov000_020b504c19func_ov001_020be668Ev kind:function(thumb,size=0x70) addr:0x020bfebc -func_ov001_020be6d8 kind:function(thumb,size=0x1c) addr:0x020bff2c +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be6d8Ev kind:function(thumb,size=0x1c) addr:0x020bff2c _ZN24UnkStruct_ov000_020b504c19func_ov001_020be6f4Ev kind:function(thumb,size=0xa8) addr:0x020bff48 -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_020be79cEj kind:function(thumb,size=0x90) addr:0x020bfff0 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be82cEj kind:function(thumb,size=0x54) addr:0x020c0080 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be880Ej kind:function(thumb,size=0x60) addr:0x020c00d4 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be8e0Ev kind:function(thumb,size=0x4c) addr:0x020c0134 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be92cEP24UnkStruct_027e0cd8_04_0C kind:function(thumb,size=0x20) addr:0x020c0180 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be94cEv kind:function(thumb,size=0x4c) addr:0x020c01a0 _ZN24UnkStruct_ov000_020b504c19func_ov001_020be998Ev 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 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020be9fcEv kind:function(thumb,size=0x30) addr:0x020c0250 +_ZN24UnkStruct_ov000_020b504c19func_ov001_020bea2cEv 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 @@ -420,8 +420,8 @@ 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 +_ZN20AdventureModeManager6CreateEP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x1c) addr:0x020c17c8 +_ZN20AdventureModeManagerC1EP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x134) addr:0x020c17e4 _ZN20AdventureModeManager8vfunc_10Eiii kind:function(thumb,size=0x10) addr:0x020c1918 _ZN20AdventureModeManager19func_ov001_020c00d4Ev kind:function(thumb,size=0x30) addr:0x020c1928 _ZN20AdventureModeManager19func_ov001_020c0104Ev kind:function(thumb,size=0x90) addr:0x020c1958 @@ -502,8 +502,8 @@ data_ov001_020c26bc kind:data(any) addr:0x020c3f10 data_ov001_020c3f90 kind:data(any) addr:0x020c3f90 data_ov001_020c3fa4 kind:data(any) addr:0x020c3fa4 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_020c276c kind:data(any) addr:0x020c3fc0 +data_ov001_020c27a8 kind:data(any) addr:0x020c3ffc data_ov001_020c4060 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 @@ -535,73 +535,73 @@ data_ov001_020c2a40 kind:data(any) addr:0x020c4280 @3288 kind:data(byte[28]) addr:0x020c4330 local @3292 kind:data(byte[23]) addr:0x020c434c local @3293 kind:data(byte[21]) addr:0x020c4364 local -@5615 kind:data(byte[0x0C]) addr:0x020c437c local -@5616 kind:data(byte[0x0D]) addr:0x020c4388 local -@5617 kind:data(byte[0x0C]) addr:0x020c4398 local -@5618 kind:data(byte[0x05]) addr:0x020c43a4 local -@5619 kind:data(byte[0x06]) addr:0x020c43ac local -@5620 kind:data(byte[0x06]) addr:0x020c43b4 local -@5621 kind:data(byte[0x06]) addr:0x020c43bc local -@5622 kind:data(byte[0x06]) addr:0x020c43c4 local -@5623 kind:data(byte[0x06]) addr:0x020c43cc local -@5624 kind:data(byte[0x06]) addr:0x020c43d4 local -@5625 kind:data(byte[0x05]) addr:0x020c43dc local -@5626 kind:data(byte[0x05]) addr:0x020c43e4 local -@5627 kind:data(byte[0x06]) addr:0x020c43ec local -@5628 kind:data(byte[0x06]) addr:0x020c43f4 local -@5629 kind:data(byte[0x06]) addr:0x020c43fc local -@5630 kind:data(byte[0x06]) addr:0x020c4404 local -@5631 kind:data(byte[0x06]) addr:0x020c440c local -@5632 kind:data(byte[0x06]) addr:0x020c4414 local -@5633 kind:data(byte[0x06]) addr:0x020c441c local -@5634 kind:data(byte[0x06]) addr:0x020c4424 local -@5635 kind:data(byte[0x07]) addr:0x020c442c local -@5636 kind:data(byte[0x07]) addr:0x020c4434 local -@5637 kind:data(byte[0x07]) addr:0x020c443c local -@5638 kind:data(byte[0x0B]) addr:0x020c4444 local -@5639 kind:data(byte[0x07]) addr:0x020c4450 local -@5640 kind:data(byte[0x11]) addr:0x020c4458 local -@5641 kind:data(byte[0x07]) addr:0x020c446c local -@5642 kind:data(byte[0x04]) addr:0x020c4474 local -@5643 kind:data(byte[0x09]) addr:0x020c4478 local -@5644 kind:data(byte[0x0C]) addr:0x020c4484 local -@5645 kind:data(byte[0x09]) addr:0x020c4490 local -@5646 kind:data(byte[0x0C]) addr:0x020c449c local -@5647 kind:data(byte[0x06]) addr:0x020c44a8 local -data_ov001_020c44b0 kind:data(any) addr:0x020c44b0 -data_ov001_020c44b8 kind:data(any) addr:0x020c44b8 -data_ov001_020c44c0 kind:data(any) addr:0x020c44c0 -data_ov001_020c44c8 kind:data(any) addr:0x020c44c8 -data_ov001_020c44d0 kind:data(any) addr:0x020c44d0 -data_ov001_020c44d8 kind:data(any) addr:0x020c44d8 -data_ov001_020c44e0 kind:data(any) addr:0x020c44e0 -data_ov001_020c44e8 kind:data(any) addr:0x020c44e8 -data_ov001_020c44f0 kind:data(any) addr:0x020c44f0 -data_ov001_020c44f8 kind:data(any) addr:0x020c44f8 -data_ov001_020c4500 kind:data(any) addr:0x020c4500 -data_ov001_020c4508 kind:data(any) addr:0x020c4508 -data_ov001_020c4510 kind:data(any) addr:0x020c4510 -data_ov001_020c451c kind:data(any) addr:0x020c451c -data_ov001_020c4528 kind:data(any) addr:0x020c4528 -data_ov001_020c4534 kind:data(any) addr:0x020c4534 -data_ov001_020c456c kind:data(any) addr:0x020c456c -data_ov001_020c4578 kind:data(any) addr:0x020c4578 -data_ov001_020c4588 kind:data(any) addr:0x020c4588 -data_ov001_020c4598 kind:data(any) addr:0x020c4598 -data_ov001_020c45a0 kind:data(any) addr:0x020c45a0 -data_ov001_020c45a8 kind:data(any) addr:0x020c45a8 -data_ov001_020c45b0 kind:data(any) addr:0x020c45b0 -data_ov001_020c45bc kind:data(any) addr:0x020c45bc -data_ov001_020c45c4 kind:data(any) addr:0x020c45c4 -data_ov001_020c45cc kind:data(any) addr:0x020c45cc -data_ov001_020c45d8 kind:data(any) addr:0x020c45d8 -data_ov001_020c45e0 kind:data(any) addr:0x020c45e0 -data_ov001_020c45ec kind:data(any) addr:0x020c45ec -data_ov001_020c45f8 kind:data(any) addr:0x020c45f8 -data_ov001_020c4604 kind:data(any) addr:0x020c4604 -data_ov001_020c4610 kind:data(any) addr:0x020c4610 -data_ov001_020c461c kind:data(any) addr:0x020c461c -data_ov001_020c4624 kind:data(any) addr:0x020c4624 +@5615 kind:data(byte[12]) addr:0x020c437c local +@5616 kind:data(byte[13]) addr:0x020c4388 local +@5617 kind:data(byte[12]) addr:0x020c4398 local +@5618 kind:data(byte[5]) addr:0x020c43a4 local +@5619 kind:data(byte[6]) addr:0x020c43ac local +@5620 kind:data(byte[6]) addr:0x020c43b4 local +@5621 kind:data(byte[6]) addr:0x020c43bc local +@5622 kind:data(byte[6]) addr:0x020c43c4 local +@5623 kind:data(byte[6]) addr:0x020c43cc local +@5624 kind:data(byte[6]) addr:0x020c43d4 local +@5625 kind:data(byte[5]) addr:0x020c43dc local +@5626 kind:data(byte[5]) addr:0x020c43e4 local +@5627 kind:data(byte[6]) addr:0x020c43ec local +@5628 kind:data(byte[6]) addr:0x020c43f4 local +@5629 kind:data(byte[6]) addr:0x020c43fc local +@5630 kind:data(byte[6]) addr:0x020c4404 local +@5631 kind:data(byte[6]) addr:0x020c440c local +@5632 kind:data(byte[6]) addr:0x020c4414 local +@5633 kind:data(byte[6]) addr:0x020c441c local +@5634 kind:data(byte[6]) addr:0x020c4424 local +@5635 kind:data(byte[7]) addr:0x020c442c local +@5636 kind:data(byte[7]) addr:0x020c4434 local +@5637 kind:data(byte[7]) addr:0x020c443c local +@5638 kind:data(byte[11]) addr:0x020c4444 local +@5639 kind:data(byte[7]) addr:0x020c4450 local +@5640 kind:data(byte[17]) addr:0x020c4458 local +@5641 kind:data(byte[7]) addr:0x020c446c local +@5642 kind:data(byte[4]) addr:0x020c4474 local +@5643 kind:data(byte[9]) addr:0x020c4478 local +@5644 kind:data(byte[12]) addr:0x020c4484 local +@5645 kind:data(byte[9]) addr:0x020c4490 local +@5646 kind:data(byte[12]) addr:0x020c449c local +@5647 kind:data(byte[6]) addr:0x020c44a8 local +@4095 kind:data(byte[6]) addr:0x020c44b0 local +@4096 kind:data(byte[7]) addr:0x020c44b8 local +@2191 kind:data(byte[5]) addr:0x020c44c0 local +@2192 kind:data(byte[6]) addr:0x020c44c8 local +@2193 kind:data(byte[6]) addr:0x020c44d0 local +@2194 kind:data(byte[6]) addr:0x020c44d8 local +@2195 kind:data(byte[7]) addr:0x020c44e0 local +@2196 kind:data(byte[7]) addr:0x020c44e8 local +@2197 kind:data(byte[7]) addr:0x020c44f0 local +@2198 kind:data(byte[8]) addr:0x020c44f8 local +@2199 kind:data(byte[8]) addr:0x020c4500 local +@2200 kind:data(byte[8]) addr:0x020c4508 local +@2201 kind:data(byte[10]) addr:0x020c4510 local +@2202 kind:data(byte[12]) addr:0x020c451c local +@2203 kind:data(byte[12]) addr:0x020c4528 local +data_ov001_020c2cf4 kind:data(any) addr:0x020c4534 local +@1725 kind:data(byte[9]) addr:0x020c456c local +@1756 kind:data(byte[14]) addr:0x020c4578 local +@1757 kind:data(byte[14]) addr:0x020c4588 local +@1758 kind:data(byte[7]) addr:0x020c4598 local +@1759 kind:data(byte[8]) addr:0x020c45a0 local +@2363 kind:data(byte[6]) addr:0x020c45a8 local +@2364 kind:data(byte[10]) addr:0x020c45b0 local +@2365 kind:data(byte[8]) addr:0x020c45bc local +@2366 kind:data(byte[6]) addr:0x020c45c4 local +@2367 kind:data(byte[12]) addr:0x020c45cc local +@2368 kind:data(byte[5]) addr:0x020c45d8 local +@2369 kind:data(byte[10]) addr:0x020c45e0 local +@2370 kind:data(byte[10]) addr:0x020c45ec local +@2371 kind:data(byte[10]) addr:0x020c45f8 local +@2372 kind:data(byte[10]) addr:0x020c4604 local +@2373 kind:data(byte[10]) addr:0x020c4610 local +@2374 kind:data(byte[5]) addr:0x020c461c local +@2375 kind:data(byte[5]) addr:0x020c4624 local data_ov001_020c462c kind:data(any) addr:0x020c462c data_ov001_020c4640 kind:data(any) addr:0x020c4640 data_ov001_020c4648 kind:data(any) addr:0x020c4648 diff --git a/config/jp/arm9/overlays/ov019/symbols.txt b/config/jp/arm9/overlays/ov019/symbols.txt index bf359663..88d91f1e 100644 --- a/config/jp/arm9/overlays/ov019/symbols.txt +++ b/config/jp/arm9/overlays/ov019/symbols.txt @@ -11,8 +11,8 @@ _ZN18GameModeFileSelect8vfunc_20Ev kind:function(arm,size=0x4) addr:0x020c6300 _ZN18GameModeFileSelect17LoadAdventureModeEt kind:function(arm,size=0x48) addr:0x020c6304 _ZN18GameModeFileSelect14LoadBattleModeEt kind:function(arm,size=0x28) addr:0x020c634c _ZN18GameModeFileSelect15LoadContactModeEt kind:function(arm,size=0x28) addr:0x020c6374 -_ZN17FileSelectManager6CreateEi kind:function(arm,size=0x2c) addr:0x020c639c -_ZN17FileSelectManagerC1Ei kind:function(arm,size=0x90) addr:0x020c63c8 +_ZN17FileSelectManager6CreateEP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x2c) addr:0x020c639c +_ZN17FileSelectManagerC1EP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x90) addr:0x020c63c8 _ZN25UnkSystem1_ov019_Derived2D1Ev kind:function(arm,size=0x14) addr:0x020c6458 _ZN17FileSelectManagerD1Ev kind:function(arm,size=0xc8) addr:0x020c646c _ZN17FileSelectManagerD0Ev kind:function(arm,size=0xd0) addr:0x020c6534 @@ -24,7 +24,7 @@ _ZN17FileSelectManager19func_ov019_020c503cEv kind:function(arm,size=0x12c) addr _ZN17FileSelectManager8vfunc_28EPc kind:function(arm,size=0x20) addr:0x020c6988 _ZN17FileSelectManager6DrawUIEPc kind:function(arm,size=0x20) addr:0x020c69a8 _ZN17FileSelectManager19func_ov019_020c51a8Ev kind:function(arm,size=0x44) addr:0x020c69c8 -_ZN23UnkStruct_0204a088_BaseD2Ev kind:function(arm,size=0x14) addr:0x020c6a0c +_ZN8InstanceI18UnkStruct_0204a088ED2Ev kind:function(arm,size=0x14) addr:0x020c6a0c _ZN25UnkSystem1_ov019_Derived1C1Ev kind:function(arm,size=0x3c) addr:0x020c6a20 _ZN25UnkSystem1_ov019_Derived18vfunc_08Ei kind:function(arm,size=0x48) addr:0x020c6a5c _ZN25UnkSystem1_ov019_Derived18vfunc_1CEjii kind:function(arm,size=0x1ac) addr:0x020c6aa4 diff --git a/config/jp/arm9/overlays/ov021/symbols.txt b/config/jp/arm9/overlays/ov021/symbols.txt index 63cc4bc3..f49f535f 100644 --- a/config/jp/arm9/overlays/ov021/symbols.txt +++ b/config/jp/arm9/overlays/ov021/symbols.txt @@ -1,4 +1,4 @@ -func_ov021_020eb2c0 kind:function(arm,size=0x234) addr:0x020eb2c0 +_ZN14GameModeBattleC1Ei kind:function(arm,size=0x234) addr:0x020eb2c0 func_ov021_020eb4f4 kind:function(arm,size=0x14) addr:0x020eb4f4 func_ov021_020eb508 kind:function(arm,size=0xa4) addr:0x020eb508 _ZN19func_ov021_020eb5acD0Ev kind:function(arm,size=0xac) addr:0x020eb5ac diff --git a/config/jp/arm9/overlays/ov022/symbols.txt b/config/jp/arm9/overlays/ov022/symbols.txt index c54e8a4d..620603b0 100644 --- a/config/jp/arm9/overlays/ov022/symbols.txt +++ b/config/jp/arm9/overlays/ov022/symbols.txt @@ -1,7 +1,7 @@ func_ov022_020eb2c0 kind:function(arm,size=0x24) addr:0x020eb2c0 func_ov022_020eb2e4 kind:function(arm,size=0x24) addr:0x020eb2e4 func_ov022_020eb308 kind:function(arm,size=0xc) addr:0x020eb308 -func_ov022_020eb314 kind:function(arm,size=0x24) addr:0x020eb314 +_ZN20GameModeDownloadPlay14CreateInstanceEv kind:function(arm,size=0x24) addr:0x020eb314 func_ov022_020eb338 kind:function(arm,size=0x124) addr:0x020eb338 func_ov022_020eb45c kind:function(arm,size=0xb8) addr:0x020eb45c _ZN19func_ov022_020eb514D0Ev kind:function(arm,size=0xc0) addr:0x020eb514 diff --git a/config/jp/arm9/overlays/ov023/symbols.txt b/config/jp/arm9/overlays/ov023/symbols.txt index 96850961..a887c391 100644 --- a/config/jp/arm9/overlays/ov023/symbols.txt +++ b/config/jp/arm9/overlays/ov023/symbols.txt @@ -1,5 +1,5 @@ func_ov023_020eb2c0 kind:function(arm,size=0x3c) addr:0x020eb2c0 -func_ov023_020eb2fc kind:function(arm,size=0x24) addr:0x020eb2fc +_ZN19GameModeContactMode14CreateInstanceEv kind:function(arm,size=0x24) addr:0x020eb2fc func_ov023_020eb320 kind:function(arm,size=0x10) addr:0x020eb320 func_ov023_020eb330 kind:function(arm,size=0xe8) addr:0x020eb330 _ZN19func_ov023_020eb418D1Ev kind:function(arm,size=0x6c) addr:0x020eb418 diff --git a/config/jp/arm9/overlays/ov025/symbols.txt b/config/jp/arm9/overlays/ov025/symbols.txt index 4f3a401a..50bd5853 100644 --- a/config/jp/arm9/overlays/ov025/symbols.txt +++ b/config/jp/arm9/overlays/ov025/symbols.txt @@ -9,8 +9,8 @@ _ZN19GameModeTitleScreen8vfunc_18Ev kind:function(arm,size=0x24) addr:0x020c61fc _ZN19GameModeTitleScreen8vfunc_1CEv kind:function(arm,size=0x24) addr:0x020c6220 _ZN19GameModeTitleScreen8vfunc_20Ev kind:function(arm,size=0x3c) addr:0x020c6244 _ZN18UnkStruct_027e09a419func_ov025_020c4a60Ev kind:function(arm,size=0x2c) addr:0x020c6280 -_ZN18TitleScreenManager6CreateEi kind:function(arm,size=0x2c) addr:0x020c62ac -_ZN18TitleScreenManagerC1Ei kind:function(arm,size=0x58) addr:0x020c62d8 +_ZN18TitleScreenManager6CreateEP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x2c) addr:0x020c62ac +_ZN18TitleScreenManagerC1EP23UnkStruct_0204a110_Sub2 kind:function(arm,size=0x58) addr:0x020c62d8 _ZN18TitleScreenManager8vfunc_14Ev kind:function(arm,size=0x78) addr:0x020c6330 _ZN18TitleScreenManager8vfunc_18Ev kind:function(arm,size=0x34) addr:0x020c63a8 _ZN18TitleScreenManager8vfunc_24Ev kind:function(arm,size=0x20) addr:0x020c63dc diff --git a/config/jp/arm9/overlays/ov026/symbols.txt b/config/jp/arm9/overlays/ov026/symbols.txt index 4b90be07..19cf6375 100644 --- a/config/jp/arm9/overlays/ov026/symbols.txt +++ b/config/jp/arm9/overlays/ov026/symbols.txt @@ -2189,7 +2189,7 @@ func_ov026_0213078c kind:function(arm,size=0x10) addr:0x0213078c func_ov026_0213079c kind:function(arm,size=0x10) addr:0x0213079c func_ov026_021307ac kind:function(arm,size=0xb0) addr:0x021307ac func_ov026_0213085c kind:function(arm,size=0x14) addr:0x0213085c -func_ov026_02130870 kind:function(arm,size=0x54) addr:0x02130870 +func_ov026_0212e54c kind:function(arm,size=0x54) addr:0x02130870 func_ov026_021308c4 kind:function(arm,size=0x4) addr:0x021308c4 func_ov026_021308c8 kind:function(arm,size=0x80) addr:0x021308c8 func_ov026_02130948 kind:function(arm,size=0x110) addr:0x02130948 diff --git a/config/jp/arm9/overlays/ov031/relocs.txt b/config/jp/arm9/overlays/ov031/relocs.txt index 5e71a85c..bf7afb4d 100644 --- a/config/jp/arm9/overlays/ov031/relocs.txt +++ b/config/jp/arm9/overlays/ov031/relocs.txt @@ -5598,7 +5598,7 @@ from:0x0210c9d4 kind:arm_call to:0x02080bb4 module:overlay(0) from:0x0210c9f8 kind:arm_call to:0x0202a17c module:main from:0x0210ca18 kind:load to:0x02117900 module:overlay(31) from:0x0210ca1c kind:load to:0x02115cb0 add:0x8 module:overlay(31) -from:0x0210ca20 kind:load to:0x0218555c module:overlays(97,100,101) +from:0x0210ca20 kind:load to:0x0218555c module:overlay(101) from:0x0210ca2c kind:load to:0x02117da0 module:overlay(31) from:0x0210ca30 kind:load to:0x0211a6b8 module:overlay(31) from:0x0210ca34 kind:load to:0x0211a680 module:overlay(31) @@ -6828,7 +6828,7 @@ from:0x0211473c kind:load to:0x021146c8 module:overlay(31) from:0x02114740 kind:load to:0x0211474c module:overlay(31) from:0x02114744 kind:load to:0x0211474c module:overlay(31) from:0x02114748 kind:load to:0x021146d8 module:overlay(31) -from:0x021147ac kind:load to:0x02185069 module:overlays(97,100,101) +from:0x021147ac kind:load to:0x02185069 module:overlay(101) from:0x021147b0 kind:load to:0x02185141 module:overlay(101) from:0x021147b4 kind:load to:0x021852f1 module:overlay(101) from:0x021147b8 kind:load to:0x02186148 module:overlay(102) @@ -7154,12 +7154,12 @@ from:0x02114e54 kind:load to:0x02099d14 module:overlay(0) from:0x02114e58 kind:load to:0x02099d20 module:overlay(0) from:0x02114e5c kind:load to:0x01fff464 module:itcm from:0x02114e60 kind:load to:0x020c157c module:overlay(17) -from:0x02114e64 kind:load to:0x0218aa88 module:overlays(97,100,105) +from:0x02114e64 kind:load to:0x0218aa88 module:overlay(105) from:0x02114e68 kind:load to:0x02099c58 module:overlay(0) -from:0x02114e6c kind:load to:0x0218aaf8 module:overlays(97,100,105) -from:0x02114e70 kind:load to:0x0218ab08 module:overlays(97,100,105) +from:0x02114e6c kind:load to:0x0218aaf8 module:overlay(105) +from:0x02114e70 kind:load to:0x0218ab08 module:overlay(105) from:0x02114e74 kind:load to:0x02099c64 module:overlay(0) -from:0x02114e78 kind:load to:0x0218ae00 module:overlays(97,100,105) +from:0x02114e78 kind:load to:0x0218ae00 module:overlay(105) from:0x02114e7c kind:load to:0x02099c6c module:overlay(0) from:0x02114e80 kind:load to:0x02099c70 module:overlay(0) from:0x02114e84 kind:load to:0x02099d2c module:overlay(0) @@ -7169,8 +7169,8 @@ from:0x02114e90 kind:load to:0x020c1164 module:overlay(17) from:0x02114e94 kind:load to:0x020c16f8 module:overlay(17) from:0x02114e98 kind:load to:0x020e8100 module:overlay(31) from:0x02114e9c kind:load to:0x020e8160 module:overlay(31) -from:0x02114ea0 kind:load to:0x0218ab18 module:overlays(97,100,105) -from:0x02114ea4 kind:load to:0x0218aae4 module:overlays(97,100,105) +from:0x02114ea0 kind:load to:0x0218ab18 module:overlay(105) +from:0x02114ea4 kind:load to:0x0218aae4 module:overlay(105) from:0x02114eb0 kind:load to:0x020e83b8 module:overlay(31) from:0x02114ecc kind:load to:0x020e8660 module:overlay(31) from:0x02114ed0 kind:load to:0x020e8cdc module:overlay(31) @@ -9375,12 +9375,12 @@ from:0x02117da4 kind:load to:0x0209e1d4 module:overlay(0) from:0x02117da8 kind:load to:0x0209e1dc module:overlay(0) from:0x02117dac kind:load to:0x0209e21c module:overlay(0) from:0x02117db0 kind:load to:0x0218543d module:overlay(101) -from:0x02117dbc kind:load to:0x02187c44 module:overlays(97,100,107,108,110) +from:0x02117dbc kind:load to:0x02187c44 module:overlays(107,108,110) from:0x02117dc0 kind:load to:0x0209e87c module:overlay(0) -from:0x02117dc4 kind:load to:0x021854e8 module:overlays(97,100,101,102) -from:0x02117dc8 kind:load to:0x021856a8 module:overlays(97,100,102) +from:0x02117dc4 kind:load to:0x021854e8 module:overlays(101,102) +from:0x02117dc8 kind:load to:0x021856a8 module:overlay(102) from:0x02117dcc kind:load to:0x020c1dc0 module:overlay(17) -from:0x02117dd0 kind:load to:0x021856f0 module:overlays(97,100,102) +from:0x02117dd0 kind:load to:0x021856f0 module:overlay(102) from:0x02117dd4 kind:load to:0x020c1dc8 module:overlay(17) from:0x02117dd8 kind:load to:0x0210cf54 module:overlay(31) from:0x02117ddc kind:load to:0x0209e998 module:overlay(0) diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index ac2f0eb7..ad8ef49e 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -209,8 +209,8 @@ func_ov031_020dde58 kind:function(arm,size=0x248) addr:0x020dde58 func_ov031_020de0a0 kind:function(arm,size=0x1a0) addr:0x020de0a0 func_ov031_020de240 kind:function(arm,size=0x6c) addr:0x020de240 func_ov031_020de2ac kind:function(arm,size=0x114) addr:0x020de2ac -func_ov031_020de3c0 kind:function(thumb,size=0xc) addr:0x020de3c0 -func_ov031_020de3cc kind:function(thumb,size=0xe) addr:0x020de3cc +_ZN32UnkStruct_027e0ce0_40_Base_7C_04C1Ev kind:function(thumb,size=0xc) addr:0x020de3c0 +_ZN32UnkStruct_027e0ce0_40_Base_7C_04D1Ev kind:function(thumb,size=0xe) addr:0x020de3cc func_ov031_020de3dc kind:function(arm,size=0x10) addr:0x020de3dc func_ov031_020de3ec kind:function(thumb,size=0x84) addr:0x020de3ec func_ov031_020de470 kind:function(arm,size=0x3c) addr:0x020de470 @@ -281,7 +281,7 @@ func_ov031_020e1ff4 kind:function(thumb,size=0x4c) addr:0x020e1ff4 func_ov031_020e2040 kind:function(thumb,size=0x68) addr:0x020e2040 func_ov031_020e20a8 kind:function(thumb,size=0x70) addr:0x020e20a8 func_ov031_020e2118 kind:function(arm,size=0x24) addr:0x020e2118 -_ZN30UnkStruct_ov000_0208f820_30_1019func_ov031_020e076cEv kind:function(thumb,size=0x64) addr:0x020e213c +_ZN21PlayerLinkActor_A0_1019func_ov031_020e076cEv kind:function(thumb,size=0x64) addr:0x020e213c func_ov031_020e21a0 kind:function(arm,size=0xb8) addr:0x020e21a0 func_ov031_020e2258 kind:function(arm,size=0x1c) addr:0x020e2258 func_ov031_020e2274 kind:function(arm,size=0x50) addr:0x020e2274 diff --git a/config/jp/arm9/overlays/ov047/symbols.txt b/config/jp/arm9/overlays/ov047/symbols.txt index 9bdbaffa..ea2bb1ad 100644 --- a/config/jp/arm9/overlays/ov047/symbols.txt +++ b/config/jp/arm9/overlays/ov047/symbols.txt @@ -120,10 +120,10 @@ _ZN12ActorUnkDLTG19func_ov047_02135878Ev kind:function(arm,size=0x2c) addr:0x021 _ZN12ActorUnkDLTG19func_ov047_021358a4Ev kind:function(arm,size=0x1c) addr:0x0213734c _ZN12ActorUnkDLTG19func_ov047_021358c0Ev kind:function(arm,size=0x1d4) addr:0x02137368 _ZN19ActorProfileUnkDLTGD1Ev kind:function(arm,size=0x14) addr:0x0213753c -func_ov047_02137550 kind:function(arm,size=0x10) addr:0x02137550 +_ZN21PlayerLinkActor_A0_28C1EP21PlayerLinkActor_A0_10P21PlayerLinkActor_A0_14 kind:function(arm,size=0x10) addr:0x02137550 func_ov047_02137560 kind:function(arm,size=0x8c) addr:0x02137560 func_ov047_021375ec kind:function(arm,size=0x8c) addr:0x021375ec -func_ov047_02137678 kind:function(arm,size=0x98) addr:0x02137678 +_ZN21PlayerLinkActor_A0_28D1Ev kind:function(arm,size=0x98) addr:0x02137678 func_ov047_02137710 kind:function(arm,size=0x70) addr:0x02137710 data_ov047_02137780 kind:data(any) addr:0x02137780 data_ov047_02137790 kind:data(any) addr:0x02137790 diff --git a/config/jp/arm9/overlays/ov070/relocs.txt b/config/jp/arm9/overlays/ov070/relocs.txt index 47f6cd1f..9a6d2115 100644 --- a/config/jp/arm9/overlays/ov070/relocs.txt +++ b/config/jp/arm9/overlays/ov070/relocs.txt @@ -1967,7 +1967,7 @@ from:0x02150808 kind:load to:0x02140cd0 module:overlay(70) from:0x0215080c kind:load to:0x0214109c module:overlay(70) from:0x02150810 kind:load to:0x021410b0 module:overlay(70) from:0x02150814 kind:load to:0x02140cb0 module:overlay(70) -from:0x02150818 kind:load to:0x02184fdd module:overlays(97,100,101) +from:0x02150818 kind:load to:0x02184fdd module:overlay(101) from:0x02150824 kind:load to:0x021410d8 module:overlay(70) from:0x02150828 kind:load to:0x02098ef4 module:overlay(0) from:0x0215082c kind:load to:0x02098efc module:overlay(0) @@ -2735,10 +2735,10 @@ from:0x02151750 kind:load to:0x0209e164 module:overlay(0) from:0x02151754 kind:load to:0x0209e168 module:overlay(0) from:0x02151760 kind:load to:0x0214d8dc module:overlay(70) from:0x02151764 kind:load to:0x0214da20 module:overlay(70) -from:0x02151768 kind:load to:0x02185968 module:overlays(97,100,102) -from:0x0215176c kind:load to:0x02185ae8 module:overlays(97,100,102) +from:0x02151768 kind:load to:0x02185968 module:overlay(102) +from:0x0215176c kind:load to:0x02185ae8 module:overlay(102) from:0x02151770 kind:load to:0x020c1dc0 module:overlay(17) -from:0x02151774 kind:load to:0x02185afc module:overlays(97,100,102) +from:0x02151774 kind:load to:0x02185afc module:overlay(102) from:0x02151778 kind:load to:0x0214de64 module:overlay(70) from:0x0215177c kind:load to:0x0214dbf0 module:overlay(70) from:0x02151780 kind:load to:0x0209e998 module:overlay(0) diff --git a/config/jp/arm9/overlays/ov082/symbols.txt b/config/jp/arm9/overlays/ov082/symbols.txt index c79fb41c..db8bdd99 100644 --- a/config/jp/arm9/overlays/ov082/symbols.txt +++ b/config/jp/arm9/overlays/ov082/symbols.txt @@ -106,8 +106,8 @@ _ZN12ActorUnkDSWTD1Ev kind:function(arm,size=0x20) addr:0x02159a78 _ZN12ActorUnkDSWTD0Ev kind:function(arm,size=0x28) addr:0x02159a98 _ZN19ActorProfileUnkDSWTD1Ev kind:function(arm,size=0x14) addr:0x02159ac0 func_ov082_02159ad4 kind:function(thumb,size=0x12) addr:0x02159ad4 -func_ov082_02159ae8 kind:function(thumb,size=0xe) addr:0x02159ae8 -func_ov082_02159af8 kind:function(arm,size=0x3c) addr:0x02159af8 +_ZN21PlayerLinkActor_A0_18D1Ev kind:function(thumb,size=0xe) addr:0x02159ae8 +_ZN21PlayerLinkActor_A0_1819func_ov082_02157bb8Ev kind:function(arm,size=0x3c) addr:0x02159af8 func_ov082_02159b34 kind:function(arm,size=0x38) addr:0x02159b34 func_ov082_02159b6c kind:function(arm,size=0x24) addr:0x02159b6c func_ov082_02159b90 kind:function(arm,size=0x240) addr:0x02159b90 diff --git a/config/jp/arm9/overlays/ov083/relocs.txt b/config/jp/arm9/overlays/ov083/relocs.txt index e457fefc..e3fbdaec 100644 --- a/config/jp/arm9/overlays/ov083/relocs.txt +++ b/config/jp/arm9/overlays/ov083/relocs.txt @@ -1537,10 +1537,10 @@ from:0x021600a4 kind:load to:0x01fff464 module:itcm from:0x021600a8 kind:load to:0x020c157c module:overlay(17) from:0x021600ac kind:load to:0x0215e48c module:overlay(83) from:0x021600b0 kind:load to:0x02099c58 module:overlay(0) -from:0x021600b4 kind:load to:0x0218364c module:overlays(97,98) -from:0x021600b8 kind:load to:0x0218369c module:overlays(97,98) +from:0x021600b4 kind:load to:0x0218364c module:overlay(98) +from:0x021600b8 kind:load to:0x0218369c module:overlay(98) from:0x021600bc kind:load to:0x02099c64 module:overlay(0) -from:0x021600c0 kind:load to:0x021836b0 module:overlays(97,98) +from:0x021600c0 kind:load to:0x021836b0 module:overlay(98) from:0x021600c4 kind:load to:0x02099c6c module:overlay(0) from:0x021600c8 kind:load to:0x02099c70 module:overlay(0) from:0x021600cc kind:load to:0x02099d2c module:overlay(0) @@ -1566,10 +1566,10 @@ from:0x02160158 kind:load to:0x01fff464 module:itcm from:0x0216015c kind:load to:0x020c157c module:overlay(17) from:0x02160160 kind:load to:0x0215e640 module:overlay(83) from:0x02160164 kind:load to:0x02099c58 module:overlay(0) -from:0x02160168 kind:load to:0x02182ef8 module:overlays(97,98) -from:0x0216016c kind:load to:0x02182f48 module:overlays(97,98) +from:0x02160168 kind:load to:0x02182ef8 module:overlay(98) +from:0x0216016c kind:load to:0x02182f48 module:overlay(98) from:0x02160170 kind:load to:0x02099c64 module:overlay(0) -from:0x02160174 kind:load to:0x02182f5c module:overlays(97,98,99) +from:0x02160174 kind:load to:0x02182f5c module:overlays(98,99) from:0x02160178 kind:load to:0x02099c6c module:overlay(0) from:0x0216017c kind:load to:0x02099c70 module:overlay(0) from:0x02160180 kind:load to:0x02099d2c module:overlay(0) diff --git a/config/jp/arm9/overlays/ov088/symbols.txt b/config/jp/arm9/overlays/ov088/symbols.txt index 536619cd..67bfd5ca 100644 --- a/config/jp/arm9/overlays/ov088/symbols.txt +++ b/config/jp/arm9/overlays/ov088/symbols.txt @@ -565,7 +565,7 @@ _ZN19func_ov088_021759ecD1Ev kind:function(arm,size=0x20) addr:0x021759ec _ZN19func_ov088_02175a0cD0Ev kind:function(arm,size=0x28) addr:0x02175a0c func_ov088_02175a34 kind:function(arm,size=0x16c) addr:0x02175a34 func_ov088_02175ba0 kind:function(arm,size=0x13c) addr:0x02175ba0 -func_ov088_02175cdc kind:function(arm,size=0x140) addr:0x02175cdc +_ZN36UnkStruct_ov000_020b504c_0C_Derived4C1Ev kind:function(arm,size=0x140) addr:0x02175cdc _ZN19func_ov088_02175e1cD1Ev kind:function(arm,size=0x3c) addr:0x02175e1c _ZN19func_ov088_02175e58D0Ev kind:function(arm,size=0x44) addr:0x02175e58 func_ov088_02175e9c kind:function(arm,size=0x54) addr:0x02175e9c @@ -895,4 +895,4 @@ _ZN15ProfileInstanceI19ActorProfileUnkDMETE8sProfileE kind:bss addr:0x021792b8 _ZGVN15ProfileInstanceI19ActorProfileUnkRMM2E8sProfileE kind:bss addr:0x02179390 @34097 kind:bss addr:0x02179394 _ZN15ProfileInstanceI19ActorProfileUnkRMM2E8sProfileE kind:bss addr:0x021793a0 -data_ov088_02179478 kind:bss addr:0x02179478 +data_ov088_02177218 kind:bss addr:0x02179478 diff --git a/config/jp/arm9/overlays/ov094/relocs.txt b/config/jp/arm9/overlays/ov094/relocs.txt index ffcdda7f..c452d4d8 100644 --- a/config/jp/arm9/overlays/ov094/relocs.txt +++ b/config/jp/arm9/overlays/ov094/relocs.txt @@ -2911,10 +2911,10 @@ from:0x0217a154 kind:load to:0x01fff464 module:itcm from:0x0217a158 kind:load to:0x020c157c module:overlay(17) from:0x0217a15c kind:load to:0x021729f0 module:overlay(94) from:0x0217a160 kind:load to:0x02099c58 module:overlay(0) -from:0x0217a164 kind:load to:0x0218364c module:overlays(97,98) -from:0x0217a168 kind:load to:0x0218369c module:overlays(97,98) +from:0x0217a164 kind:load to:0x0218364c module:overlay(98) +from:0x0217a168 kind:load to:0x0218369c module:overlay(98) from:0x0217a16c kind:load to:0x02099c64 module:overlay(0) -from:0x0217a170 kind:load to:0x021836b0 module:overlays(97,98) +from:0x0217a170 kind:load to:0x021836b0 module:overlay(98) from:0x0217a174 kind:load to:0x02099c6c module:overlay(0) from:0x0217a178 kind:load to:0x02099c70 module:overlay(0) from:0x0217a17c kind:load to:0x02099d2c module:overlay(0) @@ -2940,10 +2940,10 @@ from:0x0217a208 kind:load to:0x01fff464 module:itcm from:0x0217a20c kind:load to:0x020c157c module:overlay(17) from:0x0217a210 kind:load to:0x02172ba4 module:overlay(94) from:0x0217a214 kind:load to:0x02099c58 module:overlay(0) -from:0x0217a218 kind:load to:0x02182ef8 module:overlays(97,98) -from:0x0217a21c kind:load to:0x02182f48 module:overlays(97,98) +from:0x0217a218 kind:load to:0x02182ef8 module:overlay(98) +from:0x0217a21c kind:load to:0x02182f48 module:overlay(98) from:0x0217a220 kind:load to:0x02099c64 module:overlay(0) -from:0x0217a224 kind:load to:0x02182f5c module:overlays(97,98,99) +from:0x0217a224 kind:load to:0x02182f5c module:overlays(98,99) from:0x0217a228 kind:load to:0x02099c6c module:overlay(0) from:0x0217a22c kind:load to:0x02099c70 module:overlay(0) from:0x0217a230 kind:load to:0x02099d2c module:overlay(0) diff --git a/config/jp/arm9/overlays/ov097/delinks.txt b/config/jp/arm9/overlays/ov097/delinks.txt index 1812924e..b0c3037d 100644 --- a/config/jp/arm9/overlays/ov097/delinks.txt +++ b/config/jp/arm9/overlays/ov097/delinks.txt @@ -1,2 +1,6 @@ .ctor start:0x02182bc0 end:0x02182bc0 kind:rodata align:4 .bss start:0x02182be0 end:0x0218b7e0 kind:bss align:32 + +src/097_TrainMsg/TrainMsg.cpp: + complete + .bss start:0x02182be0 end:0x0218b7e0 diff --git a/config/jp/arm9/overlays/ov097/symbols.txt b/config/jp/arm9/overlays/ov097/symbols.txt index 680826ae..d941982d 100644 --- a/config/jp/arm9/overlays/ov097/symbols.txt +++ b/config/jp/arm9/overlays/ov097/symbols.txt @@ -1,45 +1 @@ -data_ov097_02182be0 kind:bss addr:0x02182be0 -data_ov097_02182c34 kind:bss addr:0x02182c34 ambiguous -data_ov097_02182c58 kind:bss addr:0x02182c58 ambiguous -data_ov097_02182ef8 kind:bss addr:0x02182ef8 ambiguous -data_ov097_02182f48 kind:bss addr:0x02182f48 ambiguous -data_ov097_02182f5c kind:bss addr:0x02182f5c ambiguous -data_ov097_02182fdc kind:bss addr:0x02182fdc ambiguous -data_ov097_02183208 kind:bss addr:0x02183208 ambiguous -data_ov097_021833ec kind:bss addr:0x021833ec ambiguous -data_ov097_02183408 kind:bss addr:0x02183408 ambiguous -data_ov097_0218364c kind:bss addr:0x0218364c ambiguous -data_ov097_0218369c kind:bss addr:0x0218369c ambiguous -data_ov097_021836b0 kind:bss addr:0x021836b0 ambiguous -data_ov097_02183744 kind:bss addr:0x02183744 ambiguous -data_ov097_0218390c kind:bss addr:0x0218390c ambiguous -data_ov097_02183af0 kind:bss addr:0x02183af0 ambiguous -data_ov097_021847c0 kind:bss addr:0x021847c0 ambiguous -data_ov097_021849d4 kind:bss addr:0x021849d4 ambiguous -data_ov097_02184fdd kind:bss addr:0x02184fdd ambiguous -data_ov097_02185069 kind:bss addr:0x02185069 ambiguous -data_ov097_02185141 kind:bss addr:0x02185141 ambiguous -data_ov097_02185221 kind:bss addr:0x02185221 ambiguous -data_ov097_021852f1 kind:bss addr:0x021852f1 ambiguous -data_ov097_0218543d kind:bss addr:0x0218543d ambiguous -data_ov097_021854e8 kind:bss addr:0x021854e8 ambiguous -data_ov097_0218555c kind:bss addr:0x0218555c ambiguous -data_ov097_021856a8 kind:bss addr:0x021856a8 ambiguous -data_ov097_021856f0 kind:bss addr:0x021856f0 ambiguous -data_ov097_02185968 kind:bss addr:0x02185968 ambiguous -data_ov097_02185ae8 kind:bss addr:0x02185ae8 ambiguous -data_ov097_02185afc kind:bss addr:0x02185afc ambiguous -data_ov097_02186148 kind:bss addr:0x02186148 ambiguous -data_ov097_021861a8 kind:bss addr:0x021861a8 ambiguous -data_ov097_021861c4 kind:bss addr:0x021861c4 ambiguous -data_ov097_02186354 kind:bss addr:0x02186354 ambiguous -data_ov097_02186908 kind:bss addr:0x02186908 ambiguous -data_ov097_021871b0 kind:bss addr:0x021871b0 ambiguous -data_ov097_02187c44 kind:bss addr:0x02187c44 ambiguous -data_ov097_0218a9c8 kind:bss addr:0x0218a9c8 ambiguous -data_ov097_0218aa88 kind:bss addr:0x0218aa88 ambiguous -data_ov097_0218aae4 kind:bss addr:0x0218aae4 ambiguous -data_ov097_0218aaf8 kind:bss addr:0x0218aaf8 ambiguous -data_ov097_0218ab08 kind:bss addr:0x0218ab08 ambiguous -data_ov097_0218ab18 kind:bss addr:0x0218ab18 ambiguous -data_ov097_0218ae00 kind:bss addr:0x0218ae00 ambiguous +gBufferTrainMsg kind:bss(size=0x8c00) addr:0x02182be0 diff --git a/config/jp/arm9/overlays/ov100/delinks.txt b/config/jp/arm9/overlays/ov100/delinks.txt index c9dd10f9..adcd9829 100644 --- a/config/jp/arm9/overlays/ov100/delinks.txt +++ b/config/jp/arm9/overlays/ov100/delinks.txt @@ -1,2 +1,6 @@ .ctor start:0x021847a0 end:0x021847a0 kind:rodata align:4 .bss start:0x021847c0 end:0x0218b7c0 kind:bss align:32 + +src/100_CollectMsg/CollectMsg.cpp: + complete + .bss start:0x021847c0 end:0x0218b7c0 diff --git a/config/jp/arm9/overlays/ov100/symbols.txt b/config/jp/arm9/overlays/ov100/symbols.txt index ca41ac07..3a5d1b9e 100644 --- a/config/jp/arm9/overlays/ov100/symbols.txt +++ b/config/jp/arm9/overlays/ov100/symbols.txt @@ -1,29 +1 @@ -data_ov100_021847c0 kind:bss addr:0x021847c0 ambiguous -data_ov100_021849d4 kind:bss addr:0x021849d4 ambiguous -data_ov100_02184fdd kind:bss addr:0x02184fdd ambiguous -data_ov100_02185069 kind:bss addr:0x02185069 ambiguous -data_ov100_02185141 kind:bss addr:0x02185141 ambiguous -data_ov100_02185221 kind:bss addr:0x02185221 ambiguous -data_ov100_021852f1 kind:bss addr:0x021852f1 ambiguous -data_ov100_0218543d kind:bss addr:0x0218543d ambiguous -data_ov100_021854e8 kind:bss addr:0x021854e8 ambiguous -data_ov100_0218555c kind:bss addr:0x0218555c ambiguous -data_ov100_021856a8 kind:bss addr:0x021856a8 ambiguous -data_ov100_021856f0 kind:bss addr:0x021856f0 ambiguous -data_ov100_02185968 kind:bss addr:0x02185968 ambiguous -data_ov100_02185ae8 kind:bss addr:0x02185ae8 ambiguous -data_ov100_02185afc kind:bss addr:0x02185afc ambiguous -data_ov100_02186148 kind:bss addr:0x02186148 ambiguous -data_ov100_021861a8 kind:bss addr:0x021861a8 ambiguous -data_ov100_021861c4 kind:bss addr:0x021861c4 ambiguous -data_ov100_02186354 kind:bss addr:0x02186354 ambiguous -data_ov100_02186908 kind:bss addr:0x02186908 ambiguous -data_ov100_021871b0 kind:bss addr:0x021871b0 ambiguous -data_ov100_02187c44 kind:bss addr:0x02187c44 ambiguous -data_ov100_0218a9c8 kind:bss addr:0x0218a9c8 ambiguous -data_ov100_0218aa88 kind:bss addr:0x0218aa88 ambiguous -data_ov100_0218aae4 kind:bss addr:0x0218aae4 ambiguous -data_ov100_0218aaf8 kind:bss addr:0x0218aaf8 ambiguous -data_ov100_0218ab08 kind:bss addr:0x0218ab08 ambiguous -data_ov100_0218ab18 kind:bss addr:0x0218ab18 ambiguous -data_ov100_0218ae00 kind:bss addr:0x0218ae00 ambiguous +gBufferCollectMsg kind:bss(size=0x7000) addr:0x021847c0 diff --git a/config/jp/arm9/overlays/ov101/symbols.txt b/config/jp/arm9/overlays/ov101/symbols.txt index dc39004d..45534281 100644 --- a/config/jp/arm9/overlays/ov101/symbols.txt +++ b/config/jp/arm9/overlays/ov101/symbols.txt @@ -15,7 +15,7 @@ _ZN21UnkStruct_027e0ce0_4019func_ov101_02182fb4Eb kind:function(thumb,size=0x50) _ZN21UnkStruct_027e0ce0_4019func_ov101_02183004Ev kind:function(thumb,size=0x1e) addr:0x02184b84 _ZN21UnkStruct_027e0ce0_4019func_ov101_02183024EPK24UnkStruct_ov001_020c40f4S2_iiP11ItemManagerP21UnkStruct_027e0ce0_30bb kind:function(thumb,size=0x260) addr:0x02184ba4 func_ov101_02184e04 kind:function(thumb,size=0xc) addr:0x02184e04 -func_ov101_02184e10 kind:function(thumb,size=0x48) addr:0x02184e10 +_ZN21PlayerLinkActor_A0_1C19func_ov101_02183290Ev kind:function(thumb,size=0x48) addr:0x02184e10 func_ov101_02184e58 kind:function(thumb,size=0x50) addr:0x02184e58 func_ov101_02184ea8 kind:function(thumb,size=0x134) addr:0x02184ea8 func_ov101_02184fdc kind:function(thumb,size=0x2) addr:0x02184fdc diff --git a/config/jp/arm9/symbols.txt b/config/jp/arm9/symbols.txt index 53e27586..7ee2191b 100644 --- a/config/jp/arm9/symbols.txt +++ b/config/jp/arm9/symbols.txt @@ -919,9 +919,9 @@ _ZN18UnkStruct_0204a06013func_02018424Ev kind:function(thumb,size=0x14) addr:0x0 _ZN18UnkStruct_0204a060D1Ev kind:function(arm,size=0x14) addr:0x020183d0 _ZN18UnkStruct_0204a060D0Ev kind:function(arm,size=0x1c) addr:0x020183e4 _ZN18UnkStruct_0204a060D2Ev kind:function(arm,size=0x14) addr:0x02018400 -_ZN19GameModeManagerBase6CreateEi kind:function(thumb,size=0x1c) addr:0x02018414 -_ZN19GameModeManagerBaseC2Ei kind:function(thumb,size=0x5c) addr:0x02018430 -_ZN19GameModeManagerBaseC1Ei kind:function(thumb,size=0x5c) addr:0x0201848c +_ZN19GameModeManagerBase6CreateEP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x1c) addr:0x02018414 +_ZN19GameModeManagerBaseC2EP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x5c) addr:0x02018430 +_ZN19GameModeManagerBaseC1EP23UnkStruct_0204a110_Sub2 kind:function(thumb,size=0x5c) addr:0x0201848c _ZN19GameModeManagerBase13func_02018550Ev kind:function(thumb,size=0x2) addr:0x020184e8 _ZN19GameModeManagerBase13func_02018554Ev kind:function(thumb,size=0x2) addr:0x020184ec _ZN19GameModeManagerBaseD1Ev kind:function(thumb,size=0x24) addr:0x020184f0 @@ -1088,7 +1088,7 @@ func_0201c4bc kind:function(thumb,size=0x6e) addr:0x0201c4bc func_0201c52c kind:function(arm,size=0x44) addr:0x0201c52c func_0201c570 kind:function(arm,size=0x84) addr:0x0201c570 func_0201c5f4 kind:function(arm,size=0x8c) addr:0x0201c5f4 -_ZN23UnkStruct_0204a110_Sub213func_0201c890Eiiiii kind:function(thumb,size=0x40) addr:0x0201c680 +_ZN23UnkStruct_0204a110_Sub213func_0201c890Eiibbb kind:function(thumb,size=0x40) addr:0x0201c680 func_0201c6c0 kind:function(thumb,size=0x94) addr:0x0201c6c0 func_0201c754 kind:function(thumb,size=0x16) addr:0x0201c754 func_0201c76c kind:function(thumb,size=0x2) addr:0x0201c76c @@ -1118,7 +1118,7 @@ func_0201d83c kind:function(arm,size=0xc8) addr:0x0201d83c _ZN23UnkStruct_0204a110_Sub713func_0201db14EiiP5Vec2sS1_ii kind:function(arm,size=0xfc) addr:0x0201d904 _ZN23UnkStruct_0204a110_Sub713func_0201dc10EPsii kind:function(arm,size=0x148) addr:0x0201da00 _ZN23UnkStruct_0204a110_Sub713func_0201dd58Eii kind:function(arm,size=0xcc) addr:0x0201db48 -func_0201dc14 kind:function(arm,size=0x2c0) addr:0x0201dc14 +_ZN23UnkStruct_0204a110_Sub813func_0201de24Ev kind:function(arm,size=0x2c0) addr:0x0201dc14 func_0201ded4 kind:function(arm,size=0x174) addr:0x0201ded4 func_0201e048 kind:function(arm,size=0x330) addr:0x0201e048 _ZN23UnkStruct_0204a110_Sub813func_0201e588Eiiiii kind:function(arm,size=0x88) addr:0x0201e378 @@ -1248,10 +1248,10 @@ func_02021544 kind:function(arm,size=0x168) addr:0x02021544 func_020216ac kind:function(arm,size=0x50) addr:0x020216ac func_020216fc kind:function(arm,size=0x16c) addr:0x020216fc func_02021868 kind:function(arm,size=0x1a4) addr:0x02021868 -_ZN24UnkStruct_ov000_02067bc413func_02021becEs kind:function(arm,size=0x8) addr:0x02021a0c +_ZN32UnkStruct_ov000_020b504c_0C_Base13func_02021becEs kind:function(arm,size=0x8) addr:0x02021a0c func_02021a14 kind:function(arm,size=0x14) addr:0x02021a14 -_ZN24UnkStruct_ov000_02067bc413func_02021c08Ev kind:function(arm,size=0x24) addr:0x02021a28 -_ZN24UnkStruct_ov000_02067bc413func_02021c2cEv kind:function(arm,size=0x10) addr:0x02021a4c +_ZN32UnkStruct_ov000_020b504c_0C_Base13func_02021c08Ev kind:function(arm,size=0x24) addr:0x02021a28 +_ZN32UnkStruct_ov000_020b504c_0C_Base13func_02021c2cEv kind:function(arm,size=0x10) addr:0x02021a4c func_02021a5c kind:function(arm,size=0x14) addr:0x02021a5c func_02021a70 kind:function(arm,size=0x8) addr:0x02021a70 func_02021a78 kind:function(arm,size=0x18) addr:0x02021a78 @@ -1265,9 +1265,9 @@ func_02021d78 kind:function(arm,size=0xc) addr:0x02021d78 func_02021d84 kind:function(arm,size=0xb0) addr:0x02021d84 func_02021e34 kind:function(arm,size=0xc8) addr:0x02021e34 func_02021efc kind:function(arm,size=0x60) addr:0x02021efc -_ZN29UnkStruct_ov000_02067bc4_Sub113func_02022128Ev kind:function(arm,size=0x14) addr:0x02021f5c +_ZN36UnkStruct_ov000_020b504c_28_Base_16013func_02022128Ev kind:function(arm,size=0x14) addr:0x02021f5c func_02021f70 kind:function(arm,size=0x1c) addr:0x02021f70 -func_02021f8c kind:function(arm,size=0x20) addr:0x02021f8c +_ZN27UnkStruct_ov000_020b504c_28C1Ei kind:function(arm,size=0x20) addr:0x02021f8c func_02021fac kind:function(arm,size=0x54) addr:0x02021fac func_02022000 kind:function(arm,size=0x8c) addr:0x02022000 func_0202208c kind:function(arm,size=0x70) addr:0x0202208c @@ -1275,7 +1275,7 @@ func_020220fc kind:function(arm,size=0x68) addr:0x020220fc func_02022164 kind:function(arm,size=0x84) addr:0x02022164 func_020221e8 kind:function(arm,size=0x60) addr:0x020221e8 func_02022248 kind:function(arm,size=0xa4) addr:0x02022248 -func_020222ec kind:function(arm,size=0x20) addr:0x020222ec +_ZN27UnkStruct_ov000_020b504c_2CC1Ei kind:function(arm,size=0x20) addr:0x020222ec func_0202230c kind:function(arm,size=0x40) addr:0x0202230c func_0202234c kind:function(arm,size=0x2d0) addr:0x0202234c func_0202261c kind:function(arm,size=0x3c) addr:0x0202261c @@ -1294,7 +1294,7 @@ func_02022a10 kind:function(arm,size=0x190) addr:0x02022a10 func_02022ba0 kind:function(arm,size=0x90) addr:0x02022ba0 func_02022c30 kind:function(arm,size=0x7c) addr:0x02022c30 func_02022cac kind:function(arm,size=0x160) addr:0x02022cac -func_02022e0c kind:function(arm,size=0x2c) addr:0x02022e0c +func_02022884 kind:function(arm,size=0x2c) addr:0x02022e0c func_02022e38 kind:function(arm,size=0x24) addr:0x02022e38 func_02022e5c kind:function(arm,size=0x2f8) addr:0x02022e5c func_02023154 kind:function(arm,size=0x324) addr:0x02023154 diff --git a/docs/overlays.md b/docs/overlays.md index 2514c195..58806c28 100644 --- a/docs/overlays.md +++ b/docs/overlays.md @@ -29,10 +29,10 @@ Each overlay is tied to an index which is used to access the overlay in two diff `018` | StartUp | `021` | `4` | Exists briefly on game startup. Initializes RNG, messages, and more. `019` | MainSelect | `024` | `4` | File Select `020` | WirelessCommon | `025` | `4` | -`021` | BattleGame | `026` | `5` | +`021` | BattleGame | `026` | `5` | Battle Mode `022` | Download | `027` | `5` | Handles DS download play. -`023` | Wxc | `028` | `5` | -`024` | MainGame | `022` | `4` | +`023` | Wxc | `028` | `5` | Contact Mode ("Wireless Exchange") +`024` | MainGame | `022` | `4` | Adventure Mode `025` | Title | `023` | `4` | Title Screen `026` | Train | `030` | `6` | `027` | TrainForest | `058` | `8` | diff --git a/include/FileSelect/FileSelect.hpp b/include/FileSelect/FileSelect.hpp index 13a93141..82fae14e 100644 --- a/include/FileSelect/FileSelect.hpp +++ b/include/FileSelect/FileSelect.hpp @@ -11,7 +11,7 @@ #include "types.h" #include -extern const unk16 data_ov019_020d1bb0[]; +extern const s16 data_ov019_020d1bb0[]; extern "C" void func_ov001_020bd6a8(); class FileSelect_UnkClass7_04 { @@ -87,7 +87,7 @@ public: /* 180 */ // clang-format off - FileSelectManager(unk32 param1) NO_INLINE : + FileSelectManager(UnkStruct_0204a110_Sub2* param1) NO_INLINE : GameModeManagerBase(param1), mUnk_154(&this->mUnk_104), mUnk_158(NULL), @@ -100,7 +100,7 @@ public: REG_DISPCNT_SUB &= 0xFFCFFFEF; REG_DISPCNT_SUB |= 0x00200010; - this->mUnk_004.func_ov001_020bd734((unk32*)data_ov019_020d1bb0); + this->mUnk_004.func_ov001_020bd734(data_ov019_020d1bb0); func_ov001_020bd6a8(); } // clang-format on @@ -116,7 +116,7 @@ public: /* 28 */ virtual void vfunc_28(unk8 *param1) override; /* 2C */ virtual void DrawUI(unk8 *param1) override; - static GameModeManagerBase *Create(unk32 param1); + static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1); }; // static initializers classes diff --git a/include/Game/GameModeAdventure.hpp b/include/Game/GameModeAdventure.hpp index f9b2944c..8846a0ca 100644 --- a/include/Game/GameModeAdventure.hpp +++ b/include/Game/GameModeAdventure.hpp @@ -1,12 +1,14 @@ #pragma once #include "Game/GameMode.hpp" -// #include "Unknown/UnkStruct_0204a060.hpp" #include "global.h" #include "types.h" class GameModeAdventure : public GameModeBase { public: + /* 00 (base) */ + /* 04 */ + GameModeAdventure(); // data_ov024_020d7b68 vtable @@ -18,4 +20,7 @@ public: /* 18 */ virtual void vfunc_18() override; /* 1C */ virtual void vfunc_1C() override; /* 20 */ virtual void vfunc_20() override; + + // overlay 1 + static GameModeBase *Create(); }; diff --git a/include/Game/GameModeBattle.hpp b/include/Game/GameModeBattle.hpp new file mode 100644 index 00000000..d674a063 --- /dev/null +++ b/include/Game/GameModeBattle.hpp @@ -0,0 +1,27 @@ +#pragma once + +#include "Game/GameMode.hpp" +#include "global.h" +#include "types.h" + +class GameModeBattle : public GameModeBase { +public: + /* 00 (base) */ + /* 04 */ STRUCT_PAD(0x04, 0x4C); + /* 4C */ + + GameModeBattle(unk32 param1); + + /* 00 */ virtual ~GameModeBattle() override; + /* 08 */ virtual void vfunc_08() override; // Init + /* 0C */ virtual void vfunc_0C() override; // Update + /* 10 */ virtual void vfunc_10() override; + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual void vfunc_18() override; + /* 1C */ virtual void vfunc_1C() override; + /* 20 */ virtual void vfunc_20() override; + /* 24 */ virtual unk32 vfunc_24() override; + + // overlay 1 + static GameModeBase *Create(); +}; diff --git a/include/Game/GameModeContactMode.hpp b/include/Game/GameModeContactMode.hpp new file mode 100644 index 00000000..3dd3aba4 --- /dev/null +++ b/include/Game/GameModeContactMode.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "Game/GameMode.hpp" +#include "Unknown/UnkStruct_0204a060.hpp" +#include "global.h" +#include "types.h" + +class GameModeContactMode : public GameModeBase { +public: + /* 00 (base) */ + /* 04 */ STRUCT_PAD(0x04, 0x20); + /* 20 */ + + GameModeContactMode(); + + /* 00 */ virtual ~GameModeContactMode() override; + + // overlay 1 + static GameModeBase *Create(); + + // overlay 23 + static GameModeBase *CreateInstance(); +}; diff --git a/include/Game/GameModeDownloadPlay.hpp b/include/Game/GameModeDownloadPlay.hpp new file mode 100644 index 00000000..4bb1b2dc --- /dev/null +++ b/include/Game/GameModeDownloadPlay.hpp @@ -0,0 +1,23 @@ +#pragma once + +#include "Game/GameMode.hpp" +#include "Unknown/UnkStruct_0204a060.hpp" +#include "global.h" +#include "types.h" + +class GameModeDownloadPlay : public GameModeBase { +public: + /* 00 (base) */ + /* 04 */ STRUCT_PAD(0x04, 0x6C); + /* 6C */ + + GameModeDownloadPlay(); + + /* 00 */ virtual ~GameModeDownloadPlay() override; + + // overlay 1 + static GameModeBase *Create(); + + // overlay 22 + static GameModeBase *CreateInstance(); +}; diff --git a/include/Game/GameModeManager.hpp b/include/Game/GameModeManager.hpp index 67402468..e69f7b9a 100644 --- a/include/Game/GameModeManager.hpp +++ b/include/Game/GameModeManager.hpp @@ -14,14 +14,26 @@ class GameModeManagerBase; class GameModeManagerBase_104; class GameModeManagerBase_104_0C; +class UnkStruct_0204a110_Sub2; + +class GameModeManagerBase_004_00 { +public: + /* 00 */ STRUCT_PAD(0x00, 0x38); + /* 38 */ + + GameModeManagerBase_004_00(s16 param1); + ~GameModeManagerBase_004_00(); +}; class GameModeManagerBase_004 { public: - unk32 *mUnk_00; + /* 00 */ GameModeManagerBase_004_00 *mUnk_00[60]; + /* F0 */ GameModeManagerBase_004(); ~GameModeManagerBase_004(); + // main void func_0201bf24(); void func_0201bf54(); void func_0201bf90(); @@ -36,7 +48,8 @@ public: void func_0201c22c(); bool func_0201c2b0(unk32 param1); - void func_ov001_020bd734(unk32 *param1); + // overlay 1 + void func_ov001_020bd734(const s16 *param1); void func_ov001_020bd784(); }; @@ -83,22 +96,13 @@ class GameModeManagerBase { public: /* 000 (vtable) */ /* 004 */ GameModeManagerBase_004 mUnk_004; - /* 008 */ void *mUnk_008; - /* 00C */ STRUCT_PAD(0x0C, 0x1A); - /* 01A */ bool mUnk_01A; - /* 01C */ STRUCT_PAD(0x1C, 0xE0); - /* 0E0 */ void *mUnk_0E0; - /* 0E4 */ void *mUnk_0E4; - /* 0E8 */ void *mUnk_0E8; - /* 0EC */ unk32 mUnk_0EC; - /* 0F0 */ unk32 mUnk_0F0; /* 0F4 */ bool mUnk_0F4; /* 0F4 */ bool mUnk_0F5; /* 0F4 */ unk8 mUnk_0F6; /* 0F4 */ unk8 mUnk_0F7; /* 0F8 */ unk32 mUnk_0F8; /* 0FC */ unk32 mUnk_0FC; - /* 100 */ void *mUnk_100; + /* 100 */ UnkStruct_0204a110_Sub2 *mUnk_100; /* 104 */ GameModeManagerBase_104 mUnk_104; /* 120 */ Input mButtons; /* 126 */ TouchControl mTouchControl; @@ -114,7 +118,7 @@ public: return this->mUnk_150; } - GameModeManagerBase(unk32 param1); + GameModeManagerBase(UnkStruct_0204a110_Sub2 *param1); void func_02018550(void); void func_02018554(void); void func_02018634(u16 speed); @@ -153,7 +157,7 @@ public: /* 30 */ virtual void vfunc_30(unk32 param1); /* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2); - static GameModeManagerBase *Create(unk32 param1); + static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1); }; class TitleScreenManager_Base : public GameModeManagerBase { diff --git a/include/Game/GameModeTitleScreen.hpp b/include/Game/GameModeTitleScreen.hpp index 5c77793c..0cd16047 100644 --- a/include/Game/GameModeTitleScreen.hpp +++ b/include/Game/GameModeTitleScreen.hpp @@ -21,6 +21,9 @@ public: /* 18 */ virtual void vfunc_18() override; /* 1C */ virtual void vfunc_1C() override; /* 20 */ virtual void vfunc_20() override; + + // overlay 1 + static GameModeBase *Create(); }; extern void func_ov018_020c4b08(unk16 *param1); diff --git a/include/MainGame/AdventureMode.hpp b/include/MainGame/AdventureMode.hpp index 1357328d..604d51d1 100644 --- a/include/MainGame/AdventureMode.hpp +++ b/include/MainGame/AdventureMode.hpp @@ -947,7 +947,7 @@ public: /* 1C4 */ SceneInfos mUnk_1CC; /* 1D4 */ - AdventureModeManager(unk32 param1); + AdventureModeManager(UnkStruct_0204a110_Sub2 *param1); // data_ov024_020d7c18 vtable /* 08 */ virtual ~AdventureModeManager() override; @@ -1007,7 +1007,7 @@ public: bool func_ov024_020c6dec(); void func_ov024_020c699c(); - static AdventureModeManager *Create(unk32 param1); + static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1); static void func_ov001_020c00d4(); static void func_ov001_020c0104(); static void func_ov001_020c0194(); diff --git a/include/Player/PlayerActorBase.hpp b/include/Player/PlayerActorBase.hpp index c296e8ad..52c1b665 100644 --- a/include/Player/PlayerActorBase.hpp +++ b/include/Player/PlayerActorBase.hpp @@ -5,7 +5,6 @@ #include "Render/ModelRender.hpp" #include "Unknown/Common.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" -#include "Unknown/UnkStruct_ov000_0208f820.hpp" #include "math.hpp" #include "types.h" @@ -38,7 +37,10 @@ struct UnkStruct_ov000_020ab4dc { /* 66 */ unk16 mUnk_70; /* 66 */ unk16 mUnk_72; /* 74 */ s16 mUnk_74; - /* 78 */ STRUCT_PAD(0x78, 0x9C); + /* 78 */ STRUCT_PAD(0x76, 0x86); + /* 86 */ u8 mUnk_86[7]; + /* 8D */ STRUCT_PAD(0x8D, 0x98); + /* 98 */ unk32 mUnk_98; /* 9C */ }; extern const UnkStruct_ov000_020ab4dc data_ov000_020ab4dc[PlayerCharacter_Max]; @@ -66,6 +68,20 @@ inline bool PlayerCharacter_IsNotLink2(PlayerCharacter character) { return ret; } +class UnkStruct_PlayerGet_64 { +public: + /* 00 */ ActorRef *mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ u16 mUnk_08; // makes link invisible when set + /* 0A */ unk16 mUnk_0A; + /* 0C */ + + UnkStruct_PlayerGet_64(void *param1); + ~UnkStruct_PlayerGet_64(); + + void func_ov000_0208a100(); +}; + class ModelRender_Derived3 : public ModelRender { public: /* 00 (base) */ diff --git a/include/Player/PlayerLink.hpp b/include/Player/PlayerLink.hpp index 1aac5563..8b4bc6e9 100644 --- a/include/Player/PlayerLink.hpp +++ b/include/Player/PlayerLink.hpp @@ -5,6 +5,81 @@ class UnkStruct_027e0ce0_40; class PlayerLinkActor_A0_38; +class PlayerLinkActor_A0_04 { +public: + /* 00 */ unk32 mUnk_00; + + // overlay 0 + void func_ov000_02088268(); +}; + +class PlayerLinkActor_A0_10 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + + /* 00 */ virtual ~PlayerLinkActor_A0_10(); + + // overlay 31 + void func_ov031_020e076c(); +}; + +class PlayerLinkActor_A0_14 { +public: + /* 00 */ unk32 mUnk_00; + + /* 00 */ virtual ~PlayerLinkActor_A0_14(); +}; + +class PlayerLinkActor_A0_18 { +public: + /* 00 */ unk32 mUnk_00; + + ~PlayerLinkActor_A0_18(); + + // overlay 82 + void func_ov082_02157bb8(); +}; + +class PlayerLinkActor_A0_1C { +public: + /* 00 */ unk32 mUnk_00; + + // overlay 101 + void func_ov101_02183290(); +}; + +class PlayerLinkActor_A0_28 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ + + PlayerLinkActor_A0_28(PlayerLinkActor_A0_10 *param1, PlayerLinkActor_A0_14 *param2); + ~PlayerLinkActor_A0_28(); +}; + +class PlayerLinkActor_A0_2C { +public: + /* 00 */ unk32 mUnk_00; + + PlayerLinkActor_A0_2C(); + + // overlay 0 + void func_ov000_0208e704(); +}; + +class PlayerLinkActor_A0_34 { +public: + /* 00 */ unk32 mUnk_00; + + PlayerLinkActor_A0_34(); + + // overlay 0 + void func_ov000_02082748(); +}; + class PlayerLinkActor_A0_38_04_Base : public LinkList { public: /* 00 (vtable) */ @@ -69,17 +144,49 @@ public: class PlayerLinkActor_A0 { public: - /* 00 */ STRUCT_PAD(0x00, 0x38); + /* 00 */ unk32 mUnk_00; + /* 04 */ PlayerLinkActor_A0_04 *mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ unk32 mUnk_0C; + /* 10 */ PlayerLinkActor_A0_10 *mUnk_10; + /* 14 */ PlayerLinkActor_A0_14 *mUnk_14; + /* 18 */ PlayerLinkActor_A0_18 *mUnk_18; + /* 1C */ PlayerLinkActor_A0_1C *mUnk_1C; + /* 20 */ PlayerLinkActor_A0_38 *mUnk_20; + /* 24 */ void *mUnk_24; + /* 28 */ PlayerLinkActor_A0_28 *mUnk_28; + /* 2C */ PlayerLinkActor_A0_2C mUnk_2C; + /* 30 */ unk32 mUnk_30; + /* 34 */ PlayerLinkActor_A0_34 mUnk_34; /* 38 */ PlayerLinkActor_A0_38 *mUnk_38; - /* 3C */ STRUCT_PAD(0x3C, 0x94); + /* 3C */ STRUCT_PAD(0x3C, 0x5C); + /* 5C */ UnkStruct_PlayerGet_64 mUnk_5C; + /* 68 */ unk32 mUnk_68; + /* 6C */ unk32 mUnk_6C; + /* 70 */ u32 mUnk_70; + /* 74 */ unk32 mUnk_74; + /* 78 */ bool mUnk_78; + /* 79 */ STRUCT_PAD(0x79, 0x7D); + /* 7D */ bool mUnk_7D; + /* 7E */ bool mUnk_7E; + /* 80 */ void *mUnk_80; + /* 84 */ unk32 mUnk_84; + /* 88 */ unk32 mUnk_88; + /* 8C */ unk32 mUnk_8C; + /* 90 */ unk32 mUnk_90; /* 94 */ PlayerLinkActor_A0(unk32 param1, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer, PlayerLinkActor_9C *param4); ~PlayerLinkActor_A0(); // overlay 0 + bool func_ov000_02091f08(unk32 param1); + void func_ov000_020921e4(unk32 param1); + void func_ov000_02091ea0(); + void func_ov000_020936ec(); u32 func_ov000_02093718(); u8 func_ov000_0209378c(); // bool? + void func_ov000_02093a04(); // overlay 1 void func_ov001_020bd2e0(); diff --git a/include/Save/SaveManager.hpp b/include/Save/SaveManager.hpp index 71b9f803..823f2aa4 100644 --- a/include/Save/SaveManager.hpp +++ b/include/Save/SaveManager.hpp @@ -5,7 +5,7 @@ #include "Save/AdventureFlags.hpp" #include "Save/SaveFile.hpp" #include "System/SysNew.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "global.h" #include "types.h" diff --git a/include/System/OverlayManager.hpp b/include/System/OverlayManager.hpp index 4664bc82..83200bb1 100644 --- a/include/System/OverlayManager.hpp +++ b/include/System/OverlayManager.hpp @@ -394,16 +394,22 @@ public: const bool IsBossLast1() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast1; } const bool IsBossLast2() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast2; } const bool IsDungeonForest() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_DgnForest; } + const bool IsDungeonDesert() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_DgnDesert; } const bool IsPirateHideout() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito; } const bool IsASR() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR; } const bool IsPlayerSub() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_PlayerSub; } + const bool IsPlayerPhantom() const { return this->mLoadedOverlays[OverlaySlot_10] == OverlayIndex_PlayerPhantom; } const bool IsPlayerZelda() const { return this->mLoadedOverlays[OverlaySlot_10] == OverlayIndex_PlayerZelda; } + const bool IsMapLava() const { return this->mLoadedOverlays[OverlaySlot_12] == OverlayIndex_MapLava; } + const bool IsMapA6() const { return this->mLoadedOverlays[OverlaySlot_13] == OverlayIndex_MapA6; } const bool IsMapB3() const { return this->mLoadedOverlays[OverlaySlot_14] == OverlayIndex_MapB3; } + + const bool IsMapC1() const { return this->mLoadedOverlays[OverlaySlot_15] == OverlayIndex_MapC1; } // clang-format on void Load(OverlaySlot slot, OverlayIndex index); diff --git a/include/TitleScreen/TitleScreen.hpp b/include/TitleScreen/TitleScreen.hpp index 7a5f0784..5f53c6ad 100644 --- a/include/TitleScreen/TitleScreen.hpp +++ b/include/TitleScreen/TitleScreen.hpp @@ -117,7 +117,7 @@ public: /* 154 */ GameModeBase *mpGameMode; /* 158 */ - TitleScreenManager(unk32 param1) NO_INLINE { + TitleScreenManager(UnkStruct_0204a110_Sub2 *param1) NO_INLINE { this->mpGameMode = NULL; GX_SetGraphicsMode(1, 0, 1); GXS_SetGraphicsMode(5); @@ -136,5 +136,5 @@ public: /* 2C */ virtual void DrawUI(unk8 *param1) override; /* 38 */ virtual void vfunc_38(u32 sceneIndex, u8 roomIndex, unk16 param3, unk16 param4) override; - static TitleScreenManager *Create(unk32 param1); + static GameModeManagerBase *Create(UnkStruct_0204a110_Sub2 *param1); }; diff --git a/include/Unknown/Common.hpp b/include/Unknown/Common.hpp index 33485059..2fe37f4b 100644 --- a/include/Unknown/Common.hpp +++ b/include/Unknown/Common.hpp @@ -944,6 +944,19 @@ public: void func_ov000_020a0334(); }; +class UnkSystem7_Derived2 : public UnkSystem7 { +public: + /* 00 (base) */ + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ + + UnkSystem7_Derived2(UnkSystem7_UnkStruct_00 *param1, unk32 param2, unk32 param3) : + UnkSystem7(param1), + mUnk_04(param2), + mUnk_08(param3) {} +}; + class UnkStruct_PlayerGet_ec : public UnkSystem7 { public: /* 00 (base) */ @@ -1237,3 +1250,15 @@ public: UnkStruct_PlayerGet_74_base(); }; + +struct UnkStruct_ov000_020aa88c { + /* 00 */ bool mUnk_00; + /* 01 */ bool mUnk_01; + /* 02 */ bool mUnk_02; + /* 03 */ bool mUnk_03; + /* 04 */ bool mUnk_04; + /* 05 */ unk8 mUnk_05; + /* 06 */ u16 mUnk_06; + /* 08 */ +}; +extern UnkStruct_ov000_020aa88c data_ov000_020aa88c[]; diff --git a/include/Unknown/UnkStruct_0204a060.hpp b/include/Unknown/UnkStruct_0204a060.hpp index afd1ac34..fc320f01 100644 --- a/include/Unknown/UnkStruct_0204a060.hpp +++ b/include/Unknown/UnkStruct_0204a060.hpp @@ -5,7 +5,7 @@ #include "LinkList.hpp" #include "System/SysNew.hpp" #include "Unknown/Common.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "types.h" class GameModeFileSelect; diff --git a/include/Unknown/UnkStruct_0204a088.hpp b/include/Unknown/UnkStruct_0204a088.hpp index 694f4d24..29b33046 100644 --- a/include/Unknown/UnkStruct_0204a088.hpp +++ b/include/Unknown/UnkStruct_0204a088.hpp @@ -4,33 +4,37 @@ #include "System/SysNew.hpp" #include "types.h" -class UnkStruct_0204a088_Base { -public: - UnkStruct_0204a088_Base(); - ~UnkStruct_0204a088_Base(); //! TODO: most likely inlined but can't make it work for some reasons -}; - // members 00 04 and 08 are used in data_ov000_020b1d74 to figure out which overlay to load next in slot 1 -class UnkStruct_0204a088 : public UnkStruct_0204a088_Base { +class UnkStruct_0204a088 : public AutoInstance { public: /* 000 */ unk32 mUnk_00; // current index /* 000 */ unk32 mUnk_04; // prev index /* 000 */ unk32 mUnk_08; // next index /* 00C */ FileSelectManager_UnkDrawBase mUnk_0C[23]; // 23 possible overlays /* 120 */ u16 mUnk_120; - /* 122 */ unk16 mUnk_122; - /* 124 */ unk8 mUnk_124; - /* 125 */ unk8 mUnk_125; - /* 126 */ unk8 mUnk_126; + /* 122 */ bool mUnk_122; + /* 123 */ bool mUnk_123; + /* 124 */ bool mUnk_124; + /* 125 */ bool mUnk_125; + /* 126 */ bool mUnk_126; /* 127 */ bool mUnk_127; /* 128 */ unk16 mUnk_128; + /* 12C */ + UnkStruct_0204a088(); + + // overlay 0 void func_ov000_02061098(void); void func_ov000_020611dc(void *param1, unk32 param2); bool func_ov000_020611fc(unk32 param2); // sets new index bool func_ov000_02061224(void); void func_ov000_02061230(void); void func_ov000_02061248(void); + + // overlay 1 + void func_ov001_020bd6f8(); + + static UnkStruct_0204a088 *Create(); }; extern UnkStruct_0204a088 *data_0204a088; diff --git a/include/Unknown/UnkStruct_0204a110.hpp b/include/Unknown/UnkStruct_0204a110.hpp index 240418c1..1b0b25a9 100644 --- a/include/Unknown/UnkStruct_0204a110.hpp +++ b/include/Unknown/UnkStruct_0204a110.hpp @@ -8,6 +8,9 @@ #include class GameModeManagerBase; +class UnkStruct_0204a110_Sub2; + +typedef GameModeManagerBase *(*GameModeMgrCreateCallback)(UnkStruct_0204a110_Sub2 *param1); struct UnkStruct_0204a110_Sub2_000_158 { u32 mUnk_00[3]; @@ -60,8 +63,13 @@ public: /* 360 */ UnkStruct_0204a110_Sub2(); - void func_0201c890(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5); + + // main + void func_0201c890(unk32 param1, unk32 param2, bool param3, bool param4, bool param5); void func_0201ca28(unk32 param1); + + // overlay 1 + void func_ov001_020bd7c0(); }; class UnkStruct_0204a110_Sub3_00 { @@ -197,6 +205,7 @@ public: UnkStruct_0204a110_Sub8(); + void func_0201de24(void); void func_0201e588(unk32 param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5); void func_0201e698(void); }; @@ -236,7 +245,7 @@ public: /* DBC */ STRUCT_PAD(0xDBC, 0xDC0); /* DC0 */ UnkStruct_0204a110_Sub7 mUnk_DC0; /* DDC */ UnkStruct_0204a110_Sub8 mUnk_DDC; - /* DEC */ GameModeManagerBase *mUnk_DEC; + /* DEC */ GameModeManagerBase *mpManager; /* DF0 */ u16 mUnk_DF0; /* DF2 */ unk8 mUnk_DF2; /* DF3 */ unk8 mUnk_DF3; @@ -287,10 +296,10 @@ public: 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_020bd514(unk32 param1, GameModeMgrCreateCallback createCallback, bool param3, bool param4); void func_ov001_020bd58c(void); - void func_ov001_020bd638(void); void func_ov001_020bd5b0(void); + void func_ov001_020bd638(void); void func_ov001_020bd678(void); void func_ov001_020bd68c(void); diff --git a/include/Unknown/UnkStruct_027e09a0.hpp b/include/Unknown/UnkStruct_027e09a0.hpp index 01da7ad6..fca4ba6b 100644 --- a/include/Unknown/UnkStruct_027e09a0.hpp +++ b/include/Unknown/UnkStruct_027e09a0.hpp @@ -10,7 +10,9 @@ struct UnkStruct_func_ov000_020702a8 { /* 00 */ STRUCT_PAD(0x00, 0x10); /* 10 */ Vec2s mUnk_10; - /* 14 */ STRUCT_PAD(0x14, 0x20); + /* 14 */ u8 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1C */ unk32 mUnk_1C; /* 20 */ unk16 mUnk_20; /* 22 */ unk16 mUnk_22; }; diff --git a/include/Unknown/UnkStruct_027e09a4.hpp b/include/Unknown/UnkStruct_027e09a4.hpp index 0fff2921..a84daf3d 100644 --- a/include/Unknown/UnkStruct_027e09a4.hpp +++ b/include/Unknown/UnkStruct_027e09a4.hpp @@ -12,7 +12,7 @@ #include -struct SaveFile; +struct GameSaveSlot; class UnkStruct_027e09a4; #define ROOM_INDEX_NONE 0xFF @@ -315,7 +315,8 @@ public: bool func_ov000_02070a9c(EntranceInfo *param1); bool func_ov000_02072154(EntranceInfo *param1, unk32 param2); bool func_ov000_0207056c(); - void func_ov000_020705e8(SaveFile *param1, unk32 param2); + bool func_ov000_0207059c(); + void func_ov000_020705e8(GameSaveSlot *param1, unk32 param2); // overlay 1 void func_ov001_020b662c(); diff --git a/include/Unknown/UnkStruct_027e09c0.hpp b/include/Unknown/UnkStruct_027e09c0.hpp index 3c7b55eb..2c8435c3 100644 --- a/include/Unknown/UnkStruct_027e09c0.hpp +++ b/include/Unknown/UnkStruct_027e09c0.hpp @@ -8,12 +8,56 @@ class UnkStruct_027e0cd8_0C_Base; -class UnkStruct_027e09c0 : public AutoInstance { +class UnkStruct_027e09c0_60 { public: /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ unk32 mUnk_0C; + /* 10 */ unk32 mUnk_10; + /* 14 */ unk32 mUnk_14; + /* 18 */ unk32 mUnk_18; + /* 1C */ + + UnkStruct_027e09c0_60() { + this->mUnk_00 = 0; + this->mUnk_10 = 0; + this->mUnk_04 = 0; + this->mUnk_08 = 0; + this->mUnk_0C = 0; + } +}; + +class UnkStruct_027e09c0_04 { +public: + void func_ov000_0207f4d4(); +}; + +class UnkStruct_027e09c0 : public AutoInstance { +public: + /* 000 */ unk32 mUnk_000; + /* 004 */ UnkStruct_027e09c0_04 *mUnk_004[16]; + /* 044 */ UnkStruct_027e09c0_04 **mUnk_044; + /* 048 */ void *mUnk_048; + /* 04C */ void *mUnk_04C; + /* 050 */ unk32 mUnk_050; + /* 054 */ void *mUnk_054; + /* 058 */ void *mUnk_058; + /* 05C */ unk32 mUnk_05C; + /* 060 */ UnkStruct_027e09c0_60 mUnk_060[64]; + /* 760 */ void *mUnk_760; + /* 764 */ void *mUnk_764; + /* 768 */ unk32 mUnk_768; + /* 76C */ void *mUnk_76C; + /* 770 */ void *mUnk_770; + /* 774 */ unk32 mUnk_774; + /* 778 */ unk32 mUnk_778; + /* 77C */ STRUCT_PAD(0x77C, 0x878); + /* 878 */ unk32 mUnk_878; + /* 87C */ STRUCT_PAD(0x87C, 0x978); + /* 978 */ UnkStruct_027e09c0(); - ~UnkStruct_027e09c0(); // overlay 0 void func_ov000_0207da40(); @@ -27,6 +71,7 @@ public: static UnkStruct_027e09c0 *Create(); static void Destroy(); + static void DestroyImpl(); }; extern UnkStruct_027e09c0 *data_027e09c0; diff --git a/include/Unknown/UnkStruct_027e09e8.hpp b/include/Unknown/UnkStruct_027e09e8.hpp new file mode 100644 index 00000000..6abefd75 --- /dev/null +++ b/include/Unknown/UnkStruct_027e09e8.hpp @@ -0,0 +1,36 @@ +#pragma once + +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "files.h" +#include "global.h" +#include "types.h" + +class UnkStruct_027e09e8 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ STRUCT_PAD(0x04, 0x24); + /* 24 */ ZCBEntryPLCB *mpPolyClassTable; + /* 28 */ ZCBEntryPLCB *mpPolyClassTableEnd; + /* 2C */ u32 mNumPolyClasses; + /* 30 */ VecFx32 *mpVerticesTable; + /* 34 */ VecFx32 *mpVerticesTableEnd; + /* 38 */ u32 mNumVertices; + /* 3C */ ZCBEntryNRMB *mpNormalTable; + /* 40 */ ZCBEntryNRMB *mpNormalTableEnd; + /* 44 */ u32 mNumNormals; + /* 48 */ VecFx32 mUnk_48; + /* 54 */ VecFx32 mUnk_54; + /* 60 */ + + UnkStruct_027e09e8(); + ~UnkStruct_027e09e8(); + + // overlay 0 + void func_ov000_0207ba84(UnkFileSystem1 *param1, UnkStruct_027e0cd8_0C_Base *param2); // calls `ZCB_ParseFile` + void func_ov000_0207baa0(); + void func_ov000_0207bab4(ZCBEntryTRIB *pEntries, u16 nEntries); + void func_ov000_0207e99c(ZCBSectionGRDB *pSection, UnkStruct_027e0cd8_0C_Base *param2); +}; + +//! TODO: gCollisionManager? also not a pointer? +extern UnkStruct_027e09e8 data_027e09e8; diff --git a/include/Unknown/UnkStruct_027e0a48.hpp b/include/Unknown/UnkStruct_027e0a48.hpp new file mode 100644 index 00000000..7abe43c9 --- /dev/null +++ b/include/Unknown/UnkStruct_027e0a48.hpp @@ -0,0 +1,22 @@ +#pragma once + +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "global.h" +#include "types.h" + +class UnkStruct_027e0a48 { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_027e0a48(); + ~UnkStruct_027e0a48(); + + // overlay 0 + void func_ov000_0207ef30(); + void func_ov000_0207f048(); + void func_ov000_0207f1f0(); + void func_ov000_0207f280(UnkStruct_027e0cd8_0C_Base *param1); + void func_ov000_0207f2d8(); +}; + +extern UnkStruct_027e0a48 data_027e0a48; diff --git a/include/Unknown/UnkStruct_027e0b48.hpp b/include/Unknown/UnkStruct_027e0b48.hpp new file mode 100644 index 00000000..93f40d33 --- /dev/null +++ b/include/Unknown/UnkStruct_027e0b48.hpp @@ -0,0 +1,34 @@ +#pragma once + +#include "global.h" +#include "iterator.hpp" +#include "types.h" + +class UnkStruct_027e0b48_IteratorEntry { +public: + /* 00 */ STRUCT_PAD(0x00, 0x70); + /* 70 */ void *mUnk_70; + /* 74 */ + + UnkStruct_027e0b48_IteratorEntry() { + this->mUnk_70 = this; + } + + ~UnkStruct_027e0b48_IteratorEntry() {} +}; + +class UnkStruct_027e0b48 { +public: + /* 000 */ Iterator mUnk_000; + /* 008 */ unk8 mUnk_008[0x140]; + /* 148 */ + + UnkStruct_027e0b48(); + ~UnkStruct_027e0b48(); + + // overlay 1 + void func_ov001_020be474(); + void func_ov001_020be4e4(); +}; + +extern UnkStruct_027e0b48 data_027e0b48; diff --git a/include/Unknown/UnkStruct_027e0cd8.hpp b/include/Unknown/UnkStruct_027e0cd8.hpp index bb272f22..76d83a04 100644 --- a/include/Unknown/UnkStruct_027e0cd8.hpp +++ b/include/Unknown/UnkStruct_027e0cd8.hpp @@ -194,9 +194,7 @@ public: /* 088 */ UnkStruct_027e0cd8_0C_Base_88 mUnk_088; /* 098 */ UnkStruct_027e0cd8_0C_Base_98 *mUnk_098; /* 09C */ Vec2us mUnk_09C; - /* 0A0 */ unk32 mUnk_0A0; - /* 0A4 */ unk32 mUnk_0A4; - /* 0A8 */ unk32 mUnk_0A8; + /* 0A0 */ VecFx32 mUnk_0A0; /* 0AC */ bool mUnk_0AC; /* 0AC */ bool mUnk_0AD; /* 0AC */ bool mUnk_0AE; diff --git a/include/Unknown/UnkStruct_027e0ce0.hpp b/include/Unknown/UnkStruct_027e0ce0.hpp index 524f7e41..a6d2fe18 100644 --- a/include/Unknown/UnkStruct_027e0ce0.hpp +++ b/include/Unknown/UnkStruct_027e0ce0.hpp @@ -34,11 +34,57 @@ public: /* 00 */ virtual void vfunc_00(unk32 param1); }; +class UnkStruct_027e0ce0_1C_00 { +public: + /* 00 */ u16 mUnk_00; + + UnkStruct_027e0ce0_1C_00() { + this->mUnk_00 = 0; + } +}; + +class UnkStruct_027e0ce0_1C_08 : public MapObjectProfile_Derived2_20_Base { +public: + /* 00 (base) */ + /* 94 */ + + UnkStruct_027e0ce0_1C_08(unk32 param1, unk32 param2, unk32 param3); +}; + +class UnkStruct_027e0ce0_1C_C8 { +public: + /* 00 */ STRUCT_PAD(0x00, 0x20); + /* 20 */ + + UnkStruct_027e0ce0_1C_C8(unk32 param1, unk32 param2); + ~UnkStruct_027e0ce0_1C_C8(); +}; + +class UnkStruct_027e0ce0_1C_D4 { +public: + /* 0000 */ STRUCT_PAD(0x00, 0x6AD8); + /* 6AD8 */ + + UnkStruct_027e0ce0_1C_D4(); +}; + +class UnkStruct_027e0ce0_1C_D8 { +public: + /* 0000 */ STRUCT_PAD(0x00, 0x6AB0); + /* 6AB0 */ + + UnkStruct_027e0ce0_1C_D8(); +}; + class UnkStruct_027e0ce0_1C { public: - /* 00 */ STRUCT_PAD(0x00, 0x0C); - /* 0C */ MapObjectProfile_Derived2_20_Base *mUnk_0C; - /* 10 */ STRUCT_PAD(0x10, 0xDC); + /* 00 */ UnkStruct_027e0ce0_1C_00 mUnk_00[PlayerCharacter_Max]; + /* 06 */ unk16 mUnk_06; // pad? + /* 08 */ UnkStruct_027e0ce0_1C_08 *mUnk_08[PlayerCharacter_Max][7]; + /* 5C */ UnkFileSystem5 *mUnk_5C[PlayerCharacter_Max][9]; + /* C8 */ UnkStruct_027e0ce0_1C_C8 *mUnk_C8[PlayerCharacter_Max]; + /* D4 */ UnkStruct_027e0ce0_1C_D4 *mUnk_D4; + /* D8 */ UnkStruct_027e0ce0_1C_D8 *mUnk_D8; /* DC */ UnkStruct_027e0ce0_1C(); @@ -424,9 +470,21 @@ public: ~UnkStruct_027e0ce0_40_Base_78(); }; +class UnkStruct_027e0ce0_40_Base_7C_04 { +public: + /* 00 */ STRUCT_PAD(0x00, 0xB4); + /* B4 */ + + UnkStruct_027e0ce0_40_Base_7C_04(); + ~UnkStruct_027e0ce0_40_Base_7C_04(); +}; + class UnkStruct_027e0ce0_40_Base_7C { public: - /* 00 */ STRUCT_PAD(0x00, 0x18); + /* 00 */ unk32 mUnk_00; + /* 04 */ UnkStruct_027e0ce0_40_Base_7C_04 *mUnk_04; + /* 08 */ UnkSystem7_Derived2 mUnk_08; + /* 14 */ unk32 mUnk_14; /* 18 */ UnkStruct_027e0ce0_40_Base_7C(unk32 param1); diff --git a/include/Unknown/UnkStruct_027e0d08.hpp b/include/Unknown/UnkStruct_027e0d08.hpp index 8789948a..a82dd4b7 100644 --- a/include/Unknown/UnkStruct_027e0d08.hpp +++ b/include/Unknown/UnkStruct_027e0d08.hpp @@ -31,6 +31,10 @@ public: UnkStruct_027e0d08(); ~UnkStruct_027e0d08(); + // overlay 1 + static void Destroy(); + + // overlay 24 void func_ov024_020d5d10(unk32 param1); void func_ov024_020d5d18(unk32 param1); void func_ov024_020d5d34(unk32 param1); diff --git a/include/Unknown/UnkStruct_ov000_02067bc4.hpp b/include/Unknown/UnkStruct_ov000_02067bc4.hpp deleted file mode 100644 index fa7cd58a..00000000 --- a/include/Unknown/UnkStruct_ov000_02067bc4.hpp +++ /dev/null @@ -1,185 +0,0 @@ -#pragma once - -#include "Game/GameModeManager.hpp" -#include "Item/Item.hpp" -#include "Message/BMG.hpp" -#include "System/SysNew.hpp" -#include "Unknown/UnkStruct_02049b18.hpp" -#include "global.h" -#include "types.h" -#include - -class UnkStruct_027e0cd8_04_0C; - -class UnkStruct_ov000_02067bc4_Sub1 { -public: - unk32 func_02022128(void); -}; - -class UnkStruct_ov000_02067bc4_Sub2 { -public: - unk8 mUnk_00[0x10]; - unk32 mUnk_10; - unk8 mUnk_14[0x40]; - unk32 mUnk_54; -}; - -class UnkStruct_ov000_02067bc4 { -public: - class UnkStruct1 { - public: - union { - struct { - unk16 mUnk_00; - unk16 mUnk_02; - unk32 mUnk_04; - unk32 mUnk_08; - u8 mUnk_0C; - unk8 mUnk_0D; - unk8 mUnk_0E; - unk8 mUnk_0F; - }; - - u32 data[4]; - }; - - UnkStruct1(unk32 param1, unk32 param2) { - mUnk_00 = 0; - mUnk_08 = param1; - mUnk_0C = 0; - mUnk_0D = 0; - mUnk_04 = 0; - } - - UnkStruct1(unk32 param1) { - mUnk_00 = 0; - mUnk_04 = param1; - mUnk_08 = param1; - mUnk_0C = 0; - mUnk_0D = 0; - } - - UnkStruct1() { - mUnk_00 = 0; - mUnk_08 = -1; - mUnk_0C = 0; - mUnk_0D = 0; - mUnk_04 = 0; - } - }; - -public: - /* 000 (vtable) */ - /* 004 */ unk32 mUnk_004; - /* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008; - /* 00C */ STRUCT_PAD(0x0C, 0x28); - /* 028 */ UnkStruct1 mUnk_028; - /* 038 */ STRUCT_PAD(0x38, 0x160); - /* 160 */ UnkStruct_ov000_02067bc4_Sub1 mUnk_160; - - /* 00 */ virtual unk32 vfunc_00(); - /* 04 */ virtual unk32 vfunc_04(); - /* 08 */ virtual bool vfunc_08(); - - void func_02021bec(unk16 param1); - void func_02021c08(); - void func_02021c2c(); -}; - -typedef void (*UnkCallback2)(); - -class BMGEntry { -public: - /* 00 */ SectionINF1 *mpINF1; - /* 04 */ SectionFLW1 *mpFLW1; - /* 08 */ SectionFLI1 *mpFLI1; - /* 0C */ SectionDAT1 *mpDAT1; - /* 10 */ unk32 mBMGGroup; - /* 14 */ -}; - -class UnkStruct_ov000_020b504c_Sub3 { -public: - /* 00 */ BMGEntry **mpBMGTable; - /* 04 */ BMGHeader **mUnk_04; - /* 08 */ BMGHeader **mUnk_08; - /* 0C */ SectionINF1 *mUnk_0C; - /* 10 */ unk32 mUnk_10; - /* 14 */ - - UnkStruct_ov000_020b504c_Sub3(unk32 param1); - void func_ov000_020676f8(const char *bmgFileName, unk32 param2); - EntryINF1 *func_ov000_02067a2c(u32 msgId); -}; - -class UnkStruct_ov000_020b504c_Sub4_00 { -public: - /* 00 (vtable) */ - /* 04 */ - - /* 00 */ virtual void vfunc_00(); - /* 04 */ virtual void vfunc_04(); - /* 08 */ virtual void vfunc_08(); - /* 0C */ virtual void vfunc_0C(); - /* 10 */ virtual void vfunc_10(); - /* 14 */ virtual void vfunc_14(); - /* 18 */ virtual void vfunc_18(unk32 param1); -}; - -class UnkStruct_ov000_020b504c_Sub4 { -public: - /* 00 */ unk32 mUnk_00; - /* 04 */ -}; - -class UnkStruct_ov000_020b504c { -public: - /* 000 */ UnkStruct_ov000_020b504c_Sub3 *mUnk_000; - /* 004 */ GameModeManagerBase_004 *mUnk_004; - /* 008 */ UnkStruct_ov000_02067bc4_Sub2 *mUnk_008; - /* 00C */ UnkStruct_ov000_020b504c_Sub4 mUnk_00C[7]; - /* 028 */ unk32 mUnk_028; // pointer to the subsystem that handles drawing the textboxes - /* 02C */ unk32 mUnk_02C; - /* 030 */ unk32 mUnk_030; - /* 034 */ Input mButtons; - /* 03A */ TouchControl mTouchControl; - /* 05C */ unk8 mUnk_05C[0x10]; - /* 06C */ unk8 mUnk_06C[2]; - /* 06E */ unk8 mUnk_06E; - /* 06F */ unk8 mUnk_06F; - - 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? - void func_ov000_02067e60(u8 param1, unk32 param2); - unk32 func_ov000_020682c0(unk32 param1); - void func_ov000_02067f5c(unk32 param1); - bool func_ov000_02067f88(unk32 param1, unk32 param2); - UnkStruct_ov000_020b504c_Sub4_00 *func_ov000_02067bf0(); - void func_ov000_02067b20(); - void func_ov000_02068068(unk32 param1); - bool func_ov000_0206807c(unk32 param1, void *param2); - void func_ov000_02067b60(); - - // overlay 1 - void func_ov001_020be504(void); - void func_ov001_020be510(); - void func_ov001_020be668(void); - void func_ov001_020be6f4(void); - void func_ov001_020be8e0(void); - void func_ov001_020be92c(UnkStruct_027e0cd8_04_0C *param1); - void func_ov001_020be94c(void); - void func_ov001_020be998(void); -}; - -// gMessageManager? -extern UnkStruct_ov000_020b504c data_ov000_020b504c; - -struct UnkMsgDataStruct1 { - unk32 mUnk_00; - - void func_ov000_02067a60(void *, int); -}; diff --git a/include/Unknown/UnkStruct_ov000_0208f820.hpp b/include/Unknown/UnkStruct_ov000_0208f820.hpp index f79cfafd..aacdd4cc 100644 --- a/include/Unknown/UnkStruct_ov000_0208f820.hpp +++ b/include/Unknown/UnkStruct_ov000_0208f820.hpp @@ -5,6 +5,7 @@ #include "Actor/ActorRef.hpp" #include "Item/ItemManager.hpp" +#include "Player/PlayerLink.hpp" #include "System/SysNew.hpp" #include "math.hpp" @@ -24,20 +25,6 @@ public: /* 90 */ }; -class UnkStruct_PlayerGet_64 { -public: - /* 00 */ ActorRef *mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ u16 mUnk_08; // makes link invisible when set - /* 0A */ unk16 mUnk_0A; - /* 0C */ - - UnkStruct_PlayerGet_64(void *param1); - ~UnkStruct_PlayerGet_64(); - - void func_ov000_0208a100(); -}; - class UnkStruct_PlayerGet_64_2 { public: /* 00 */ unk32 mUnk_00; @@ -98,33 +85,6 @@ public: /* 150 */ ActorRef mUnk_150; }; -class UnkStruct_ov000_0208f820_30_10 { -public: - void func_ov031_020e076c(); -}; - -class UnkStruct_ov000_0208f820_30 { -public: - /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; - /* 0C */ unk32 mUnk_0C; - /* 10 */ UnkStruct_ov000_0208f820_30_10 *mUnk_10; - /* 14 */ unk32 mUnk_14; - /* 18 */ unk32 mUnk_18; - /* 1C */ unk32 mUnk_1C; - /* 20 */ unk32 mUnk_20; - /* 24 */ unk32 mUnk_24; - /* 28 */ STRUCT_PAD(0x28, 0x68); - /* 68 */ unk32 mUnk_68; - /* 6C */ unk32 mUnk_6C; - /* 70 */ u32 mUnk_70; - - void func_ov000_020921e4(unk32 param1); - void func_ov000_020936ec(); - void func_ov000_02093a04(); -}; - class UnkStruct_ov000_0208f820_40 { public: /* 00 */ u16 mUnk_00; @@ -196,7 +156,7 @@ public: /* 24 */ UnkStruct_ov000_0208f820_24 *mUnk_24; /* 28 */ UnkStruct_ov000_0208f820_28 *mUnk_28; /* 2C */ UnkStruct_ov000_0208f820_2c *mUnk_2C; - /* 30 */ UnkStruct_ov000_0208f820_30 *mUnk_30; + /* 30 */ PlayerLinkActor_A0 *mUnk_30; /* 34 */ VecFx32 *mUnk_34; /* 38 */ VecFx32 *mUnk_38; /* 3C */ VecFx32 *mUnk_3C; diff --git a/include/Unknown/UnkStruct_ov000_020b4eec.hpp b/include/Unknown/UnkStruct_ov000_020b4eec.hpp index 52d54bee..ee82fea9 100644 --- a/include/Unknown/UnkStruct_ov000_020b4eec.hpp +++ b/include/Unknown/UnkStruct_ov000_020b4eec.hpp @@ -1,5 +1,6 @@ #pragma once +#include "Save/SaveFile.hpp" #include "types.h" class UnkStruct_ov000_020b4eec { @@ -10,7 +11,7 @@ public: UnkStruct_ov000_020b4eec(); - SaveFile *func_ov001_020be12c(); + GameSaveSlot *func_ov001_020be12c(); }; extern UnkStruct_ov000_020b4eec data_ov000_020b4eec; diff --git a/include/Unknown/UnkStruct_ov000_020b504c.hpp b/include/Unknown/UnkStruct_ov000_020b504c.hpp new file mode 100644 index 00000000..d1a44000 --- /dev/null +++ b/include/Unknown/UnkStruct_ov000_020b504c.hpp @@ -0,0 +1,413 @@ +#pragma once + +#include "Animation/CellAnimObject.hpp" +#include "Game/GameModeManager.hpp" +#include "Item/Item.hpp" +#include "Message/BMG.hpp" +#include "System/SysNew.hpp" +#include "Unknown/Common.hpp" +#include "Unknown/UnkStruct_02049b18.hpp" +#include "global.h" +#include "types.h" + +#include + +class UnkStruct_027e0cd8_04_0C; + +class UnkTextStruct1 { +public: + /* 00 */ union { + struct { + /* 00 */ unk16 mUnk_00; + /* 02 */ unk16 mUnk_02; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ u8 mUnk_0C; + /* 0D */ unk8 mUnk_0D; + /* 0E */ unk8 mUnk_0E; + /* 0F */ unk8 mUnk_0F; + }; + + /* 00 */ u32 data[4]; + }; + /* 10 */ + + UnkTextStruct1(unk32 param1, unk32 param2) { + this->mUnk_00 = 0; + this->mUnk_08 = param1; + this->mUnk_0C = 0; + this->mUnk_0D = 0; + this->mUnk_04 = 0; + } + + UnkTextStruct1(unk32 param1) { + this->mUnk_00 = 0; + this->mUnk_04 = param1; + this->mUnk_08 = param1; + this->mUnk_0C = 0; + this->mUnk_0D = 0; + } + + UnkTextStruct1() {} +}; + +typedef void (*UnkCallback2)(); + +class BMGEntry { +public: + /* 00 */ SectionINF1 *mpINF1; + /* 04 */ SectionFLW1 *mpFLW1; + /* 08 */ SectionFLI1 *mpFLI1; + /* 0C */ SectionDAT1 *mpDAT1; + /* 10 */ unk32 mBMGGroup; + /* 14 */ +}; + +class UnkStruct_ov000_020b504c_Sub3 { +public: + /* 00 */ BMGEntry **mpBMGTable; + /* 04 */ BMGHeader **mUnk_04; + /* 08 */ BMGHeader **mUnk_08; + /* 0C */ SectionINF1 *mUnk_0C; + /* 10 */ s16 mUnk_10; + /* 12 */ unk16 mUnk_12; + /* 14 */ + + UnkStruct_ov000_020b504c_Sub3(unk32 param1); + + // overlay 0 + void func_ov000_020676f8(const char *bmgFileName, HeapIndex heapIndex); + void func_ov000_020677b0(const char *bmgFileName, HeapIndex heapIndex); + void func_ov000_02067804(const char *bmgFileName, void *pDst, size_t size); // load BMG at specified address + EntryINF1 *func_ov000_02067a2c(u32 msgId); + void func_ov000_02068f0c(); +}; + +class UnkStruct_ov000_020b504c_Sub4_00 { +public: + /* 00 (vtable) */ + /* 04 */ + + /* 00 */ virtual void vfunc_00(); + /* 04 */ virtual void vfunc_04(); + /* 08 */ virtual void vfunc_08(); + /* 0C */ virtual void vfunc_0C(); + /* 10 */ virtual void vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(unk32 param1); +}; + +class UnkStruct_ov000_020b504c_08_18C { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk32 mUnk_04; + /* 08 */ unk16 mUnk_08; + /* 0A */ unk16 mUnk_0A; + /* 0C */ unk16 mUnk_0C; + /* 0E */ STRUCT_PAD(0x0E, 0x18); + /* 18 */ + + UnkStruct_ov000_020b504c_08_18C() { + this->mUnk_00 = 0; + this->mUnk_04 = 0; + this->mUnk_0A = 0; + this->mUnk_0C = 0; + } +}; + +class UnkStruct_ov000_020b504c_08 : public GameModeManagerBase_104 { +public: + /* 000 (base) */ + /* 01C */ unk32 mUnk_01C; + /* 020 */ CellAnimObject mUnk_020; + /* 098 */ CellAnimObject mUnk_098; + /* 110 */ CellAnimObject mUnk_110; + /* 188 */ bool mUnk_188; + /* 189 */ STRUCT_PAD(0x189, 0x18C); + /* 18C */ UnkStruct_ov000_020b504c_08_18C mUnk_18C[2]; + /* 1BC */ STRUCT_PAD(0x1BC, 0x1C4); + /* 1C4 */ bool mUnk_1C4; + /* 1C5 */ STRUCT_PAD(0x1C5, 0x1C8); + /* 1C8 */ CellAnimObject mUnk_1C8[2]; + /* 2B8 */ unk32 mUnk_2B8; + /* 2BC */ unk32 mUnk_2BC; + /* 2C0 */ bool mUnk_2C0; + /* 2C1 */ STRUCT_PAD(0x2C1, 0x2C4); + /* 2C4 */ + + UnkStruct_ov000_020b504c_08(); + + // data_ov000_020b1e60 vtable + /* 00 */ virtual ~UnkStruct_ov000_020b504c_08() override; + /* 08 */ virtual void vfunc_08(Input *pButtons, TouchControl *pTouchControl) override; + /* 10 */ virtual void vfunc_10(unk8 *param1) override; + + // overlay 0 + void func_ov000_020a4764(); +}; + +class UnkStruct_ov000_020b504c_0C_Base { +public: + /* 04 */ UnkSystem2_UnkSubSystem11_Derived2 *mUnk_04; + /* 08 */ UnkStruct_ov000_020b504c_08 *mUnk_08; + /* 0C */ STRUCT_PAD(0x0C, 0x1C); + /* 1C */ + + UnkStruct_ov000_020b504c_0C_Base(); + + // data_020443e8 + /* 00 */ virtual ~UnkStruct_ov000_020b504c_0C_Base(); + /* 08 */ virtual bool vfunc_08(); + /* 0C */ virtual void vfunc_0C(); + /* 10 */ virtual void vfunc_10(); + /* 14 */ virtual void vfunc_14(); + /* 18 */ virtual void vfunc_18(unk32 param1); + /* 1C */ virtual void vfunc_1C(); + /* 20 */ + + void func_02021bec(unk16 param1); + void func_02021c08(); + void func_02021c2c(); +}; + +class UnkStruct_ov000_020b504c_0C_Derived1 : public UnkStruct_ov000_020b504c_0C_Base { +public: + /* 000 (base) */ + /* 01C */ STRUCT_PAD(0x1C, 0x194); + /* 194 */ + + UnkStruct_ov000_020b504c_0C_Derived1(unk32 param1); +}; + +class UnkStruct_ov000_020b504c_0C_Derived2 : public UnkStruct_ov000_020b504c_0C_Base { +public: + /* 00 (base) */ + /* 1C */ STRUCT_PAD(0x1C, 0xCC); + /* CC */ + + UnkStruct_ov000_020b504c_0C_Derived2(); +}; + +class UnkStruct_ov000_020b504c_0C_Derived3 : public UnkStruct_ov000_020b504c_0C_Base { +public: + /* 000 (base) */ + /* 01C */ STRUCT_PAD(0x1C, 0x194); + /* 194 */ + + UnkStruct_ov000_020b504c_0C_Derived3(unk32 param1); +}; + +class UnkStruct_ov000_020b504c_0C_Derived4 : public UnkStruct_ov000_020b504c_0C_Base { +public: + /* 00 (base) */ + /* 1C */ STRUCT_PAD(0x1C, 0x28); + /* 28 */ + + UnkStruct_ov000_020b504c_0C_Derived4(); +}; + +class UnkStruct_ov000_020b504c_28_Base_160 { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ bool mUnk_04; + /* 05 */ STRUCT_PAD(0x05, 0x08); + /* 08 */ CellAnimObject mUnk_08; + /* 80 */ + + UnkStruct_ov000_020b504c_28_Base_160(); + + // main + unk32 func_02022128(void); +}; + +class UnkStruct_ov000_020b504c_28_Base_25C { +public: + /* 00 */ unk32 mUnk_00; + /* 04 */ unk16 mUnk_04; + /* 06 */ unk16 mUnk_06; + /* 08 */ unk16 mUnk_08; + /* 0A */ unk16 mUnk_0A; + /* 0C */ + + UnkStruct_ov000_020b504c_28_Base_25C() { + this->mUnk_00 = 0; + this->mUnk_04 = 0; + this->mUnk_06 = 0; + this->mUnk_08 = 0; + this->mUnk_0A = 0; + } +}; + +class UnkStruct_ov000_020b504c_28_Base_310 { +public: + /* 00 */ unk16 mUnk_00; + /* 02 */ unk16 mUnk_02; + /* 04 */ unk16 mUnk_04; + /* 06 */ unk16 mUnk_06; + /* 08 */ + + UnkStruct_ov000_020b504c_28_Base_310() { + this->mUnk_00 = 0; + this->mUnk_02 = 0; + this->mUnk_04 = 0; + this->mUnk_06 = 0; + } +}; + +class UnkStruct_ov000_020b504c_28_Base : public UnkStruct_ov000_020b504c_0C_Base { +public: + /* 000 (vtable) */ + /* 01C */ unk32 mUnk_01C; + /* 020 */ bool mUnk_020; + /* 024 */ unk32 mUnk_024; + /* 028 */ UnkTextStruct1 mUnk_028; //! TODO: confirm + /* 038 */ unk32 mUnk_038; + /* 03C */ unk32 mUnk_03C; + /* 040 */ unk16 mUnk_040; + /* 042 */ unk16 mUnk_042; + /* 044 */ unk16 mUnk_044; + /* 046 */ unk16 mUnk_046; + /* 048 */ unk32 mUnk_048; + /* 04C */ unk32 mUnk_04C; + /* 050 */ CellAnimObject mUnk_050; + /* 0C8 */ CellAnimObject mUnk_0C8; + /* 140 */ unk16 mUnk_140; + /* 142 */ unk16 mUnk_142; + /* 144 */ unk32 mUnk_144; + /* 148 */ unk32 mUnk_148; + /* 14C */ unk16 mUnk_14C; + /* 14E */ unk16 mUnk_14E; + /* 150 */ unk16 mUnk_150; + /* 152 */ unk16 mUnk_152; + /* 154 */ unk32 mUnk_154; + /* 158 */ unk32 mUnk_158; + /* 15C */ bool mUnk_15C; + /* 15D */ bool mUnk_15D; + /* 15E */ STRUCT_PAD(0x15E, 0x160); + /* 160 */ UnkStruct_ov000_020b504c_28_Base_160 mUnk_160; + /* 1E0 */ unk32 mUnk_1E0; + /* 1E4 */ bool mUnk_1E4; + /* 1E5 */ STRUCT_PAD(0x1E5, 0x1E8); + /* 1E8 */ UnkSystem2_UnkSubSystem9 mUnk_1E8; + /* 22C */ UnkSubStruct1 mUnk_22C; + /* 25C */ UnkStruct_ov000_020b504c_28_Base_25C mUnk_25C[15]; + /* 310 */ UnkStruct_ov000_020b504c_28_Base_310 mUnk_310[15]; + /* 388 */ unk32 mUnk_388; + /* 38C */ unk32 mUnk_38C; + /* 390 */ unk32 mUnk_390; + /* 394 */ unk16 mUnk_394; + /* 396 */ unk8 mUnk_396; + /* 397 */ bool mUnk_397; + /* 398 */ unk32 mUnk_398; + /* 39C */ unk32 mUnk_39C; + /* 3A0 */ unk32 mUnk_3A0; + /* 3A4 */ unk32 mUnk_3A4; + /* 3A8 */ bool mUnk_3A8; + /* 3A9 */ unk8 mUnk_3A9; // pad? + /* 3AA */ unk16 mUnk_3AA; + /* 3AC */ bool mUnk_3AC; + /* 3AD */ STRUCT_PAD(0x3AD, 0x3B8); + /* 3B8 */ + + UnkStruct_ov000_020b504c_28_Base(); + + // data_020444e8 + /* 00 */ virtual ~UnkStruct_ov000_020b504c_28_Base() override; + /* 08 */ virtual bool vfunc_08() override; + /* 0C */ virtual void vfunc_0C() override; + /* 10 */ virtual void vfunc_10() override; + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual void vfunc_18(unk32 param1) override; + /* 1C */ virtual void vfunc_1C() override; + /* 20 */ virtual void vfunc_20(); + /* 24 */ virtual void vfunc_24(); + /* 28 */ virtual void vfunc_28(); + /* 2C */ virtual void vfunc_2C(); + /* 30 */ virtual void vfunc_30(); + /* 34 */ virtual void vfunc_34(); + /* 38 */ virtual void vfunc_38(); + /* 3C */ virtual void vfunc_3C(); + /* 40 */ virtual void vfunc_40(); + /* 44 */ virtual void vfunc_44(); + /* 48 */ +}; + +class UnkStruct_ov000_020b504c_28 : public UnkStruct_ov000_020b504c_28_Base { +public: + /* 000 (base) */ + /* 3B8 */ + + UnkStruct_ov000_020b504c_28(unk32 param1); + + // data_02044448 + /* 00 */ virtual ~UnkStruct_ov000_020b504c_28() override; +}; + +class UnkStruct_ov000_020b504c_2C : public UnkStruct_ov000_020b504c_28_Base { +public: + /* 000 (base) */ + /* 3B8 */ + + UnkStruct_ov000_020b504c_2C(unk32 param1); + + /* 00 */ virtual ~UnkStruct_ov000_020b504c_2C() override; +}; + +class UnkStruct_ov000_020b504c { +public: + /* 000 */ UnkStruct_ov000_020b504c_Sub3 *mUnk_000; + /* 004 */ GameModeManagerBase_004 *mUnk_004; + /* 008 */ UnkStruct_ov000_020b504c_08 *mUnk_008; + /* 00C */ UnkStruct_ov000_020b504c_0C_Base *mUnk_00C[7]; + /* 028 */ UnkStruct_ov000_020b504c_28 *mUnk_028; // pointer to the subsystem that handles drawing the textboxes + /* 02C */ UnkStruct_ov000_020b504c_2C *mUnk_02C; + /* 030 */ unk32 mUnk_030; + /* 034 */ Input mButtons; + /* 03A */ TouchControl mTouchControl; + /* 05C */ unk8 mUnk_05C[0x10]; + /* 06C */ unk8 mUnk_06C[2]; + /* 06E */ unk8 mUnk_06E; + /* 06F */ bool mUnk_06F; + + UnkStruct_ov000_020b504c(); + + // overlay 0 + void *func_ov000_02067bb4(unk32 param1); + UnkStruct_ov000_020b504c_28 *func_ov000_02067bc4(unk32 param1); + unk8 func_ov000_02067cf8(unk32 param1, unk32 param2, UnkTextStruct1 *param3); // ShowText? + void func_ov000_02067e60(u8 param1, unk32 param2); + unk32 func_ov000_020682c0(unk32 param1); + void func_ov000_02067f5c(unk32 param1); + bool func_ov000_02067f88(unk32 param1, unk32 param2); + UnkStruct_ov000_020b504c_Sub4_00 *func_ov000_02067bf0(); + void func_ov000_02067b20(); + void func_ov000_02068068(unk32 param1); + bool func_ov000_0206807c(unk32 param1, void *param2); + void func_ov000_02067b60(); + + // overlay 1 + void func_ov001_020be504(void); + void func_ov001_020be5e8(void); + void func_ov001_020be510(void); + void func_ov001_020be668(void); + void func_ov001_020be6d8(void); + void func_ov001_020be6f4(void); + void func_ov001_020be79c(u32 sceneIndex); + void func_ov001_020be82c(u32 sceneIndex); + void func_ov001_020be880(u32 sceneIndex); + void func_ov001_020be8e0(void); + void func_ov001_020be92c(UnkStruct_027e0cd8_04_0C *param1); + void func_ov001_020be94c(void); + void func_ov001_020be998(void); + void func_ov001_020be9fc(void); + void func_ov001_020bea2c(void); +}; + +// gMessageManager? +extern UnkStruct_ov000_020b504c data_ov000_020b504c; + +struct UnkMsgDataStruct1 { + unk32 mUnk_00; + + void func_ov000_02067a60(void *, int); +}; diff --git a/include/Unknown/UnkStruct_ov000_020b50c0.hpp b/include/Unknown/UnkStruct_ov000_020b50c0.hpp index f9a1612b..39d6e31a 100644 --- a/include/Unknown/UnkStruct_ov000_020b50c0.hpp +++ b/include/Unknown/UnkStruct_ov000_020b50c0.hpp @@ -5,13 +5,26 @@ class EntranceInfo; +//! TODO: use AutoInstance class UnkStruct_ov018_020c5ac0 { public: - /* 00 */ unk8 mUnk_00; - /* 00 */ unk8 mUnk_01; - /* 00 */ unk16 mUnk_02; + /* 00 */ bool mUnk_00; + /* 00 */ bool mUnk_01; + /* 00 */ u16 mUnk_02; /* 04 */ + // overlay 0 + void func_ov000_0206f61c(unk32 param1); + + // overlay 1 + void func_ov001_020bde6c(); + void func_ov001_020bde7c(); + void func_ov001_020bde90(const EntranceInfo *param1); + void func_ov001_020bdfa0(const EntranceInfo *param1); + void func_ov001_020bdfb8(const EntranceInfo *param1); + void func_ov001_020be030(); + + // overlay 18 UnkStruct_ov018_020c5ac0(); void SetInstance(); @@ -46,26 +59,33 @@ public: UnkStruct_ov000_020b50c0(); // overlay 0 + void func_ov000_02069c78(void); void func_ov000_02069d3c(unk32 param1); void func_ov000_02069d7c(unk32 param1); void func_ov000_02069f58(void); + void func_ov000_0206a014(void); + void func_ov000_0206a260(unk32 param1, unk32 param2, unk32 param3); + void func_ov000_0206a52c(unk32 param1); bool func_ov000_0206a5cc(unk32 param1); void *func_ov000_0206a5d8(unk32 param1); void func_ov000_0206a5fc(void); void func_ov000_0206a6a4(unk32 param1); + void func_ov000_0206a704(unk32 param1); 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_020bd854(void); void func_ov001_020bd87c(void); - void func_ov001_020bd8dc(void); void func_ov001_020bd8ac(void); - void func_ov001_020bd970(EntranceInfo *param1); + void func_ov001_020bd8dc(void); + void func_ov001_020bd8e8(void); + void func_ov001_020bd910(void); + void func_ov001_020bd934(bool param1); + void func_ov001_020bd970(const EntranceInfo *param1); void func_ov001_020bde5c(void); - void func_ov001_020bde04(EntranceInfo *param1); + void func_ov001_020bde04(const EntranceInfo *param1); void func_ov001_020bde4c(const EntranceInfo *param1); // overlay 18 diff --git a/include/Unknown/UnkStruct_ov000_020b51b8.hpp b/include/Unknown/UnkStruct_ov000_020b51b8.hpp index 228cfa8f..7f30e2ad 100644 --- a/include/Unknown/UnkStruct_ov000_020b51b8.hpp +++ b/include/Unknown/UnkStruct_ov000_020b51b8.hpp @@ -62,6 +62,7 @@ public: UnkStruct_ov000_020b51b8(); ~UnkStruct_ov000_020b51b8(); + // overlay 0 void func_ov000_0206c608(unk32 param1, unk32 param2, unk32 param3); void func_ov000_0206c96c(unk32 param1); void func_ov000_0206c9a8(unk32 param1, unk32 param2, unk32 param3, unk32 param4); @@ -70,6 +71,11 @@ public: void func_ov000_0206d134(unk32 param1); void func_ov000_0206d274(unk32 param1); // play seq? + // overlay 1 + void func_ov000_0206bbfc(unk32 param1); + void func_ov000_0206c4ec(unk32 param1); + + // overlay 18 void func_ov018_020c5940(); }; diff --git a/include/Unknown/UnkStruct_ov000_020b5214.hpp b/include/Unknown/UnkStruct_ov000_020b5214.hpp index d350ce36..bd6e396c 100644 --- a/include/Unknown/UnkStruct_ov000_020b5214.hpp +++ b/include/Unknown/UnkStruct_ov000_020b5214.hpp @@ -45,8 +45,11 @@ public: UnkStruct_ov000_020b5214(); + void func_ov000_0206d43c(); void func_ov000_0206d6b4(unk32 param1, unk32 param2); void func_ov000_0206d83c(unk32 param1); + void func_ov000_0206d960(); + void func_ov000_0206d984(); void func_ov000_0206db44(unk32 param1); // play sfx? void func_ov000_0206dc4c(unk32 param1); void func_ov000_0206e7e8(unk32 param1); diff --git a/include/Unknown/UnkStruct_ov000_020b52e8.hpp b/include/Unknown/UnkStruct_ov000_020b52e8.hpp index 79fff540..60653023 100644 --- a/include/Unknown/UnkStruct_ov000_020b52e8.hpp +++ b/include/Unknown/UnkStruct_ov000_020b52e8.hpp @@ -19,6 +19,7 @@ public: // overlay 0 ActorUnkMLCK_B4_00 *func_ov000_0206f980(unk32 param1); + void func_ov000_0206f994(); }; extern UnkStruct_ov000_020b52e8 data_ov000_020b52e8; diff --git a/include/Unknown/UnkStruct_ov024_020d8660.hpp b/include/Unknown/UnkStruct_ov024_020d8660.hpp index 237bdad2..58d62145 100644 --- a/include/Unknown/UnkStruct_ov024_020d8660.hpp +++ b/include/Unknown/UnkStruct_ov024_020d8660.hpp @@ -49,7 +49,6 @@ public: ~UnkStruct_ov024_020d8660(); void func_ov024_020c4a8c(UnkActorSystem1 *param1); - void func_ov024_020c4ac0(); void func_ov024_020c4b10(); void func_ov024_020c4b24(); void func_ov024_020c4b4c(unk32 param1); @@ -59,6 +58,7 @@ public: void func_ov024_020c4d88(ActorId actorId, unk32 param2); void func_ov024_020c4dac(ActorId actorId, unk32 param2, UnkActorSystem_Infos1 *param3); + static void func_ov024_020c4ac0(); static void SetInstance(UnkStruct_ov024_020d8660 *pInstance); static bool ClearInstance(); }; diff --git a/include/Unknown/UnkStruct_ov024_020d86a0.hpp b/include/Unknown/UnkStruct_ov024_020d86a0.hpp index bea98b90..522f6976 100644 --- a/include/Unknown/UnkStruct_ov024_020d86a0.hpp +++ b/include/Unknown/UnkStruct_ov024_020d86a0.hpp @@ -24,11 +24,11 @@ public: /* 00 */ UnkStruct_ov024_020d86a0_00 *mUnk_00; /* 04 */ unk32 mUnk_04; /* 08 */ unk32 mUnk_08; - /* 0C */ unk8 mUnk_0C; - /* 0D */ unk8 mUnk_0D; - /* 0E */ unk8 mUnk_0E; + /* 0C */ bool mUnk_0C; + /* 0D */ bool mUnk_0D; + /* 0E */ bool mUnk_0E; /* 0F */ bool mUnk_0F; - /* 10 */ unk8 mUnk_10; + /* 10 */ bool mUnk_10; /* 11 */ bool mUnk_11; /* 14 */ diff --git a/include/Unknown/UnkSystem1.hpp b/include/Unknown/UnkSystem1.hpp index 63eb928d..4fb26aad 100644 --- a/include/Unknown/UnkSystem1.hpp +++ b/include/Unknown/UnkSystem1.hpp @@ -45,14 +45,14 @@ public: class UnkSystem1_ov000_Derived1 : public UnkSystem1_ov000_Base { public: /* 00 (base) */ - /* 0C */ UnkStruct_ov000_02067bc4::UnkStruct1 *mUnk_0C; + /* 0C */ UnkTextStruct1 *mUnk_0C; /* 10 */ unk16 mUnk_10; /* 12 */ unk8 mUnk_12; // file slot index /* 13 */ unk8 mUnk_13; /* 14 */ UnkSystem1_ov000_Derived1(); - UnkSystem1_ov000_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov000_Derived1(unk32 param1, UnkTextStruct1 *param2); void func_ov000_0206738c(); /* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov000_020673c8 @@ -107,7 +107,7 @@ class UnkSystem1_ov010 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov010(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov010(unk32 param1, UnkTextStruct1 *param2); /* 08 */ virtual void vfunc_08(unk32 param1) override; // func_ov010_020b8844 /* 1C */ virtual unk32 vfunc_1C(u32 param1, unk32 param2, unk32 param3) override; // func_ov010_020b8878 @@ -118,7 +118,7 @@ class UnkSystem1_ov010_Derived1 : public UnkSystem1_ov010 { public: /* 00 (base) */ - UnkSystem1_ov010_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov010_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov010_Derived1() override; // func_ov010_020b88b0 }; @@ -127,7 +127,7 @@ class UnkSystem1_ov016 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov016(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov016(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov016() override; // func_ov016_020b7650 }; @@ -136,7 +136,7 @@ class UnkSystem1_ov016_Derived1 : public UnkSystem1_ov016 { public: /* 00 (base) */ - UnkSystem1_ov016_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov016_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov016_Derived1() override; // func_ov016_020b7664 /* 2C */ virtual void vfunc_2C(); // func_ov016_020b776c }; @@ -147,7 +147,7 @@ public: /* 00 (base) */ UnkSystem1_ov019_1(); - UnkSystem1_ov019_1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) : + UnkSystem1_ov019_1(unk32 param1, UnkTextStruct1 *param2) : UnkSystem1_ov000_Derived1(param1, param2) {} /* 24 */ virtual ~UnkSystem1_ov019_1() override {} // func_ov019_020c4914 @@ -163,7 +163,7 @@ public: /* 1C */ UnkSystem1_ov019_Derived1(); - UnkSystem1_ov019_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov019_Derived1(unk32 param1, UnkTextStruct1 *param2); void func_ov019_020c5200(); unk32 func_ov019_020c5540(bool param1, unk16 param2); @@ -179,7 +179,7 @@ class UnkSystem1_ov019_2 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov019_2(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) : + UnkSystem1_ov019_2(unk32 param1, UnkTextStruct1 *param2) : UnkSystem1_ov000_Derived1(param1, param2) {} /* 24 */ virtual ~UnkSystem1_ov019_2() override {} // func_ov019_020c4c38 @@ -208,7 +208,7 @@ public: /* 00 (base) */ /* 14 */ - UnkSystem1_ov019_3(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) : + UnkSystem1_ov019_3(unk32 param1, UnkTextStruct1 *param2) : UnkSystem1_ov000_Derived1(param1, param2) {} /* 24 */ virtual ~UnkSystem1_ov019_3() override {} // func_ov019_020c5fd0 @@ -243,7 +243,7 @@ class UnkSystem1_ov036 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov036(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov036(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov036() override; // func_ov036_0211eb68 }; @@ -252,7 +252,7 @@ class UnkSystem1_ov036_Derived1 : public UnkSystem1_ov036 { public: /* 00 (base) */ - UnkSystem1_ov036_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov036_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov036_Derived1() override; // func_ov036_02120c18 }; @@ -262,7 +262,7 @@ class UnkSystem1_ov056 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov056(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov056(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov056() override; // func_ov056_0213b910 }; @@ -271,7 +271,7 @@ class UnkSystem1_ov056_Derived1 : public UnkSystem1_ov056 { public: /* 00 (base) */ - UnkSystem1_ov056_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov056_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov056_Derived1() override; // func_ov056_0213d4dc }; @@ -281,7 +281,7 @@ class UnkSystem1_ov059 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov059(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov059(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov059() override; // func_ov059_021605c8 (?) }; @@ -290,7 +290,7 @@ class UnkSystem1_ov059_Derived1 : public UnkSystem1_ov059 { public: /* 00 (base) */ - UnkSystem1_ov059_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov059_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov059_Derived1() override; // func_ov059_02160d98 }; @@ -300,7 +300,7 @@ class UnkSystem1_ov062 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov062(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov062(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov062() override; // func_ov062_0215cf18 }; @@ -309,7 +309,7 @@ class UnkSystem1_ov062_Derived1 : public UnkSystem1_ov062 { public: /* 00 (base) */ - UnkSystem1_ov062_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov062_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov062_Derived1() override; // func_ov062_0215e734 }; @@ -319,7 +319,7 @@ class UnkSystem1_ov063 : public UnkSystem1_ov000_Derived1 { public: /* 00 (base) */ - UnkSystem1_ov063(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov063(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov063() override; // func_ov063_0215f1c0 }; @@ -328,7 +328,7 @@ class UnkSystem1_ov063_Derived1 : public UnkSystem1_ov063 { public: /* 00 (base) */ - UnkSystem1_ov063_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2); + UnkSystem1_ov063_Derived1(unk32 param1, UnkTextStruct1 *param2); /* 24 */ virtual ~UnkSystem1_ov063_Derived1() override; // func_ov063_0215f29c }; diff --git a/include/files.h b/include/files.h index 1a5e4b12..4b469743 100644 --- a/include/files.h +++ b/include/files.h @@ -20,6 +20,7 @@ enum FileType_ { FileType_ZMBv2 = 'ZMB2', FileType_CIB = 'ZCIB', FileType_CLB = 'ZCLB', + FileType_ZCB = 'ZCB1', }; typedef struct FileInfos { @@ -238,19 +239,19 @@ extern BOOL ZAB_GetRoomEntry(FileInfos *pFileInfos, u8 param2, const CourseListE // .zmb typedef u32 ZMBSectionType; -enum ZMBSectionType_ { +enum ZMBSectionType_ { // clang-format off ZMBSectionType_ROMB = 'ROMB', // unknown ZMBSectionType_ROOM = 'ROOM', // room settings ZMBSectionType_LDLB = 'LDLB', // related to script triggers - ZMBSectionType_MapObjects = 'MPOB', // map object list, parameters are stored here - ZMBSectionType_ARAB = 'ARAB', // locations? (?) - ZMBSectionType_RALB = 'RALB', // paths? - ZMBSectionType_NPCA = 'NPCA', // actor list, same as above - ZMBSectionType_PLYR = 'PLYR', // player entrances? - ZMBSectionType_WARP = 'WARP', // exits? - ZMBSectionType_CAME = 'CAME', // camera settings? - ZMBSectionType_CMPT = 'CMPT', // ? -}; + ZMBSectionType_MapObjects = 'MPOB', // map object list + ZMBSectionType_ARAB = 'ARAB', // "area block", used to define an area (X1-X2-Y1-Y2 for a cubic area, or can simply be a radius) + ZMBSectionType_RALB = 'RALB', // "rail block", paths + ZMBSectionType_NPCA = 'NPCA', // actor list + ZMBSectionType_PLYR = 'PLYR', // player entrances? + ZMBSectionType_WARP = 'WARP', // exits? + ZMBSectionType_CAME = 'CAME', // camera settings (like fixed camera points used by shops for instance) + ZMBSectionType_CMPT = 'CMPT', // ? +}; // clang-format on typedef struct ZMBFileInfos { /* 00 */ void *pFile; @@ -478,6 +479,87 @@ extern BOOL ZMB_ParsePLYR(ZMBFileInfos *pFileInfos, ZMBSectionPLYR *pPLYR, UnkSt extern BOOL ZMB_ParseCAME(ZMBFileInfos *pFileInfos, ZMBSectionCAME *pCAME, UnkStruct_027e0cd8_0C_Base *pDst); extern BOOL ZMB_ParseCMPT(ZMBFileInfos *pFileInfos, ZMBSectionCMPT *pCMPT, UnkStruct_027e0cd8_0C_Base *pDst); +// .zcb +struct UnkStruct_027e09e8; +struct UnkFileSystem1; + +typedef u32 ZCBSectionType; +enum ZCBSectionType_ { + ZCBSectionType_VTXB = 'VTXB', // vertices + ZCBSectionType_NRMB = 'NRMB', // normals + ZCBSectionType_PCLB = 'PCLB', // polygon classes + ZCBSectionType_TRIB = 'TRIB', // triangles + ZCBSectionType_GRDB = 'GRDB', // grid +}; + +typedef struct ZCBFileInfos { + /* 00 */ UnkFileSystem1 *pFile; + /* 04 */ size_t size; +} ZCBFileInfos; + +typedef struct ZCBHeader { + /* 00 */ u32 magic; // 'BLCM' + /* 04 */ FileType type; // always "ZCB1" + /* 08 */ size_t nSize; + /* 0C */ u32 nSections; + /* 10 */ u8 unused[0x10]; +} ZCBHeader; // size = 0x20 + +typedef struct ZCBSectionHeader { + /* 00 */ ZCBSectionType type; + /* 04 */ size_t nSize; + /* 08 */ u16 nEntries; + /* 0A */ u8 unk_0A; + /* 0B */ u8 unk_0B; +} ZCBSectionHeader; // size = 0x0C + +typedef struct ZCBSectionVTXB { + /* 00 */ ZCBSectionHeader header; + /* 0C */ VecFx32 entries[]; +} ZCBSectionVTXB; + +typedef struct ZCBEntryNRMB { + /* 00 */ unk32 unk_00; + /* 04 */ unk16 unk_04; +} ZCBEntryNRMB; // size = 0x06 + +typedef struct ZCBSectionNRMB { + /* 00 */ ZCBSectionHeader header; + /* 0C */ ZCBEntryNRMB entries[]; +} ZCBSectionNRMB; + +typedef struct ZCBEntryPLCB { + /* 00 */ unk32 unk_00; +} ZCBEntryPLCB; // size = 0x04 + +typedef struct ZCBSectionPCLB { + /* 00 */ ZCBSectionHeader header; + /* 0C */ ZCBEntryPLCB entries[]; +} ZCBSectionPCLB; + +typedef struct ZCBEntryTRIB { + /* 00 */ unk32 unk_00; +} ZCBEntryTRIB; // size = ? + +typedef struct ZCBSectionTRIB { + /* 00 */ ZCBSectionHeader header; + /* 0C */ ZCBEntryTRIB entries[]; +} ZCBSectionTRIB; + +typedef struct ZCBSectionGRDB { + /* 00 */ ZCBSectionHeader header; + /* 0C */ +} ZCBSectionGRDB; + +extern BOOL ZCB_ParseFile(ZCBFileInfos *pFileInfos, UnkStruct_027e09e8 *pDst, UnkStruct_027e0cd8_0C_Base *param3); +extern void ZCB_ParseVTXB(ZCBFileInfos *pFileInfos, ZCBSectionVTXB *pSection, UnkStruct_027e09e8 *pDst, + UnkStruct_027e0cd8_0C_Base *param3); +extern void ZCB_ParseNRMB(ZCBFileInfos *pFileInfos, ZCBSectionNRMB *pSection, UnkStruct_027e09e8 *pDst); +extern void ZCB_ParsePCLB(ZCBFileInfos *pFileInfos, ZCBSectionPCLB *pSection, UnkStruct_027e09e8 *pDst); +extern void ZCB_ParseTRIB(ZCBFileInfos *pFileInfos, ZCBSectionTRIB *pSection, UnkStruct_027e09e8 *pDst); +extern void ZCB_ParseGRDB(ZCBFileInfos *pFileInfos, ZCBSectionGRDB *pSection, UnkStruct_027e09e8 *pDst, + UnkStruct_027e0cd8_0C_Base *param3); + #ifdef __cplusplus } // extern "C" #endif diff --git a/include/iterator.hpp b/include/iterator.hpp index 34e5259f..35f82570 100644 --- a/include/iterator.hpp +++ b/include/iterator.hpp @@ -28,9 +28,9 @@ public: } // allocate the list and run the constructors for each element - void Init(size_t arrayLength) { + void Init(size_t arrayLength, size_t factor = 4) { this->Destroy(); - this->Set(arrayLength * 4); + this->Set(arrayLength * factor); if (this->begin != this->end) { T *it = (T *) this->begin; diff --git a/src/000_Second/UnkSystem1_Base.cpp b/src/000_Second/UnkSystem1_Base.cpp index 858609c4..69a58ff8 100644 --- a/src/000_Second/UnkSystem1_Base.cpp +++ b/src/000_Second/UnkSystem1_Base.cpp @@ -1,4 +1,4 @@ -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkSystem1.hpp" UnkSystem1_ov000_Base::UnkSystem1_ov000_Base(unk32 param1) { diff --git a/src/000_Second/UnkSystem1_Derived1.cpp b/src/000_Second/UnkSystem1_Derived1.cpp index be1adad9..7f12f050 100644 --- a/src/000_Second/UnkSystem1_Derived1.cpp +++ b/src/000_Second/UnkSystem1_Derived1.cpp @@ -1,7 +1,7 @@ -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkSystem1.hpp" -UnkSystem1_ov000_Derived1::UnkSystem1_ov000_Derived1(unk32 param1, UnkStruct_ov000_02067bc4::UnkStruct1 *param2) : +UnkSystem1_ov000_Derived1::UnkSystem1_ov000_Derived1(unk32 param1, UnkTextStruct1 *param2) : UnkSystem1_ov000_Base(-1) { this->mUnk_0C = param2; this->mUnk_10 = param1; @@ -27,7 +27,7 @@ void UnkSystem1_ov000_Derived1::vfunc_08(unk32 param1) { if (this->mUnk_0C != 0) { this->mUnk_06 = data_ov000_020b504c.func_ov000_02067cf8(param1, this->mUnk_10, this->mUnk_0C); } else { - UnkStruct_ov000_02067bc4::UnkStruct1 local_18(-1); + UnkTextStruct1 local_18(-1); this->mUnk_06 = data_ov000_020b504c.func_ov000_02067cf8(param1, this->mUnk_10, &local_18); } } diff --git a/src/001_SceneInit/Game/AdventureModeManager_001.cpp b/src/001_SceneInit/Game/AdventureModeManager_001.cpp index 923ac489..998fc218 100644 --- a/src/001_SceneInit/Game/AdventureModeManager_001.cpp +++ b/src/001_SceneInit/Game/AdventureModeManager_001.cpp @@ -15,19 +15,16 @@ #include -extern "C" { -void *func_ov024_020d1658(); -void *func_ov000_02066294(); -} +extern "C" void *func_ov000_02066294(); -extern int data_ov001_020c27a8; -extern int data_ov001_020c276c; +extern s16 data_ov001_020c27a8; +extern s16 data_ov001_020c276c; -AdventureModeManager *AdventureModeManager::Create(unk32 param1) { +GameModeManagerBase *AdventureModeManager::Create(UnkStruct_0204a110_Sub2 *param1) { return new(HeapIndex_1) AdventureModeManager(param1); } -AdventureModeManager::AdventureModeManager(unk32 param1) { +AdventureModeManager::AdventureModeManager(UnkStruct_0204a110_Sub2 *param1) { this->mUnk_154 = 0; this->mUnk_158 = &this->mUnk_104; this->mUnk_15C = new(HeapIndex_1) AdventureModeManager_15C(); @@ -59,7 +56,7 @@ AdventureModeManager::AdventureModeManager(unk32 param1) { this->mAllowMapPaint = false; UnkStruct_027e0998::Create(); - func_ov024_020d1658(); + UnkStruct_ov024_020d86a0::Create(); this->mUnk_170 = new(HeapIndex_1) AdventureModeManager_170(&this->mUnk_104); diff --git a/src/001_SceneInit/Game/GameModeAdventure_001.cpp b/src/001_SceneInit/Game/GameModeAdventure_001.cpp index e2fad3a5..e291c55b 100644 --- a/src/001_SceneInit/Game/GameModeAdventure_001.cpp +++ b/src/001_SceneInit/Game/GameModeAdventure_001.cpp @@ -2,14 +2,9 @@ #include "Game/GameModeAdventure.hpp" #include "MainGame/AdventureMode.hpp" #include "Unknown/UnkStruct_0204a110.hpp" +#include "Unknown/UnkStruct_ov024_020d8660.hpp" -extern "C" { -void func_ov020_020c4ac0(void *); -void func_0201659c(); -} - -extern int data_ov001_020c27a8; -extern int data_ov001_020c276c; +extern "C" void func_0201659c(); GameModeAdventure::GameModeAdventure() { func_0201659c(); @@ -17,5 +12,6 @@ GameModeAdventure::GameModeAdventure() { data_0204a110.func_ov001_020bd514(0, AdventureModeManager::Create, 0, 1); gSaveManager.func_ov001_020ba670(); gSaveManager.func_ov001_020ba7a8(); - func_ov020_020c4ac0(UnkStruct_027e09a4::Create(0)); + UnkStruct_027e09a4::Create(0); + UnkStruct_ov024_020d8660::func_ov024_020c4ac0(); } diff --git a/src/001_SceneInit/Game/GameModeCreate.cpp b/src/001_SceneInit/Game/GameModeCreate.cpp new file mode 100644 index 00000000..a70ecb14 --- /dev/null +++ b/src/001_SceneInit/Game/GameModeCreate.cpp @@ -0,0 +1,78 @@ +#include "Game/Game.hpp" +#include "Game/GameModeAdventure.hpp" +#include "Game/GameModeBattle.hpp" +#include "Game/GameModeContactMode.hpp" +#include "Game/GameModeDownloadPlay.hpp" +#include "Game/GameModeTitleScreen.hpp" +#include "Save/SaveFile.hpp" +#include "System/OverlayManager.hpp" +#include "Unknown/UnkStruct_ov000_020b4eec.hpp" +#include "versions.h" + +#include + +// different function order +#if IS_JP +GameModeBase *GameModeTitleScreen::Create() { + data_02049ba0.func_020148d0(OverlayIndex_Title); + + SaveSlot::func_ov000_020a1028(&gGame.mpSaveSlot->mInfoData); + + SaveTreasureData *pTreasureData = &gGame.mpSaveSlot->mTreasureData; + MI_CpuClearFast(pTreasureData, sizeof(SaveTreasureData)); + + for (int i = 0; i < ARRAY_LEN(pTreasureData->unk_3C); i++) { + pTreasureData->unk_3C[i] = TreasureType_None; + } + + SaveSlot::func_ov000_020a10f4(&gGame.mpSaveSlot->mUnk_2600); + + return new(HeapIndex_1) GameModeTitleScreen(); +} + +GameModeBase *GameModeAdventure::Create() { + data_02049ba0.func_020148d0(OverlayIndex_MainGame); + return new(HeapIndex_1) GameModeAdventure(); +} +#else +GameModeBase *GameModeAdventure::Create() { + data_02049ba0.func_020148d0(OverlayIndex_MainGame); + return new(HeapIndex_1) GameModeAdventure(); +} + +GameModeBase *GameModeTitleScreen::Create() { + data_02049ba0.func_020148d0(OverlayIndex_Title); + + SaveSlot::func_ov000_020a1028(&gGame.mpSaveSlot->mInfoData); + + SaveTreasureData *pTreasureData = &gGame.mpSaveSlot->mTreasureData; + MI_CpuClearFast(pTreasureData, sizeof(SaveTreasureData)); + + for (int i = 0; i < ARRAY_LEN(pTreasureData->unk_3C); i++) { + pTreasureData->unk_3C[i] = TreasureType_None; + } + + SaveSlot::func_ov000_020a10f4(&gGame.mpSaveSlot->mUnk_2600); + + return new(HeapIndex_1) GameModeTitleScreen(); +} +#endif + +GameModeBase *GameModeContactMode::Create() { + data_02049ba0.func_020148d0(OverlayIndex_Wxc); + return GameModeContactMode::CreateInstance(); +} + +GameModeBase *GameModeDownloadPlay::Create() { + data_02049ba0.func_020148d0(OverlayIndex_Download); + return GameModeDownloadPlay::CreateInstance(); +} + +GameModeBase *GameModeBattle::Create() { + data_02049ba0.func_020148d0(OverlayIndex_BattleGame); + return new(HeapIndex_1) GameModeBattle(data_ov000_020b4eec.mUnk_00); +} + +GameSaveSlot *UnkStruct_ov000_020b4eec::func_ov001_020be12c() { + return gGame.mpSaveSlot; +} diff --git a/src/001_SceneInit/SceneInitializers_001.cpp b/src/001_SceneInit/SceneInitializers_001.cpp index b63425af..ff821ba3 100644 --- a/src/001_SceneInit/SceneInitializers_001.cpp +++ b/src/001_SceneInit/SceneInitializers_001.cpp @@ -6,6 +6,7 @@ #include "MapObject/MapObjectManager.hpp" #include "System/OverlayManager.hpp" #include "System/SysNew.hpp" +#include "Unknown/Common.hpp" #include "Unknown/UnkStruct_0204a110.hpp" #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_027e0954.hpp" @@ -22,7 +23,7 @@ #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_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b50c0.hpp" #include "versions.h" @@ -36,17 +37,6 @@ 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, diff --git a/src/001_SceneInit/UnkStruct_0204a110_001.cpp b/src/001_SceneInit/UnkStruct_0204a110_001.cpp new file mode 100644 index 00000000..4e19dc05 --- /dev/null +++ b/src/001_SceneInit/UnkStruct_0204a110_001.cpp @@ -0,0 +1,131 @@ +#include "System/SysNew.hpp" +#include "Unknown/UnkStruct_0204a088.hpp" +#include "Unknown/UnkStruct_0204a110.hpp" +#include "Unknown/UnkStruct_027e09a4.hpp" + +#include + +extern "C" void func_02019a74(); +extern "C" void func_02019b3c(); +extern "C" void func_02019c4c(); + +void UnkStruct_0204a110::func_ov001_020bd514(unk32 param1, GameModeMgrCreateCallback createCallback, bool param3, + bool param4) { + this->func_02018c90(param1); + + if (param1 == 4) { + this->mUnk_010.func_0201c890(0x12000, 0x12000, param3, param4, true); + } else if (param1 == 2) { + this->mUnk_010.func_0201c890(0x12000, 0x12000, param3, param4, true); + } else { + this->mUnk_010.func_0201c890(0x4800, 0x12000, param3, param4, true); + } + + if (createCallback == NULL) { + createCallback = GameModeManagerBase::Create; + } + + this->mpManager = createCallback(&this->mUnk_010); + + GX_DispOn(); + GXS_DispOn(); +} + +void UnkStruct_0204a110::func_ov001_020bd58c(void) { + this->mUnk_010.func_ov001_020bd7c0(); + DELETE(this->mpManager); +} + +void UnkStruct_0204a110::func_ov001_020bd5b0(void) { + GX_SetVisibleWindows(0); + GXS_SetVisibleWindows(0); + func_02019a74(); + func_02019b3c(); + func_02019c4c(); + + this->mUnk_DDC.func_0201de24(); + this->mUnk_DC0.func_0201d628(); + + if (data_027e09a4 != NULL && data_027e09a4->IsTrain()) { + this->mUnk_D9C.func_0201c494(1); + } else { + this->mUnk_D9C.func_0201c494(0); + } + + this->mUnk_E02 = 0; + this->mUnk_E04 = 0; + this->mpManager->vfunc_14(); +} + +void UnkStruct_0204a110::func_ov001_020bd638(void) { + if (this->mpManager != NULL) { + this->mpManager->vfunc_18(); + this->mpManager->func_02018a8c(); + } + + this->mUnk_DDC.func_0201de24(); + this->mUnk_DC0.func_0201d628(); + + this->mUnk_E02 = 0; + this->mUnk_E04 = 0; +} + +void UnkStruct_0204a110::func_ov001_020bd678(void) { + this->mpManager->vfunc_1C(); +} + +void UnkStruct_0204a110::func_ov001_020bd68c(void) { + this->mpManager->vfunc_20(); + this->mpManager->func_02018a8c(); +} + +UnkStruct_0204a088 *UnkStruct_0204a088::Create() { + return new(HeapIndex_1) UnkStruct_0204a088(); +} + +UnkStruct_0204a088::UnkStruct_0204a088() : + mUnk_120(0) { + this->func_ov001_020bd6f8(); +} + +void UnkStruct_0204a088::func_ov001_020bd6f8() { + this->mUnk_120 = -1; + this->mUnk_123 = false; + this->mUnk_124 = false; + this->mUnk_125 = false; + this->mUnk_126 = false; + this->mUnk_127 = false; + this->mUnk_128 = 0; + this->mUnk_00 = 0; + this->mUnk_04 = -1; + this->mUnk_08 = -1; +} + +DECL_INSTANCE_CTOR(UnkStruct_0204a088, data_0204a088); + +void GameModeManagerBase_004::func_ov001_020bd734(const s16 *param1) { + unk32 uVar3 = data_0204999c.func_02013014(); + + for (int i = 0; param1[i] != 0x3C; i++) { + this->mUnk_00[param1[i]] = new(HeapIndex_1) GameModeManagerBase_004_00(param1[i]); + } + + data_0204999c.func_020130d4(uVar3); +} + +void GameModeManagerBase_004::func_ov001_020bd784() { + unk32 uVar3 = data_0204999c.func_02013014(); + + for (u32 i = 0; i < 0x3C; i++) { + if (this->mUnk_00[i] != NULL) { + DELETE(this->mUnk_00[i]); + } + } + + data_0204999c.func_020130d4(uVar3); +} + +void UnkStruct_0204a110_Sub2::func_ov001_020bd7c0() { + this->mUnk_044[0] = 0; + this->mUnk_044[1] = 0; +} diff --git a/src/001_SceneInit/UnkStruct_027e09ac_001.cpp b/src/001_SceneInit/UnkStruct_027e09ac_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e09b4_001.cpp b/src/001_SceneInit/UnkStruct_027e09b4_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 index 77935638..b2f06ce2 100644 --- a/src/001_SceneInit/UnkStruct_027e09b8_001.cpp +++ b/src/001_SceneInit/UnkStruct_027e09b8_001.cpp @@ -1,7 +1,7 @@ #include "System/SysNew.hpp" #include "Unknown/UnkStruct_0204a088.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include diff --git a/src/001_SceneInit/UnkStruct_027e09c0_001.cpp b/src/001_SceneInit/UnkStruct_027e09c0_001.cpp new file mode 100644 index 00000000..f9296f65 --- /dev/null +++ b/src/001_SceneInit/UnkStruct_027e09c0_001.cpp @@ -0,0 +1,99 @@ +#include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e09a4.hpp" +#include "Unknown/UnkStruct_027e09c0.hpp" +#include "Unknown/UnkStruct_027e09e8.hpp" +#include "Unknown/UnkStruct_027e0a48.hpp" +#include "Unknown/UnkStruct_027e0b48.hpp" + +#include + +UnkStruct_027e09c0 *UnkStruct_027e09c0::Create() { + return new(HeapIndex_1) UnkStruct_027e09c0(); +} + +void UnkStruct_027e09c0::Destroy() { + UnkStruct_027e09c0::DestroyImpl(); +} + +UnkStruct_027e09c0::UnkStruct_027e09c0() : + mUnk_000(0), + mUnk_044(this->mUnk_004), + mUnk_048(NULL), + mUnk_04C(NULL), + mUnk_050(0), + mUnk_054(NULL), + mUnk_058(NULL), + mUnk_05C(0), + mUnk_760(NULL), + mUnk_764(NULL), + mUnk_768(0), + mUnk_76C(NULL), + mUnk_770(NULL), + mUnk_774(0) { + this->mUnk_048 = this->mUnk_060; + this->mUnk_04C = this->mUnk_060; + this->mUnk_050 = 0x20; + + this->mUnk_054 = &this->mUnk_060[32]; + this->mUnk_058 = &this->mUnk_060[32]; + this->mUnk_05C = 0x20; + + this->mUnk_760 = &this->mUnk_778; + this->mUnk_764 = &this->mUnk_778; + this->mUnk_768 = 0x20; + + this->mUnk_76C = &this->mUnk_878; + this->mUnk_770 = &this->mUnk_878; + this->mUnk_774 = 0x20; +} + +void UnkStruct_027e09c0::func_ov001_020be394() { + if (data_027e09a4->IsLand()) { + data_027e0a48.func_ov000_0207ef30(); + } else { + data_027e0a48.func_ov000_0207f048(); + } + + data_027e0b48.func_ov001_020be474(); +} + +void UnkStruct_027e09c0::func_ov001_020be3c4() { + data_027e0b48.func_ov001_020be4e4(); + data_027e0a48.func_ov000_0207f1f0(); +} + +void UnkStruct_027e09c0::func_ov001_020be3dc(UnkFileSystem3 *param1, UnkStruct_027e0cd8_0C_Base *param2) { + data_027e0a48.func_ov000_0207f280(param2); + data_027e09e8.func_ov000_0207ba84(param1, param2); +} + +void UnkStruct_027e09c0::func_ov001_020be400() { + for (UnkStruct_027e09c0_04 **pIt = this->mUnk_004; pIt != this->mUnk_044; pIt++) { + if (*pIt != NULL) { + (*pIt)->func_ov000_0207f4d4(); + } + } + + this->mUnk_044 = this->mUnk_004; + this->mUnk_000 = 0; + data_027e0a48.func_ov000_0207f2d8(); + data_027e09e8.func_ov000_0207baa0(); +} + +void UnkStruct_027e09c0::DestroyImpl() { + if (data_027e09c0 != NULL) { + delete data_027e09c0; + } +} + +DECL_INSTANCE(UnkStruct_027e09c0, data_027e09c0); + +void UnkStruct_027e0b48::func_ov001_020be474() { + bool isLand = data_027e09a4->IsLand(); + this->mUnk_000.Init(0x74 * (isLand ? 4 : 8), 1); + MI_CpuClearFast(this->mUnk_008, sizeof(this->mUnk_008)); +} + +void UnkStruct_027e0b48::func_ov001_020be4e4() { + this->mUnk_000.Reset(); +} diff --git a/src/001_SceneInit/UnkStruct_027e0cd8_001.cpp b/src/001_SceneInit/UnkStruct_027e0cd8_001.cpp index 49280a1b..7d2b8ce4 100644 --- a/src/001_SceneInit/UnkStruct_027e0cd8_001.cpp +++ b/src/001_SceneInit/UnkStruct_027e0cd8_001.cpp @@ -12,7 +12,7 @@ #include "Unknown/UnkStruct_027e0cd8.hpp" #include "Unknown/UnkStruct_027e0ce0.hpp" #include "Unknown/UnkStruct_027e0cec.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b50c0.hpp" #include "Unknown/UnkStruct_ov024_020d8660.hpp" #include "Unknown/UnkStruct_ov024_020d8694.hpp" diff --git a/src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp b/src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp index cf89d57e..51ee60f5 100644 --- a/src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp +++ b/src/001_SceneInit/UnkStruct_027e0cd8_0C_001.cpp @@ -15,7 +15,7 @@ #include #include -extern "C" BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, unk32); +extern "C" BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, void *); extern "C" void func_ov089_02165c34(void *); extern AABB data_027e0ca8; extern AABB data_027e0cc0; @@ -96,9 +96,9 @@ UnkStruct_027e0cd8_0C_Base::UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param VecFx32 sp18; VecFx32 spC; - this->mUnk_0A0 = 0; - this->mUnk_0A4 = 0; - this->mUnk_0A8 = 0; + this->mUnk_0A0.x = 0; + this->mUnk_0A0.y = 0; + this->mUnk_0A0.z = 0; fx32 y = (this->mUnk_11C << 14); fx32 z = ((u32) (u16) this->mUnk_09C.y >> 1) << 12; @@ -282,7 +282,7 @@ void UnkStruct_027e0cd8_0C_Base::LoadSceneModel(const EntranceInfo *param1) { this->mUnk_070.mUnk_04 = (char *) local_78; this->mUnk_070.vfunc_08(0x10); - BMDSectionModel *pBMD = func_ov000_0205abcc(&local_50, &this->mUnk_070, 0x01, 0x00, 0x00); + BMDSectionModel *pBMD = func_ov000_0205abcc(&local_50, &this->mUnk_070, 0x01, 0x00, NULL); G3d_Model *pModel = G3d_GetModelPtr(pBMD); G3d_0200e6a0(pModel, 0x00, 0x40); G3d_0200e6a0(pModel, 0x00, 0x80); diff --git a/src/001_SceneInit/UnkStruct_027e0ce0_1C_001.cpp b/src/001_SceneInit/UnkStruct_027e0ce0_1C_001.cpp new file mode 100644 index 00000000..e5e9291b --- /dev/null +++ b/src/001_SceneInit/UnkStruct_027e0ce0_1C_001.cpp @@ -0,0 +1,404 @@ +#include "Actor/ActorManager.hpp" +#include "System/OverlayManager.hpp" +#include "Unknown/Common.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e0ce0.hpp" +#include "Unknown/UnkStruct_ov024_020d8660.hpp" + +#include +#include + +extern "C" bool func_ov000_0208e874(const u8 *, int, int, int); +extern "C" const char *func_ov000_0208e830(int); + +extern unk32 data_ov000_020b3000; + +UnkStruct_027e0ce0_1C::UnkStruct_027e0ce0_1C() { + this->mUnk_D4 = NULL; + this->mUnk_D8 = NULL; + + MI_CpuFill32(0, this->mUnk_08, sizeof(this->mUnk_08)); + MI_CpuFill32(0, this->mUnk_5C, sizeof(this->mUnk_5C)); + MI_CpuFill32(0, this->mUnk_C8, sizeof(this->mUnk_C8)); +} + +UnkStruct_027e0ce0_1C::~UnkStruct_027e0ce0_1C() {} + +// https://decomp.me/scratch/3dDWf +void UnkStruct_027e0ce0_1C::func_ov001_020bccec() { + if (data_027e09a4->IsTrain()) { + return; + } + + bool isSceneBattle = data_027e09a4->IsSceneModeBattle(); + bool isCutscene = data_027e09a4->IsCutscene(); + + wchar_t path[32]; + path[0] = L'\0'; + path[sizeof(path) / 2 - 1] = L'\0'; + + for (unsigned long var_r5 = 0; var_r5 < PlayerCharacter_Max; var_r5++) { + for (unsigned long var_r4 = 0; var_r4 < ARRAY_LEN(this->mUnk_08[var_r5]); var_r4++) { + const UnkStruct_ov000_020ab4dc *ptr = &data_ov000_020ab4dc[var_r5]; + + if (func_ov000_0208e874(&ptr->mUnk_86[var_r4], var_r5, var_r4, 1)) { + this->mUnk_08[var_r5][var_r4] = new(HeapIndex_1) UnkStruct_027e0ce0_1C_08(var_r5, var_r4, 0); + + switch (var_r4) { + case 3: + this->mUnk_D4 = new(HeapIndex_1) UnkStruct_027e0ce0_1C_D4(); + this->mUnk_08[var_r5][var_r4]->func_ov000_020588f0(this->mUnk_D4, 0x6AB0, 0, + (void *) ((u32) this->mUnk_D4 + 0x6AB0)); + break; + case 4: + this->mUnk_D8 = new(HeapIndex_1) UnkStruct_027e0ce0_1C_D8(); + this->mUnk_08[var_r5][var_r4]->func_ov000_020588f0(this->mUnk_D8, 0x6AB0, 0, + (void *) ((u32) this->mUnk_D8 + 0x6AB0)); + break; + default: + this->mUnk_08[var_r5][var_r4]->func_ov000_020586b4(NULL, 0, 0, NULL); + break; + } + } + } + + if (isSceneBattle || isCutscene) { + continue; + } + + for (unsigned long var_r7 = 0; var_r7 < ARRAY_LEN(this->mUnk_5C[var_r5]); var_r7++) { + int value = var_r7 + 7; + bool canLoadAnimation; + + if (var_r5 == 0) { + switch (value) { + case 7: + if (data_027e09a4->GetCurrentCourseEntry()->unk_1B & 4) { + canLoadAnimation = true; + } else { + canLoadAnimation = false; + } + break; + case 9: + if (gOverlayManager.IsPlayerSub()) { + canLoadAnimation = true; + } else { + canLoadAnimation = false; + } + break; + case 10: + if (gOverlayManager.IsPlayerPhantom()) { + canLoadAnimation = true; + } else { + canLoadAnimation = false; + } + break; + case 15: + if (data_027e09a4->CurrentSceneIndex() == SceneIndex_b_last23) { + canLoadAnimation = true; + } else { + canLoadAnimation = false; + } + break; + default: + canLoadAnimation = false; + break; + } + } else if (var_r5 == 1) { + if (value == 12 && gOverlayManager.IsBossDeago()) { + canLoadAnimation = true; + } else if (value == 13 && data_027e09a4->CurrentSceneIndex() == 0x24) { + canLoadAnimation = true; + } + } else if (var_r5 == 2) { + if (value == 11 && data_027e09a4->CurrentSceneIndex() == 0x28) { + canLoadAnimation = true; + } else if (value == 14 && data_027e09a4->CurrentSceneIndex() == 0x25) { + canLoadAnimation = true; + } else if (value == 15 && data_027e09a4->CurrentSceneIndex() == 0x27) { + canLoadAnimation = true; + } + } else { + canLoadAnimation = false; + } + + if (canLoadAnimation) { + const UnkStruct_ov000_020ab4dc *ptr = &data_ov000_020ab4dc[var_r5]; + strncpy((char *) path, ptr->mpDirectory, sizeof(path) - 1); + + const char *anm = "/anm/"; + int len = strlen((char *) path); + strncpy((char *) path + len, anm, sizeof(path) - 1 - len); + + const char *string = func_ov000_0208e830(value); + len = strlen((char *) path); + strncpy((char *) path + len, string, sizeof(path) - 1 - len); + + const char *ext = ".nsbca"; + len = strlen((char *) path); + strncpy((char *) path + len, ext, sizeof(path) - 1 - len); + + UnkFileSystem5 **target = &this->mUnk_5C[var_r5][var_r7]; + this->mUnk_5C[var_r5][var_r7] = new(HeapIndex_1) UnkFileSystem5((char *) path, 0xA1, HeapIndex_1, 0); + this->mUnk_5C[var_r5][var_r7]->vfunc_08(0x10); + } + } + + bool canCreateC8; + + switch (var_r5) { + case 0: + canCreateC8 = true; + break; + case 1: + if (gOverlayManager.IsPlayerPhantom()) { + canCreateC8 = true; + } else { + canCreateC8 = false; + } + + break; + case 2: + canCreateC8 = false; + break; + default: + canCreateC8 = false; + break; + } + + if (canCreateC8) { + const UnkStruct_ov000_020ab4dc *ptr; + ptr = &data_ov000_020ab4dc[var_r5]; + this->mUnk_C8[var_r5] = new(HeapIndex_1) UnkStruct_027e0ce0_1C_C8(var_r5, ptr->mUnk_98); + } + } +} + +void UnkStruct_027e0ce0_1C::func_ov001_020bcfec() { + if (data_027e09a4->IsTrain()) { + return; + } + + for (unsigned long i = 0; i < PlayerCharacter_Max; i++) { + DELETE(this->mUnk_C8[i]); + + for (unsigned long j = 0; j < ARRAY_LEN(this->mUnk_5C[i]); j++) { + DELETE(this->mUnk_5C[i][j]); + } + + for (unsigned long j = 0; j < ARRAY_LEN(this->mUnk_08[i]); j++) { + DELETE(this->mUnk_08[i][j]); + } + } + + DELETE(this->mUnk_D8); + DELETE(this->mUnk_D4); +} + +void UnkStruct_027e0ce0_1C::func_ov001_020bd0a4(bool param1) { + if (data_027e09a4->IsTrain()) { + return; + } + + if (param1) { + for (unsigned long i = 0; i < PlayerCharacter_Max; i++) { + for (unsigned long j = 0; j < ARRAY_LEN(this->mUnk_08[i]); j++) { + if (this->mUnk_08[i][j] != NULL) { + continue; + } + + if (func_ov000_0208e874(&data_ov000_020ab4dc[i].mUnk_86[j], i, j, 0)) { + this->mUnk_08[i][j] = new(HeapIndex_1) UnkStruct_027e0ce0_1C_08(i, j, 0); + this->mUnk_08[i][j]->func_ov000_020586b4(0, 0, 0, 0); + + this->mUnk_00[i].mUnk_00 |= (1 << j); + } + } + } + } + + if (gOverlayManager.IsMapLava() || gOverlayManager.IsDungeonDesert()) { + wchar_t path[32]; + path[sizeof(path) / 2 - 1] = L'\0'; + + strncpy((char *) path, data_ov000_020ab4dc[0].mpDirectory, sizeof(path) - 1); + + const char *anm = "/anm/"; + int len = strlen((char *) path); + strncpy((char *) path + len, anm, sizeof(path) - 1 - len); + + const char *string = func_ov000_0208e830(8); + len = strlen((char *) path); + strncpy((char *) path + len, string, sizeof(path) - 1 - len); + + const char *ext = ".nsbca"; + len = strlen((char *) path); + strncpy((char *) path + len, ext, sizeof(path) - 1 - len); + + UnkFileSystem5 **target = &this->mUnk_5C[PlayerCharacter_Link][1]; + (*target) = new(HeapIndex_1) UnkFileSystem5((char *) path, 0xA1, HeapIndex_1, 0); + (*target)->vfunc_08(0x10); + } +} + +void UnkStruct_027e0ce0_1C::func_ov001_020bd1ec() { + if (data_027e09a4->IsTrain()) { + return; + } + + UnkFileSystem5 **target = &this->mUnk_5C[PlayerCharacter_Link][1]; + if (*target != NULL) { + DELETE(*target); + } + + for (unsigned long i = 0; i < PlayerCharacter_Max; i++) { + for (unsigned long j = 0; j < ARRAY_LEN(this->mUnk_08[i]); j++) { + if (*(const u16 *) &this->mUnk_00[i].mUnk_00 & (1 << j)) { + this->mUnk_00[i].mUnk_00 &= ~(1 << j); + + DELETE(this->mUnk_08[i][j]); + } + } + } +} + +PlayerLinkActor_A0::~PlayerLinkActor_A0() { + this->func_ov000_02091ea0(); + delete this->mUnk_80; + delete this->mUnk_24; + delete this->mUnk_20; + delete this->mUnk_1C; + delete this->mUnk_18; + delete this->mUnk_14; + delete this->mUnk_10; + + data_02049ba0.Unload(OverlaySlot_17); +} + +void PlayerLinkActor_A0::func_ov001_020bd2e0() { + STACK_PAD(0x04); + + if (this->mUnk_10 != NULL) { + this->mUnk_10->mUnk_00 = 0; + } + + if (this->mUnk_18 != NULL) { + this->mUnk_18->func_ov082_02157bb8(); + } + + if (this->mUnk_20 != NULL) { + this->mUnk_20->func_ov024_020d19d8(); + } + + if (gOverlayManager.IsMapC1()) { + this->mUnk_28 = new(HeapIndex_1) PlayerLinkActor_A0_28(this->mUnk_10, this->mUnk_14); + } + + this->mUnk_2C.func_ov000_0208e704(); + this->mUnk_34.func_ov000_02082748(); + this->mUnk_5C.~UnkStruct_PlayerGet_64(); + + this->mUnk_74 = -1; + this->mUnk_78 = false; + this->mUnk_7E = true; +} + +void PlayerLinkActor_A0::func_ov001_020bd358() { + if (this->func_ov000_02091f08(0x15)) { + this->func_ov000_020921e4(0x00); + } + + if (this->mUnk_28 != NULL) { + DELETE(this->mUnk_28); + } +} + +//! TODO: fake match +void PlayerLinkActor_A0::func_ov001_020bd388(bool param1, bool param2) { + if (param1) { + this->mUnk_7D = false; + } + + if (this->mUnk_1C != NULL) { + this->mUnk_1C->func_ov101_02183290(); + } + + if (param2) { + return; + } + + if (data_027e09a4->func_ov000_0207059c() && data_ov024_020d8660->mUnk_1C == 1) { + this->mUnk_04->func_ov000_02088268(); + + if (this->mUnk_68 != 0x67) { + this->func_ov000_020921e4(0x67); + } + + return; + } + + if (data_027e09a4->func_ov000_0207059c() && data_ov024_020d8660->mUnk_1C == 4) { + this->mUnk_04->func_ov000_02088268(); + + if (this->mUnk_68 != 0x76) { + this->func_ov000_020921e4(0x76); + } + + return; + } + + bool var_r1; + if (this->mUnk_68 != 0x3F) { + unk32 temp_r0 = data_027e09a4->func_ov000_02070554(); + + if (data_ov000_020aa88c[temp_r0].mUnk_04) { + if (temp_r0 == 0x33) { + struct { + void *ptr; + unk32 actorId; + } local_18; + local_18.ptr = &data_ov000_020b3000; + local_18.actorId = ActorId_Beedle; + + Actor **pBeedle = gpActorManager->func_01fff350(&local_18, gpActorManager->mActorTable); + + if (0) { + var_r1_true: + var_r1 = true; + } else if (pBeedle == gpActorManager->mUnk_08) { + goto var_r1_false; + } else { + goto var_r1_true; + } + } else if (data_027e09a4->CurrentSceneIndex() == SceneIndex_f_hyral && + data_027e09a4->func_ov000_02070560()->roomIndex == 5 && + !data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedZeldasBedroomFirstCS)) { + this->mUnk_7D = false; + var_r1 = false; + } else { + var_r1 = true; + } + } else { + goto var_r1_false; + } + } else { + var_r1_false: + var_r1 = false; + } + + if (var_r1) { + this->func_ov000_020921e4(0x3F); + } else if (this->mUnk_68 != 0) { + this->func_ov000_020921e4(0x00); + } +} + +UnkStruct_027e0ce0_40_Base_7C::UnkStruct_027e0ce0_40_Base_7C(unk32 param1) : + mUnk_00(param1), + mUnk_04(param1 == -1 ? new(HeapIndex_1) UnkStruct_027e0ce0_40_Base_7C_04() : NULL), + mUnk_08(NULL, 0x8FE, 0x41), + mUnk_14(0) {} + +UnkStruct_027e0ce0_40_Base_7C::~UnkStruct_027e0ce0_40_Base_7C() { + delete this->mUnk_04; +} diff --git a/src/001_SceneInit/UnkStruct_027e0ce0_34_001.cpp b/src/001_SceneInit/UnkStruct_027e0ce0_34_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0cec_001.cpp b/src/001_SceneInit/UnkStruct_027e0cec_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_027e0d00_001.cpp b/src/001_SceneInit/UnkStruct_027e0d00_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_ov000_020b504c_001.cpp b/src/001_SceneInit/UnkStruct_ov000_020b504c_001.cpp new file mode 100644 index 00000000..a332e2e9 --- /dev/null +++ b/src/001_SceneInit/UnkStruct_ov000_020b504c_001.cpp @@ -0,0 +1,200 @@ +#include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e09a0.hpp" +#include "Unknown/UnkStruct_027e09a4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" + +#include + +extern "C" void *func_02022884(unk32); +extern u8 gBufferTrainMsg[0x8C00]; + +static const char *data_ov001_020c2cf4[] = { + NULL, "tower", "tower_lobby", "intrain", "castle", "castle_town", "forest", + "snow", "water", "flame", "flame_fld", "desert", "village", "dungeon", +}; + +void UnkStruct_ov000_020b504c::func_ov001_020be504(void) { + this->mUnk_000->func_ov000_02068f0c(); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be510(void) { + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_020676f8("maingame", HeapIndex_1); + + this->mUnk_028 = new(HeapIndex_1) UnkStruct_ov000_020b504c_28(0x00); + this->mUnk_02C = new(HeapIndex_1) UnkStruct_ov000_020b504c_2C(0x00); + + UnkStruct_ov000_020b504c_28 *pvVar1 = new(HeapIndex_1) UnkStruct_ov000_020b504c_28(0x01); + UnkStruct_ov000_020b504c_0C_Derived1 *pvVar2 = new(HeapIndex_1) UnkStruct_ov000_020b504c_0C_Derived1(0x00); + UnkStruct_ov000_020b504c_0C_Derived1 *pvVar3 = new(HeapIndex_1) UnkStruct_ov000_020b504c_0C_Derived1(0x01); + void *uVar4 = func_02022884(0x00); + UnkStruct_ov000_020b504c_0C_Derived2 *pvVar5 = new(HeapIndex_1) UnkStruct_ov000_020b504c_0C_Derived2(); + + this->mUnk_00C[0] = this->mUnk_028; + this->mUnk_00C[1] = pvVar1; + this->mUnk_00C[2] = pvVar2; + this->mUnk_00C[3] = pvVar3; + this->mUnk_00C[4] = (UnkStruct_ov000_020b504c_0C_Base *) uVar4; + this->mUnk_00C[5] = pvVar5; + + this->mUnk_008 = new(HeapIndex_1) UnkStruct_ov000_020b504c_08(); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be5e8(void) { + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_020676f8("battle_common", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("battle_parent", HeapIndex_1); + + UnkStruct_ov000_020b504c_2C *pvVar1 = new(HeapIndex_1) UnkStruct_ov000_020b504c_2C(0x00); + UnkStruct_ov000_020b504c_0C_Derived3 *pvVar2 = new(HeapIndex_1) UnkStruct_ov000_020b504c_0C_Derived3(0x00); + void *iVar3 = func_02022884(0x00); + + this->mUnk_00C[0] = pvVar1; + this->mUnk_00C[2] = pvVar2; + this->mUnk_00C[4] = (UnkStruct_ov000_020b504c_0C_Base *) iVar3; + + this->mUnk_008 = new(HeapIndex_1) UnkStruct_ov000_020b504c_08(); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be668(void) { + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_020676f8("select", HeapIndex_1); + + UnkStruct_ov000_020b504c_2C *pvVar1 = new(HeapIndex_1) UnkStruct_ov000_020b504c_2C(0x00); + UnkStruct_ov000_020b504c_0C_Derived3 *pvVar2 = new(HeapIndex_1) UnkStruct_ov000_020b504c_0C_Derived3(0x00); + void *iVar3 = func_02022884(0x00); + + this->mUnk_00C[0] = pvVar1; + this->mUnk_00C[2] = pvVar2; + this->mUnk_00C[4] = (UnkStruct_ov000_020b504c_0C_Base *) iVar3; + + this->mUnk_008 = new(HeapIndex_1) UnkStruct_ov000_020b504c_08(); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be6d8(void) { + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_020676f8("collect", HeapIndex_1); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be6f4(void) { + DELETE(this->mUnk_00C[5]); + DELETE(this->mUnk_00C[4]); + DELETE(this->mUnk_00C[2]); + DELETE(this->mUnk_00C[3]); + + if (this->mUnk_02C != NULL || this->mUnk_028 != NULL) { + DELETE(this->mUnk_02C); + DELETE(this->mUnk_028); + this->mUnk_00C[0] = NULL; + } else { + DELETE(this->mUnk_00C[0]); + } + + DELETE(this->mUnk_00C[1]); + DELETE(this->mUnk_008); + this->mUnk_000->func_ov000_02068f0c(); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be79c(SceneIndex sceneIndex) { + MI_CpuFill32(0, this->mUnk_05C, sizeof(this->mUnk_05C)); + + if (data_027e09a4->IsCutscene()) { + this->mUnk_00C[6] = new(HeapIndex_1) UnkStruct_ov000_020b504c_0C_Derived4(); + } + + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_020676f8("field", HeapIndex_1); + + const char *unk_14 = data_ov001_020c2cf4[data_027e09a0->func_ov000_020702a8(sceneIndex)->mUnk_14]; + if (unk_14 != NULL) { + this->mUnk_000->func_ov000_020676f8(unk_14, HeapIndex_1); + } + + if (data_027e09a4->IsCutscene()) { + this->mUnk_000->func_ov000_020677b0("staff.bmg", HeapIndex_1); + } +} + +void UnkStruct_ov000_020b504c::func_ov001_020be82c(SceneIndex sceneIndex) { + MI_CpuFill32(0, this->mUnk_05C, sizeof(this->mUnk_05C)); + + this->mUnk_000->mUnk_10++; + + const char *unk_14 = data_ov001_020c2cf4[data_027e09a0->func_ov000_020702a8(sceneIndex)->mUnk_14]; + if (unk_14 != NULL) { + this->mUnk_000->func_ov000_020676f8(unk_14, HeapIndex_1); + } else { + this->mUnk_000->func_ov000_020676f8("dungeon", HeapIndex_1); + } +} + +void UnkStruct_ov000_020b504c::func_ov001_020be880(SceneIndex sceneIndex) { + MI_CpuFill32(0, this->mUnk_05C, sizeof(this->mUnk_05C)); + + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_02067804("train", gBufferTrainMsg, sizeof(gBufferTrainMsg)); + + if (data_027e09a0->GetCourseEntry(sceneIndex)->unk_10 == 4 || sceneIndex == SceneIndex_t_tutorial || + sceneIndex == SceneIndex_e3_train) { + this->mUnk_000->func_ov000_020676f8("train_extra", HeapIndex_1); + } +} + +void UnkStruct_ov000_020b504c::func_ov001_020be8e0(void) { + if (data_027e09a4->GetCurrentCourseEntry()->unk_10 != 5) { + this->func_ov001_020be504(); + } + + for (int i = 0; i < ARRAY_LEN(this->mUnk_00C); i++) { + if (this->mUnk_00C[i] != NULL) { + this->mUnk_00C[i]->vfunc_18(0x00); + } + } + + DELETE(this->mUnk_00C[6]); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be92c(UnkStruct_027e0cd8_04_0C *param1) { + if (data_027e09a4->IsLand()) { + this->mUnk_000->mUnk_10++; + } +} + +void UnkStruct_ov000_020b504c::func_ov001_020be94c(void) { + if (data_027e09a4->IsLand()) { + this->mUnk_06F = false; + this->func_ov001_020be504(); + } + + for (int i = 0; i < ARRAY_LEN(this->mUnk_00C); i++) { + if (this->mUnk_00C[i] != NULL) { + this->mUnk_00C[i]->vfunc_18(0x00); + } + } + + if (this->mUnk_008 != NULL) { + this->mUnk_008->func_ov000_020a4764(); + } +} + +void UnkStruct_ov000_020b504c::func_ov001_020be998(void) { + this->mUnk_000->mUnk_10++; + this->mUnk_000->func_ov000_020676f8("demo", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("demo01_05", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("demo06_10", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("demo11_15", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("demo16_20", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("demo21_25", HeapIndex_1); +} + +void UnkStruct_ov000_020b504c::func_ov001_020be9fc(void) { + if (!this->mUnk_06F) { + this->mUnk_000->func_ov000_020676f8("shop", HeapIndex_1); + this->mUnk_000->func_ov000_020676f8("collect", HeapIndex_1); + this->mUnk_06F = true; + } +} + +void UnkStruct_ov000_020b504c::func_ov001_020bea2c(void) { + this->mUnk_000->func_ov000_020676f8("post", HeapIndex_1); +} diff --git a/src/001_SceneInit/UnkStruct_ov000_020b50c0_001.cpp b/src/001_SceneInit/UnkStruct_ov000_020b50c0_001.cpp new file mode 100644 index 00000000..34bba127 --- /dev/null +++ b/src/001_SceneInit/UnkStruct_ov000_020b50c0_001.cpp @@ -0,0 +1,688 @@ +#include "Unknown/UnkStruct_027e09a0.hpp" +#include "Unknown/UnkStruct_027e09a4.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "Unknown/UnkStruct_027e0d08.hpp" +#include "Unknown/UnkStruct_ov000_020b50c0.hpp" +#include "Unknown/UnkStruct_ov000_020b51b8.hpp" +#include "Unknown/UnkStruct_ov000_020b52e8.hpp" +#include "versions.h" + +extern "C" BOOL NNS_SndArcLoadBank(unk32 param1, unk32 param2); +extern "C" void func_0200240c(unk32); +extern "C" unk32 func_ov026_0212e54c(); + +void UnkStruct_ov000_020b50c0::func_ov001_020bd854(void) { + data_027e099c->func_ov001_020bde6c(); + data_ov000_020b51b8.func_ov000_0206bbfc(0x01); + this->func_ov001_020bd934(false); +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd87c(void) { +#if IS_JP + data_ov000_020b51b8.func_ov000_0206c4ec(0x00); + data_027e099c->func_ov001_020bde7c(); + data_027e099c->func_ov000_0206f61c(0x00); + this->func_ov000_0206a52c(0x01); +#else + data_ov000_020b51b8.func_ov000_0206c4ec(0x00); + data_027e099c->func_ov001_020bde7c(); + this->func_ov000_0206a52c(0x01); + this->func_ov001_020bd934(true); +#endif +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd8ac(void) { + unk32 value = data_0204999c.mUnk_24[0]; + this->func_ov000_0206a52c(0x02); + NNS_SndArcLoadBank(0x89, value); + this->mUnk_A8[2] = -1; + this->func_ov001_020bd934(true); +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd8dc(void) { + this->func_ov001_020bd934(0x00); +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd8e8(void) { + data_ov000_020b51b8.func_ov000_0206bbfc(0x01); + this->func_ov000_0206a260(0x0A, 0x02, -1); + this->func_ov001_020bd934(false); +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd910(void) { +#if IS_JP + data_ov000_020b51b8.func_ov000_0206c4ec(0x00); + data_027e099c->func_ov001_020bde7c(); + data_027e099c->func_ov000_0206f61c(0x00); + this->func_ov000_0206a52c(0x01); +#else + data_ov000_020b51b8.func_ov000_0206c4ec(0x00); + this->func_ov000_0206a52c(0x01); + this->func_ov001_020bd934(true); +#endif +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd934(bool param1) { + if (param1) { + this->func_ov000_0206a704(0x00); + func_0200240c(0); + return; + } + + if (this->mUnk_94 == 2) { + this->func_ov000_0206a704(0x02); + return; + } + + this->func_ov000_0206a740(); + + if (this->mUnk_94 == 3) { + func_0200240c(1); + } +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bd970(const EntranceInfo *param1) { + SceneIndex scene = param1->sceneIndex; + unk32 iVar7 = data_027e09a0->GetCourseEntry(scene)->unk_10; + unk32 uVar6 = 0; + unk32 uVar5 = 0; + unk32 local_18 = -1; + unk32 local_1c = -1; + u8 csIndex = param1->csIndex; + + if (param1->isCS == true && csIndex != CutsceneIndex_Max) { + switch (csIndex) { + case CutsceneIndex_TitleScreen: + uVar6 = 0x4A; + break; + case CutsceneIndex_Intro: + uVar6 = 0x4C; + break; + case CutsceneIndex_EngineerCertificate: + uVar6 = 0x4D; + break; + case CutsceneIndex_SpiritTowerSplit_01: + uVar6 = 0x4E; + break; + case CutsceneIndex_SpiritTowerSplit_02: + uVar6 = 0x4F; + break; + case CutsceneIndex_SpiritTowerSplit_03: + uVar6 = 0x50; + break; + case CutsceneIndex_SpiritTowerSplit_04: + uVar6 = 0x51; + break; + case CutsceneIndex_SpiritTowerSplit_05: + uVar6 = 0x52; + break; + case CutsceneIndex_WalkingToSpiritTower: + uVar6 = 0x53; + break; + case CutsceneIndex_FirstAnjeanMeeting: + uVar6 = 0x54; + break; + case CutsceneIndex_FirstPhantomPossession: + uVar6 = 0x55; + break; + case CutsceneIndex_ForestTempleCompleted_01: + uVar6 = 0x56; + break; + case CutsceneIndex_ForestTempleCompleted_02: + uVar6 = 0x57; + break; + case CutsceneIndex_ForestTempleCompleted_03: + uVar6 = 0x58; + break; + case CutsceneIndex_BlizzardTempleCompleted_01: + uVar6 = 0x59; + break; + case CutsceneIndex_BlizzardTempleCompleted_02: + uVar6 = 0x5A; + break; + case CutsceneIndex_BlizzardTempleCompleted_03: + uVar6 = 0x5B; + break; + case CutsceneIndex_MarineTempleCompleted_01: + uVar6 = 0x5C; + break; + case CutsceneIndex_MarineTempleCompleted_02: + uVar6 = 0x5D; + break; + case CutsceneIndex_MarineTempleCompleted_03: + uVar6 = 0x5E; + break; + case CutsceneIndex_StavenInTOSAfterFireGlyph_01: + uVar6 = 0x5F; + break; + case CutsceneIndex_StavenInTOSAfterFireGlyph_02: + uVar6 = 0x60; + break; + case CutsceneIndex_MountainTempleCompleted_01: + uVar6 = 0x61; + break; + case CutsceneIndex_MountainTempleCompleted_02: + uVar6 = 0x62; + break; + case CutsceneIndex_MountainTempleCompleted_03: + uVar6 = 0x63; + break; + case CutsceneIndex_StavenPreBattle: + uVar6 = 0x64; + break; + case CutsceneIndex_StavenPostBattle: + uVar6 = 0x65; + break; + case CutsceneIndex_MalladusOnTOSSummit_01: + uVar6 = 0x66; + break; + case CutsceneIndex_MalladusOnTOSSummit_02: + uVar6 = 0x67; + break; + case CutsceneIndex_PassengerCarAnjeanBowOfLight: + uVar6 = 0x68; + break; + case CutsceneIndex_LokomoSword: + uVar6 = 0x69; + break; + case CutsceneIndex_PassengerCarBeforeMalladusFight: + uVar6 = 0x6A; + break; + case CutsceneIndex_BoardingDemonTrain: + uVar6 = 0x6B; + break; + case CutsceneIndex_BeforeMalladusBeast_01: + uVar6 = 0x6C; + break; + case CutsceneIndex_BeforeMalladusBeast_02: + uVar6 = 0x6D; + break; + case CutsceneIndex_BeforeMalladusBeast_03: + uVar6 = 0x6E; + break; + case CutsceneIndex_PreCredits: + uVar6 = 0x6F; + break; + case CutsceneIndex_Credits_01: + uVar6 = 0x71; + break; + case CutsceneIndex_Credits_02: + uVar6 = 0x72; + break; + case CutsceneIndex_Credits_03: + uVar6 = 0x73; + break; + case CutsceneIndex_SpiritPipes: + uVar6 = 0x74; + break; + case CutsceneIndex_ForestTracksRestoredFromGlyph: + uVar6 = 0x75; + break; + case CutsceneIndex_MalladusBeastDestroyed: + uVar6 = 0x76; + default: + break; + } + } else { + if (iVar7 == 2 || iVar7 == 4) { + this->mUnk_E4 = func_ov026_0212e54c(); + } + + uVar6 = 0; + switch (iVar7) { + case 2: + case 4: + uVar6 = 0x02; + break; + case 0: + case 6: + uVar6 = 0x03; + break; + case 1: + case 3: + uVar6 = 0x04; + break; + case 5: + uVar6 = 0x0A; + break; + default: + break; + } + + uVar5 = 0; + u8 unk_1F = data_027e09a0->GetCourseEntry(scene)->unk_1F; + switch (unk_1F) { + case 0x00: + uVar5 = 0x0B; + break; + case 0x01: + uVar5 = 0x0C; + break; + case 0x02: + uVar5 = 0x0D; + break; + case 0x03: + uVar5 = 0x0E; + local_18 = 0x07; + break; + case 0x04: + if (data_027e09b8->HasAdventureFlag(AdventureFlag_ObtainedSnowSource)) { + uVar5 = 0x0F; + local_18 = 0x07; + } else { + uVar5 = 0x10; + uVar6 = 0x08; + local_18 = 0x02; + } + break; + case 0x05: + uVar5 = 0x11; + local_18 = 0x07; + break; + case 0x06: + if (data_027e09b8->HasAdventureFlag(AdventureFlag_ObtainedFireSource)) { + uVar5 = 0x12; + local_18 = 0x07; + } else { + uVar5 = 0x13; + uVar6 = 0x08; + local_18 = 0x02; + } + break; + case 0x07: + uVar5 = 0x16; + break; + case 0x08: + uVar5 = 0x17; + break; + case 0x09: { + int index = param1->roomIndex; + + if (index <= 2) { + uVar5 = 0x1D; + } else if (index <= 6) { + uVar5 = 0x1E; + } else if (index <= 11) { + uVar5 = 0x1F; + } else if (index <= 16) { + uVar5 = 0x20; + } else if (index <= 20) { + uVar5 = 0x21; + } else if (index == 30) { + uVar5 = 0x22; + } else { + switch (index) { + case 40: + uVar5 = 0x1D; + break; + case 41: + uVar5 = 0x1E; + break; + case 21: + case 22: + case 42: + uVar5 = 0x1F; + break; + case 43: + uVar5 = 0x20; + break; + case 23: + case 24: + uVar5 = 0x21; + break; + default: + uVar5 = 0x22; + break; + } + } + + local_1c = 0x1C; + break; + } + case 0x0A: + uVar5 = 0x24; + break; + case 0x0B: + uVar5 = 0x27; + break; + case 0x0C: + uVar5 = 0x28; + break; + case 0x0D: + uVar5 = 0x29; + break; + case 0x0E: + uVar5 = 0x2A; + break; + case 0x0F: + uVar5 = 0x2B; + break; + case 0x10: + uVar5 = 0x2D; + break; + case 0x11: + uVar5 = 0x2E; + break; + case 0x12: + uVar5 = 0x2F; + break; + case 0x13: + uVar5 = 0x30; + break; + case 0x14: + uVar5 = 0x32; + break; + case 0x15: + uVar5 = 0x32; + break; + case 0x16: + if (data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedSpiritTowerSplitCS) && + !data_027e09b8->HasAdventureFlag(AdventureFlag_ObtainedSpiritTrain)) { + local_18 = 0x09; + } + + uVar5 = 0x37; + break; + case 0x17: + if (data_027e09b8->HasAdventureFlag(AdventureFlag_WatchedSpiritTowerSplitCS) && + !data_027e09b8->HasAdventureFlag(AdventureFlag_ObtainedSpiritTrain)) { + local_18 = 0x09; + } + + uVar5 = 0x38; + break; + case 0x18: + uVar5 = 0x39; + break; + case 0x19: + uVar5 = 0x3A; + break; + case 0x1A: + uVar5 = 0x3B; + break; + case 0x1B: + uVar5 = 0x3C; + break; + case 0x1C: + uVar5 = 0x3E; + break; + case 0x1D: + uVar5 = 0x3F; + break; + case 0x1E: + uVar5 = 0x15; + break; + case 0x1F: + uVar5 = 0x18; + break; + case 0x20: + uVar5 = 0x19; + break; + case 0x21: + this->func_ov000_0206a52c(0x01); + uVar5 = 0x1A; + break; + case 0x22: + if (this->mUnk_A8[3] != 0x1B) { + this->func_ov000_0206a52c(0x01); + } + + uVar5 = 0x1B; + break; + case 0x23: + uVar5 = 0x25; + break; + case 0x24: + uVar5 = 0x2C; + break; + case 0x25: + uVar5 = 0x31; + break; + case 0x26: + uVar5 = 0x33; + break; + case 0x27: + uVar5 = 0x34; + break; + case 0x28: + uVar5 = 0x3D; + break; + case 0x29: + uVar5 = 0x26; + break; + case 0x2A: + uVar5 = 0x40; + break; + case 0x2B: + uVar5 = 0x41; + break; + case 0x2C: + uVar5 = 0x42; + break; + case 0x2D: + uVar5 = 0x43; + break; + case 0x2E: + uVar5 = 0x44; + break; + case 0x2F: + uVar5 = 0x45; + break; + case 0x30: + uVar5 = 0x46; + break; + case 0x31: + uVar5 = 0x47; + break; + case 0x32: + uVar5 = 0x48; + break; + default: + break; + } + + switch (unk_1F) { + case 0x10: + case 0x11: + case 0x12: + case 0x13: + case 0x14: + case 0x15: + case 0x25: + case 0x26: + case 0x27: + uVar6 = 0x05; + break; + default: + break; + } + + if (scene == SceneIndex_b_last2) { + local_1c = 0x35; + } else if (scene == SceneIndex_b_last22) { + uVar6 = 0x06; + uVar5 = 0x36; + } else if (scene == SceneIndex_b_last23) { + uVar6 = 0x06; + } + + if (scene == SceneIndex_f_passenger) { + uVar6 = 0x68; + uVar5 = 0x49; + } + } + + this->func_ov000_0206a260(uVar6, 0x02, local_18); + this->func_ov000_0206a260(uVar5, 0x03, local_1c); + data_027e099c->func_ov001_020bde90(param1); + data_ov000_020b51b8.func_ov000_0206bbfc(0x00); + data_ov000_020b5214.func_ov000_0206d43c(); + data_ov000_020b52e8.func_ov000_0206f994(); + + if (param1->isCS == true && csIndex != CutsceneIndex_Max) { + data_ov000_020b5214.func_ov000_0206d960(); + } else { + data_ov000_020b5214.func_ov000_0206d984(); + } + + this->func_ov000_02069c78(); +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bde04(const EntranceInfo *param1) { + unk32 unk_10 = data_027e09a0->GetCourseEntry(param1->sceneIndex)->unk_10; + data_027e099c->func_ov001_020bdfa0(param1); + + if (unk_10 == 2 || unk_10 == 4) { + this->mUnk_E4 = 0; + } + + data_ov000_020b5214.func_ov000_0206d984(); + data_ov000_020b52e8.mUnk_04 = 0; +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bde4c(const EntranceInfo *param1) { + data_027e099c->func_ov001_020bdfb8(param1); +} + +void UnkStruct_ov000_020b50c0::func_ov001_020bde5c(void) { + data_027e099c->func_ov001_020be030(); +} + +void UnkStruct_ov018_020c5ac0::func_ov001_020bde6c() { + UnkStruct_027e0d08::Create(); + this->mUnk_01 = true; +} + +void UnkStruct_ov018_020c5ac0::func_ov001_020bde7c() { + if (this->mUnk_01) { + UnkStruct_027e0d08::Destroy(); + this->mUnk_01 = false; + } +} + +void UnkStruct_ov018_020c5ac0::func_ov001_020bde90(const EntranceInfo *param1) { + s32 scene = param1->sceneIndex; + unk32 unk_10 = data_027e09a0->GetCourseEntry(scene)->unk_10; + unk32 var_r4 = 0; + unk32 sp8 = 0x00; + bool sp4 = true; + u8 csIndex = param1->csIndex; + + if (param1->isCS == true && csIndex != CutsceneIndex_Max) { + this->func_ov000_0206f61c(0x00); + + switch (csIndex) { + case CutsceneIndex_FirstPhantomPossession: + var_r4 = 0x00; + break; + + case CutsceneIndex_FirstAnjeanMeeting: + case CutsceneIndex_StavenInTOSAfterFireGlyph_01: + case CutsceneIndex_StavenInTOSAfterFireGlyph_02: + case CutsceneIndex_MountainTempleCompleted_01: + case CutsceneIndex_StavenPreBattle: + case CutsceneIndex_StavenPostBattle: + var_r4 = 0x02; + break; + + case CutsceneIndex_ForestTempleCompleted_02: + case CutsceneIndex_ForestTempleCompleted_03: + case CutsceneIndex_BlizzardTempleCompleted_02: + case CutsceneIndex_BlizzardTempleCompleted_03: + case CutsceneIndex_MarineTempleCompleted_02: + case CutsceneIndex_MarineTempleCompleted_03: + case CutsceneIndex_MountainTempleCompleted_02: + case CutsceneIndex_MountainTempleCompleted_03: + var_r4 = 0x01; + break; + + case CutsceneIndex_BeforeMalladusBeast_03: + sp4 = false; + break; + + default: + break; + } + } else { + if (unk_10 == 2 || unk_10 == 4) { + var_r4 = 0x01; + } + + switch (scene) { + case SceneIndex_t_forest: + var_r4 = 0x00; + break; + case SceneIndex_t_smarine: + case SceneIndex_t_smount: + case SceneIndex_t_smount2: + case SceneIndex_t_smount3: + case SceneIndex_e3_smount: + this->func_ov000_0206f61c(0x00); + var_r4 = 0x02; + break; + case SceneIndex_t_dark: + case SceneIndex_t_eviltrain: + case SceneIndex_t_eviltrain2: + case SceneIndex_t_eviltrain3: + this->func_ov000_0206f61c(0x00); + var_r4 = 0x02; + sp8 = 0x01; + break; + default: + break; + } + } + + if (this->mUnk_01 && sp4) { + data_027e0d08->func_ov024_020d5dd4(sp8); + } + + this->mUnk_02 = 0x01; + this->func_ov000_0206f61c(var_r4); +} + +void UnkStruct_ov018_020c5ac0::func_ov001_020bdfa0(const EntranceInfo *param1) { + u8 csIndex = param1->csIndex; + + if (param1->isCS == true && csIndex != CutsceneIndex_Max) { + this->func_ov000_0206f61c(0x00); + } +} + +void UnkStruct_ov018_020c5ac0::func_ov001_020bdfb8(const EntranceInfo *param1) { + if (data_027e0cd8->mUnk_0C != NULL && GET_FLAG2(data_027e0cd8->mUnk_0C->mUnk_128, UnkFlags2_7)) { + if (param1->isCS == true && param1->csIndex == CutsceneIndex_FirstPhantomPossession) { + this->func_ov000_0206f61c(0x00); + } else { + this->func_ov000_0206f61c(0x02); + } + } else if (this->mUnk_02 == 0) { + switch (param1->sceneIndex) { + case SceneIndex_t_smarine: + case SceneIndex_t_smount: + case SceneIndex_t_smount2: + case SceneIndex_t_smount3: + case SceneIndex_t_dark: + case SceneIndex_t_eviltrain: + case SceneIndex_t_eviltrain2: + case SceneIndex_t_eviltrain3: + case SceneIndex_e3_smount: + this->func_ov000_0206f61c(0x02); + break; + default: + this->func_ov000_0206f61c(0x00); + break; + } + } + + this->mUnk_02 = 0; +} + +void UnkStruct_ov018_020c5ac0::func_ov001_020be030() {} + +void UnkStruct_027e0d08::Destroy() { + if (data_027e0d08 != NULL) { + delete data_027e0d08; + } +} diff --git a/src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp b/src/001_SceneInit/UnkStruct_ov020_020e8544_001.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/UnkStruct_ov024_020d86a0_001.cpp b/src/001_SceneInit/UnkStruct_ov024_020d86a0_001.cpp new file mode 100644 index 00000000..4503bed1 --- /dev/null +++ b/src/001_SceneInit/UnkStruct_ov024_020d86a0_001.cpp @@ -0,0 +1,26 @@ +#include "Game/GameModeManager.hpp" +#include "Unknown/UnkStruct_0204a110.hpp" +#include "Unknown/UnkStruct_ov024_020d86a0.hpp" + +UnkStruct_ov024_020d86a0::UnkStruct_ov024_020d86a0() { + this->mUnk_00 = new(HeapIndex_1) UnkStruct_ov024_020d86a0_00(this); + this->mUnk_0C = false; + this->mUnk_0D = false; + this->mUnk_0E = false; + this->mUnk_0F = false; + this->mUnk_10 = false; + this->mUnk_11 = false; + this->mUnk_00->mUnk_18 = false; +} + +UnkStruct_ov024_020d86a0::~UnkStruct_ov024_020d86a0() { + delete this->mUnk_00; +} + +void UnkStruct_ov024_020d86a0::func_ov001_020bd818() { + this->mUnk_0F = false; + gpCurrentGameModeMgr->func_02018ac4(0x64); + data_0204a110.mUnk_010.func_0201ca28(0x01); +} + +DECL_INSTANCE(UnkStruct_ov024_020d86a0, data_ov024_020d86a0); diff --git a/src/001_SceneInit/ZeldaCollisionBinary.cpp b/src/001_SceneInit/ZeldaCollisionBinary.cpp new file mode 100644 index 00000000..fe45c7cb --- /dev/null +++ b/src/001_SceneInit/ZeldaCollisionBinary.cpp @@ -0,0 +1,92 @@ +#include "Unknown/UnkFileSystem.hpp" +#include "Unknown/UnkStruct_027e09e8.hpp" +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "files.h" + +extern "C" void func_01ffd1b4(VecFx32 *, VecFx32 *); + +BOOL ZCB_ParseFile(ZCBFileInfos *pFileInfos, UnkStruct_027e09e8 *pDst, UnkStruct_027e0cd8_0C_Base *param3) { + int i; + ZCBHeader *pHeader; + ZCBSectionHeader *pSection; + + pFileInfos->pFile->vfunc_08(0x10); + pHeader = (ZCBHeader *) pFileInfos->pFile->mpFile; + pSection = (ZCBSectionHeader *) ((u8 *) pHeader + sizeof(ZCBHeader)); + + for (i = 0; i < pHeader->nSections; i++) { + switch (pSection->type) { + case ZCBSectionType_VTXB: + ZCB_ParseVTXB(pFileInfos, (ZCBSectionVTXB *) pSection, pDst, param3); + break; + case ZCBSectionType_NRMB: + ZCB_ParseNRMB(pFileInfos, (ZCBSectionNRMB *) pSection, pDst); + break; + case ZCBSectionType_PCLB: + ZCB_ParsePCLB(pFileInfos, (ZCBSectionPCLB *) pSection, pDst); + break; + case ZCBSectionType_TRIB: + ZCB_ParseTRIB(pFileInfos, (ZCBSectionTRIB *) pSection, pDst); + break; + case ZCBSectionType_GRDB: + ZCB_ParseGRDB(pFileInfos, (ZCBSectionGRDB *) pSection, pDst, param3); + break; + default: + break; + } + + pSection = (ZCBSectionHeader *) ((u8 *) pSection + pSection->nSize); + } + + return true; +} + +void ZCB_ParseVTXB(ZCBFileInfos *pFileInfos, ZCBSectionVTXB *pSection, UnkStruct_027e09e8 *pDst, + UnkStruct_027e0cd8_0C_Base *param3) { + u16 nEntries = pSection->header.nEntries; + VecFx32 sp24 = param3->mUnk_0A0; + VecFx32 sp18; + VecFx32 spC; + + VecFx32_Copy(&sp24, &spC); + VecFx32_Copy(&sp24, &sp18); + + for (u32 i = 0; i < nEntries; i++) { + VecFx32 *pEntry = &pSection->entries[i]; + + VecFx32_Add(pEntry, &sp24, pEntry); + func_01ffd1b4(&spC, pEntry); + } + + pDst->mpVerticesTable = &pSection->entries[0]; + pDst->mpVerticesTableEnd = &pSection->entries[nEntries]; + pDst->mNumVertices = nEntries; + pDst->mUnk_48 = spC; + pDst->mUnk_54 = sp18; +} + +void ZCB_ParseNRMB(ZCBFileInfos *pFileInfos, ZCBSectionNRMB *pSection, UnkStruct_027e09e8 *pDst) { + u32 nEntries = pSection->header.nEntries; + + //! TODO: 6 = sizeof(ZCBEntryNRMB) - 2? + pDst->mpNormalTable = &pSection->entries[0]; + pDst->mpNormalTableEnd = (ZCBEntryNRMB *) ((u8 *) pSection->entries + nEntries * 6); + pDst->mNumNormals = nEntries; +} + +void ZCB_ParsePCLB(ZCBFileInfos *pFileInfos, ZCBSectionPCLB *pSection, UnkStruct_027e09e8 *pDst) { + u32 nEntries = pSection->header.nEntries; + + pDst->mpPolyClassTable = &pSection->entries[0]; + pDst->mpPolyClassTableEnd = &pSection->entries[nEntries]; + pDst->mNumPolyClasses = nEntries; +} + +void ZCB_ParseTRIB(ZCBFileInfos *pFileInfos, ZCBSectionTRIB *pSection, UnkStruct_027e09e8 *pDst) { + pDst->func_ov000_0207bab4(pSection->entries, pSection->header.nEntries); +} + +void ZCB_ParseGRDB(ZCBFileInfos *pFileInfos, ZCBSectionGRDB *pSection, UnkStruct_027e09e8 *pDst, + UnkStruct_027e0cd8_0C_Base *param3) { + pDst->func_ov000_0207e99c(pSection, param3); +} diff --git a/src/001_SceneInit/ZeldaMapBinary.cpp b/src/001_SceneInit/ZeldaMapBinary.cpp index c2967707..e33494f0 100644 --- a/src/001_SceneInit/ZeldaMapBinary.cpp +++ b/src/001_SceneInit/ZeldaMapBinary.cpp @@ -521,7 +521,7 @@ BOOL ZMB_ParseROOM(ZMBFileInfos *pFileInfos, ZMBSectionROOM *pSection, UnkStruct SET_FLAG2(pDst->mUnk_128, UnkFlags2_11); } - data_027e0c90.max.y = pDst->mUnk_0A4 + var_r7; + data_027e0c90.max.y = pDst->mUnk_0A0.y + var_r7; } if (data_027e09a4->IsLand() || data_027e09a4->GetCurrentCourseEntry()->unk_10 == 0x05) { diff --git a/src/001_SceneInit/code_020bf0a0.cpp b/src/001_SceneInit/code_020bf0a0.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/code_020bfdd0.cpp b/src/001_SceneInit/code_020bfdd0.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/001_SceneInit/code_020c099c.cpp b/src/001_SceneInit/code_020c099c.cpp new file mode 100644 index 00000000..e69de29b diff --git a/src/018_StartUp/StartUpInitializers.cpp b/src/018_StartUp/StartUpInitializers.cpp index e3389bc6..81559954 100644 --- a/src/018_StartUp/StartUpInitializers.cpp +++ b/src/018_StartUp/StartUpInitializers.cpp @@ -96,7 +96,7 @@ UnkStruct_ov000_020b504c::UnkStruct_ov000_020b504c() : this->mUnk_06E = 0; for (int i = 0; i < ARRAY_LEN(this->mUnk_00C); i++) { - this->mUnk_00C[i].mUnk_00 = 0; + this->mUnk_00C[i] = NULL; } this->mUnk_028 = 0; @@ -175,7 +175,7 @@ UnkStruct_0204a110::UnkStruct_0204a110() : mUnk_000(0), mUnk_008(-1), mUnk_00C(-1), - mUnk_DEC(NULL), + mpManager(NULL), mUnk_DF2(-1), mUnk_DF3(-1), mUnk_DFC(0), @@ -191,7 +191,7 @@ UnkStruct_0204a110::UnkStruct_0204a110() : void UnkStruct_0204a110::func_ov018_020c5300() { func_02018c90(2); - this->mUnk_010.func_0201c890(0x0004800, 0x00016800, 1, 1, 0); + this->mUnk_010.func_0201c890(0x0004800, 0x00016800, true, true, false); GX_DispOn(); GXS_DispOn(); } diff --git a/src/019_MainSelect/019_UnkSystem1_ov019_Derived1.cpp b/src/019_MainSelect/019_UnkSystem1_ov019_Derived1.cpp index cb6c31b5..36d941b4 100644 --- a/src/019_MainSelect/019_UnkSystem1_ov019_Derived1.cpp +++ b/src/019_MainSelect/019_UnkSystem1_ov019_Derived1.cpp @@ -12,7 +12,7 @@ UnkSystem1_ov019_Derived1::UnkSystem1_ov019_Derived1() : } void UnkSystem1_ov019_Derived1::vfunc_08(unk32 param1) { - UnkStruct_ov000_02067bc4::UnkStruct1 stack; + UnkTextStruct1 stack(-1, 0); this->mUnk_06 = data_ov000_020b504c.func_ov000_02067cf8(param1, this->mUnk_10, &stack); } @@ -112,10 +112,10 @@ unk32 UnkSystem1_ov019_Derived1::vfunc_20(unk32 param1, unk32 param2, unk32 para unk32 UnkSystem1_ov019_Derived1::func_ov019_020c5540(bool param1, unk16 param2) { if (param2 >= 0) { if (param1 != 1 || this->mUnk_18 != 0) { - this->mUnk_18 = param2; - unk32 sVar1 = this->mUnk_18 + 1; - UnkStruct_ov000_02067bc4 *pTest = data_ov000_020b504c.func_ov000_02067bc4(0); - pTest->mUnk_008->mUnk_54 = sVar1; + this->mUnk_18 = param2; + unk32 sVar1 = this->mUnk_18 + 1; + UnkStruct_ov000_020b504c_0C_Base *pTest = data_ov000_020b504c.func_ov000_02067bc4(0); + pTest->mUnk_08->mUnk_020.mCellAnim.unk_34 = (void *) sVar1; //! TODO: real? } return 1; @@ -126,7 +126,7 @@ unk32 UnkSystem1_ov019_Derived1::func_ov019_020c5540(bool param1, unk16 param2) void UnkSystem1_ov019_Derived1::func_ov019_020c5590(unk32 param1, unk32 param2, unk32 param3) { data_02049bd4.mUnk_04++; - UnkStruct_ov000_02067bc4::UnkStruct1 auStack_20(-1, param3); + UnkTextStruct1 auStack_20(-1, param3); this->mUnk_1A = data_ov000_020b504c.func_ov000_02067cf8(param1, this->mUnk_10, &auStack_20); data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->func_02021bec(1); data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->func_02021c08(); diff --git a/src/019_MainSelect/019_UnkSystem1_ov019_Derived2.cpp b/src/019_MainSelect/019_UnkSystem1_ov019_Derived2.cpp index c4390c03..fc791dfa 100644 --- a/src/019_MainSelect/019_UnkSystem1_ov019_Derived2.cpp +++ b/src/019_MainSelect/019_UnkSystem1_ov019_Derived2.cpp @@ -12,7 +12,7 @@ UnkSystem1_ov019_Derived2::UnkSystem1_ov019_Derived2() : } void UnkSystem1_ov019_Derived2::vfunc_08(unk32 param1) { - UnkStruct_ov000_02067bc4::UnkStruct1 stack; + UnkTextStruct1 stack(-1, 0); this->mUnk_06 = data_ov000_020b504c.func_ov000_02067cf8(param1, this->mUnk_10, &stack); } @@ -29,7 +29,7 @@ unk32 UnkSystem1_ov019_Derived2::vfunc_1C(u32 param1, unk32 param2, unk32 param3 if (this->mUnk_04 <= 0) { data_02049bd4.mUnk_04++; - UnkStruct_ov000_02067bc4::UnkStruct1 stack1; + UnkTextStruct1 stack1(-1, 0); this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(BMG_ID(BMGGroup_select, 0x32), 0, &stack1); data_ov000_020b504c.func_ov000_02067bc4(0)->func_02021bec(1); data_ov000_020b504c.func_ov000_02067bc4(this->mUnk_10)->func_02021c08(); diff --git a/src/019_MainSelect/019_UnkSystem1_ov019_Derived3.cpp b/src/019_MainSelect/019_UnkSystem1_ov019_Derived3.cpp index a644a364..1c742224 100644 --- a/src/019_MainSelect/019_UnkSystem1_ov019_Derived3.cpp +++ b/src/019_MainSelect/019_UnkSystem1_ov019_Derived3.cpp @@ -19,7 +19,7 @@ void UnkSystem1_ov019_Derived3::vfunc_04() { } void UnkSystem1_ov019_Derived3::vfunc_08(unk32 param1) { - UnkStruct_ov000_02067bc4::UnkStruct1 stack; + UnkTextStruct1 stack(-1, 0); this->mUnk_06 = data_ov000_020b504c.func_ov000_02067cf8(param1, this->mUnk_10, &stack); } @@ -37,7 +37,7 @@ unk32 UnkSystem1_ov019_Derived3::vfunc_1C(u32 param1, unk32 param2, unk32 param3 if (this->mUnk_04 <= 0) { data_02049bd4.mUnk_04++; - UnkStruct_ov000_02067bc4::UnkStruct1 stack1; + UnkTextStruct1 stack1(-1, 0); if (this->mUnk_18 == 0) { this->mUnk_13 = data_ov000_020b504c.func_ov000_02067cf8(BMG_ID(BMGGroup_select, 0x1E), 0, &stack1); diff --git a/src/019_MainSelect/FileSelectMain.cpp b/src/019_MainSelect/FileSelectMain.cpp index 16e8e264..f09f6b05 100644 --- a/src/019_MainSelect/FileSelectMain.cpp +++ b/src/019_MainSelect/FileSelectMain.cpp @@ -966,10 +966,10 @@ void FileSelectMain::func_ov019_020c7d3c() { this->mUnk_1C04.mUnk_12 = this->mSaveSlotIndex; if (this->mUnk_1C04.mUnk_18 == 0) { - int uVar5 = this->mSaveSlotIndex == 0 ? 2 : 1; - UnkStruct_ov000_02067bc4_Sub2 *puVar3 = data_ov000_020b504c.func_ov000_02067bc4(0)->mUnk_008; - unk32 uVar2 = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_10; - puVar3->mUnk_54 = uVar5; + int uVar5 = this->mSaveSlotIndex == 0 ? 2 : 1; + UnkStruct_ov000_020b504c_08 *puVar3 = data_ov000_020b504c.func_ov000_02067bc4(0)->mUnk_08; + unk32 uVar2 = UnkStruct_ov019_020d1e70::data_ov019_020d1e4c.mUnk_10; + puVar3->mUnk_020.mCellAnim.unk_34 = (void *) uVar5; //! TODO: real? data_ov000_020b504c.func_ov000_0206807c(uVar2, &this->mUnk_1C04); } else if (this->mUnk_1C04.mUnk_18 == 1) { data_ov000_020b504c.func_ov000_0206807c(data_ov019_020d1e70.mUnk_0C, &this->mUnk_1C04); diff --git a/src/019_MainSelect/FileSelectManager.cpp b/src/019_MainSelect/FileSelectManager.cpp index bc3dfa84..02c61235 100644 --- a/src/019_MainSelect/FileSelectManager.cpp +++ b/src/019_MainSelect/FileSelectManager.cpp @@ -5,11 +5,11 @@ #include "Unknown/UnkStruct_ov003_020ba740.hpp" #include -const unk16 data_ov019_020d1bb0[] = {0x01, 0x37, 0x38, 0x39, 0x3C, 0x00}; +const s16 data_ov019_020d1bb0[] = {0x01, 0x37, 0x38, 0x39, 0x3C, 0x00}; static const UnkStruct_ov019_020d1d80 data_ov019_020d1db4(0x00020002); -GameModeManagerBase *FileSelectManager::Create(unk32 param1) { +GameModeManagerBase *FileSelectManager::Create(UnkStruct_0204a110_Sub2 *param1) { return new(HeapIndex_1) FileSelectManager(param1); } @@ -116,6 +116,4 @@ void FileSelectManager::func_ov019_020c51a8() { delete data_0204a088; } -UnkStruct_0204a088_Base::~UnkStruct_0204a088_Base() { - data_0204a088 = NULL; -} +DECL_INSTANCE_DTOR(UnkStruct_0204a088, data_0204a088); diff --git a/src/019_MainSelect/FileSelectOptions.cpp b/src/019_MainSelect/FileSelectOptions.cpp index 5457eec3..59a89444 100644 --- a/src/019_MainSelect/FileSelectOptions.cpp +++ b/src/019_MainSelect/FileSelectOptions.cpp @@ -467,7 +467,7 @@ void FileSelectOptions::func_ov019_020cd614() { void FileSelectOptions::func_ov019_020cd788() { data_ov000_020b504c.mUnk_030 = this->mUnk_0024.mUnk_FC0; - UnkStruct_ov000_02067bc4::UnkStruct1 stack1; + UnkTextStruct1 stack1(-1, 0); data_ov000_020b504c.func_ov000_02067cf8(0x00020025, 0, &stack1); this->mUnk_0024.func_ov019_020ce7d4(0); @@ -559,9 +559,9 @@ void FileSelectOptions::func_ov019_020cdcb8() { data_ov000_020b5214.func_ov000_0206db44(0x1F); } } else { - UnkStruct_ov000_02067bc4 *ptr = data_ov000_020b504c.func_ov000_02067bc4(0); + UnkStruct_ov000_020b504c_0C_Base *ptr = data_ov000_020b504c.func_ov000_02067bc4(0); - if (ptr->vfunc_08() == 0 ? true : false) { + if (!ptr->vfunc_08() ? true : false) { if (data_ov000_020b504c.func_ov000_020682c0(0) == 0) { SaveFile_00000_2600_Data *pSaveSub17 = gSaveManager.GetSaveSlot(this->mUnk_0024.mSaveSlotIndex)->Get2600Ptr(); pSaveSub17->unk_00 = this->mUnk_0024.mUnk_FC0; @@ -570,7 +570,7 @@ void FileSelectOptions::func_ov019_020cdcb8() { gSaveManager.mpSaveFile->mSaveSlotIndex = this->mUnk_0024.mSaveSlotIndex; gSaveManager.func_ov019_020d08fc(2, SaveFile::func_ov019_020d13b8); - UnkStruct_ov000_02067bc4::UnkStruct1 stack1; + UnkTextStruct1 stack1(-1, 0); this->mUnk_1CF4 = data_ov000_020b504c.func_ov000_02067cf8(0x00020032, 0, &stack1); data_ov000_020b504c.func_ov000_02067bc4(0)->func_02021bec(1); diff --git a/src/019_MainSelect/GameModeFileSelect.cpp b/src/019_MainSelect/GameModeFileSelect.cpp index bb321663..6299fffa 100644 --- a/src/019_MainSelect/GameModeFileSelect.cpp +++ b/src/019_MainSelect/GameModeFileSelect.cpp @@ -1,6 +1,9 @@ #include "Game/GameModeFileSelect.hpp" #include "FileSelect/FileSelect.hpp" #include "Game/Game.hpp" +#include "Game/GameModeAdventure.hpp" +#include "Game/GameModeContactMode.hpp" +#include "Game/GameModeDownloadPlay.hpp" #include "Save/AdventureFlags.hpp" #include "Unknown/UnkStruct_02049bd4.hpp" #include "Unknown/UnkStruct_0204a060.hpp" @@ -9,12 +12,6 @@ #include "Unknown/UnkStruct_ov000_020b50c0.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" -extern "C" { -void func_ov001_020be054(); -void func_ov001_020be0d8(); -void func_ov001_020be0ec(); -}; - static const UnkStruct_ov019_020d1d80 data_ov019_020d1d80(0x00020001); GameModeFileSelect *GameModeFileSelect::Create() { @@ -58,15 +55,16 @@ void GameModeFileSelect::vfunc_20() {} void GameModeFileSelect::LoadAdventureMode(u16 saveSlotIndex) { this->mSaveSlotIndex = saveSlotIndex; data_0204a060.func_020183d4(gSaveManager.GetSaveSlot(saveSlotIndex)->GetAdventureFlag(AdventureFlag_WatchedIntroCS), - (GameModeCreateCallback) func_ov001_020be054, 1); + GameModeAdventure::Create, 1); } void GameModeFileSelect::LoadBattleMode(u16 saveSlotIndex) { this->mSaveSlotIndex = saveSlotIndex; - data_0204a060.func_020183d4(true, (GameModeCreateCallback) func_ov001_020be0ec, 1); + // note: GameModeDownloadPlay::Create calls GameModeBattle::Create at some point + data_0204a060.func_020183d4(true, GameModeDownloadPlay::Create, 1); } void GameModeFileSelect::LoadContactMode(u16 saveSlotIndex) { this->mSaveSlotIndex = saveSlotIndex; - data_0204a060.func_020183d4(true, (GameModeCreateCallback) func_ov001_020be0d8, 1); + data_0204a060.func_020183d4(true, GameModeContactMode::Create, 1); } diff --git a/src/024_MainGame/Actor/ActorUnkOBPC.cpp b/src/024_MainGame/Actor/ActorUnkOBPC.cpp index 1596f73e..de07190f 100644 --- a/src/024_MainGame/Actor/ActorUnkOBPC.cpp +++ b/src/024_MainGame/Actor/ActorUnkOBPC.cpp @@ -4,7 +4,7 @@ #include "Unknown/UnkStruct_027e09a4.hpp" #include "Unknown/UnkStruct_027e0cd8.hpp" #include "Unknown/UnkStruct_027e0ce0.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" extern unk32 data_ov000_020b3000; diff --git a/src/024_MainGame/Game/AdventureModeManager_160_024.cpp b/src/024_MainGame/Game/AdventureModeManager_160_024.cpp index c476f382..3cad8c4e 100644 --- a/src/024_MainGame/Game/AdventureModeManager_160_024.cpp +++ b/src/024_MainGame/Game/AdventureModeManager_160_024.cpp @@ -4,7 +4,7 @@ #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_027e09a0.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" #include "Unknown/UnkStruct_ov024_020d86a0.hpp" @@ -146,7 +146,7 @@ void AdventureModeManager_160::vfunc_14(unk32 param1) { void AdventureModeManager_160::func_ov024_020c7cfc() { this->mUnk_0C = 6; - UnkStruct_ov000_02067bc4::UnkStruct1 stack; + UnkTextStruct1 stack(-1, 0); stack.mUnk_0D = 1; data_ov000_020b504c.func_ov000_02067cf8(BMG_ID(BMGGroup_maingame, MsgIndex_MapPaintNotAllowed), 1, &stack); } diff --git a/src/024_MainGame/Game/AdventureModeManager_170_024.cpp b/src/024_MainGame/Game/AdventureModeManager_170_024.cpp index 6cab36a4..c8587964 100644 --- a/src/024_MainGame/Game/AdventureModeManager_170_024.cpp +++ b/src/024_MainGame/Game/AdventureModeManager_170_024.cpp @@ -3,8 +3,8 @@ #include "Unknown/UnkStruct_0204a110.hpp" #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_027e0ce0.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "Unknown/UnkStruct_ov000_020b4f70.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b5214.hpp" #include diff --git a/src/024_MainGame/Game/AdventureModeManager_184_024.cpp b/src/024_MainGame/Game/AdventureModeManager_184_024.cpp index a69ba4e1..9c773faa 100644 --- a/src/024_MainGame/Game/AdventureModeManager_184_024.cpp +++ b/src/024_MainGame/Game/AdventureModeManager_184_024.cpp @@ -5,8 +5,8 @@ #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "Unknown/UnkStruct_ov000_020b4f70.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov024_020d8660.hpp" extern "C" AdventureModeManager_184_10 *func_ov010_020b65fc(void *); diff --git a/src/024_MainGame/Game/GameModeAdventure_024.cpp b/src/024_MainGame/Game/GameModeAdventure_024.cpp index 95ea1c72..5868e603 100644 --- a/src/024_MainGame/Game/GameModeAdventure_024.cpp +++ b/src/024_MainGame/Game/GameModeAdventure_024.cpp @@ -3,8 +3,8 @@ #include "Unknown/UnkStruct_0204a088.hpp" #include "Unknown/UnkStruct_0204a110.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "Unknown/UnkStruct_ov000_020b4eec.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b50c0.hpp" #include "Unknown/UnkStruct_ov024_020d8660.hpp" #include "versions.h" @@ -29,10 +29,10 @@ void GameModeAdventure::vfunc_08() { data_ov000_020b504c.func_ov001_020be510(); data_ov000_020b50c0.func_ov001_020bd854(); - SaveFile *pSaveFile = data_ov000_020b4eec.func_ov001_020be12c(); + GameSaveSlot *pSaveFile = data_ov000_020b4eec.func_ov001_020be12c(); #if IS_JP - SaveInfoData *pSaveInfoData = &pSaveFile->mSlots[0].mInfoData[0]; + SaveInfoData *pSaveInfoData = &pSaveFile->mInfoData; if (pSaveInfoData->sceneIndex == SceneIndex_f_ajito2) { pSaveInfoData->sceneIndex = SceneIndex_f_ajito; diff --git a/src/024_MainGame/TitleCard/UnkTitleCardSystem1_024.cpp b/src/024_MainGame/TitleCard/UnkTitleCardSystem1_024.cpp index c66a2ff5..afebaa14 100644 --- a/src/024_MainGame/TitleCard/UnkTitleCardSystem1_024.cpp +++ b/src/024_MainGame/TitleCard/UnkTitleCardSystem1_024.cpp @@ -7,8 +7,8 @@ #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" #include "Unknown/UnkStruct_027e0cd8.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "Unknown/UnkStruct_ov000_020b4f84.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov024_020d8694.hpp" #include diff --git a/src/024_MainGame/UICounterManager.cpp b/src/024_MainGame/UICounterManager.cpp index 3f963067..af876199 100644 --- a/src/024_MainGame/UICounterManager.cpp +++ b/src/024_MainGame/UICounterManager.cpp @@ -6,7 +6,7 @@ #include "Unknown/UnkStruct_027e09a4.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" #include "Unknown/UnkStruct_027e0ce0.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b5214.hpp" #include "Unknown/UnkStruct_ov024_020d8660.hpp" #include "versions.h" @@ -109,12 +109,12 @@ void UICounterManager::func_ov024_020cd094() { return; } - UnkStruct_ov000_02067bc4::UnkStruct1 local; + UnkTextStruct1 local; #if __MWERKS__ local.data = data_ov000_020b504c.func_ov000_02067bc4(0)->mUnk_028.data; #else - UnkStruct_ov000_02067bc4::UnkStruct1 *pData = &data_ov000_020b504c.func_ov000_02067bc4(0)->mUnk_028; + UnkTextStruct1 *pData = &data_ov000_020b504c.func_ov000_02067bc4(0)->mUnk_028; local.mUnk_00 = pData->mUnk_00; local.mUnk_02 = pData->mUnk_02; diff --git a/src/025_Title/TitleScreenManager.cpp b/src/025_Title/TitleScreenManager.cpp index 8d5903ff..244dfa50 100644 --- a/src/025_Title/TitleScreenManager.cpp +++ b/src/025_Title/TitleScreenManager.cpp @@ -1,14 +1,15 @@ #include "TitleScreen/TitleScreen.hpp" + #include -const unk16 data_ov025_020c5a0c[] = {0x0016, 0x003C}; +const s16 data_ov025_020c5a0c[] = {0x0016, 0x003C}; -TitleScreenManager *TitleScreenManager::Create(unk32 param1) { +GameModeManagerBase *TitleScreenManager::Create(UnkStruct_0204a110_Sub2 *param1) { return new(HeapIndex_1) TitleScreenManager(param1); } void TitleScreenManager::vfunc_14() { - this->mUnk_004.func_ov001_020bd734((unk32 *) data_ov025_020c5a0c); + this->mUnk_004.func_ov001_020bd734(data_ov025_020c5a0c); this->mUnk_004.func_0201c00c(0x24, 1); TitleScreen *pTitleScreen = new(HeapIndex_1) TitleScreen(); diff --git a/src/031_Land/Actor/ActorShotArrow.cpp b/src/031_Land/Actor/ActorShotArrow.cpp index ab11d462..2f629c0f 100644 --- a/src/031_Land/Actor/ActorShotArrow.cpp +++ b/src/031_Land/Actor/ActorShotArrow.cpp @@ -109,7 +109,7 @@ extern "C" void CopySingle288(Mat4x3p *, Mat3p *); extern "C" void func_01ffa60c(const Mat3p *, Mat3p *, Mat3p *); MapObjectProfile_Derived2_20_Base *func_ov031_020f1404() { - return data_027e0ce0->mUnk_1C->mUnk_0C; + return data_027e0ce0->mUnk_1C->mUnk_08[PlayerCharacter_Link][1]; } DECL_PROFILE(ActorProfileShotArrow); diff --git a/src/097_TrainMsg/TrainMsg.cpp b/src/097_TrainMsg/TrainMsg.cpp new file mode 100644 index 00000000..ee1a6618 --- /dev/null +++ b/src/097_TrainMsg/TrainMsg.cpp @@ -0,0 +1,3 @@ +#include "types.h" + +u8 gBufferTrainMsg[0x8C00]; diff --git a/src/100_CollectMsg/CollectMsg.cpp b/src/100_CollectMsg/CollectMsg.cpp new file mode 100644 index 00000000..a397bc88 --- /dev/null +++ b/src/100_CollectMsg/CollectMsg.cpp @@ -0,0 +1,3 @@ +#include "types.h" + +u8 gBufferCollectMsg[0x7000]; diff --git a/src/110_PlayerGet/PlayerGet.cpp b/src/110_PlayerGet/PlayerGet.cpp index 021185e6..cac31905 100644 --- a/src/110_PlayerGet/PlayerGet.cpp +++ b/src/110_PlayerGet/PlayerGet.cpp @@ -17,8 +17,8 @@ #include "Unknown/UnkStruct_027e0cd8.hpp" #include "Unknown/UnkStruct_027e0cec.hpp" #include "Unknown/UnkStruct_027e0cf8.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "Unknown/UnkStruct_ov000_020b34c4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" #include "Unknown/UnkStruct_ov000_020b51c0.hpp" #include "versions.h" @@ -48,7 +48,7 @@ extern "C" void func_020156c8(char *, char *, unk32); extern "C" void func_020156f4(char *); extern "C" void func_02015644(char *); -extern "C" BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, unk32); +extern "C" BMDSectionModel *func_ov000_0205abcc(void *, void *, unk32, unk32, void *); extern "C" unk32 func_ov000_02077590(unk32); static const unk32 data_ov110_02185dc4[1] = {8}; @@ -707,7 +707,7 @@ void PlayerGet::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) { } data_027e0cf8->func_ov024_020c7828(this->mUnk_54.mItemId); - UnkStruct_ov000_02067bc4::UnkStruct1 auStack_30; + UnkTextStruct1 auStack_30(-1, 0); data_ov000_020b504c.func_ov000_02067cf8(ItemManager::GetBmgIDFromItem(this->mUnk_54.mItemId), 0, &auStack_30); break; default: diff --git a/src/112_PlayerSceneChange/PlayerSceneChange2.cpp b/src/112_PlayerSceneChange/PlayerSceneChange2.cpp index 3471632c..17aecb26 100644 --- a/src/112_PlayerSceneChange/PlayerSceneChange2.cpp +++ b/src/112_PlayerSceneChange/PlayerSceneChange2.cpp @@ -8,8 +8,6 @@ extern "C" void func_ov000_0205d65c(void *, VecFx32 *, VecFx32 *, u32); extern "C" void func_ov000_0208cac8(UnkStruct_ov000_0208f820_28 *, VecFx32 *, unk32); extern "C" unk32 func_ov000_0208dc98(unk32); extern "C" void func_ov000_020830a4(unk32, unk32, unk32, unk32, unk32, unk32); -extern "C" unk32 func_ov000_02093718(UnkStruct_ov000_0208f820_30 *); -extern "C" unk32 func_ov000_0209378c(UnkStruct_ov000_0208f820_30 *); extern "C" void func_ov000_020830d4(unk32, u16, unk32, unk32, unk32); PlayerSceneChange2::PlayerSceneChange2() { @@ -67,8 +65,8 @@ void PlayerSceneChange2::vfunc_0C(UnkStruct_PlayerGet_vfunc_0C_param1 *param1) { func_ov000_0208cac8(this->mUnk_28, &this->mUnk_60, 0); func_ov000_020830a4(this->mUnk_48, 0, this->mUnk_28->mUnk_48, 1, 1, func_ov000_0208dc98(this->mUnk_28->mUnk_48)); - func_ov000_020830d4(this->mUnk_48, this->mUnk_40->mUnk_00, func_ov000_02093718(this->mUnk_30), - func_ov000_0209378c(this->mUnk_30), 0); + func_ov000_020830d4(this->mUnk_48, this->mUnk_40->mUnk_00, this->mUnk_30->func_ov000_02093718(), + this->mUnk_30->func_ov000_0209378c(), 0); break; case 0x44: func_ov000_0208cac8(this->mUnk_28, &this->mUnk_60, 0); diff --git a/src/Main/Game/GameModeManagerBase.cpp b/src/Main/Game/GameModeManagerBase.cpp index ba43621d..16cd77c8 100644 --- a/src/Main/Game/GameModeManagerBase.cpp +++ b/src/Main/Game/GameModeManagerBase.cpp @@ -3,17 +3,17 @@ #include "Unknown/UnkStruct_0204a110.hpp" #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b50c0.hpp" THUMB_BEGIN -GameModeManagerBase *GameModeManagerBase::Create(unk32 param1) { +GameModeManagerBase *GameModeManagerBase::Create(UnkStruct_0204a110_Sub2 *param1) { return new(HeapIndex_1) GameModeManagerBase(param1); } -GameModeManagerBase::GameModeManagerBase(unk32 param1) : - mUnk_100((void *) param1), +GameModeManagerBase::GameModeManagerBase(UnkStruct_0204a110_Sub2 *param1) : + mUnk_100(param1), mNextButtonID(BTN_ID_NONE), mButtonID(BTN_ID_NONE), mUnk_150(false) { diff --git a/src/Main/System/SysFault.cpp b/src/Main/System/SysFault.cpp index 81ff5941..59e7d922 100644 --- a/src/Main/System/SysFault.cpp +++ b/src/Main/System/SysFault.cpp @@ -2,8 +2,8 @@ #include "System/OverlayManager.hpp" #include "Unknown/Common.hpp" #include "Unknown/UnkStruct_02049b18.hpp" -#include "Unknown/UnkStruct_ov000_02067bc4.hpp" #include "Unknown/UnkStruct_ov000_020b4f84.hpp" +#include "Unknown/UnkStruct_ov000_020b504c.hpp" #include "Unknown/UnkStruct_ov000_020b50c0.hpp" #include "global.h" #include diff --git a/src/Main/UnkStruct_0204a060.cpp b/src/Main/UnkStruct_0204a060.cpp index 254b04e9..d1e595b9 100644 --- a/src/Main/UnkStruct_0204a060.cpp +++ b/src/Main/UnkStruct_0204a060.cpp @@ -2,13 +2,12 @@ #include "Game/Game.hpp" #include "Game/GameMode.hpp" #include "Game/GameModeFileSelect.hpp" +#include "Game/GameModeTitleScreen.hpp" #include "System/OverlayManager.hpp" #include "Unknown/UnkStruct_0204e5f8.hpp" #include "Unknown/UnkStruct_ov000_020b51b8.hpp" #include "versions.h" -extern "C" void func_ov001_020be078(); - THUMB_BEGIN bool UnkStruct_0204a060::vfunc_0C(void) { @@ -16,11 +15,11 @@ bool UnkStruct_0204a060::vfunc_0C(void) { } void UnkStruct_0204a060::func_020183b8(void) { - func_ov001_020be078(); + GameModeTitleScreen::Create(); } void UnkStruct_0204a060::func_020183c0(void) { - this->func_020183d4(false, (GameModeCreateCallback) func_ov001_020be078, 1); + this->func_020183d4(false, GameModeTitleScreen::Create, 1); } bool UnkStruct_0204a060::func_020183d4(bool param1, GameModeCreateCallback createFunc, unk32 param3) { diff --git a/tools/configure.py b/tools/configure.py index cdbe9e13..0bd746bd 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -210,11 +210,28 @@ config.libs = [ Object("001_SceneInit/UnkStruct_027e0cdc_001.cpp"), Object("001_SceneInit/Player/PlayerActorBase_001.cpp"), Object("001_SceneInit/Player/PlayerLinkActor_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0ce0_1C_001.cpp"), + Object("001_SceneInit/UnkStruct_0204a110_001.cpp"), + Object("001_SceneInit/UnkStruct_ov024_020d86a0_001.cpp"), + Object("001_SceneInit/UnkStruct_ov000_020b50c0_001.cpp"), + Object("001_SceneInit/Game/GameModeCreate.cpp"), + Object("001_SceneInit/ZeldaCollisionBinary.cpp"), + Object("001_SceneInit/UnkStruct_027e09c0_001.cpp"), + Object("001_SceneInit/UnkStruct_ov000_020b504c_001.cpp"), + Object("001_SceneInit/UnkStruct_027e09b4_001.cpp"), + Object("001_SceneInit/UnkStruct_027e09ac_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0cec_001.cpp"), + Object("001_SceneInit/code_020bf0a0.cpp"), + Object("001_SceneInit/UnkStruct_027e0ce0_34_001.cpp"), + Object("001_SceneInit/UnkStruct_027e0d00_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/UnkStruct_ov020_020e8544_001.cpp"), + Object("001_SceneInit/code_020bfdd0.cpp"), Object("001_SceneInit/Game/AdventureModeManager_001.cpp"), Object("001_SceneInit/Game/GameModeAdventure_001.cpp"), + Object("001_SceneInit/code_020c099c.cpp"), ], extra_cflags=["-thumb"], ), @@ -1367,6 +1384,12 @@ config.libs = [ Object("096_PlayerZelda/Actor/ActorUnkTKYT.cpp"), ] ), + GameLib( + "Overlay 97", + [ + Object("097_TrainMsg/TrainMsg.cpp"), + ] + ), GameLib( "Overlay 98", [ @@ -1386,6 +1409,12 @@ config.libs = [ Object("099_MapLava/Actor/ActorUnkVOLV.cpp"), ] ), + GameLib( + "Overlay 100", + [ + Object("100_CollectMsg/CollectMsg.cpp"), + ] + ), GameLib( "Overlay 105", [