diff --git a/config/eur/arm9/itcm/symbols.txt b/config/eur/arm9/itcm/symbols.txt index 11def13e..ddaeec75 100644 --- a/config/eur/arm9/itcm/symbols.txt +++ b/config/eur/arm9/itcm/symbols.txt @@ -192,7 +192,7 @@ func_01fff0b4 kind:function(arm,size=0x94) addr:0x01fff0b4 _ZN18UnkStruct_027e0ce013func_01fff148Ei kind:function(arm,size=0x20) addr:0x01fff148 func_01fff168 kind:function(arm,size=0x14) addr:0x01fff168 func_01fff17c kind:function(arm,size=0x28) addr:0x01fff17c -func_01fff1a4 kind:function(arm,size=0x3c) addr:0x01fff1a4 +_ZN18UnkStruct_027e0ce013func_01fff1a4Ev kind:function(arm,size=0x3c) addr:0x01fff1a4 func_01fff1e0 kind:function(arm,size=0x74) addr:0x01fff1e0 func_01fff254 kind:function(arm,size=0x2c) addr:0x01fff254 func_01fff280 kind:function(arm,size=0x28) addr:0x01fff280 diff --git a/config/eur/arm9/overlays/ov000/delinks.txt b/config/eur/arm9/overlays/ov000/delinks.txt index aab601c6..a42b1a24 100644 --- a/config/eur/arm9/overlays/ov000/delinks.txt +++ b/config/eur/arm9/overlays/ov000/delinks.txt @@ -83,7 +83,8 @@ src/000_Second/MapObject/MapObjectSwitchStep.cpp: .bss start:0x020b6114 end:0x020b6228 src/000_Second/MapObject/MapObjectMiniBlocks.cpp: - .text start:0x0209e3f8 end:0x0209e768 + complete + .text start:0x0209e3f8 end:0x0209e784 .rodata start:0x020af574 end:0x020af580 .init start:0x020b09ac end:0x020b09fc .ctor start:0x020b1920 end:0x020b1924 diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index e27a4b3b..1028ca4c 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -12,7 +12,7 @@ func_ov000_02052a14 kind:function(arm,size=0xec) addr:0x02052a14 func_ov000_02052b00 kind:function(arm,size=0xcc) addr:0x02052b00 func_ov000_02052bcc kind:function(arm,size=0x60) addr:0x02052bcc func_ov000_02052c2c kind:function(arm,size=0x1c) addr:0x02052c2c -func_ov000_02052c48 kind:function(arm,size=0xf0) addr:0x02052c48 +_ZN23UnkSystem7_UnkStruct_0019func_ov000_02052c48EP5Vec3pS1_ kind:function(arm,size=0xf0) addr:0x02052c48 func_ov000_02052d38 kind:function(arm,size=0x38) addr:0x02052d38 func_ov000_02052d70 kind:function(arm,size=0xb4) addr:0x02052d70 func_ov000_02052e24 kind:function(arm,size=0x78) addr:0x02052e24 @@ -112,9 +112,9 @@ func_ov000_02057d9c kind:function(arm,size=0x2c) addr:0x02057d9c _ZN10UnkSystem48vfunc_10Ev kind:function(arm,size=0x7c) addr:0x02057dc8 _ZN10UnkSystem48vfunc_14Ev kind:function(arm,size=0x64) addr:0x02057e44 _ZN10UnkSystem48vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02057ea8 -func_ov000_02057ec4 kind:function(thumb,size=0x2) addr:0x02057ec4 -_ZN19func_ov000_02057ec8D0Ev kind:function(thumb,size=0xc) addr:0x02057ec8 -_ZN10UnkSystem6D1Ev kind:function(thumb,size=0x2) addr:0x02057ed4 +_ZN10UnkSystem6D1Ev kind:function(thumb,size=0x2) addr:0x02057ec4 +_ZN10UnkSystem6D0Ev kind:function(thumb,size=0xc) addr:0x02057ec8 +_ZN10UnkSystem6D2Ev kind:function(thumb,size=0x2) addr:0x02057ed4 func_ov000_02057ed8 kind:function(arm,size=0x8) addr:0x02057ed8 func_ov000_02057ee0 kind:function(arm,size=0x14) addr:0x02057ee0 func_ov000_02057ef4 kind:function(arm,size=0x24) addr:0x02057ef4 @@ -879,11 +879,11 @@ _ZN24UnkStruct_ov000_020b51b819func_ov000_0206c608Eiii kind:function(arm,size=0x func_ov000_0206c660 kind:function(arm,size=0x64) addr:0x0206c660 func_ov000_0206c6c4 kind:function(arm,size=0x18) addr:0x0206c6c4 func_ov000_0206c6dc kind:function(arm,size=0x290) addr:0x0206c6dc -func_ov000_0206c96c kind:function(arm,size=0x3c) addr:0x0206c96c +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206c96cEi kind:function(arm,size=0x3c) addr:0x0206c96c _ZN24UnkStruct_ov000_020b51b819func_ov000_0206c9a8Eiiii kind:function(arm,size=0x714) addr:0x0206c9a8 _ZN24UnkStruct_ov000_020b51b819func_ov000_0206d0bcEi kind:function(arm,size=0x30) addr:0x0206d0bc -func_ov000_0206d0ec kind:function(arm,size=0x48) addr:0x0206d0ec -func_ov000_0206d134 kind:function(arm,size=0x4c) addr:0x0206d134 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206d0ecEiiii kind:function(arm,size=0x48) addr:0x0206d0ec +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206d134Ei kind:function(arm,size=0x4c) addr:0x0206d134 func_ov000_0206d180 kind:function(arm,size=0x18) addr:0x0206d180 func_ov000_0206d198 kind:function(arm,size=0x14) addr:0x0206d198 func_ov000_0206d1ac kind:function(arm,size=0x88) addr:0x0206d1ac @@ -1065,7 +1065,7 @@ _ZN18UnkStruct_027e09a819func_ov000_02071b30EiP5Vec3pi kind:function(arm,size=0x func_ov000_02071bd4 kind:function(arm,size=0x90) addr:0x02071bd4 func_ov000_02071c64 kind:function(arm,size=0x2c) addr:0x02071c64 func_ov000_02071c90 kind:function(arm,size=0xa4) addr:0x02071c90 -func_ov000_02071d34 kind:function(arm,size=0xb0) addr:0x02071d34 +_ZN18UnkStruct_027e09a819func_ov000_02071d34EPviP5Vec3pi kind:function(arm,size=0xb0) addr:0x02071d34 func_ov000_02071de4 kind:function(arm,size=0xa0) addr:0x02071de4 func_ov000_02071e84 kind:function(arm,size=0x14) addr:0x02071e84 func_ov000_02071e98 kind:function(arm,size=0x14) addr:0x02071e98 @@ -1115,21 +1115,21 @@ func_ov000_02073168 kind:function(arm,size=0x4) addr:0x02073168 func_ov000_0207316c kind:function(arm,size=0x4) addr:0x0207316c func_ov000_02073170 kind:function(arm,size=0x8) addr:0x02073170 func_ov000_02073178 kind:function(arm,size=0xc) addr:0x02073178 -func_ov000_02073184 kind:function(arm,size=0x4) addr:0x02073184 -func_ov000_02073188 kind:function(arm,size=0x4) addr:0x02073188 -func_ov000_0207318c kind:function(arm,size=0x4) addr:0x0207318c +_ZN20MapObject_UnkStruct19vfunc2_00Ev kind:function(arm,size=0x4) addr:0x02073184 +_ZN20MapObject_UnkStruct19vfunc2_04Ev kind:function(arm,size=0x4) addr:0x02073188 +_ZN20MapObject_UnkStruct19vfunc2_08Ev kind:function(arm,size=0x4) addr:0x0207318c func_ov000_02073190 kind:function(arm,size=0x4) addr:0x02073190 -func_ov000_02073194 kind:function(arm,size=0x30) addr:0x02073194 -func_ov000_020731c4 kind:function(arm,size=0x30) addr:0x020731c4 -func_ov000_020731f4 kind:function(arm,size=0x40) addr:0x020731f4 -func_ov000_02073234 kind:function(arm,size=0x3c) addr:0x02073234 -func_ov000_02073270 kind:function(arm,size=0x6c) addr:0x02073270 +_ZN20MapObject_UnkStruct1C2Ev kind:function(arm,size=0x30) addr:0x02073194 +_ZN20MapObject_UnkStruct1C1Ev kind:function(arm,size=0x30) addr:0x020731c4 +_ZN20MapObject_UnkStruct19vfunc2_0CEv kind:function(arm,size=0x40) addr:0x020731f4 +_ZN29MapObject_UnkStruct1_Derived1C2Ev kind:function(arm,size=0x3c) addr:0x02073234 +_ZN29MapObject_UnkStruct1_Derived19vfunc2_0CEv kind:function(arm,size=0x6c) addr:0x02073270 _ZN18UnkStruct_027e09b819func_ov000_020732dcEi kind:function(arm,size=0x10) addr:0x020732dc _ZN18UnkStruct_027e09b819func_ov000_020732ecEi kind:function(arm,size=0x10) addr:0x020732ec _ZN18UnkStruct_027e09b819func_ov000_020732fcEi kind:function(arm,size=0x10) addr:0x020732fc -func_ov000_0207330c kind:function(arm,size=0x20) addr:0x0207330c +_ZN18UnkStruct_027e09b819func_ov000_0207330cEv kind:function(arm,size=0x20) addr:0x0207330c func_ov000_0207332c kind:function(arm,size=0x5c) addr:0x0207332c -func_ov000_02073388 kind:function(arm,size=0xe8) addr:0x02073388 +_ZN18UnkStruct_027e09b819func_ov000_02073388EPvi kind:function(arm,size=0xe8) addr:0x02073388 func_ov000_02073470 kind:function(arm,size=0x108) addr:0x02073470 func_ov000_02073578 kind:function(arm,size=0x98) addr:0x02073578 func_ov000_02073610 kind:function(arm,size=0xb0) addr:0x02073610 @@ -1253,7 +1253,7 @@ func_ov000_020781d4 kind:function(arm,size=0x14) addr:0x020781d4 func_ov000_020781e8 kind:function(arm,size=0x48) addr:0x020781e8 _ZN21UnkStruct_027e09bc_0c19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x02078230 func_ov000_02078314 kind:function(arm,size=0x38) addr:0x02078314 -func_ov000_0207834c kind:function(arm,size=0x40) addr:0x0207834c +_ZN21UnkStruct_027e09bc_0c19func_ov000_0207834cEP5Vec3pii kind:function(arm,size=0x40) addr:0x0207834c func_ov000_0207838c kind:function(arm,size=0x70) addr:0x0207838c func_ov000_020783fc kind:function(arm,size=0x88) addr:0x020783fc func_ov000_02078484 kind:function(arm,size=0x40) addr:0x02078484 @@ -1270,7 +1270,7 @@ func_ov000_020786dc kind:function(arm,size=0x2c) addr:0x020786dc func_ov000_02078708 kind:function(arm,size=0x24) addr:0x02078708 func_ov000_0207872c kind:function(arm,size=0x1c) addr:0x0207872c func_ov000_02078748 kind:function(arm,size=0x1c) addr:0x02078748 -func_ov000_02078764 kind:function(arm,size=0x54) addr:0x02078764 +_ZN21UnkStruct_027e09bc_0c19func_ov000_02078764EP5Vec3pPvi kind:function(arm,size=0x54) addr:0x02078764 func_ov000_020787b8 kind:function(arm,size=0x7c) addr:0x020787b8 func_ov000_02078834 kind:function(arm,size=0x9c) addr:0x02078834 func_ov000_020788d0 kind:function(arm,size=0x68) addr:0x020788d0 @@ -1560,10 +1560,10 @@ func_ov000_02080190 kind:function(arm,size=0x20) addr:0x02080190 _ZN21UnkStruct_027e0cd8_0c19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x020801b0 func_ov000_02080210 kind:function(arm,size=0x78) addr:0x02080210 func_ov000_02080288 kind:function(arm,size=0x64) addr:0x02080288 -func_ov000_020802ec kind:function(arm,size=0x78) addr:0x020802ec +_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP5Vec3p kind:function(arm,size=0x78) addr:0x020802ec func_ov000_02080364 kind:function(arm,size=0x88) addr:0x02080364 -func_ov000_020803ec kind:function(arm,size=0x150) addr:0x020803ec -func_ov000_0208053c kind:function(arm,size=0xe4) addr:0x0208053c +_ZN21UnkStruct_027e0cd8_0c19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x020803ec +_ZN21UnkStruct_027e0cd8_0c19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x0208053c func_ov000_02080620 kind:function(arm,size=0x38) addr:0x02080620 func_ov000_02080658 kind:function(arm,size=0xd8) addr:0x02080658 func_ov000_02080730 kind:function(arm,size=0x64) addr:0x02080730 @@ -1632,7 +1632,7 @@ func_ov000_02081c28 kind:function(arm,size=0x78) addr:0x02081c28 func_ov000_02081ca0 kind:function(arm,size=0xa8) addr:0x02081ca0 func_ov000_02081d48 kind:function(arm,size=0x10) addr:0x02081d48 func_ov000_02081d58 kind:function(arm,size=0x4) addr:0x02081d58 -func_ov000_02081d5c kind:function(arm,size=0x20) addr:0x02081d5c +_ZN18UnkStruct_027e0cd819func_ov000_02081d5cEv kind:function(arm,size=0x20) addr:0x02081d5c _ZN18UnkStruct_027e0cd819func_ov000_02081d7cEiii kind:function(arm,size=0xb4) addr:0x02081d7c _ZN18UnkStruct_027e0cd819func_ov000_02081e30Eii kind:function(arm,size=0x8c) addr:0x02081e30 func_ov000_02081ebc kind:function(arm,size=0x10) addr:0x02081ebc @@ -2247,8 +2247,8 @@ func_ov000_02096d68 kind:function(arm,size=0xdc) addr:0x02096d68 _ZN12ActorManager19func_ov000_02096e44Ei kind:function(arm,size=0x6c) addr:0x02096e44 func_ov000_02096eb0 kind:function(arm,size=0x38) addr:0x02096eb0 func_ov000_02096ee8 kind:function(arm,size=0x164) addr:0x02096ee8 -func_ov000_0209704c kind:function(arm,size=0x7c) addr:0x0209704c -func_ov000_020970c8 kind:function(arm,size=0xc4) addr:0x020970c8 +_ZN12ActorManager19func_ov000_0209704cEv kind:function(arm,size=0x7c) addr:0x0209704c +_ZN12ActorManager19func_ov000_020970c8EtPi kind:function(arm,size=0xc4) addr:0x020970c8 func_ov000_0209718c kind:function(arm,size=0xb8) addr:0x0209718c func_ov000_02097244 kind:function(arm,size=0x44) addr:0x02097244 func_ov000_02097288 kind:function(arm,size=0x154) addr:0x02097288 @@ -2570,7 +2570,7 @@ _ZN9MapObject19func_ov000_0209d2f0EiiP5Vec2b kind:function(arm,size=0xc4) addr:0 _ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209d3b4 _ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209d434 _ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209d518 -_ZN9MapObject19func_ov000_0209d54cEitP5Vec3pst kind:function(arm,size=0x7c) addr:0x0209d54c +_ZN9MapObject19func_ov000_0209d54cEPvPS_iP5Vec3pii kind:function(arm,size=0x7c) addr:0x0209d54c _ZN9MapObject19func_ov000_0209d5c8E8ActorRef kind:function(arm,size=0x4c) addr:0x0209d5c8 _ZN9MapObject19func_ov000_0209d614Ei kind:function(arm,size=0x54) addr:0x0209d614 _ZN9MapObject19func_ov000_0209d668Ev kind:function(arm,size=0x44) addr:0x0209d668 @@ -2610,7 +2610,7 @@ _ZN19MapObjectSwitchStepD0Ev kind:function(arm,size=0x60) addr:0x0209e008 _ZN19MapObjectSwitchStep8vfunc_00Ev kind:function(arm,size=0xb4) addr:0x0209e068 _ZN19MapObjectSwitchStep19func_ov000_0209e11cEii kind:function(arm,size=0x164) addr:0x0209e11c _ZN19MapObjectSwitchStep8vfunc_20Ev kind:function(arm,size=0x34) addr:0x0209e280 -_ZN19MapObjectSwitchStep8vfunc_18Ev kind:function(arm,size=0xd8) addr:0x0209e2b4 +_ZN19MapObjectSwitchStep8vfunc_18EPcc kind:function(arm,size=0xd8) addr:0x0209e2b4 _ZN19MapObjectSwitchStep19func_ov000_0209e38cEv kind:function(arm,size=0x3c) addr:0x0209e38c _ZN22MapObjectSwitchStep_40D0Ev kind:function(arm,size=0x1c) addr:0x0209e3c8 _ZN26MapObjectProfileSwitchStepD1Ev kind:function(arm,size=0x14) addr:0x0209e3e4 @@ -2680,8 +2680,8 @@ _ZN18UnkStruct_027e0cec19func_ov000_020a0110EP22UnkStruct_PlayerGet_ec kind:func func_ov000_020a0140 kind:function(arm,size=0xe0) addr:0x020a0140 _ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a0220 _ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a02d4 -_ZN15ActorUnkEFIK_9819func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a0304 -_ZN15ActorUnkEFIK_9819func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a0334 +_ZN10UnkSystem719func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a0304 +_ZN10UnkSystem719func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a0334 func_ov000_020a036c kind:function(arm,size=0x20) addr:0x020a036c func_ov000_020a038c kind:function(arm,size=0x24) addr:0x020a038c func_ov000_020a03b0 kind:function(arm,size=0x3c) addr:0x020a03b0 @@ -3267,7 +3267,7 @@ data_ov000_020af4d8 kind:data(any) addr:0x020af4d8 data_ov000_020af4ec kind:data(any) addr:0x020af4ec data_ov000_020af550 kind:data(byte[7]) addr:0x020af550 data_ov000_020af560 kind:data(byte[8]) addr:0x020af560 -data_ov000_020af574 kind:data(any) addr:0x020af574 +data_ov000_020af574 kind:data(any) addr:0x020af574 local data_ov000_020af580 kind:data(any) addr:0x020af580 data_ov000_020af58c kind:data(any) addr:0x020af58c data_ov000_020af760 kind:data(any) addr:0x020af760 @@ -3352,8 +3352,8 @@ __sinit_ActorUnkSWTM.cpp kind:function(arm,size=0x50) addr:0x020b0838 __sinit_ActorEventIcon.cpp kind:function(arm,size=0x50) addr:0x020b0888 local __sinit_ActorUnkEFIK.cpp kind:function(arm,size=0x50) addr:0x020b08d8 local __sinit_MapObjectProfile.cpp kind:function(arm,size=0x28) addr:0x020b0928 local -__sinit_MapObjectSwitchStep.cpp kind:function(arm,size=0x5c) addr:0x020b0950 -__sinit_MapObjectMiniBlocks.cpp kind:function(arm,size=0x50) addr:0x020b09ac +__sinit_MapObjectSwitchStep.cpp kind:function(arm,size=0x5c) addr:0x020b0950 local +__sinit_MapObjectMiniBlocks.cpp kind:function(arm,size=0x50) addr:0x020b09ac local __sinit_ov000_020b09fc kind:function(arm,size=0x9e8) addr:0x020b09fc __sinit_ov000_020b13e4 kind:function(arm,size=0x408) addr:0x020b13e4 __sinit_ov000_020b17ec kind:function(arm,size=0x34) addr:0x020b17ec @@ -3387,8 +3387,8 @@ __sinit_ov000_020b18a0 kind:function(arm,size=0x14) addr:0x020b18a0 .p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020b1910 local .p__sinit_ActorUnkEFIK.cpp kind:data(word) addr:0x020b1914 local .p__sinit_MapObjectProfile.cpp kind:data(word) addr:0x020b1918 local -.p__sinit_MapObjectSwitchStep.cpp kind:data(word) addr:0x020b191c -.p__sinit_MapObjectMiniBlocks.cpp kind:data(word) addr:0x020b1920 +.p__sinit_MapObjectSwitchStep.cpp kind:data(word) addr:0x020b191c local +.p__sinit_MapObjectMiniBlocks.cpp kind:data(word) addr:0x020b1920 local .p__sinit_ov000_020b09fc kind:data(word) addr:0x020b1924 .p__sinit_ov000_020b13e4 kind:data(word) addr:0x020b1928 .p__sinit_ov000_020b17ec kind:data(word) addr:0x020b192c @@ -3396,7 +3396,7 @@ __sinit_ov000_020b18a0 kind:function(arm,size=0x14) addr:0x020b18a0 .p__sinit_ov000_020b183c kind:data(word) addr:0x020b1934 .p__sinit_ov000_020b1878 kind:data(word) addr:0x020b1938 .p__sinit_ov000_020b18a0 kind:data(word) addr:0x020b193c -_ZTV10UnkSystem6 kind:data(any) addr:0x020b1960 +_ZTV19UnkSystem6_Derived2 kind:data(any) addr:0x020b1960 data_ov000_020b198c kind:data(any) addr:0x020b198c data_ov000_020b19a8 kind:data(any) addr:0x020b19a8 data_ov000_020b19b0 kind:data(any) addr:0x020b19b0 @@ -3700,7 +3700,7 @@ data_ov000_020b3630 kind:data(any) addr:0x020b3630 data_ov000_020b363c kind:data(any) addr:0x020b363c _ZTV26MapObjectProfileSwitchStep kind:data(any) addr:0x020b3678 _ZTV31MapObjectProfileSwitchStep_Base kind:data(any) addr:0x020b3694 -_ZTV12MapObject_10 kind:data(any) addr:0x020b36b0 +_ZTV12MapObject_10 kind:data(any) addr:0x020b36b0 local _ZTV22MapObjectSwitchStep_40 kind:data(any) addr:0x020b36d8 _ZTV19MapObjectSwitchStep kind:data(any) addr:0x020b3704 _ZTV26MapObjectProfileMiniBlocks kind:data(any) addr:0x020b3744 @@ -4067,7 +4067,7 @@ MapObjectSwitchStep_data_020b6118 kind:bss(size=0x8) addr:0x020b6118 @1056 kind:bss addr:0x020b6124 local _ZN15ProfileInstanceI26MapObjectProfileSwitchStepE8sProfileE kind:bss addr:0x020b6130 _ZGVN15ProfileInstanceI26MapObjectProfileMiniBlocksE8sProfileE kind:bss addr:0x020b6228 -@10063 kind:bss addr:0x020b622c +@10063 kind:bss addr:0x020b622c local _ZN15ProfileInstanceI26MapObjectProfileMiniBlocksE8sProfileE kind:bss addr:0x020b6238 data_ov000_020b62a0 kind:bss addr:0x020b62a0 data_ov000_020b62a4 kind:bss addr:0x020b62a4 diff --git a/config/eur/arm9/overlays/ov001/relocs.txt b/config/eur/arm9/overlays/ov001/relocs.txt index 13dc20b1..995e7997 100644 --- a/config/eur/arm9/overlays/ov001/relocs.txt +++ b/config/eur/arm9/overlays/ov001/relocs.txt @@ -1079,7 +1079,7 @@ from:0x020bb484 kind:load to:0x027e09a4 module:dtcm from:0x020bb494 kind:thumb_call_arm to:0x01ffd400 module:itcm from:0x020bb4cc kind:thumb_call to:0x020ea100 module:overlay(31) from:0x020bb4de kind:thumb_call_arm to:0x020f8cdc module:overlay(21) -from:0x020bb530 kind:thumb_call_arm to:0x0215e8f8 module:overlays(68,71) +from:0x020bb530 kind:thumb_call_arm to:0x0215e8f8 module:overlay(71) from:0x020bb538 kind:load to:0x027e09a4 module:dtcm from:0x020bb53c kind:load to:0x027e0cd8 module:dtcm from:0x020bb540 kind:load to:0x027e0cf4 module:dtcm diff --git a/config/eur/arm9/overlays/ov001/symbols.txt b/config/eur/arm9/overlays/ov001/symbols.txt index 1756f26c..4e73a480 100644 --- a/config/eur/arm9/overlays/ov001/symbols.txt +++ b/config/eur/arm9/overlays/ov001/symbols.txt @@ -79,7 +79,7 @@ func_ov001_020b88ec kind:function(thumb,size=0x60) addr:0x020b88ec func_ov001_020b894c kind:function(thumb,size=0xe0) addr:0x020b894c func_ov001_020b8a2c kind:function(thumb,size=0x2c) addr:0x020b8a2c func_ov001_020b8a58 kind:function(thumb,size=0x2) addr:0x020b8a58 -func_ov001_020b8a5c kind:function(thumb,size=0x8e) addr:0x020b8a5c +_ZN21UnkStruct_027e0cd8_0c19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020b8a5c func_ov001_020b8aec kind:function(thumb,size=0xa8) addr:0x020b8aec func_ov001_020b8b94 kind:function(thumb,size=0x9c) addr:0x020b8b94 func_ov001_020b8c30 kind:function(thumb,size=0x4e) addr:0x020b8c30 @@ -182,7 +182,7 @@ _ZN12ActorManager19func_ov001_020bb414EPS_ kind:function(thumb,size=0x74) addr:0 _ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bb488 _ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bb548 _ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bb630 -_ZN12ActorManager19func_ov001_020bb6b0EPi kind:function(thumb,size=0x78) addr:0x020bb6b0 +_ZN12ActorManager19func_ov001_020bb6b0EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x78) addr:0x020bb6b0 _ZN12ActorManager19func_ov001_020bb728Ei kind:function(thumb,size=0x88) addr:0x020bb728 _ZN12ActorManager19func_ov001_020bb7b0EP15ZeldaObjectList kind:function(thumb,size=0x40) addr:0x020bb7b0 _ZN12ActorManager19func_ov001_020bb7f0Ev kind:function(thumb,size=0x34) addr:0x020bb7f0 diff --git a/config/eur/arm9/overlays/ov017/symbols.txt b/config/eur/arm9/overlays/ov017/symbols.txt index 89e11bc6..2a51f90e 100644 --- a/config/eur/arm9/overlays/ov017/symbols.txt +++ b/config/eur/arm9/overlays/ov017/symbols.txt @@ -98,7 +98,7 @@ _ZN9MapObject8vfunc_08Ev kind:function(arm,size=0x4) addr:0x020c058c _ZN9MapObject8vfunc_0CEv kind:function(arm,size=0x4) addr:0x020c0590 _ZN9MapObject8vfunc_10Ev kind:function(arm,size=0x4) addr:0x020c0594 _ZN9MapObject8vfunc_14Ev kind:function(arm,size=0x4) addr:0x020c0598 -_ZN9MapObject8vfunc_18Ev kind:function(arm,size=0x4) addr:0x020c059c +_ZN9MapObject8vfunc_18EPcc kind:function(arm,size=0x4) addr:0x020c059c _ZN19MapObjectSwitchStep8vfunc_08Ev kind:function(arm,size=0x1ac) addr:0x020c05a0 _ZN19MapObjectSwitchStep8vfunc_14Ev kind:function(arm,size=0x28) addr:0x020c074c func_ov017_020c0774 kind:function(arm,size=0x130) addr:0x020c0774 diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt index a3851a66..497c292c 100644 --- a/config/eur/arm9/overlays/ov031/delinks.txt +++ b/config/eur/arm9/overlays/ov031/delinks.txt @@ -172,36 +172,49 @@ src/031_Land/Actor/ActorUnkNFSP.cpp: .text start:0x020fb80c end:0x020fbd6c .init start:0x02111a9c end:0x02111aec .ctor start:0x0211280c end:0x02112810 - .bss start:0x0211711c end:0x0211727c + .bss start:0x0211711c end:0x02117204 + +src/031_Land/MapObject/MapObjectDoorBase.cpp: + .text start:0x020fbd6c end:0x020fd0f8 + .init start:0x02111aec end:0x02111b28 + .ctor start:0x02112810 end:0x02112814 + .data start:0x02114ffc end:0x021150b0 + .bss start:0x02117204 end:0x0211727c src/031_Land/MapObject/MapObjectUnkDRDS.cpp: - .text start:0x020fd0f8 end:0x020fe714 + .text start:0x020fd0f8 end:0x020fe734 .init start:0x02111b28 end:0x02111b8c .ctor start:0x02112814 end:0x02112818 + .data start:0x021150b0 end:0x02115184 .bss start:0x0211727c end:0x02117360 src/031_Land/MapObject/MapObjectUnkDRKY.cpp: .text start:0x020fe734 end:0x020fee6c .init start:0x02111b8c end:0x02111bf0 .ctor start:0x02112818 end:0x0211281c + .data start:0x02115184 end:0x02115254 .bss start:0x02117360 end:0x02117444 src/031_Land/MapObject/MapObjectUnkDRSW.cpp: .text start:0x020fee6c end:0x020ff518 .init start:0x02111bf0 end:0x02111c54 .ctor start:0x0211281c end:0x02112820 + .data start:0x02115254 end:0x02115328 .bss start:0x02117444 end:0x02117528 src/031_Land/MapObject/MapObjectUnkDRCK.cpp: .text start:0x020ff518 end:0x02100230 + .rodata start:0x02110c1c end:0x02110c3c .init start:0x02111c54 end:0x02111cb8 .ctor start:0x02112820 end:0x02112824 + .data start:0x02115328 end:0x02115414 .bss start:0x02117528 end:0x021175a0 src/031_Land/MapObject/MapObjectUnkDRTC.cpp: .text start:0x0210024c end:0x021004bc .init start:0x02111cb8 end:0x02111d08 .ctor start:0x02112824 end:0x02112828 + .data start:0x02115414 end:0x021154fc .bss start:0x021175a0 end:0x02117618 src/031_Land/MapObject/MapObjectUnkEXIT.cpp: diff --git a/config/eur/arm9/overlays/ov031/relocs.txt b/config/eur/arm9/overlays/ov031/relocs.txt index 7c34877c..9d78cd78 100644 --- a/config/eur/arm9/overlays/ov031/relocs.txt +++ b/config/eur/arm9/overlays/ov031/relocs.txt @@ -2537,7 +2537,7 @@ from:0x020efa6c kind:arm_call to:0x02098388 module:overlay(0) from:0x020efa7c kind:arm_call to:0x0207c018 module:overlay(0) from:0x020efa8c kind:arm_call to:0x0207ec88 module:overlay(0) from:0x020efa98 kind:load to:0x02113f38 add:0x8 module:overlay(31) -from:0x020efa9c kind:load to:0x02113f18 module:overlay(31) +from:0x020efa9c kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x020efad0 kind:arm_call to:0x02080620 module:overlay(0) from:0x020efb20 kind:arm_call to:0x01ffd054 module:itcm from:0x020efb7c kind:arm_call to:0x01ffb6e4 module:itcm @@ -3909,18 +3909,18 @@ from:0x020fbd44 kind:arm_call to:0x02098488 module:overlay(0) from:0x020fbd4c kind:arm_call to:0x02011ff4 module:main from:0x020fbd60 kind:arm_call to:0x0209790c module:overlay(0) from:0x020fbd84 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x020fbe38 kind:load to:0x02113f18 module:overlay(31) +from:0x020fbe38 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x020fbe50 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x020fbe58 kind:arm_call to:0x02073234 module:overlay(0) from:0x020fbef4 kind:arm_call to:0x0205fc20 module:overlay(0) -from:0x020fbf04 kind:load to:0x02115008 module:overlay(31) -from:0x020fbf08 kind:load to:0x021150a0 module:overlay(31) +from:0x020fbf04 kind:load to:0x02115000 add:0x8 module:overlay(31) +from:0x020fbf08 kind:load to:0x02115000 add:0xa0 module:overlay(31) from:0x020fbf0c kind:load to:0x02117204 module:overlay(31) from:0x020fbf98 kind:arm_call to:0x0209d2f0 module:overlay(0) from:0x020fc028 kind:arm_call to:0x020fcd40 module:overlay(31) -from:0x020fc048 kind:load to:0x02117234 module:overlay(31) +from:0x020fc048 kind:load to:0x02117210 add:0x24 module:overlay(31) from:0x020fc04c kind:load to:0x02117210 module:overlay(31) -from:0x020fc050 kind:load to:0x02117258 module:overlay(31) +from:0x020fc050 kind:load to:0x02117210 add:0x48 module:overlay(31) from:0x020fc0bc kind:arm_call to:0x01ffb464 module:itcm from:0x020fc0cc kind:arm_call to:0x01ff9218 module:itcm from:0x020fc2f8 kind:arm_call to:0x01ffb464 module:itcm @@ -3978,10 +3978,10 @@ from:0x020fd100 kind:load to:0x0211728c module:overlay(31) from:0x020fd114 kind:arm_call to:0x02011f3c module:main from:0x020fd120 kind:arm_call to:0x020fd178 module:overlay(31) from:0x020fd138 kind:arm_call to:0x0209c9a8 module:overlay(0) -from:0x020fd170 kind:load to:0x021150bc module:overlay(31) +from:0x020fd170 kind:load to:0x021150b4 add:0x8 module:overlay(31) from:0x020fd180 kind:arm_call to:0x020fbe44 module:overlay(31) -from:0x020fd224 kind:load to:0x021150d8 module:overlay(31) -from:0x020fd228 kind:load to:0x02115170 module:overlay(31) +from:0x020fd224 kind:load to:0x021150d0 add:0x8 module:overlay(31) +from:0x020fd228 kind:load to:0x021150d0 add:0xa0 module:overlay(31) from:0x020fd22c kind:load to:0x0211728c module:overlay(31) from:0x020fd230 kind:load to:0x020b1960 add:0x8 module:overlay(0) from:0x020fd248 kind:arm_call to:0x020fbf10 module:overlay(31) @@ -4163,10 +4163,10 @@ from:0x020fe73c kind:load to:0x02117370 module:overlay(31) from:0x020fe750 kind:arm_call to:0x02011f3c module:main from:0x020fe75c kind:arm_call to:0x020fe7b8 module:overlay(31) from:0x020fe774 kind:arm_call to:0x0209c9a8 module:overlay(0) -from:0x020fe7b0 kind:load to:0x02115190 module:overlay(31) +from:0x020fe7b0 kind:load to:0x02115188 add:0x8 module:overlay(31) from:0x020fe7c0 kind:arm_call to:0x020fbe44 module:overlay(31) -from:0x020fe85c kind:load to:0x021151ac module:overlay(31) -from:0x020fe860 kind:load to:0x02115244 module:overlay(31) +from:0x020fe85c kind:load to:0x021151a4 add:0x8 module:overlay(31) +from:0x020fe860 kind:load to:0x021151a4 add:0xa0 module:overlay(31) from:0x020fe864 kind:load to:0x02117370 module:overlay(31) from:0x020fe868 kind:load to:0x020b1960 add:0x8 module:overlay(0) from:0x020fe87c kind:arm_call to:0x020fbf10 module:overlay(31) @@ -4226,19 +4226,19 @@ from:0x020fee74 kind:load to:0x02117454 module:overlay(31) from:0x020fee88 kind:arm_call to:0x02011f3c module:main from:0x020fee94 kind:arm_call to:0x020fef48 module:overlay(31) from:0x020feeac kind:arm_call to:0x0209c9a8 module:overlay(0) -from:0x020feedc kind:load to:0x02115260 module:overlay(31) +from:0x020feedc kind:load to:0x02115258 add:0x8 module:overlay(31) from:0x020feeec kind:arm_call to:0x020fbe44 module:overlay(31) from:0x020fef0c kind:arm_call_thumb to:0x02057b70 module:overlay(0) from:0x020fef14 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x020fef3c kind:load to:0x0211527c module:overlay(31) -from:0x020fef40 kind:load to:0x02115314 module:overlay(31) -from:0x020fef44 kind:load to:0x02113f18 module:overlay(31) +from:0x020fef3c kind:load to:0x02115274 add:0x8 module:overlay(31) +from:0x020fef40 kind:load to:0x02115274 add:0xa0 module:overlay(31) +from:0x020fef44 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x020fef50 kind:arm_call to:0x020fbe44 module:overlay(31) from:0x020fef70 kind:arm_call_thumb to:0x02057b70 module:overlay(0) from:0x020fef78 kind:arm_call to:0x0207c018 module:overlay(0) -from:0x020fefa0 kind:load to:0x0211527c module:overlay(31) -from:0x020fefa4 kind:load to:0x02115314 module:overlay(31) -from:0x020fefa8 kind:load to:0x02113f18 module:overlay(31) +from:0x020fefa0 kind:load to:0x02115274 add:0x8 module:overlay(31) +from:0x020fefa4 kind:load to:0x02115274 add:0xa0 module:overlay(31) +from:0x020fefa8 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x020fefe0 kind:arm_call to:0x020fbf10 module:overlay(31) from:0x020ff098 kind:arm_call to:0x01ffd420 module:itcm from:0x020ff0a8 kind:arm_call to:0x020fc054 module:overlay(31) @@ -4279,21 +4279,21 @@ from:0x020ff520 kind:load to:0x02117538 module:overlay(31) from:0x020ff534 kind:arm_call to:0x02011f3c module:main from:0x020ff540 kind:arm_call to:0x020ff620 module:overlay(31) from:0x020ff55c kind:arm_call to:0x0209cb4c module:overlay(0) -from:0x020ff590 kind:load to:0x02115334 module:overlay(31) +from:0x020ff590 kind:load to:0x0211532c add:0x8 module:overlay(31) from:0x020ff5a0 kind:arm_call to:0x020fbe44 module:overlay(31) from:0x020ff5d4 kind:arm_call to:0x0207c018 module:overlay(0) from:0x020ff604 kind:arm_call to:0x0209d2c4 module:overlay(0) -from:0x020ff610 kind:load to:0x0211535c module:overlay(31) -from:0x020ff614 kind:load to:0x021153f4 module:overlay(31) +from:0x020ff610 kind:load to:0x02115354 add:0x8 module:overlay(31) +from:0x020ff614 kind:load to:0x02115354 add:0xa0 module:overlay(31) from:0x020ff618 kind:load to:0x020b1960 add:0x8 module:overlay(0) -from:0x020ff61c kind:load to:0x02113f18 module:overlay(31) +from:0x020ff61c kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x020ff628 kind:arm_call to:0x020fbe44 module:overlay(31) from:0x020ff65c kind:arm_call to:0x0207c018 module:overlay(0) from:0x020ff68c kind:arm_call to:0x0209d2c4 module:overlay(0) -from:0x020ff698 kind:load to:0x0211535c module:overlay(31) -from:0x020ff69c kind:load to:0x021153f4 module:overlay(31) +from:0x020ff698 kind:load to:0x02115354 add:0x8 module:overlay(31) +from:0x020ff69c kind:load to:0x02115354 add:0xa0 module:overlay(31) from:0x020ff6a0 kind:load to:0x020b1960 add:0x8 module:overlay(0) -from:0x020ff6a4 kind:load to:0x02113f18 module:overlay(31) +from:0x020ff6a4 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x020ff6b8 kind:load to:0x02110c28 module:overlay(31) from:0x020ff6d8 kind:arm_call to:0x020fbf10 module:overlay(31) from:0x020ff6ec kind:arm_call to:0x020fcf0c module:overlay(31) @@ -4342,7 +4342,7 @@ from:0x021000a4 kind:load to:0x0203e964 module:main from:0x021000c8 kind:arm_call to:0x0209ccd8 module:overlay(0) from:0x0210012c kind:load to:0x02110c1c module:overlay(31) from:0x02100130 kind:load to:0x02117538 module:overlay(31) -from:0x02100134 kind:load to:0x02117558 module:overlay(31) +from:0x02100134 kind:load to:0x02117538 add:0x20 module:overlay(31) from:0x02100158 kind:load to:0x027e09a8 module:dtcm from:0x02100160 kind:load to:0x02071b30 module:overlay(0) from:0x02100194 kind:arm_call to:0x02071d34 module:overlay(0) @@ -4363,15 +4363,15 @@ from:0x02100254 kind:load to:0x021175b0 module:overlay(31) from:0x02100268 kind:arm_call to:0x02011f3c module:main from:0x02100274 kind:arm_call to:0x021002c8 module:overlay(31) from:0x02100294 kind:arm_call to:0x0209cb4c module:overlay(0) -from:0x021002c0 kind:load to:0x0211541c module:overlay(31) +from:0x021002c0 kind:load to:0x02115414 add:0x8 module:overlay(31) from:0x021002d0 kind:arm_call to:0x020ff598 module:overlay(31) -from:0x021002f4 kind:load to:0x02115444 module:overlay(31) -from:0x021002f8 kind:load to:0x021154dc module:overlay(31) +from:0x021002f4 kind:load to:0x0211543c add:0x8 module:overlay(31) +from:0x021002f8 kind:load to:0x0211543c add:0xa0 module:overlay(31) from:0x02100304 kind:arm_call to:0x020ff6bc module:overlay(31) from:0x02100330 kind:arm_call to:0x0209ccd8 module:overlay(0) from:0x02100394 kind:load to:0x02110c3c module:overlay(31) from:0x02100398 kind:load to:0x021175b0 module:overlay(31) -from:0x0210039c kind:load to:0x021175d0 module:overlay(31) +from:0x0210039c kind:load to:0x021175b0 add:0x20 module:overlay(31) from:0x021003c0 kind:load to:0x027e09a8 module:dtcm from:0x021003c4 kind:load to:0x02071b30 module:overlay(0) from:0x021003f8 kind:arm_call to:0x02071d34 module:overlay(0) @@ -4394,12 +4394,12 @@ from:0x021004e0 kind:load to:0x02117628 module:overlay(31) from:0x021004f4 kind:arm_call to:0x02011f3c module:main from:0x02100500 kind:arm_call to:0x02100550 module:overlay(31) from:0x02100518 kind:arm_call to:0x0209c9a8 module:overlay(0) -from:0x02100548 kind:load to:0x02115504 module:overlay(31) +from:0x02100548 kind:load to:0x021154fc add:0x8 module:overlay(31) from:0x02100558 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02100580 kind:arm_call to:0x0207c018 module:overlay(0) from:0x021005ec kind:load to:0x02115520 module:overlay(31) from:0x021005f0 kind:load to:0x020b1960 add:0x8 module:overlay(0) -from:0x021005f4 kind:load to:0x02113f18 module:overlay(31) +from:0x021005f4 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x021005f8 kind:load to:0x02117628 module:overlay(31) from:0x02100628 kind:arm_call to:0x01ffb6e4 module:itcm from:0x02100664 kind:arm_call to:0x01ffcfcc module:itcm @@ -4420,7 +4420,7 @@ from:0x02100838 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02100850 kind:arm_call_thumb to:0x02058b98 module:overlay(0) from:0x02100858 kind:arm_call to:0x0207c018 module:overlay(0) from:0x02100888 kind:load to:0x02115588 module:overlay(31) -from:0x0210088c kind:load to:0x02113f18 module:overlay(31) +from:0x0210088c kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x021008b0 kind:arm_call to:0x0209ccd8 module:overlay(0) from:0x02100938 kind:arm_call to:0x01ffb6e4 module:itcm from:0x021009bc kind:arm_call to:0x01ffcfcc module:itcm @@ -4446,7 +4446,7 @@ from:0x02100b94 kind:arm_call to:0x0207c018 module:overlay(0) from:0x02100ba0 kind:arm_call to:0x0207ec88 module:overlay(0) from:0x02100bb0 kind:load to:0x021155e4 module:overlay(31) from:0x02100bb4 kind:load to:0x020b1960 add:0x8 module:overlay(0) -from:0x02100bb8 kind:load to:0x02113f18 module:overlay(31) +from:0x02100bb8 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02100c04 kind:arm_call to:0x01ffedf4 module:itcm from:0x02100c28 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02100c30 kind:arm_call to:0x02100da4 module:overlay(31) @@ -4706,7 +4706,7 @@ from:0x021030cc kind:arm_call to:0x02102fe8 module:overlay(31) from:0x021030d8 kind:arm_call to:0x02060804 module:overlay(0) from:0x021030e8 kind:arm_call to:0x0206082c module:overlay(0) from:0x021030f4 kind:load to:0x02115870 module:overlay(31) -from:0x021030f8 kind:load to:0x02113f18 module:overlay(31) +from:0x021030f8 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02103104 kind:arm_call_thumb to:0x02057bd4 module:overlay(0) from:0x0210311c kind:arm_call_thumb to:0x02057bd4 module:overlay(0) from:0x02103124 kind:arm_call to:0x0209d0ac module:overlay(0) @@ -4990,7 +4990,7 @@ from:0x021054c4 kind:arm_call to:0x02105590 module:overlay(31) from:0x021054dc kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x021054ec kind:arm_call to:0x0207c018 module:overlay(0) from:0x02105554 kind:load to:0x02115b8c module:overlay(31) -from:0x02105560 kind:load to:0x02113f18 module:overlay(31) +from:0x02105560 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02105564 kind:load to:0x02115ba8 module:overlay(31) from:0x02105588 kind:load to:0x027e0cd8 module:dtcm from:0x0210558c kind:load to:0x02081d7c module:overlay(0) @@ -5071,7 +5071,7 @@ from:0x0210617c kind:load to:0x0211822c module:overlay(31) from:0x02106180 kind:load to:0x020b1960 add:0x8 module:overlay(0) from:0x02106184 kind:load to:0x020e17f4 module:overlay(31) from:0x02106188 kind:load to:0x020e33ac module:overlay(31) -from:0x0210618c kind:load to:0x02113f18 module:overlay(31) +from:0x0210618c kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x021061cc kind:arm_call to:0x020a0334 module:overlay(0) from:0x021062b0 kind:arm_call to:0x02106190 module:overlay(31) from:0x021062b8 kind:arm_call to:0x021061dc module:overlay(31) @@ -5174,7 +5174,7 @@ from:0x02106fa4 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02106fd4 kind:arm_call to:0x0207c018 module:overlay(0) from:0x02106fe8 kind:load to:0x02115dac module:overlay(31) from:0x02106fec kind:load to:0x020b1960 add:0x8 module:overlay(0) -from:0x02106ff0 kind:load to:0x02113f18 module:overlay(31) +from:0x02106ff0 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x0210700c kind:arm_call to:0x01ffb6e4 module:itcm from:0x02107040 kind:arm_call to:0x0209ccd8 module:overlay(0) from:0x021070e4 kind:arm_call to:0x01ffcfcc module:itcm @@ -5322,7 +5322,7 @@ from:0x02108994 kind:arm_call to:0x02108a04 module:overlay(31) from:0x021089ac kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x021089bc kind:arm_call to:0x0207c018 module:overlay(0) from:0x021089f4 kind:load to:0x02115b8c module:overlay(31) -from:0x021089f8 kind:load to:0x02113f18 module:overlay(31) +from:0x021089f8 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x021089fc kind:load to:0x02115e58 module:overlay(31) from:0x02108a0c kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02108a6c kind:arm_call to:0x0205a690 module:overlay(0) @@ -5331,7 +5331,7 @@ from:0x02108ac8 kind:arm_call to:0x01ffa06c module:itcm from:0x02108ad4 kind:load to:0x02115e74 module:overlay(31) from:0x02108ad8 kind:load to:0x021184e8 module:overlay(31) from:0x02108adc kind:load to:0x021145dc module:overlay(31) -from:0x02108ae0 kind:load to:0x02113f18 module:overlay(31) +from:0x02108ae0 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02108b10 kind:arm_call to:0x01ffedf4 module:itcm from:0x02108b84 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02108ba0 kind:arm_call to:0x0205fc20 module:overlay(0) @@ -5427,7 +5427,7 @@ from:0x021096dc kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x021096f0 kind:arm_call_thumb to:0x02058b98 module:overlay(0) from:0x021096f8 kind:arm_call to:0x0207c018 module:overlay(0) from:0x0210970c kind:load to:0x02115ed0 module:overlay(31) -from:0x02109710 kind:load to:0x02113f18 module:overlay(31) +from:0x02109710 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02109740 kind:arm_call to:0x0200f05c module:main from:0x02109794 kind:arm_call to:0x01ffedf4 module:itcm from:0x021097e4 kind:arm_call to:0x01ffb714 module:itcm @@ -5451,7 +5451,7 @@ from:0x02109a14 kind:arm_call to:0x02109b2c module:overlay(31) from:0x02109a2c kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x02109a3c kind:arm_call to:0x0207c018 module:overlay(0) from:0x02109ab0 kind:load to:0x02115b8c module:overlay(31) -from:0x02109ab4 kind:load to:0x02113f18 module:overlay(31) +from:0x02109ab4 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02109ab8 kind:load to:0x02115f10 module:overlay(31) from:0x02109ad0 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x02109b0c kind:arm_call to:0x0205fc20 module:overlay(0) @@ -5497,7 +5497,7 @@ from:0x02109f48 kind:arm_call to:0x0210a09c module:overlay(31) from:0x02109f60 kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x02109f70 kind:arm_call to:0x0207c018 module:overlay(0) from:0x02109ff0 kind:load to:0x02115b8c module:overlay(31) -from:0x02109ff8 kind:load to:0x02113f18 module:overlay(31) +from:0x02109ff8 kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x02109ffc kind:load to:0x02115f7c module:overlay(31) from:0x0210a010 kind:arm_call to:0x0209cfe0 module:overlay(0) from:0x0210a028 kind:arm_call_thumb to:0x02057b70 module:overlay(0) @@ -5586,7 +5586,7 @@ from:0x0210ab80 kind:arm_call to:0x0207c018 module:overlay(0) 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:0x02113f18 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:0x0210acc4 kind:load to:0x02116000 module:overlay(31) from:0x0210acc8 kind:load to:0x02118918 module:overlay(31) @@ -5873,7 +5873,7 @@ from:0x0210cf14 kind:arm_call to:0x0210d2d8 module:overlay(31) from:0x0210cf2c kind:arm_call to:0x0209c9a8 module:overlay(0) from:0x0210cf3c kind:arm_call to:0x0207c018 module:overlay(0) from:0x0210cfb8 kind:load to:0x02115b8c module:overlay(31) -from:0x0210cfbc kind:load to:0x02113f18 module:overlay(31) +from:0x0210cfbc kind:load to:0x02113f10 add:0x8 module:overlay(31) from:0x0210cfc0 kind:load to:0x021161a0 module:overlay(31) from:0x0210cfd4 kind:arm_call_thumb to:0x02057b54 module:overlay(0) from:0x0210cffc kind:arm_call to:0x02057f18 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index ae648c8d..61a9ad81 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -66,7 +66,7 @@ func_ov031_020d9804 kind:function(arm,size=0x10) addr:0x020d9804 func_ov031_020d9814 kind:function(arm,size=0x10) addr:0x020d9814 func_ov031_020d9824 kind:function(arm,size=0x10) addr:0x020d9824 func_ov031_020d9834 kind:function(arm,size=0x10) addr:0x020d9834 -func_ov031_020d9844 kind:function(arm,size=0x10) addr:0x020d9844 +_ZN18UnkStruct_027e0d3419func_ov031_020d9844Ev kind:function(arm,size=0x10) addr:0x020d9844 func_ov031_020d9854 kind:function(arm,size=0x34) addr:0x020d9854 func_ov031_020d9888 kind:function(arm,size=0x34) addr:0x020d9888 func_ov031_020d98bc kind:function(arm,size=0x1c) addr:0x020d98bc @@ -104,7 +104,7 @@ func_ov031_020d9bec kind:function(arm,size=0x18) addr:0x020d9bec func_ov031_020d9c04 kind:function(arm,size=0x10) addr:0x020d9c04 func_ov031_020d9c14 kind:function(arm,size=0x20) addr:0x020d9c14 func_ov031_020d9c34 kind:function(arm,size=0x10) addr:0x020d9c34 -func_ov031_020d9c44 kind:function(arm,size=0x10) addr:0x020d9c44 +_ZN18UnkStruct_027e0d3819func_ov031_020d9c44Ei kind:function(arm,size=0x10) addr:0x020d9c44 func_ov031_020d9c54 kind:function(arm,size=0x10) addr:0x020d9c54 func_ov031_020d9c64 kind:function(arm,size=0x68) addr:0x020d9c64 func_ov031_020d9ccc kind:function(arm,size=0x44) addr:0x020d9ccc @@ -1277,166 +1277,166 @@ _ZN12ActorUnkNFSP19func_ov031_020fbcf0Ev kind:function(arm,size=0x38) addr:0x020 _ZN12ActorUnkNFSPD1Ev kind:function(arm,size=0x14) addr:0x020fbd28 _ZN12ActorUnkNFSPD0Ev kind:function(arm,size=0x1c) addr:0x020fbd3c _ZN19ActorProfileUnkNFSPD1Ev kind:function(arm,size=0x14) addr:0x020fbd58 -func_ov031_020fbd6c kind:function(arm,size=0xd8) addr:0x020fbd6c -func_ov031_020fbe44 kind:function(arm,size=0xcc) addr:0x020fbe44 -func_ov031_020fbf10 kind:function(arm,size=0x144) addr:0x020fbf10 -func_ov031_020fc054 kind:function(arm,size=0x400) addr:0x020fc054 -func_ov031_020fc454 kind:function(arm,size=0x4) addr:0x020fc454 -func_ov031_020fc458 kind:function(arm,size=0x64) addr:0x020fc458 -func_ov031_020fc4bc kind:function(arm,size=0xfc) addr:0x020fc4bc -func_ov031_020fc5b8 kind:function(arm,size=0x598) addr:0x020fc5b8 -func_ov031_020fcb50 kind:function(arm,size=0x4) addr:0x020fcb50 -func_ov031_020fcb54 kind:function(arm,size=0xc) addr:0x020fcb54 -func_ov031_020fcb60 kind:function(arm,size=0x10) addr:0x020fcb60 -func_ov031_020fcb70 kind:function(arm,size=0x8) addr:0x020fcb70 -func_ov031_020fcb78 kind:function(arm,size=0x180) addr:0x020fcb78 -func_ov031_020fccf8 kind:function(arm,size=0x4) addr:0x020fccf8 -func_ov031_020fccfc kind:function(arm,size=0x4) addr:0x020fccfc -func_ov031_020fcd00 kind:function(arm,size=0x10) addr:0x020fcd00 -func_ov031_020fcd10 kind:function(arm,size=0x30) addr:0x020fcd10 -func_ov031_020fcd40 kind:function(arm,size=0x28) addr:0x020fcd40 -func_ov031_020fcd68 kind:function(arm,size=0x80) addr:0x020fcd68 -func_ov031_020fcde8 kind:function(arm,size=0x4) addr:0x020fcde8 -func_ov031_020fcdec kind:function(arm,size=0x4) addr:0x020fcdec -func_ov031_020fcdf0 kind:function(arm,size=0x11c) addr:0x020fcdf0 -func_ov031_020fcf0c kind:function(arm,size=0x24) addr:0x020fcf0c -func_ov031_020fcf30 kind:function(arm,size=0x44) addr:0x020fcf30 -func_ov031_020fcf74 kind:function(arm,size=0x4) addr:0x020fcf74 -func_ov031_020fcf78 kind:function(arm,size=0xfc) addr:0x020fcf78 -func_ov031_020fd074 kind:function(arm,size=0x8) addr:0x020fd074 -func_ov031_020fd07c kind:function(arm,size=0x8) addr:0x020fd07c -func_ov031_020fd084 kind:function(arm,size=0x4) addr:0x020fd084 -func_ov031_020fd088 kind:function(arm,size=0x4) addr:0x020fd088 -func_ov031_020fd08c kind:function(arm,size=0x4) addr:0x020fd08c -_ZN19func_ov031_020fd090D1Ev kind:function(arm,size=0x20) addr:0x020fd090 -_ZN19func_ov031_020fd0b0D0Ev kind:function(arm,size=0x28) addr:0x020fd0b0 -func_ov031_020fd0d8 kind:function(arm,size=0x10) addr:0x020fd0d8 -func_ov031_020fd0e8 kind:function(arm,size=0x10) addr:0x020fd0e8 +_ZN24UnkStruct_ov031_02117210C1Ev kind:function(arm,size=0xd8) addr:0x020fbd6c +_ZN17MapObjectDoorBaseC2Ev kind:function(arm,size=0xcc) addr:0x020fbe44 +_ZN17MapObjectDoorBase19func_ov031_020fbf10Ebb kind:function(arm,size=0x144) addr:0x020fbf10 +_ZN17MapObjectDoorBase8vfunc_08Ev kind:function(arm,size=0x400) addr:0x020fc054 +_ZN17MapObjectDoorBase8vfunc_40Ev kind:function(arm,size=0x4) addr:0x020fc454 +_ZN17MapObjectDoorBase8vfunc_0CEv kind:function(arm,size=0x64) addr:0x020fc458 +_ZN17MapObjectDoorBase8vfunc_60Ev kind:function(arm,size=0xfc) addr:0x020fc4bc +_ZN17MapObjectDoorBase8vfunc_5CEii kind:function(arm,size=0x598) addr:0x020fc5b8 +_ZN17MapObjectDoorBase8vfunc_48Ev kind:function(arm,size=0x4) addr:0x020fcb50 +_ZN17MapObjectDoorBase8vfunc_64Ev kind:function(arm,size=0xc) addr:0x020fcb54 +_ZN17MapObjectDoorBase8vfunc_68Ev kind:function(arm,size=0x10) addr:0x020fcb60 +_ZN17MapObjectDoorBase8vfunc_6CEv kind:function(arm,size=0x8) addr:0x020fcb70 +_ZN17MapObjectDoorBase19func_ov031_020fcb78EPcc kind:function(arm,size=0x180) addr:0x020fcb78 +_ZN17MapObjectDoorBase8vfunc_74Ev kind:function(arm,size=0x4) addr:0x020fccf8 +_ZN17MapObjectDoorBase8vfunc_78Ev kind:function(arm,size=0x4) addr:0x020fccfc +_ZN17MapObjectDoorBase8vfunc_7CEv kind:function(arm,size=0x10) addr:0x020fcd00 +_ZN17MapObjectDoorBase8vfunc_80Ev kind:function(arm,size=0x30) addr:0x020fcd10 +_ZN17MapObjectDoorBase19func_ov031_020fcd40Ev kind:function(arm,size=0x28) addr:0x020fcd40 +_ZN17MapObjectDoorBase8vfunc_70Ev kind:function(arm,size=0x80) addr:0x020fcd68 +_ZN17MapObjectDoorBase8vfunc_44Ev kind:function(arm,size=0x4) addr:0x020fcde8 +_ZN17MapObjectDoorBase8vfunc_4CEv kind:function(arm,size=0x4) addr:0x020fcdec +_ZN17MapObjectDoorBase8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x11c) addr:0x020fcdf0 +_ZN17MapObjectDoorBase19func_ov031_020fcf0cEi kind:function(arm,size=0x24) addr:0x020fcf0c +_ZN17MapObjectDoorBase19func_ov031_020fcf30Ev kind:function(arm,size=0x44) addr:0x020fcf30 +_ZN17MapObjectDoorBase9vfunc2_04Ev kind:function(arm,size=0x4) addr:0x020fcf74 +_ZN17MapObjectDoorBase9vfunc2_08Ev kind:function(arm,size=0xfc) addr:0x020fcf78 +_ZN17MapObjectDoorBase8vfunc_88Ev kind:function(arm,size=0x8) addr:0x020fd074 +_ZN17MapObjectDoorBase8vfunc_8CEv kind:function(arm,size=0x8) addr:0x020fd07c +_ZN17MapObjectDoorBase8vfunc_50Ev kind:function(arm,size=0x4) addr:0x020fd084 +_ZN17MapObjectDoorBase8vfunc_54Ev kind:function(arm,size=0x4) addr:0x020fd088 +_ZN17MapObjectDoorBase8vfunc_58Ev kind:function(arm,size=0x4) addr:0x020fd08c +_ZN17MapObjectDoorBaseD1Ev kind:function(arm,size=0x20) addr:0x020fd090 +_ZN17MapObjectDoorBaseD0Ev kind:function(arm,size=0x28) addr:0x020fd0b0 +_ZThn64_N17MapObjectDoorBase9vfunc2_08Ev kind:function(arm,size=0x10) addr:0x020fd0d8 +_ZThn64_N17MapObjectDoorBase9vfunc2_04Ev kind:function(arm,size=0x10) addr:0x020fd0e8 _ZN23MapObjectProfileUnkDRDS10GetProfileEv kind:function(arm,size=0xc) addr:0x020fd0f8 _ZN23MapObjectProfileUnkDRDS6CreateEv kind:function(arm,size=0x24) addr:0x020fd104 _ZN23MapObjectProfileUnkDRDSC1Ev kind:function(arm,size=0x50) addr:0x020fd128 _ZN16MapObjectUnkDRDSC1Ev kind:function(arm,size=0xbc) addr:0x020fd178 -_ZN16MapObjectUnkDRDS19func_ov031_020fd234Ev kind:function(arm,size=0x50) addr:0x020fd234 -_ZN16MapObjectUnkDRDS19func_ov031_020fd284Ev kind:function(arm,size=0x174) addr:0x020fd284 -_ZN16MapObjectUnkDRDS19func_ov031_020fd3f8Ev kind:function(arm,size=0xc) addr:0x020fd3f8 -_ZN16MapObjectUnkDRDS19func_ov031_020fd404Ev kind:function(arm,size=0x70) addr:0x020fd404 -_ZN16MapObjectUnkDRDS19func_ov031_020fd474Ev kind:function(arm,size=0x374) addr:0x020fd474 -_ZN16MapObjectUnkDRDS19func_ov031_020fd7e8Ev kind:function(arm,size=0x2c) addr:0x020fd7e8 -_ZN16MapObjectUnkDRDS19func_ov031_020fd814Ev kind:function(arm,size=0x3f4) addr:0x020fd814 -_ZN16MapObjectUnkDRDS19func_ov031_020fdc08Ev kind:function(arm,size=0xbc) addr:0x020fdc08 -_ZN16MapObjectUnkDRDS19func_ov031_020fdcc4Ev kind:function(arm,size=0xac) addr:0x020fdcc4 -_ZN16MapObjectUnkDRDS19func_ov031_020fdd70Ev kind:function(arm,size=0x158) addr:0x020fdd70 +_ZN16MapObjectUnkDRDS8vfunc_00Ev kind:function(arm,size=0x50) addr:0x020fd234 +_ZN16MapObjectUnkDRDS8vfunc_04Ev kind:function(arm,size=0x174) addr:0x020fd284 +_ZN16MapObjectUnkDRDS9vfunc2_04Ev kind:function(arm,size=0xc) addr:0x020fd3f8 +_ZN16MapObjectUnkDRDS9vfunc2_08Ev kind:function(arm,size=0x70) addr:0x020fd404 +_ZN16MapObjectUnkDRDS8vfunc_08Ev kind:function(arm,size=0x374) addr:0x020fd474 +_ZN16MapObjectUnkDRDS8vfunc_0CEv kind:function(arm,size=0x2c) addr:0x020fd7e8 +_ZN16MapObjectUnkDRDS8vfunc_5CEii kind:function(arm,size=0x3f4) addr:0x020fd814 +_ZN16MapObjectUnkDRDS8vfunc_64Ev kind:function(arm,size=0xbc) addr:0x020fdc08 +_ZN16MapObjectUnkDRDS8vfunc_68Ev kind:function(arm,size=0xac) addr:0x020fdcc4 +_ZN16MapObjectUnkDRDS8vfunc_6CEv kind:function(arm,size=0x158) addr:0x020fdd70 _ZN16MapObjectUnkDRDS19func_ov031_020fdec8Ev kind:function(arm,size=0xf8) addr:0x020fdec8 -_ZN16MapObjectUnkDRDS19func_ov031_020fdfc0Ev kind:function(arm,size=0xc) addr:0x020fdfc0 -_ZN16MapObjectUnkDRDS19func_ov031_020fdfccEv kind:function(arm,size=0x80) addr:0x020fdfcc -_ZN16MapObjectUnkDRDS19func_ov031_020fe04cEv kind:function(arm,size=0x84) addr:0x020fe04c -_ZN16MapObjectUnkDRDS19func_ov031_020fe0d0Ev kind:function(arm,size=0x15c) addr:0x020fe0d0 -_ZN16MapObjectUnkDRDS19func_ov031_020fe22cEv kind:function(arm,size=0x24) addr:0x020fe22c -_ZN16MapObjectUnkDRDS19func_ov031_020fe250Ev kind:function(arm,size=0x28) addr:0x020fe250 -_ZN16MapObjectUnkDRDS19func_ov031_020fe278Ev kind:function(arm,size=0x44) addr:0x020fe278 -_ZN16MapObjectUnkDRDS19func_ov031_020fe2bcEv kind:function(arm,size=0x2c) addr:0x020fe2bc -_ZN16MapObjectUnkDRDS19func_ov031_020fe2e8Ev kind:function(arm,size=0x44) addr:0x020fe2e8 -_ZN16MapObjectUnkDRDS19func_ov031_020fe32cEv kind:function(arm,size=0x24) addr:0x020fe32c -_ZN16MapObjectUnkDRDS19func_ov031_020fe350Ev kind:function(arm,size=0x38) addr:0x020fe350 -_ZN16MapObjectUnkDRDS19func_ov031_020fe388Ev kind:function(arm,size=0x274) addr:0x020fe388 -_ZN16MapObjectUnkDRDS19func_ov031_020fe5fcEv kind:function(arm,size=0x9c) addr:0x020fe5fc +_ZN16MapObjectUnkDRDS8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020fdfc0 +_ZN16MapObjectUnkDRDS8vfunc_14Ev kind:function(arm,size=0x80) addr:0x020fdfcc +_ZN16MapObjectUnkDRDS9vfunc2_10Ev kind:function(arm,size=0x84) addr:0x020fe04c +_ZN16MapObjectUnkDRDS8vfunc_74Ev kind:function(arm,size=0x15c) addr:0x020fe0d0 +_ZN16MapObjectUnkDRDS8vfunc_7CEv kind:function(arm,size=0x24) addr:0x020fe22c +_ZN16MapObjectUnkDRDS8vfunc_40Ev kind:function(arm,size=0x28) addr:0x020fe250 +_ZN16MapObjectUnkDRDS8vfunc_44Ev kind:function(arm,size=0x44) addr:0x020fe278 +_ZN16MapObjectUnkDRDS8vfunc_48Ev kind:function(arm,size=0x2c) addr:0x020fe2bc +_ZN16MapObjectUnkDRDS8vfunc_4CEv kind:function(arm,size=0x44) addr:0x020fe2e8 +_ZN16MapObjectUnkDRDS8vfunc_88Ev kind:function(arm,size=0x24) addr:0x020fe32c +_ZN16MapObjectUnkDRDS8vfunc_8CEv kind:function(arm,size=0x38) addr:0x020fe350 +_ZN16MapObjectUnkDRDS8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x274) addr:0x020fe388 +_ZN16MapObjectUnkDRDS19func_ov031_020fe5fcEP5Vec3pPS_ kind:function(arm,size=0x9c) addr:0x020fe5fc _ZN16MapObjectUnkDRDSD1Ev kind:function(arm,size=0x30) addr:0x020fe698 _ZN16MapObjectUnkDRDSD0Ev kind:function(arm,size=0x38) addr:0x020fe6c8 _ZN23MapObjectProfileUnkDRDSD1Ev kind:function(arm,size=0x14) addr:0x020fe700 -func_ov031_020fe714 kind:function(arm,size=0x10) addr:0x020fe714 -func_ov031_020fe724 kind:function(arm,size=0x10) addr:0x020fe724 +_ZThn64_N16MapObjectUnkDRDS9vfunc2_08Ev kind:function(arm,size=0x10) addr:0x020fe714 +_ZThn64_N16MapObjectUnkDRDS9vfunc2_04Ev kind:function(arm,size=0x10) addr:0x020fe724 _ZN23MapObjectProfileUnkDRKY10GetProfileEv kind:function(arm,size=0xc) addr:0x020fe734 _ZN23MapObjectProfileUnkDRKY6CreateEv kind:function(arm,size=0x24) addr:0x020fe740 _ZN23MapObjectProfileUnkDRKYC1Ev kind:function(arm,size=0x54) addr:0x020fe764 _ZN16MapObjectUnkDRKYC1Ev kind:function(arm,size=0xb4) addr:0x020fe7b8 -_ZN16MapObjectUnkDRKY19func_ov031_020fe86cEv kind:function(arm,size=0x1c) addr:0x020fe86c -_ZN16MapObjectUnkDRKY19func_ov031_020fe888Ev kind:function(arm,size=0x18) addr:0x020fe888 -_ZN16MapObjectUnkDRKY19func_ov031_020fe8a0Ev kind:function(arm,size=0xc) addr:0x020fe8a0 -_ZN16MapObjectUnkDRKY19func_ov031_020fe8acEv kind:function(arm,size=0x14c) addr:0x020fe8ac -_ZN16MapObjectUnkDRKY19func_ov031_020fe9f8Ev kind:function(arm,size=0x90) addr:0x020fe9f8 +_ZN16MapObjectUnkDRKY8vfunc_00Ev kind:function(arm,size=0x1c) addr:0x020fe86c +_ZN16MapObjectUnkDRKY8vfunc_08Ev kind:function(arm,size=0x18) addr:0x020fe888 +_ZN16MapObjectUnkDRKY8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020fe8a0 +_ZN16MapObjectUnkDRKY8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x020fe8ac +_ZN16MapObjectUnkDRKY8vfunc_5CEii kind:function(arm,size=0x90) addr:0x020fe9f8 _ZN16MapObjectUnkDRKY19func_ov031_020fea88Ev kind:function(arm,size=0x34) addr:0x020fea88 -_ZN16MapObjectUnkDRKY19func_ov031_020feabcEv kind:function(arm,size=0x90) addr:0x020feabc -_ZN16MapObjectUnkDRKY19func_ov031_020feb4cEv kind:function(arm,size=0xc) addr:0x020feb4c -_ZN16MapObjectUnkDRKY19func_ov031_020feb58Ev kind:function(arm,size=0x8) addr:0x020feb58 -_ZN16MapObjectUnkDRKY19func_ov031_020feb60Ev kind:function(arm,size=0x8) addr:0x020feb60 -_ZN16MapObjectUnkDRKY19func_ov031_020feb68Ev kind:function(arm,size=0x50) addr:0x020feb68 -_ZN16MapObjectUnkDRKY19func_ov031_020febb8Ev kind:function(arm,size=0x24) addr:0x020febb8 -_ZN16MapObjectUnkDRKY19func_ov031_020febdcEv kind:function(arm,size=0x19c) addr:0x020febdc -_ZN16MapObjectUnkDRKY19func_ov031_020fed78Ev kind:function(arm,size=0x2c) addr:0x020fed78 -_ZN16MapObjectUnkDRKY19func_ov031_020feda4Ev kind:function(arm,size=0x44) addr:0x020feda4 -_ZN16MapObjectUnkDRKY19func_ov031_020fede8Ev kind:function(arm,size=0x4) addr:0x020fede8 -_ZN16MapObjectUnkDRKY19func_ov031_020fedecEv kind:function(arm,size=0x4) addr:0x020fedec +_ZN16MapObjectUnkDRKY8vfunc_28Ev kind:function(arm,size=0x90) addr:0x020feabc +_ZN16MapObjectUnkDRKY8vfunc_64Ev kind:function(arm,size=0xc) addr:0x020feb4c +_ZN16MapObjectUnkDRKY8vfunc_68Ev kind:function(arm,size=0x8) addr:0x020feb58 +_ZN16MapObjectUnkDRKY8vfunc_6CEv kind:function(arm,size=0x8) addr:0x020feb60 +_ZN16MapObjectUnkDRKY8vfunc_74Ev kind:function(arm,size=0x50) addr:0x020feb68 +_ZN16MapObjectUnkDRKY8vfunc_7CEv kind:function(arm,size=0x24) addr:0x020febb8 +_ZN16MapObjectUnkDRKY8vfunc_78Ev kind:function(arm,size=0x19c) addr:0x020febdc +_ZN16MapObjectUnkDRKY8vfunc_40Ev kind:function(arm,size=0x2c) addr:0x020fed78 +_ZN16MapObjectUnkDRKY8vfunc_44Ev kind:function(arm,size=0x44) addr:0x020feda4 +_ZN16MapObjectUnkDRKY8vfunc_48Ev kind:function(arm,size=0x4) addr:0x020fede8 +_ZN16MapObjectUnkDRKY8vfunc_4CEv kind:function(arm,size=0x4) addr:0x020fedec _ZN16MapObjectUnkDRKYD1Ev kind:function(arm,size=0x30) addr:0x020fedf0 _ZN16MapObjectUnkDRKYD0Ev kind:function(arm,size=0x38) addr:0x020fee20 _ZN23MapObjectProfileUnkDRKYD1Ev kind:function(arm,size=0x14) addr:0x020fee58 _ZN23MapObjectProfileUnkDRSW10GetProfileEv kind:function(arm,size=0xc) addr:0x020fee6c _ZN23MapObjectProfileUnkDRSW6CreateEv kind:function(arm,size=0x24) addr:0x020fee78 _ZN23MapObjectProfileUnkDRSWC1Ev kind:function(arm,size=0x48) addr:0x020fee9c -_ZN16MapObjectUnkDRSW19func_ov031_020feee4Ev kind:function(arm,size=0x64) addr:0x020feee4 +_ZN16MapObjectUnkDRSWC2Ev kind:function(arm,size=0x64) addr:0x020feee4 _ZN16MapObjectUnkDRSWC1Ev kind:function(arm,size=0x64) addr:0x020fef48 -_ZN16MapObjectUnkDRSW19func_ov031_020fefacEv kind:function(arm,size=0xd0) addr:0x020fefac -_ZN16MapObjectUnkDRSW19func_ov031_020ff07cEv kind:function(arm,size=0x84) addr:0x020ff07c -_ZN16MapObjectUnkDRSW19func_ov031_020ff100Ev kind:function(arm,size=0x10) addr:0x020ff100 -_ZN16MapObjectUnkDRSW19func_ov031_020ff110Ev kind:function(arm,size=0x20) addr:0x020ff110 -_ZN16MapObjectUnkDRSW19func_ov031_020ff130Ev kind:function(arm,size=0x80) addr:0x020ff130 -_ZN16MapObjectUnkDRSW19func_ov031_020ff1b0Ev kind:function(arm,size=0xc) addr:0x020ff1b0 -_ZN16MapObjectUnkDRSW19func_ov031_020ff1bcEv kind:function(arm,size=0xcc) addr:0x020ff1bc -_ZN16MapObjectUnkDRSW19func_ov031_020ff288Ev kind:function(arm,size=0x50) addr:0x020ff288 -_ZN16MapObjectUnkDRSW19func_ov031_020ff2d8Ev kind:function(arm,size=0x40) addr:0x020ff2d8 -_ZN16MapObjectUnkDRSW19func_ov031_020ff318Ev kind:function(arm,size=0x74) addr:0x020ff318 -_ZN16MapObjectUnkDRSW19func_ov031_020ff38cEv kind:function(arm,size=0x44) addr:0x020ff38c -_ZN16MapObjectUnkDRSW19func_ov031_020ff3d0Ev kind:function(arm,size=0x2c) addr:0x020ff3d0 -_ZN16MapObjectUnkDRSW19func_ov031_020ff3fcEv kind:function(arm,size=0x40) addr:0x020ff3fc -_ZN16MapObjectUnkDRSW19func_ov031_020ff43cEv kind:function(arm,size=0x2c) addr:0x020ff43c -_ZN16MapObjectUnkDRSW19func_ov031_020ff468Ev kind:function(arm,size=0x44) addr:0x020ff468 +_ZN16MapObjectUnkDRSW8vfunc_00Ev kind:function(arm,size=0xd0) addr:0x020fefac +_ZN16MapObjectUnkDRSW8vfunc_08Ev kind:function(arm,size=0x84) addr:0x020ff07c +_ZN16MapObjectUnkDRSW8vfunc_64Ev kind:function(arm,size=0x10) addr:0x020ff100 +_ZN16MapObjectUnkDRSW8vfunc_6CEv kind:function(arm,size=0x20) addr:0x020ff110 +_ZN16MapObjectUnkDRSW8vfunc_14Ev kind:function(arm,size=0x80) addr:0x020ff130 +_ZN16MapObjectUnkDRSW8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020ff1b0 +_ZN16MapObjectUnkDRSW8vfunc_74Ev kind:function(arm,size=0xcc) addr:0x020ff1bc +_ZN16MapObjectUnkDRSW9vfunc2_10Ev kind:function(arm,size=0x50) addr:0x020ff288 +_ZN16MapObjectUnkDRSW8vfunc_50Ev kind:function(arm,size=0x40) addr:0x020ff2d8 +_ZN16MapObjectUnkDRSW8vfunc_54Ev kind:function(arm,size=0x74) addr:0x020ff318 +_ZN16MapObjectUnkDRSW8vfunc_58Ev kind:function(arm,size=0x44) addr:0x020ff38c +_ZN16MapObjectUnkDRSW8vfunc_40Ev kind:function(arm,size=0x2c) addr:0x020ff3d0 +_ZN16MapObjectUnkDRSW8vfunc_44Ev kind:function(arm,size=0x40) addr:0x020ff3fc +_ZN16MapObjectUnkDRSW8vfunc_48Ev kind:function(arm,size=0x2c) addr:0x020ff43c +_ZN16MapObjectUnkDRSW8vfunc_4CEv kind:function(arm,size=0x44) addr:0x020ff468 _ZN16MapObjectUnkDRSWD1Ev kind:function(arm,size=0x28) addr:0x020ff4ac _ZN16MapObjectUnkDRSWD0Ev kind:function(arm,size=0x30) addr:0x020ff4d4 _ZN23MapObjectProfileUnkDRSWD1Ev kind:function(arm,size=0x14) addr:0x020ff504 _ZN23MapObjectProfileUnkDRCK10GetProfileEv kind:function(arm,size=0xc) addr:0x020ff518 _ZN23MapObjectProfileUnkDRCK6CreateEv kind:function(arm,size=0x24) addr:0x020ff524 _ZN23MapObjectProfileUnkDRCKC1Ev kind:function(arm,size=0x50) addr:0x020ff548 -_ZN16MapObjectUnkDRCK19func_ov031_020ff598Ev kind:function(arm,size=0x88) addr:0x020ff598 +_ZN16MapObjectUnkDRCKC2Ev kind:function(arm,size=0x88) addr:0x020ff598 _ZN16MapObjectUnkDRCKC1Ev kind:function(arm,size=0x88) addr:0x020ff620 -_ZN16MapObjectUnkDRCK19func_ov031_020ff6a8Ev kind:function(arm,size=0x14) addr:0x020ff6a8 -_ZN16MapObjectUnkDRCK19func_ov031_020ff6bcEv kind:function(arm,size=0x100) addr:0x020ff6bc -_ZN16MapObjectUnkDRCK19func_ov031_020ff7bcEv kind:function(arm,size=0x3d0) addr:0x020ff7bc -_ZN16MapObjectUnkDRCK19func_ov031_020ffb8cEv kind:function(arm,size=0xc) addr:0x020ffb8c -_ZN16MapObjectUnkDRCK19func_ov031_020ffb98Ev kind:function(arm,size=0x14c) addr:0x020ffb98 -_ZN16MapObjectUnkDRCK19func_ov031_020ffce4Ev kind:function(arm,size=0xf8) addr:0x020ffce4 -_ZN16MapObjectUnkDRCK19func_ov031_020ffddcEv kind:function(arm,size=0x8) addr:0x020ffddc +_ZN16MapObjectUnkDRCK9vfunc2_1CEi kind:function(arm,size=0x14) addr:0x020ff6a8 +_ZN16MapObjectUnkDRCK8vfunc_00Ev kind:function(arm,size=0x100) addr:0x020ff6bc +_ZN16MapObjectUnkDRCK8vfunc_08Ev kind:function(arm,size=0x3d0) addr:0x020ff7bc +_ZN16MapObjectUnkDRCK8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020ffb8c +_ZN16MapObjectUnkDRCK8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x020ffb98 +_ZN16MapObjectUnkDRCK8vfunc_5CEii kind:function(arm,size=0xf8) addr:0x020ffce4 +_ZN16MapObjectUnkDRCK9vfunc2_14Ev kind:function(arm,size=0x8) addr:0x020ffddc _ZN16MapObjectUnkDRCK19func_ov031_020ffde4Ev kind:function(arm,size=0x38) addr:0x020ffde4 -_ZN16MapObjectUnkDRCK19func_ov031_020ffe1cEv kind:function(arm,size=0x60) addr:0x020ffe1c -_ZN16MapObjectUnkDRCK19func_ov031_020ffe7cEv kind:function(arm,size=0x10) addr:0x020ffe7c -_ZN16MapObjectUnkDRCK19func_ov031_020ffe8cEv kind:function(arm,size=0x8) addr:0x020ffe8c -_ZN16MapObjectUnkDRCK19func_ov031_020ffe94Ev kind:function(arm,size=0x8) addr:0x020ffe94 -_ZN16MapObjectUnkDRCK19func_ov031_020ffe9cEv kind:function(arm,size=0x50) addr:0x020ffe9c -_ZN16MapObjectUnkDRCK19func_ov031_020ffeecEv kind:function(arm,size=0x24) addr:0x020ffeec -_ZN16MapObjectUnkDRCK19func_ov031_020fff10Ev kind:function(arm,size=0x19c) addr:0x020fff10 -_ZN16MapObjectUnkDRCK19func_ov031_021000acEv kind:function(arm,size=0x8c) addr:0x021000ac -_ZN16MapObjectUnkDRCK19func_ov031_02100138Ev kind:function(arm,size=0x2c) addr:0x02100138 -_ZN16MapObjectUnkDRCK19func_ov031_02100164Ev kind:function(arm,size=0x44) addr:0x02100164 -_ZN16MapObjectUnkDRCK19func_ov031_021001a8Ev kind:function(arm,size=0x4) addr:0x021001a8 -_ZN16MapObjectUnkDRCK19func_ov031_021001acEv kind:function(arm,size=0x4) addr:0x021001ac -_ZN16MapObjectUnkDRCK19func_ov031_021001b0Ev kind:function(arm,size=0x4) addr:0x021001b0 +_ZN16MapObjectUnkDRCK8vfunc_28Ev kind:function(arm,size=0x60) addr:0x020ffe1c +_ZN16MapObjectUnkDRCK8vfunc_64Ev kind:function(arm,size=0x10) addr:0x020ffe7c +_ZN16MapObjectUnkDRCK8vfunc_68Ev kind:function(arm,size=0x8) addr:0x020ffe8c +_ZN16MapObjectUnkDRCK8vfunc_6CEv kind:function(arm,size=0x8) addr:0x020ffe94 +_ZN16MapObjectUnkDRCK8vfunc_74Ev kind:function(arm,size=0x50) addr:0x020ffe9c +_ZN16MapObjectUnkDRCK8vfunc_7CEv kind:function(arm,size=0x24) addr:0x020ffeec +_ZN16MapObjectUnkDRCK8vfunc_78Ev kind:function(arm,size=0x19c) addr:0x020fff10 +_ZN16MapObjectUnkDRCK9vfunc2_10Ev kind:function(arm,size=0x8c) addr:0x021000ac +_ZN16MapObjectUnkDRCK8vfunc_40Ev kind:function(arm,size=0x2c) addr:0x02100138 +_ZN16MapObjectUnkDRCK8vfunc_44Ev kind:function(arm,size=0x44) addr:0x02100164 +_ZN16MapObjectUnkDRCK8vfunc_48Ev kind:function(arm,size=0x4) addr:0x021001a8 +_ZN16MapObjectUnkDRCK8vfunc_4CEv kind:function(arm,size=0x4) addr:0x021001ac +_ZN16MapObjectUnkDRCK9vfunc2_18Ev kind:function(arm,size=0x4) addr:0x021001b0 _ZN16MapObjectUnkDRCKD1Ev kind:function(arm,size=0x30) addr:0x021001b4 _ZN16MapObjectUnkDRCKD0Ev kind:function(arm,size=0x38) addr:0x021001e4 _ZN23MapObjectProfileUnkDRCKD1Ev kind:function(arm,size=0x14) addr:0x0210021c -_ZN19func_ov031_02100230D0Ev kind:function(arm,size=0x1c) addr:0x02100230 +_ZN23MapObjectProfileUnkDRCKD0Ev kind:function(arm,size=0x1c) addr:0x02100230 _ZN23MapObjectProfileUnkDRTC10GetProfileEv kind:function(arm,size=0xc) addr:0x0210024c _ZN23MapObjectProfileUnkDRTC6CreateEv kind:function(arm,size=0x24) addr:0x02100258 _ZN23MapObjectProfileUnkDRTCC1Ev kind:function(arm,size=0x4c) addr:0x0210027c _ZN16MapObjectUnkDRTCC1Ev kind:function(arm,size=0x34) addr:0x021002c8 -_ZN16MapObjectUnkDRTC19func_ov031_021002fcEv kind:function(arm,size=0x18) addr:0x021002fc -_ZN16MapObjectUnkDRTC19func_ov031_02100314Ev kind:function(arm,size=0x8c) addr:0x02100314 -_ZN16MapObjectUnkDRTC19func_ov031_021003a0Ev kind:function(arm,size=0x28) addr:0x021003a0 -_ZN16MapObjectUnkDRTC19func_ov031_021003c8Ev kind:function(arm,size=0x44) addr:0x021003c8 -_ZN16MapObjectUnkDRTC19func_ov031_0210040cEv kind:function(arm,size=0x4) addr:0x0210040c -_ZN16MapObjectUnkDRTC19func_ov031_02100410Ev kind:function(arm,size=0x4) addr:0x02100410 -_ZN16MapObjectUnkDRTC19func_ov031_02100414Ev kind:function(arm,size=0x2c) addr:0x02100414 +_ZN16MapObjectUnkDRTC8vfunc_00Ev kind:function(arm,size=0x18) addr:0x021002fc +_ZN16MapObjectUnkDRTC9vfunc2_10Ev kind:function(arm,size=0x8c) addr:0x02100314 +_ZN16MapObjectUnkDRTC8vfunc_40Ev kind:function(arm,size=0x28) addr:0x021003a0 +_ZN16MapObjectUnkDRTC8vfunc_44Ev kind:function(arm,size=0x44) addr:0x021003c8 +_ZN16MapObjectUnkDRTC8vfunc_48Ev kind:function(arm,size=0x4) addr:0x0210040c +_ZN16MapObjectUnkDRTC8vfunc_4CEv kind:function(arm,size=0x4) addr:0x02100410 +_ZN16MapObjectUnkDRTC9vfunc2_18Ev kind:function(arm,size=0x2c) addr:0x02100414 _ZN16MapObjectUnkDRTCD1Ev kind:function(arm,size=0x30) addr:0x02100440 _ZN16MapObjectUnkDRTCD0Ev kind:function(arm,size=0x38) addr:0x02100470 _ZN23MapObjectProfileUnkDRTCD1Ev kind:function(arm,size=0x14) addr:0x021004a8 -_ZN19func_ov031_021004bcD0Ev kind:function(arm,size=0x1c) addr:0x021004bc +_ZN23MapObjectProfileUnkDRTCD0Ev kind:function(arm,size=0x1c) addr:0x021004bc _ZN23MapObjectProfileUnkEXIT10GetProfileEv kind:function(arm,size=0xc) addr:0x021004d8 _ZN23MapObjectProfileUnkEXIT6CreateEv kind:function(arm,size=0x24) addr:0x021004e4 _ZN23MapObjectProfileUnkEXITC1Ev kind:function(arm,size=0x48) addr:0x02100508 @@ -2028,8 +2028,8 @@ data_ov031_02110bbc kind:data(any) addr:0x02110bbc data_ov031_02110bc8 kind:data(any) addr:0x02110bc8 data_ov031_02110bec kind:data(any) addr:0x02110bec data_ov031_02110c00 kind:data(any) addr:0x02110c00 -data_ov031_02110c1c kind:data(any) addr:0x02110c1c -data_ov031_02110c28 kind:data(any) addr:0x02110c28 +data_ov031_02110c1c kind:data(any) addr:0x02110c1c local +data_ov031_02110c28 kind:data(any) addr:0x02110c28 local data_ov031_02110c3c kind:data(any) addr:0x02110c3c data_ov031_02110c44 kind:data(any) addr:0x02110c44 data_ov031_02110c68 kind:data(any) addr:0x02110c68 @@ -2099,7 +2099,7 @@ __sinit_ActorUnkMLCK.cpp kind:function(arm,size=0x74) addr:0x02111988 __sinit_ActorUnkCLLT.cpp kind:function(arm,size=0x50) addr:0x021119fc __sinit_ActorUnkEFSB.cpp kind:function(arm,size=0x50) addr:0x02111a4c __sinit_ActorUnkNFSP.cpp kind:function(arm,size=0x50) addr:0x02111a9c -__sinit_ov031_02111aec kind:function(arm,size=0x3c) addr:0x02111aec +__sinit_MapObjectDoorBase.cpp kind:function(arm,size=0x3c) addr:0x02111aec local __sinit_MapObjectUnkDRDS.cpp kind:function(arm,size=0x64) addr:0x02111b28 __sinit_MapObjectUnkDRKY.cpp kind:function(arm,size=0x64) addr:0x02111b8c __sinit_MapObjectUnkDRSW.cpp kind:function(arm,size=0x64) addr:0x02111bf0 @@ -2163,7 +2163,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724 .p__sinit_ActorUnkCLLT.cpp kind:data(word) addr:0x02112804 .p__sinit_ActorUnkEFSB.cpp kind:data(word) addr:0x02112808 .p__sinit_ActorUnkNFSP.cpp kind:data(word) addr:0x0211280c -.p__sinit_ov031_02111aec kind:data(word) addr:0x02112810 +.p__sinit_MapObjectDoorBase.cpp kind:data(word) addr:0x02112810 local .p__sinit_MapObjectUnkDRDS.cpp kind:data(word) addr:0x02112814 .p__sinit_MapObjectUnkDRKY.cpp kind:data(word) addr:0x02112818 .p__sinit_MapObjectUnkDRSW.cpp kind:data(word) addr:0x0211281c @@ -2334,7 +2334,7 @@ _ZTV19data_ov031_02113e10 kind:data(any) addr:0x02113e10 _ZTV19data_ov031_02113e6c kind:data(any) addr:0x02113e6c _ZTV19data_ov031_02113e90 kind:data(any) addr:0x02113e90 _ZTV19data_ov031_02113eec kind:data(any) addr:0x02113eec -data_ov031_02113f18 kind:data(any) addr:0x02113f18 +_ZTV12MapObject_10 kind:data(any) addr:0x02113f10 _ZTV19data_ov031_02113f38 kind:data(any) addr:0x02113f38 data_ov031_02113f9c kind:data(any) addr:0x02113f9c data_ov031_02113fb8 kind:data(any) addr:0x02113fb8 @@ -2414,28 +2414,22 @@ data_ov031_02114f68 kind:data(any) addr:0x02114f68 _ZTV19data_ov031_02114f78 kind:data(any) addr:0x02114f78 _ZTV19data_ov031_02114f9c kind:data(any) addr:0x02114f9c data_ov031_02114ffc kind:data(any) addr:0x02114ffc -data_ov031_02115008 kind:data(any) addr:0x02115008 -data_ov031_021150a0 kind:data(any) addr:0x021150a0 +_ZTV17MapObjectDoorBase kind:data(any) addr:0x02115000 data_ov031_021150b0 kind:data(any) addr:0x021150b0 -data_ov031_021150bc kind:data(any) addr:0x021150bc -data_ov031_021150d8 kind:data(any) addr:0x021150d8 -data_ov031_02115170 kind:data(any) addr:0x02115170 +_ZTV23MapObjectProfileUnkDRDS kind:data(any) addr:0x021150b4 +_ZTV16MapObjectUnkDRDS kind:data(any) addr:0x021150d0 data_ov031_02115184 kind:data(any) addr:0x02115184 -data_ov031_02115190 kind:data(any) addr:0x02115190 -data_ov031_021151ac kind:data(any) addr:0x021151ac -data_ov031_02115244 kind:data(any) addr:0x02115244 +_ZTV23MapObjectProfileUnkDRKY kind:data(any) addr:0x02115188 +_ZTV16MapObjectUnkDRKY kind:data(any) addr:0x021151a4 data_ov031_02115254 kind:data(any) addr:0x02115254 -data_ov031_02115260 kind:data(any) addr:0x02115260 -data_ov031_0211527c kind:data(any) addr:0x0211527c -data_ov031_02115314 kind:data(any) addr:0x02115314 -data_ov031_02115328 kind:data(any) addr:0x02115328 -data_ov031_02115334 kind:data(any) addr:0x02115334 -data_ov031_0211535c kind:data(any) addr:0x0211535c -data_ov031_021153f4 kind:data(any) addr:0x021153f4 -data_ov031_0211541c kind:data(any) addr:0x0211541c -data_ov031_02115444 kind:data(any) addr:0x02115444 -data_ov031_021154dc kind:data(any) addr:0x021154dc -data_ov031_02115504 kind:data(any) addr:0x02115504 +_ZTV23MapObjectProfileUnkDRSW kind:data(any) addr:0x02115258 +_ZTV16MapObjectUnkDRSW kind:data(any) addr:0x02115274 +data_ov031_02115328 kind:data(any) addr:0x02115328 local +_ZTV23MapObjectProfileUnkDRCK kind:data(any) addr:0x0211532c +_ZTV16MapObjectUnkDRCK kind:data(any) addr:0x02115354 +_ZTV23MapObjectProfileUnkDRTC kind:data(any) addr:0x02115414 +_ZTV16MapObjectUnkDRTC kind:data(any) addr:0x0211543c +_ZTV19data_ov031_02115504 kind:data(any) addr:0x021154fc data_ov031_02115520 kind:data(any) addr:0x02115520 data_ov031_02115560 kind:data(any) addr:0x02115560 data_ov031_02115588 kind:data(any) addr:0x02115588 @@ -2623,10 +2617,8 @@ _ZN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02117044 _ZGVN15ProfileInstanceI19ActorProfileUnkNFSPE8sProfileE kind:bss addr:0x0211711c @10938 kind:bss addr:0x02117120 _ZN15ProfileInstanceI19ActorProfileUnkNFSPE8sProfileE kind:bss addr:0x0211712c -data_ov031_02117204 kind:bss addr:0x02117204 +data_ov031_02117204 kind:bss(size=0x8) addr:0x02117204 data_ov031_02117210 kind:bss addr:0x02117210 -data_ov031_02117234 kind:bss addr:0x02117234 -data_ov031_02117258 kind:bss addr:0x02117258 _ZGVN15ProfileInstanceI23MapObjectProfileUnkDRDSE8sProfileE kind:bss addr:0x0211727c @10933 kind:bss addr:0x02117280 _ZN15ProfileInstanceI23MapObjectProfileUnkDRDSE8sProfileE kind:bss addr:0x0211728c @@ -2639,11 +2631,9 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkDRSWE8sProfileE kind:bss addr:0x021174 _ZGVN15ProfileInstanceI23MapObjectProfileUnkDRCKE8sProfileE kind:bss addr:0x02117528 @10951 kind:bss addr:0x0211752c _ZN15ProfileInstanceI23MapObjectProfileUnkDRCKE8sProfileE kind:bss addr:0x02117538 -data_ov031_02117558 kind:bss addr:0x02117558 _ZGVN15ProfileInstanceI23MapObjectProfileUnkDRTCE8sProfileE kind:bss addr:0x021175a0 @10957 kind:bss addr:0x021175a4 _ZN15ProfileInstanceI23MapObjectProfileUnkDRTCE8sProfileE kind:bss addr:0x021175b0 -data_ov031_021175d0 kind:bss addr:0x021175d0 _ZGVN15ProfileInstanceI23MapObjectProfileUnkEXITE8sProfileE kind:bss addr:0x02117618 @10963 kind:bss addr:0x0211761c _ZN15ProfileInstanceI23MapObjectProfileUnkEXITE8sProfileE kind:bss addr:0x02117628 diff --git a/config/eur/arm9/overlays/ov071/symbols.txt b/config/eur/arm9/overlays/ov071/symbols.txt index 145b5fe1..2d06f339 100644 --- a/config/eur/arm9/overlays/ov071/symbols.txt +++ b/config/eur/arm9/overlays/ov071/symbols.txt @@ -263,7 +263,7 @@ func_ov071_0215e7ac kind:function(arm,size=0x44) addr:0x0215e7ac func_ov071_0215e7f0 kind:function(arm,size=0xc) addr:0x0215e7f0 func_ov071_0215e7fc kind:function(arm,size=0xd8) addr:0x0215e7fc func_ov071_0215e8d4 kind:function(arm,size=0x24) addr:0x0215e8d4 -func_ov071_0215e8f8 kind:function(arm,size=0x70) addr:0x0215e8f8 +_ZN18UnkStruct_027e0d7019func_ov071_0215e8f8Ev kind:function(arm,size=0x70) addr:0x0215e8f8 func_ov071_0215e968 kind:function(arm,size=0x44) addr:0x0215e968 _ZN18UnkStruct_027e0d7019func_ov071_0215e9acEv kind:function(arm,size=0x68) addr:0x0215e9ac func_ov071_0215ea14 kind:function(arm,size=0x7c) addr:0x0215ea14 diff --git a/config/eur/arm9/overlays/ov093/symbols.txt b/config/eur/arm9/overlays/ov093/symbols.txt index f1b2b376..1071110d 100644 --- a/config/eur/arm9/overlays/ov093/symbols.txt +++ b/config/eur/arm9/overlays/ov093/symbols.txt @@ -8,8 +8,8 @@ func_ov093_02166014 kind:function(arm,size=0x14) addr:0x02166014 func_ov093_02166028 kind:function(arm,size=0xc) addr:0x02166028 func_ov093_02166034 kind:function(arm,size=0x14) addr:0x02166034 func_ov093_02166048 kind:function(arm,size=0x10) addr:0x02166048 -func_ov093_02166058 kind:function(arm,size=0x10) addr:0x02166058 -func_ov093_02166068 kind:function(arm,size=0x10) addr:0x02166068 +_ZN18UnkStruct_027e0d8c19func_ov093_02166058Ev kind:function(arm,size=0x10) addr:0x02166058 +_ZN18UnkStruct_027e0d8c19func_ov093_02166068Ev kind:function(arm,size=0x10) addr:0x02166068 func_ov093_02166078 kind:function(arm,size=0x30) addr:0x02166078 func_ov093_021660a8 kind:function(arm,size=0x20) addr:0x021660a8 func_ov093_021660c8 kind:function(arm,size=0x10) addr:0x021660c8 diff --git a/config/jp/arm9/itcm/symbols.txt b/config/jp/arm9/itcm/symbols.txt index 11def13e..ddaeec75 100644 --- a/config/jp/arm9/itcm/symbols.txt +++ b/config/jp/arm9/itcm/symbols.txt @@ -192,7 +192,7 @@ func_01fff0b4 kind:function(arm,size=0x94) addr:0x01fff0b4 _ZN18UnkStruct_027e0ce013func_01fff148Ei kind:function(arm,size=0x20) addr:0x01fff148 func_01fff168 kind:function(arm,size=0x14) addr:0x01fff168 func_01fff17c kind:function(arm,size=0x28) addr:0x01fff17c -func_01fff1a4 kind:function(arm,size=0x3c) addr:0x01fff1a4 +_ZN18UnkStruct_027e0ce013func_01fff1a4Ev kind:function(arm,size=0x3c) addr:0x01fff1a4 func_01fff1e0 kind:function(arm,size=0x74) addr:0x01fff1e0 func_01fff254 kind:function(arm,size=0x2c) addr:0x01fff254 func_01fff280 kind:function(arm,size=0x28) addr:0x01fff280 diff --git a/config/jp/arm9/overlays/ov000/delinks.txt b/config/jp/arm9/overlays/ov000/delinks.txt index 47ad7540..581b1580 100644 --- a/config/jp/arm9/overlays/ov000/delinks.txt +++ b/config/jp/arm9/overlays/ov000/delinks.txt @@ -82,7 +82,8 @@ src/000_Second/MapObject/MapObjectSwitchStep.cpp: .bss start:0x020b7924 end:0x020b7a38 src/000_Second/MapObject/MapObjectMiniBlocks.cpp: - .text start:0x0209fbbc end:0x0209ff2c + complete + .text start:0x0209fbbc end:0x0209ff48 .rodata start:0x020af56c end:0x020af578 .init start:0x020b21bc end:0x020b220c .ctor start:0x020b3130 end:0x020b3134 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index 2866c5a3..1464481f 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -12,7 +12,7 @@ func_ov000_02053f94 kind:function(arm,size=0xec) addr:0x02053f94 func_ov000_02054080 kind:function(arm,size=0xcc) addr:0x02054080 func_ov000_0205414c kind:function(arm,size=0x60) addr:0x0205414c func_ov000_020541ac kind:function(arm,size=0x1c) addr:0x020541ac -func_ov000_020541c8 kind:function(arm,size=0xf0) addr:0x020541c8 +_ZN23UnkSystem7_UnkStruct_0019func_ov000_02052c48EP5Vec3pS1_ kind:function(arm,size=0xf0) addr:0x020541c8 func_ov000_020542b8 kind:function(arm,size=0x38) addr:0x020542b8 func_ov000_020542f0 kind:function(arm,size=0xb4) addr:0x020542f0 func_ov000_020543a4 kind:function(arm,size=0x78) addr:0x020543a4 @@ -114,7 +114,7 @@ _ZN10UnkSystem48vfunc_14Ev kind:function(arm,size=0x64) addr:0x020593c4 _ZN10UnkSystem48vfunc_18Ev kind:function(arm,size=0x1c) addr:0x02059428 func_ov000_02059444 kind:function(thumb,size=0x2) addr:0x02059444 _ZN19func_ov000_02059448D0Ev kind:function(thumb,size=0xc) addr:0x02059448 -_ZN10UnkSystem6D1Ev kind:function(thumb,size=0x2) addr:0x02059454 +_ZN10UnkSystem6D2Ev kind:function(thumb,size=0x2) addr:0x02059454 func_ov000_02059458 kind:function(arm,size=0x8) addr:0x02059458 func_ov000_02059460 kind:function(arm,size=0x14) addr:0x02059460 func_ov000_02059474 kind:function(arm,size=0x24) addr:0x02059474 @@ -880,11 +880,11 @@ _ZN24UnkStruct_ov000_020b51b819func_ov000_0206c608Eiii kind:function(arm,size=0x func_ov000_0206dc14 kind:function(arm,size=0x64) addr:0x0206dc14 func_ov000_0206dc78 kind:function(arm,size=0x18) addr:0x0206dc78 func_ov000_0206dc90 kind:function(arm,size=0x290) addr:0x0206dc90 -func_ov000_0206df20 kind:function(arm,size=0x3c) addr:0x0206df20 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206c96cEi kind:function(arm,size=0x3c) addr:0x0206df20 _ZN24UnkStruct_ov000_020b51b819func_ov000_0206c9a8Eiiii kind:function(arm,size=0x714) addr:0x0206df5c _ZN24UnkStruct_ov000_020b51b819func_ov000_0206d0bcEi kind:function(arm,size=0x30) addr:0x0206e670 -func_ov000_0206e6a0 kind:function(arm,size=0x48) addr:0x0206e6a0 -func_ov000_0206e6e8 kind:function(arm,size=0x4c) addr:0x0206e6e8 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206d0ecEiiii kind:function(arm,size=0x48) addr:0x0206e6a0 +_ZN24UnkStruct_ov000_020b51b819func_ov000_0206d134Ei kind:function(arm,size=0x4c) addr:0x0206e6e8 func_ov000_0206e734 kind:function(arm,size=0x18) addr:0x0206e734 func_ov000_0206e74c kind:function(arm,size=0x14) addr:0x0206e74c func_ov000_0206e760 kind:function(arm,size=0x88) addr:0x0206e760 @@ -1066,7 +1066,7 @@ _ZN18UnkStruct_027e09a819func_ov000_02071b30EiP5Vec3pi kind:function(arm,size=0x func_ov000_0207328c kind:function(arm,size=0x90) addr:0x0207328c func_ov000_0207331c kind:function(arm,size=0x2c) addr:0x0207331c func_ov000_02073348 kind:function(arm,size=0xa4) addr:0x02073348 -func_ov000_020733ec kind:function(arm,size=0xb0) addr:0x020733ec +_ZN18UnkStruct_027e09a819func_ov000_02071d34EPviP5Vec3pi kind:function(arm,size=0xb0) addr:0x020733ec func_ov000_0207349c kind:function(arm,size=0xa0) addr:0x0207349c func_ov000_0207353c kind:function(arm,size=0x14) addr:0x0207353c func_ov000_02073550 kind:function(arm,size=0x14) addr:0x02073550 @@ -1116,21 +1116,21 @@ func_ov000_02074820 kind:function(arm,size=0x4) addr:0x02074820 func_ov000_02074824 kind:function(arm,size=0x4) addr:0x02074824 func_ov000_02074828 kind:function(arm,size=0x8) addr:0x02074828 func_ov000_02074830 kind:function(arm,size=0xc) addr:0x02074830 -func_ov000_0207483c kind:function(arm,size=0x4) addr:0x0207483c -func_ov000_02074840 kind:function(arm,size=0x4) addr:0x02074840 -func_ov000_02074844 kind:function(arm,size=0x4) addr:0x02074844 +_ZN20MapObject_UnkStruct19vfunc2_00Ev kind:function(arm,size=0x4) addr:0x0207483c +_ZN20MapObject_UnkStruct19vfunc2_04Ev kind:function(arm,size=0x4) addr:0x02074840 +_ZN20MapObject_UnkStruct19vfunc2_08Ev kind:function(arm,size=0x4) addr:0x02074844 func_ov000_02074848 kind:function(arm,size=0x4) addr:0x02074848 -func_ov000_0207484c kind:function(arm,size=0x30) addr:0x0207484c -func_ov000_0207487c kind:function(arm,size=0x30) addr:0x0207487c -func_ov000_020748ac kind:function(arm,size=0x40) addr:0x020748ac -func_ov000_020748ec kind:function(arm,size=0x3c) addr:0x020748ec -func_ov000_02074928 kind:function(arm,size=0x6c) addr:0x02074928 +_ZN20MapObject_UnkStruct1C2Ev kind:function(arm,size=0x30) addr:0x0207484c +_ZN20MapObject_UnkStruct1C1Ev kind:function(arm,size=0x30) addr:0x0207487c +_ZN20MapObject_UnkStruct19vfunc2_0CEv kind:function(arm,size=0x40) addr:0x020748ac +_ZN29MapObject_UnkStruct1_Derived1C2Ev kind:function(arm,size=0x3c) addr:0x020748ec +_ZN29MapObject_UnkStruct1_Derived19vfunc2_0CEv kind:function(arm,size=0x6c) addr:0x02074928 _ZN18UnkStruct_027e09b819func_ov000_020732dcEi kind:function(arm,size=0x10) addr:0x02074994 _ZN18UnkStruct_027e09b819func_ov000_020732ecEi kind:function(arm,size=0x10) addr:0x020749a4 _ZN18UnkStruct_027e09b819func_ov000_020732fcEi kind:function(arm,size=0x10) addr:0x020749b4 -func_ov000_020749c4 kind:function(arm,size=0x20) addr:0x020749c4 +_ZN18UnkStruct_027e09b819func_ov000_0207330cEv kind:function(arm,size=0x20) addr:0x020749c4 func_ov000_020749e4 kind:function(arm,size=0x5c) addr:0x020749e4 -func_ov000_02074a40 kind:function(arm,size=0xe8) addr:0x02074a40 +_ZN18UnkStruct_027e09b819func_ov000_02073388EPvi kind:function(arm,size=0xe8) addr:0x02074a40 func_ov000_02074b28 kind:function(arm,size=0x108) addr:0x02074b28 func_ov000_02074c30 kind:function(arm,size=0x98) addr:0x02074c30 func_ov000_02074cc8 kind:function(arm,size=0xb0) addr:0x02074cc8 @@ -1251,7 +1251,7 @@ func_ov000_0207988c kind:function(arm,size=0x14) addr:0x0207988c func_ov000_020798a0 kind:function(arm,size=0x48) addr:0x020798a0 _ZN21UnkStruct_027e09bc_0c19func_ov000_02078230Ei kind:function(arm,size=0xe4) addr:0x020798e8 func_ov000_020799cc kind:function(arm,size=0x38) addr:0x020799cc -func_ov000_02079a04 kind:function(arm,size=0x40) addr:0x02079a04 +_ZN21UnkStruct_027e09bc_0c19func_ov000_0207834cEP5Vec3pii kind:function(arm,size=0x40) addr:0x02079a04 func_ov000_02079a44 kind:function(arm,size=0x70) addr:0x02079a44 func_ov000_02079ab4 kind:function(arm,size=0x88) addr:0x02079ab4 func_ov000_02079b3c kind:function(arm,size=0x40) addr:0x02079b3c @@ -1268,7 +1268,7 @@ func_ov000_02079d94 kind:function(arm,size=0x2c) addr:0x02079d94 func_ov000_02079dc0 kind:function(arm,size=0x24) addr:0x02079dc0 func_ov000_02079de4 kind:function(arm,size=0x1c) addr:0x02079de4 func_ov000_02079e00 kind:function(arm,size=0x1c) addr:0x02079e00 -func_ov000_02079e1c kind:function(arm,size=0x54) addr:0x02079e1c +_ZN21UnkStruct_027e09bc_0c19func_ov000_02078764EP5Vec3pPvi kind:function(arm,size=0x54) addr:0x02079e1c func_ov000_02079e70 kind:function(arm,size=0x7c) addr:0x02079e70 func_ov000_02079eec kind:function(arm,size=0x9c) addr:0x02079eec func_ov000_02079f88 kind:function(arm,size=0x68) addr:0x02079f88 @@ -1558,10 +1558,10 @@ func_ov000_02081848 kind:function(arm,size=0x20) addr:0x02081848 _ZN21UnkStruct_027e0cd8_0c19func_ov000_020801b0EP5Vec2bii kind:function(arm,size=0x60) addr:0x02081868 func_ov000_020818c8 kind:function(arm,size=0x78) addr:0x020818c8 func_ov000_02081940 kind:function(arm,size=0x64) addr:0x02081940 -func_ov000_020819a4 kind:function(arm,size=0x78) addr:0x020819a4 +_ZN21UnkStruct_027e0cd8_0c19func_ov000_020802ecEtP5Vec3p kind:function(arm,size=0x78) addr:0x020819a4 func_ov000_02081a1c kind:function(arm,size=0x88) addr:0x02081a1c -func_ov000_02081aa4 kind:function(arm,size=0x150) addr:0x02081aa4 -func_ov000_02081bf4 kind:function(arm,size=0xe4) addr:0x02081bf4 +_ZN21UnkStruct_027e0cd8_0c19func_ov000_020803ecEt kind:function(arm,size=0x150) addr:0x02081aa4 +_ZN21UnkStruct_027e0cd8_0c19func_ov000_0208053cEt kind:function(arm,size=0xe4) addr:0x02081bf4 func_ov000_02081cd8 kind:function(arm,size=0x38) addr:0x02081cd8 func_ov000_02081d10 kind:function(arm,size=0xd8) addr:0x02081d10 func_ov000_02081de8 kind:function(arm,size=0x64) addr:0x02081de8 @@ -1630,7 +1630,7 @@ func_ov000_020832e0 kind:function(arm,size=0x78) addr:0x020832e0 func_ov000_02083358 kind:function(arm,size=0xa8) addr:0x02083358 func_ov000_02083400 kind:function(arm,size=0x10) addr:0x02083400 func_ov000_02083410 kind:function(arm,size=0x4) addr:0x02083410 -func_ov000_02083414 kind:function(arm,size=0x20) addr:0x02083414 +_ZN18UnkStruct_027e0cd819func_ov000_02081d5cEv kind:function(arm,size=0x20) addr:0x02083414 _ZN18UnkStruct_027e0cd819func_ov000_02081d7cEiii kind:function(arm,size=0xb4) addr:0x02083434 _ZN18UnkStruct_027e0cd819func_ov000_02081e30Eii kind:function(arm,size=0x8c) addr:0x020834e8 func_ov000_02083574 kind:function(arm,size=0x10) addr:0x02083574 @@ -2245,8 +2245,8 @@ func_ov000_0209851c kind:function(arm,size=0xdc) addr:0x0209851c _ZN12ActorManager19func_ov000_02096e44Ei kind:function(arm,size=0x6c) addr:0x020985f8 func_ov000_02098664 kind:function(arm,size=0x38) addr:0x02098664 func_ov000_0209869c kind:function(arm,size=0x164) addr:0x0209869c -func_ov000_02098800 kind:function(arm,size=0x7c) addr:0x02098800 -func_ov000_0209887c kind:function(arm,size=0xc4) addr:0x0209887c +_ZN12ActorManager19func_ov000_0209704cEv kind:function(arm,size=0x7c) addr:0x02098800 +_ZN12ActorManager19func_ov000_020970c8EtPi kind:function(arm,size=0xc4) addr:0x0209887c func_ov000_02098940 kind:function(arm,size=0xb8) addr:0x02098940 func_ov000_020989f8 kind:function(arm,size=0x44) addr:0x020989f8 func_ov000_02098a3c kind:function(arm,size=0x154) addr:0x02098a3c @@ -2566,7 +2566,7 @@ _ZN9MapObject19func_ov000_0209d2f0EiiP5Vec2b kind:function(arm,size=0xc4) addr:0 _ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209eb78 _ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209ebf8 _ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209ecdc -_ZN9MapObject19func_ov000_0209d54cEitP5Vec3pst kind:function(arm,size=0x7c) addr:0x0209ed10 +_ZN9MapObject19func_ov000_0209d54cEPvPS_iP5Vec3pii kind:function(arm,size=0x7c) addr:0x0209ed10 _ZN9MapObject19func_ov000_0209d5c8E8ActorRef kind:function(arm,size=0x4c) addr:0x0209ed8c _ZN9MapObject19func_ov000_0209d614Ei kind:function(arm,size=0x54) addr:0x0209edd8 _ZN9MapObject19func_ov000_0209d668Ev kind:function(arm,size=0x44) addr:0x0209ee2c @@ -2606,7 +2606,7 @@ _ZN19MapObjectSwitchStepD0Ev kind:function(arm,size=0x60) addr:0x0209f7cc _ZN19MapObjectSwitchStep8vfunc_00Ev kind:function(arm,size=0xb4) addr:0x0209f82c _ZN19MapObjectSwitchStep19func_ov000_0209e11cEii kind:function(arm,size=0x164) addr:0x0209f8e0 _ZN19MapObjectSwitchStep8vfunc_20Ev kind:function(arm,size=0x34) addr:0x0209fa44 -_ZN19MapObjectSwitchStep8vfunc_18Ev kind:function(arm,size=0xd8) addr:0x0209fa78 +_ZN19MapObjectSwitchStep8vfunc_18EPcc kind:function(arm,size=0xd8) addr:0x0209fa78 _ZN19MapObjectSwitchStep19func_ov000_0209e38cEv kind:function(arm,size=0x3c) addr:0x0209fb50 _ZN22MapObjectSwitchStep_40D0Ev kind:function(arm,size=0x1c) addr:0x0209fb8c _ZN26MapObjectProfileSwitchStepD1Ev kind:function(arm,size=0x14) addr:0x0209fba8 @@ -2678,8 +2678,8 @@ _ZN18UnkStruct_027e0cec19func_ov000_020a0110EP22UnkStruct_PlayerGet_ec kind:func func_ov000_020a1918 kind:function(arm,size=0xe0) addr:0x020a1918 _ZN18UnkStruct_027e0cec19func_ov000_020a0220EPvS0_ kind:function(arm,size=0xb4) addr:0x020a19f8 _ZN22UnkStruct_PlayerGet_ecD1Ev kind:function(arm,size=0x30) addr:0x020a1aac -_ZN15ActorUnkEFIK_9819func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a1adc -_ZN15ActorUnkEFIK_9819func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a1b0c +_ZN10UnkSystem719func_ov000_020a0304Ev kind:function(arm,size=0x30) addr:0x020a1adc +_ZN10UnkSystem719func_ov000_020a0334Ev kind:function(arm,size=0x38) addr:0x020a1b0c func_ov000_020a1b44 kind:function(arm,size=0x20) addr:0x020a1b44 func_ov000_020a1b64 kind:function(arm,size=0x24) addr:0x020a1b64 func_ov000_020a1b88 kind:function(arm,size=0x3c) addr:0x020a1b88 @@ -3262,7 +3262,7 @@ data_ov000_020af4d0 kind:data(any) addr:0x020af4d0 data_ov000_020af4e4 kind:data(any) addr:0x020af4e4 data_ov000_020af550 kind:data(byte[7]) addr:0x020af548 data_ov000_020af560 kind:data(byte[8]) addr:0x020af558 -data_ov000_020af574 kind:data(any) addr:0x020af56c +data_ov000_020af574 kind:data(any) addr:0x020af56c local data_ov000_020af578 kind:data(word[525]) addr:0x020af578 data_ov000_020afdac kind:data(any) addr:0x020afdac data_ov000_020b030a kind:data(any) addr:0x020b030a @@ -3352,8 +3352,8 @@ __sinit_ActorUnkSWTM.cpp kind:function(arm,size=0x50) addr:0x020b2048 __sinit_ActorEventIcon.cpp kind:function(arm,size=0x50) addr:0x020b2098 local __sinit_ActorUnkEFIK.cpp kind:function(arm,size=0x50) addr:0x020b20e8 local __sinit_MapObjectProfile.cpp kind:function(arm,size=0x28) addr:0x020b2138 local -__sinit_MapObjectSwitchStep.cpp kind:function(arm,size=0x5c) addr:0x020b2160 -__sinit_MapObjectMiniBlocks.cpp kind:function(arm,size=0x50) addr:0x020b21bc +__sinit_MapObjectSwitchStep.cpp kind:function(arm,size=0x5c) addr:0x020b2160 local +__sinit_MapObjectMiniBlocks.cpp kind:function(arm,size=0x50) addr:0x020b21bc local __sinit_ov000_020b220c kind:function(arm,size=0x9e8) addr:0x020b220c __sinit_ov000_020b2bf4 kind:function(arm,size=0x408) addr:0x020b2bf4 __sinit_ov000_020b2ffc kind:function(arm,size=0x34) addr:0x020b2ffc @@ -3387,8 +3387,8 @@ __sinit_ov000_020b30b0 kind:function(arm,size=0x14) addr:0x020b30b0 .p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020b3120 local .p__sinit_ActorUnkEFIK.cpp kind:data(word) addr:0x020b3124 local .p__sinit_MapObjectProfile.cpp kind:data(word) addr:0x020b3128 local -.p__sinit_MapObjectSwitchStep.cpp kind:data(word) addr:0x020b312c -.p__sinit_MapObjectMiniBlocks.cpp kind:data(word) addr:0x020b3130 +.p__sinit_MapObjectSwitchStep.cpp kind:data(word) addr:0x020b312c local +.p__sinit_MapObjectMiniBlocks.cpp kind:data(word) addr:0x020b3130 local .p__sinit_ov000_020b220c kind:data(word) addr:0x020b3134 .p__sinit_ov000_020b2bf4 kind:data(word) addr:0x020b3138 .p__sinit_ov000_020b2ffc kind:data(word) addr:0x020b313c @@ -3396,7 +3396,7 @@ __sinit_ov000_020b30b0 kind:function(arm,size=0x14) addr:0x020b30b0 .p__sinit_ov000_020b304c kind:data(word) addr:0x020b3144 .p__sinit_ov000_020b3088 kind:data(word) addr:0x020b3148 .p__sinit_ov000_020b30b0 kind:data(word) addr:0x020b314c -_ZTV10UnkSystem6 kind:data(any) addr:0x020b3160 +_ZTV19UnkSystem6_Derived2 kind:data(any) addr:0x020b3160 data_ov000_020b318c kind:data(any) addr:0x020b318c data_ov000_020b31a8 kind:data(any) addr:0x020b31a8 data_ov000_020b31b0 kind:data(any) addr:0x020b31b0 @@ -3700,7 +3700,7 @@ data_ov000_020b4e30 kind:data(any) addr:0x020b4e30 data_ov000_020b4e3c kind:data(any) addr:0x020b4e3c _ZTV26MapObjectProfileSwitchStep kind:data(any) addr:0x020b4e78 _ZTV31MapObjectProfileSwitchStep_Base kind:data(any) addr:0x020b4e94 -_ZTV12MapObject_10 kind:data(any) addr:0x020b4eb0 +_ZTV12MapObject_10 kind:data(any) addr:0x020b4eb0 local _ZTV22MapObjectSwitchStep_40 kind:data(any) addr:0x020b4ed8 _ZTV19MapObjectSwitchStep kind:data(any) addr:0x020b4f04 _ZTV26MapObjectProfileMiniBlocks kind:data(any) addr:0x020b4f44 @@ -4067,7 +4067,7 @@ MapObjectSwitchStep_data_020b6118 kind:bss(size=0x8) addr:0x020b7928 @1056 kind:bss addr:0x020b7934 local _ZN15ProfileInstanceI26MapObjectProfileSwitchStepE8sProfileE kind:bss addr:0x020b7940 _ZGVN15ProfileInstanceI26MapObjectProfileMiniBlocksE8sProfileE kind:bss addr:0x020b7a38 -@30062 kind:bss addr:0x020b7a3c +@30062 kind:bss addr:0x020b7a3c local _ZN15ProfileInstanceI26MapObjectProfileMiniBlocksE8sProfileE kind:bss addr:0x020b7a48 data_ov000_020b7ab0 kind:bss addr:0x020b7ab0 data_ov000_020b7ab4 kind:bss addr:0x020b7ab4 diff --git a/config/jp/arm9/overlays/ov001/symbols.txt b/config/jp/arm9/overlays/ov001/symbols.txt index 5c5961b4..2affe52f 100644 --- a/config/jp/arm9/overlays/ov001/symbols.txt +++ b/config/jp/arm9/overlays/ov001/symbols.txt @@ -79,7 +79,7 @@ func_ov001_020ba12c kind:function(thumb,size=0x60) addr:0x020ba12c func_ov001_020ba18c kind:function(thumb,size=0xe0) addr:0x020ba18c func_ov001_020ba26c kind:function(thumb,size=0x2c) addr:0x020ba26c func_ov001_020ba298 kind:function(thumb,size=0x2) addr:0x020ba298 -func_ov001_020ba29c kind:function(thumb,size=0x8e) addr:0x020ba29c +_ZN21UnkStruct_027e0cd8_0c19func_ov001_020b8a5cEii kind:function(thumb,size=0x8e) addr:0x020ba29c func_ov001_020ba32c kind:function(thumb,size=0xa8) addr:0x020ba32c func_ov001_020ba3d4 kind:function(thumb,size=0x9c) addr:0x020ba3d4 func_ov001_020ba470 kind:function(thumb,size=0x4e) addr:0x020ba470 @@ -182,7 +182,7 @@ _ZN12ActorManager19func_ov001_020bb414EPS_ kind:function(thumb,size=0x74) addr:0 _ZN12ActorManager19func_ov001_020bb488Ev kind:function(thumb,size=0xc0) addr:0x020bccd0 _ZN12ActorManager19func_ov001_020bb548Ev kind:function(thumb,size=0xe8) addr:0x020bcd90 _ZN12ActorManager19func_ov001_020bb630Ev kind:function(thumb,size=0x80) addr:0x020bce78 -_ZN12ActorManager19func_ov001_020bb6b0EPi kind:function(thumb,size=0x78) addr:0x020bcef8 +_ZN12ActorManager19func_ov001_020bb6b0EP22UnkStruct_SceneChange1 kind:function(thumb,size=0x78) addr:0x020bcef8 _ZN12ActorManager19func_ov001_020bb728Ei kind:function(thumb,size=0x88) addr:0x020bcf70 _ZN12ActorManager19func_ov001_020bb7b0EP15ZeldaObjectList kind:function(thumb,size=0x40) addr:0x020bcff8 _ZN12ActorManager19func_ov001_020bb7f0Ev kind:function(thumb,size=0x34) addr:0x020bd038 diff --git a/config/jp/arm9/overlays/ov017/symbols.txt b/config/jp/arm9/overlays/ov017/symbols.txt index eb659c43..895d606a 100644 --- a/config/jp/arm9/overlays/ov017/symbols.txt +++ b/config/jp/arm9/overlays/ov017/symbols.txt @@ -98,7 +98,7 @@ _ZN9MapObject8vfunc_08Ev kind:function(arm,size=0x4) addr:0x020c1db8 _ZN9MapObject8vfunc_0CEv kind:function(arm,size=0x4) addr:0x020c1dbc _ZN9MapObject8vfunc_10Ev kind:function(arm,size=0x4) addr:0x020c1dc0 _ZN9MapObject8vfunc_14Ev kind:function(arm,size=0x4) addr:0x020c1dc4 -_ZN9MapObject8vfunc_18Ev kind:function(arm,size=0x4) addr:0x020c1dc8 +_ZN9MapObject8vfunc_18EPcc kind:function(arm,size=0x4) addr:0x020c1dc8 _ZN19MapObjectSwitchStep8vfunc_08Ev kind:function(arm,size=0x1ac) addr:0x020c1dcc _ZN19MapObjectSwitchStep8vfunc_14Ev kind:function(arm,size=0x28) addr:0x020c1f78 func_ov017_020c1fa0 kind:function(arm,size=0x130) addr:0x020c1fa0 diff --git a/config/jp/arm9/overlays/ov031/delinks.txt b/config/jp/arm9/overlays/ov031/delinks.txt index 55eeb668..8a26f09a 100644 --- a/config/jp/arm9/overlays/ov031/delinks.txt +++ b/config/jp/arm9/overlays/ov031/delinks.txt @@ -172,36 +172,49 @@ src/031_Land/Actor/ActorUnkNFSP.cpp: .text start:0x020fd264 end:0x020fd7b4 .init start:0x02113828 end:0x02113878 .ctor start:0x02114598 end:0x0211459c - .bss start:0x02118ebc end:0x0211901c + .bss start:0x02118ebc end:0x02118fa4 + +src/031_Land/MapObject/MapObjectDoorBase.cpp: + .text start:0x020fd7b4 end:0x020feb40 + .init start:0x02113878 end:0x021138b4 + .ctor start:0x0211459c end:0x021145a0 + .data start:0x02116d70 end:0x02116e24 + .bss start:0x02118fa4 end:0x0211901c src/031_Land/MapObject/MapObjectUnkDRDS.cpp: - .text start:0x020feb40 end:0x021001bc + .text start:0x020feb40 end:0x021001dc .init start:0x021138b4 end:0x02113918 .ctor start:0x021145a0 end:0x021145a4 + .data start:0x02116e24 end:0x02116ef8 .bss start:0x0211901c end:0x02119100 src/031_Land/MapObject/MapObjectUnkDRKY.cpp: .text start:0x021001dc end:0x02100914 .init start:0x02113918 end:0x0211397c .ctor start:0x021145a4 end:0x021145a8 + .data start:0x02116ef8 end:0x02116fc8 .bss start:0x02119100 end:0x021191e4 src/031_Land/MapObject/MapObjectUnkDRSW.cpp: .text start:0x02100914 end:0x02101260 .init start:0x0211397c end:0x021139e0 .ctor start:0x021145a8 end:0x021145ac + .data start:0x02116fc8 end:0x0211709c .bss start:0x021191e4 end:0x021192c8 src/031_Land/MapObject/MapObjectUnkDRCK.cpp: .text start:0x02101260 end:0x02101f78 + .rodata start:0x0211298c end:0x021129ac .init start:0x021139e0 end:0x02113a44 .ctor start:0x021145ac end:0x021145b0 + .data start:0x0211709c end:0x02117188 .bss start:0x021192c8 end:0x02119340 src/031_Land/MapObject/MapObjectUnkDRTC.cpp: .text start:0x02101f94 end:0x02102204 .init start:0x02113a44 end:0x02113a94 .ctor start:0x021145b0 end:0x021145b4 + .data start:0x02117188 end:0x02117270 .bss start:0x02119340 end:0x021193b8 src/031_Land/MapObject/MapObjectUnkEXIT.cpp: diff --git a/config/jp/arm9/overlays/ov031/relocs.txt b/config/jp/arm9/overlays/ov031/relocs.txt index 84dc1cde..9a2a1a30 100644 --- a/config/jp/arm9/overlays/ov031/relocs.txt +++ b/config/jp/arm9/overlays/ov031/relocs.txt @@ -2539,7 +2539,7 @@ from:0x020f1468 kind:arm_call to:0x02099b30 module:overlay(0) from:0x020f1478 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x020f1488 kind:arm_call to:0x02080340 module:overlay(0) from:0x020f1494 kind:load to:0x02115cd8 add:0x8 module:overlay(31) -from:0x020f1498 kind:load to:0x02115cb8 module:overlay(31) +from:0x020f1498 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x020f14cc kind:arm_call to:0x02081cd8 module:overlay(0) from:0x020f151c kind:arm_call to:0x01ffd054 module:itcm from:0x020f1578 kind:arm_call to:0x01ffb6e4 module:itcm @@ -3908,18 +3908,18 @@ from:0x020fd78c kind:arm_call to:0x02099c30 module:overlay(0) from:0x020fd794 kind:arm_call to:0x02011ff4 module:main from:0x020fd7a8 kind:arm_call to:0x020990b4 module:overlay(0) from:0x020fd7cc kind:arm_call to:0x0207d6d0 module:overlay(0) -from:0x020fd880 kind:load to:0x02115cb8 module:overlay(31) +from:0x020fd880 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x020fd898 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x020fd8a0 kind:arm_call to:0x020748ec module:overlay(0) from:0x020fd93c kind:arm_call to:0x020611a8 module:overlay(0) -from:0x020fd94c kind:load to:0x02116d7c module:overlay(31) -from:0x020fd950 kind:load to:0x02116e14 module:overlay(31) +from:0x020fd94c kind:load to:0x02116d74 add:0x8 module:overlay(31) +from:0x020fd950 kind:load to:0x02116d74 add:0xa0 module:overlay(31) from:0x020fd954 kind:load to:0x02118fa4 module:overlay(31) from:0x020fd9e0 kind:arm_call to:0x0209eab4 module:overlay(0) from:0x020fda70 kind:arm_call to:0x020fe788 module:overlay(31) -from:0x020fda90 kind:load to:0x02118fd4 module:overlay(31) +from:0x020fda90 kind:load to:0x02118fb0 add:0x24 module:overlay(31) from:0x020fda94 kind:load to:0x02118fb0 module:overlay(31) -from:0x020fda98 kind:load to:0x02118ff8 module:overlay(31) +from:0x020fda98 kind:load to:0x02118fb0 add:0x48 module:overlay(31) from:0x020fdb04 kind:arm_call to:0x01ffb464 module:itcm from:0x020fdb14 kind:arm_call to:0x01ff9218 module:itcm from:0x020fdd40 kind:arm_call to:0x01ffb464 module:itcm @@ -3977,10 +3977,10 @@ from:0x020feb48 kind:load to:0x0211902c module:overlay(31) from:0x020feb5c kind:arm_call to:0x02011f3c module:main from:0x020feb68 kind:arm_call to:0x020febc0 module:overlay(31) from:0x020feb80 kind:arm_call to:0x0209e16c module:overlay(0) -from:0x020febb8 kind:load to:0x02116e30 module:overlay(31) +from:0x020febb8 kind:load to:0x02116e28 add:0x8 module:overlay(31) from:0x020febc8 kind:arm_call to:0x020fd88c module:overlay(31) -from:0x020fec6c kind:load to:0x02116e4c module:overlay(31) -from:0x020fec70 kind:load to:0x02116ee4 module:overlay(31) +from:0x020fec6c kind:load to:0x02116e44 add:0x8 module:overlay(31) +from:0x020fec70 kind:load to:0x02116e44 add:0xa0 module:overlay(31) from:0x020fec74 kind:load to:0x0211902c module:overlay(31) from:0x020fec78 kind:load to:0x020b3160 add:0x8 module:overlay(0) from:0x020fec90 kind:arm_call to:0x020fd958 module:overlay(31) @@ -4165,10 +4165,10 @@ from:0x021001e4 kind:load to:0x02119110 module:overlay(31) from:0x021001f8 kind:arm_call to:0x02011f3c module:main from:0x02100204 kind:arm_call to:0x02100260 module:overlay(31) from:0x0210021c kind:arm_call to:0x0209e16c module:overlay(0) -from:0x02100258 kind:load to:0x02116f04 module:overlay(31) +from:0x02100258 kind:load to:0x02116efc add:0x8 module:overlay(31) from:0x02100268 kind:arm_call to:0x020fd88c module:overlay(31) -from:0x02100304 kind:load to:0x02116f20 module:overlay(31) -from:0x02100308 kind:load to:0x02116fb8 module:overlay(31) +from:0x02100304 kind:load to:0x02116f18 add:0x8 module:overlay(31) +from:0x02100308 kind:load to:0x02116f18 add:0xa0 module:overlay(31) from:0x0210030c kind:load to:0x02119110 module:overlay(31) from:0x02100310 kind:load to:0x020b3160 add:0x8 module:overlay(0) from:0x02100324 kind:arm_call to:0x020fd958 module:overlay(31) @@ -4228,21 +4228,21 @@ from:0x0210091c kind:load to:0x021191f4 module:overlay(31) from:0x02100930 kind:arm_call to:0x02011f3c module:main from:0x0210093c kind:arm_call to:0x02100a04 module:overlay(31) from:0x02100954 kind:arm_call to:0x0209e16c module:overlay(0) -from:0x02100984 kind:load to:0x02116fd4 module:overlay(31) +from:0x02100984 kind:load to:0x02116fcc add:0x8 module:overlay(31) from:0x02100994 kind:arm_call to:0x020fd88c module:overlay(31) from:0x021009b4 kind:arm_call_thumb to:0x020590f0 module:overlay(0) from:0x021009bc kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x021009cc kind:arm_call to:0x0207d6d0 module:overlay(0) -from:0x021009f8 kind:load to:0x02116ff0 module:overlay(31) -from:0x021009fc kind:load to:0x02117088 module:overlay(31) -from:0x02100a00 kind:load to:0x02115cb8 module:overlay(31) +from:0x021009f8 kind:load to:0x02116fe8 add:0x8 module:overlay(31) +from:0x021009fc kind:load to:0x02116fe8 add:0xa0 module:overlay(31) +from:0x02100a00 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02100a0c kind:arm_call to:0x020fd88c module:overlay(31) from:0x02100a2c kind:arm_call_thumb to:0x020590f0 module:overlay(0) from:0x02100a34 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x02100a44 kind:arm_call to:0x0207d6d0 module:overlay(0) -from:0x02100a70 kind:load to:0x02116ff0 module:overlay(31) -from:0x02100a74 kind:load to:0x02117088 module:overlay(31) -from:0x02100a78 kind:load to:0x02115cb8 module:overlay(31) +from:0x02100a70 kind:load to:0x02116fe8 add:0x8 module:overlay(31) +from:0x02100a74 kind:load to:0x02116fe8 add:0xa0 module:overlay(31) +from:0x02100a78 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02100ab4 kind:arm_call to:0x020fd958 module:overlay(31) from:0x02100bc0 kind:arm_call to:0x01ffd420 module:itcm from:0x02100bd0 kind:arm_call to:0x020fda9c module:overlay(31) @@ -4287,21 +4287,21 @@ from:0x02101268 kind:load to:0x021192d8 module:overlay(31) from:0x0210127c kind:arm_call to:0x02011f3c module:main from:0x02101288 kind:arm_call to:0x02101368 module:overlay(31) from:0x021012a4 kind:arm_call to:0x0209e310 module:overlay(0) -from:0x021012d8 kind:load to:0x021170a8 module:overlay(31) +from:0x021012d8 kind:load to:0x021170a0 add:0x8 module:overlay(31) from:0x021012e8 kind:arm_call to:0x020fd88c module:overlay(31) from:0x0210131c kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x0210134c kind:arm_call to:0x0209ea88 module:overlay(0) -from:0x02101358 kind:load to:0x021170d0 module:overlay(31) -from:0x0210135c kind:load to:0x02117168 module:overlay(31) +from:0x02101358 kind:load to:0x021170c8 add:0x8 module:overlay(31) +from:0x0210135c kind:load to:0x021170c8 add:0xa0 module:overlay(31) from:0x02101360 kind:load to:0x020b3160 add:0x8 module:overlay(0) -from:0x02101364 kind:load to:0x02115cb8 module:overlay(31) +from:0x02101364 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02101370 kind:arm_call to:0x020fd88c module:overlay(31) from:0x021013a4 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x021013d4 kind:arm_call to:0x0209ea88 module:overlay(0) -from:0x021013e0 kind:load to:0x021170d0 module:overlay(31) -from:0x021013e4 kind:load to:0x02117168 module:overlay(31) +from:0x021013e0 kind:load to:0x021170c8 add:0x8 module:overlay(31) +from:0x021013e4 kind:load to:0x021170c8 add:0xa0 module:overlay(31) from:0x021013e8 kind:load to:0x020b3160 add:0x8 module:overlay(0) -from:0x021013ec kind:load to:0x02115cb8 module:overlay(31) +from:0x021013ec kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02101400 kind:load to:0x02112998 module:overlay(31) from:0x02101420 kind:arm_call to:0x020fd958 module:overlay(31) from:0x02101434 kind:arm_call to:0x020fe954 module:overlay(31) @@ -4350,7 +4350,7 @@ from:0x02101dec kind:load to:0x0203feb0 module:main from:0x02101e10 kind:arm_call to:0x0209e49c module:overlay(0) from:0x02101e74 kind:load to:0x0211298c module:overlay(31) from:0x02101e78 kind:load to:0x021192d8 module:overlay(31) -from:0x02101e7c kind:load to:0x021192f8 module:overlay(31) +from:0x02101e7c kind:load to:0x021192d8 add:0x20 module:overlay(31) from:0x02101ea0 kind:load to:0x027e09a8 module:dtcm from:0x02101ea8 kind:load to:0x020731e8 module:overlay(0) from:0x02101edc kind:arm_call to:0x020733ec module:overlay(0) @@ -4371,15 +4371,15 @@ from:0x02101f9c kind:load to:0x02119350 module:overlay(31) from:0x02101fb0 kind:arm_call to:0x02011f3c module:main from:0x02101fbc kind:arm_call to:0x02102010 module:overlay(31) from:0x02101fdc kind:arm_call to:0x0209e310 module:overlay(0) -from:0x02102008 kind:load to:0x02117190 module:overlay(31) +from:0x02102008 kind:load to:0x02117188 add:0x8 module:overlay(31) from:0x02102018 kind:arm_call to:0x021012e0 module:overlay(31) -from:0x0210203c kind:load to:0x021171b8 module:overlay(31) -from:0x02102040 kind:load to:0x02117250 module:overlay(31) +from:0x0210203c kind:load to:0x021171b0 add:0x8 module:overlay(31) +from:0x02102040 kind:load to:0x021171b0 add:0xa0 module:overlay(31) from:0x0210204c kind:arm_call to:0x02101404 module:overlay(31) from:0x02102078 kind:arm_call to:0x0209e49c module:overlay(0) from:0x021020dc kind:load to:0x021129ac module:overlay(31) from:0x021020e0 kind:load to:0x02119350 module:overlay(31) -from:0x021020e4 kind:load to:0x02119370 module:overlay(31) +from:0x021020e4 kind:load to:0x02119350 add:0x20 module:overlay(31) from:0x02102108 kind:load to:0x027e09a8 module:dtcm from:0x0210210c kind:load to:0x020731e8 module:overlay(0) from:0x02102140 kind:arm_call to:0x020733ec module:overlay(0) @@ -4402,12 +4402,12 @@ from:0x02102228 kind:load to:0x021193c8 module:overlay(31) from:0x0210223c kind:arm_call to:0x02011f3c module:main from:0x02102248 kind:arm_call to:0x02102298 module:overlay(31) from:0x02102260 kind:arm_call to:0x0209e16c module:overlay(0) -from:0x02102290 kind:load to:0x02117278 module:overlay(31) +from:0x02102290 kind:load to:0x02117270 add:0x8 module:overlay(31) from:0x021022a0 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x021022c8 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x02102334 kind:load to:0x02117294 module:overlay(31) from:0x02102338 kind:load to:0x020b3160 add:0x8 module:overlay(0) -from:0x0210233c kind:load to:0x02115cb8 module:overlay(31) +from:0x0210233c kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02102340 kind:load to:0x021193c8 module:overlay(31) from:0x02102370 kind:arm_call to:0x01ffb6e4 module:itcm from:0x021023ac kind:arm_call to:0x01ffcfcc module:itcm @@ -4428,7 +4428,7 @@ from:0x02102580 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x02102598 kind:arm_call_thumb to:0x0205a118 module:overlay(0) from:0x021025a0 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x021025d0 kind:load to:0x021172fc module:overlay(31) -from:0x021025d4 kind:load to:0x02115cb8 module:overlay(31) +from:0x021025d4 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x021025f8 kind:arm_call to:0x0209e49c module:overlay(0) from:0x02102680 kind:arm_call to:0x01ffb6e4 module:itcm from:0x02102704 kind:arm_call to:0x01ffcfcc module:itcm @@ -4454,7 +4454,7 @@ from:0x021028dc kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x021028e8 kind:arm_call to:0x02080340 module:overlay(0) from:0x021028f8 kind:load to:0x02117358 module:overlay(31) from:0x021028fc kind:load to:0x020b3160 add:0x8 module:overlay(0) -from:0x02102900 kind:load to:0x02115cb8 module:overlay(31) +from:0x02102900 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210294c kind:arm_call to:0x01ffedf4 module:itcm from:0x02102970 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x02102978 kind:arm_call to:0x02102aec module:overlay(31) @@ -4715,7 +4715,7 @@ from:0x02104e28 kind:arm_call to:0x02104d44 module:overlay(31) from:0x02104e34 kind:arm_call to:0x02061d8c module:overlay(0) from:0x02104e44 kind:arm_call to:0x02061db4 module:overlay(0) from:0x02104e50 kind:load to:0x021175e4 module:overlay(31) -from:0x02104e54 kind:load to:0x02115cb8 module:overlay(31) +from:0x02104e54 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02104e60 kind:arm_call_thumb to:0x02059154 module:overlay(0) from:0x02104e78 kind:arm_call_thumb to:0x02059154 module:overlay(0) from:0x02104e80 kind:arm_call to:0x0209e870 module:overlay(0) @@ -4999,7 +4999,7 @@ from:0x02107220 kind:arm_call to:0x021072ec module:overlay(31) from:0x02107238 kind:arm_call to:0x0209e16c module:overlay(0) from:0x02107248 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x021072b0 kind:load to:0x02117900 module:overlay(31) -from:0x021072bc kind:load to:0x02115cb8 module:overlay(31) +from:0x021072bc kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x021072c0 kind:load to:0x0211791c module:overlay(31) from:0x021072e4 kind:load to:0x027e0cd8 module:dtcm from:0x021072e8 kind:load to:0x02083434 module:overlay(0) @@ -5080,7 +5080,7 @@ from:0x02107ed8 kind:load to:0x02119fcc module:overlay(31) from:0x02107edc kind:load to:0x020b3160 add:0x8 module:overlay(0) from:0x02107ee0 kind:load to:0x020e31c8 module:overlay(31) from:0x02107ee4 kind:load to:0x020e4d98 module:overlay(31) -from:0x02107ee8 kind:load to:0x02115cb8 module:overlay(31) +from:0x02107ee8 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02107f28 kind:arm_call to:0x020a1b0c module:overlay(0) from:0x0210800c kind:arm_call to:0x02107eec module:overlay(31) from:0x02108014 kind:arm_call to:0x02107f38 module:overlay(31) @@ -5183,7 +5183,7 @@ from:0x02108d00 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x02108d30 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x02108d44 kind:load to:0x02117b20 module:overlay(31) from:0x02108d48 kind:load to:0x020b3160 add:0x8 module:overlay(0) -from:0x02108d4c kind:load to:0x02115cb8 module:overlay(31) +from:0x02108d4c kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x02108d68 kind:arm_call to:0x01ffb6e4 module:itcm from:0x02108d9c kind:arm_call to:0x0209e49c module:overlay(0) from:0x02108e40 kind:arm_call to:0x01ffcfcc module:itcm @@ -5331,7 +5331,7 @@ from:0x0210a6e0 kind:arm_call to:0x0210a750 module:overlay(31) from:0x0210a6f8 kind:arm_call to:0x0209e16c module:overlay(0) from:0x0210a708 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x0210a740 kind:load to:0x02117900 module:overlay(31) -from:0x0210a744 kind:load to:0x02115cb8 module:overlay(31) +from:0x0210a744 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210a748 kind:load to:0x02117bcc module:overlay(31) from:0x0210a758 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x0210a7b8 kind:arm_call to:0x0205bc18 module:overlay(0) @@ -5340,7 +5340,7 @@ from:0x0210a814 kind:arm_call to:0x01ffa06c module:itcm from:0x0210a820 kind:load to:0x02117c14 module:overlay(31) from:0x0210a824 kind:load to:0x0211a288 module:overlay(31) from:0x0210a828 kind:load to:0x02117be8 module:overlay(31) -from:0x0210a82c kind:load to:0x02115cb8 module:overlay(31) +from:0x0210a82c kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210a85c kind:arm_call to:0x01ffedf4 module:itcm from:0x0210a8d0 kind:arm_call_thumb to:0x01ffa1a0 module:itcm from:0x0210a8ec kind:arm_call to:0x020611a8 module:overlay(0) @@ -5438,7 +5438,7 @@ from:0x0210b444 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x0210b458 kind:arm_call_thumb to:0x0205a118 module:overlay(0) from:0x0210b460 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x0210b474 kind:load to:0x02117c70 module:overlay(31) -from:0x0210b478 kind:load to:0x02115cb8 module:overlay(31) +from:0x0210b478 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210b4a8 kind:arm_call to:0x0200f05c module:main from:0x0210b4fc kind:arm_call to:0x01ffedf4 module:itcm from:0x0210b54c kind:arm_call to:0x01ffb714 module:itcm @@ -5462,7 +5462,7 @@ from:0x0210b77c kind:arm_call to:0x0210b894 module:overlay(31) from:0x0210b794 kind:arm_call to:0x0209e16c module:overlay(0) from:0x0210b7a4 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x0210b818 kind:load to:0x02117900 module:overlay(31) -from:0x0210b81c kind:load to:0x02115cb8 module:overlay(31) +from:0x0210b81c kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210b820 kind:load to:0x02117cb0 module:overlay(31) from:0x0210b838 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x0210b874 kind:arm_call to:0x020611a8 module:overlay(0) @@ -5508,7 +5508,7 @@ from:0x0210bcb0 kind:arm_call to:0x0210be04 module:overlay(31) from:0x0210bcc8 kind:arm_call to:0x0209e16c module:overlay(0) from:0x0210bcd8 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x0210bd58 kind:load to:0x02117900 module:overlay(31) -from:0x0210bd60 kind:load to:0x02115cb8 module:overlay(31) +from:0x0210bd60 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210bd64 kind:load to:0x02117d1c module:overlay(31) from:0x0210bd78 kind:arm_call to:0x0209e7a4 module:overlay(0) from:0x0210bd90 kind:arm_call_thumb to:0x020590f0 module:overlay(0) @@ -5597,7 +5597,7 @@ from:0x0210c8e8 kind:arm_call to:0x0207d6d0 module:overlay(0) 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:0x02115cb8 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:0x0210ca2c kind:load to:0x02117da0 module:overlay(31) from:0x0210ca30 kind:load to:0x0211a6b8 module:overlay(31) @@ -5884,7 +5884,7 @@ from:0x0210ec7c kind:arm_call to:0x0210f040 module:overlay(31) from:0x0210ec94 kind:arm_call to:0x0209e16c module:overlay(0) from:0x0210eca4 kind:arm_call to:0x0207d6d0 module:overlay(0) from:0x0210ed20 kind:load to:0x02117900 module:overlay(31) -from:0x0210ed24 kind:load to:0x02115cb8 module:overlay(31) +from:0x0210ed24 kind:load to:0x02115cb0 add:0x8 module:overlay(31) from:0x0210ed28 kind:load to:0x02117f40 module:overlay(31) from:0x0210ed3c kind:arm_call_thumb to:0x020590d4 module:overlay(0) from:0x0210ed64 kind:arm_call to:0x02059498 module:overlay(0) diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index f0fa48c1..2f12d1a1 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -66,7 +66,7 @@ func_ov031_020db1a4 kind:function(arm,size=0x10) addr:0x020db1a4 func_ov031_020db1b4 kind:function(arm,size=0x10) addr:0x020db1b4 func_ov031_020db1c4 kind:function(arm,size=0x10) addr:0x020db1c4 func_ov031_020db1d4 kind:function(arm,size=0x10) addr:0x020db1d4 -func_ov031_020db1e4 kind:function(arm,size=0x10) addr:0x020db1e4 +_ZN18UnkStruct_027e0d3419func_ov031_020d9844Ev kind:function(arm,size=0x10) addr:0x020db1e4 func_ov031_020db1f4 kind:function(arm,size=0x34) addr:0x020db1f4 func_ov031_020db228 kind:function(arm,size=0x34) addr:0x020db228 func_ov031_020db25c kind:function(arm,size=0x1c) addr:0x020db25c @@ -104,7 +104,7 @@ func_ov031_020db58c kind:function(arm,size=0x18) addr:0x020db58c func_ov031_020db5a4 kind:function(arm,size=0x10) addr:0x020db5a4 func_ov031_020db5b4 kind:function(arm,size=0x20) addr:0x020db5b4 func_ov031_020db5d4 kind:function(arm,size=0x10) addr:0x020db5d4 -func_ov031_020db5e4 kind:function(arm,size=0x10) addr:0x020db5e4 +_ZN18UnkStruct_027e0d3819func_ov031_020d9c44Ei kind:function(arm,size=0x10) addr:0x020db5e4 func_ov031_020db5f4 kind:function(arm,size=0x10) addr:0x020db5f4 func_ov031_020db604 kind:function(arm,size=0x68) addr:0x020db604 func_ov031_020db66c kind:function(arm,size=0x44) addr:0x020db66c @@ -1276,166 +1276,166 @@ _ZN12ActorUnkNFSP19func_ov031_020fbcf0Ev kind:function(arm,size=0x38) addr:0x020 _ZN12ActorUnkNFSPD1Ev kind:function(arm,size=0x14) addr:0x020fd770 _ZN12ActorUnkNFSPD0Ev kind:function(arm,size=0x1c) addr:0x020fd784 _ZN19ActorProfileUnkNFSPD1Ev kind:function(arm,size=0x14) addr:0x020fd7a0 -func_ov031_020fd7b4 kind:function(arm,size=0xd8) addr:0x020fd7b4 -func_ov031_020fd88c kind:function(arm,size=0xcc) addr:0x020fd88c -func_ov031_020fd958 kind:function(arm,size=0x144) addr:0x020fd958 -func_ov031_020fda9c kind:function(arm,size=0x400) addr:0x020fda9c -func_ov031_020fde9c kind:function(arm,size=0x4) addr:0x020fde9c -func_ov031_020fdea0 kind:function(arm,size=0x64) addr:0x020fdea0 -func_ov031_020fdf04 kind:function(arm,size=0xfc) addr:0x020fdf04 -func_ov031_020fe000 kind:function(arm,size=0x598) addr:0x020fe000 -func_ov031_020fe598 kind:function(arm,size=0x4) addr:0x020fe598 -func_ov031_020fe59c kind:function(arm,size=0xc) addr:0x020fe59c -func_ov031_020fe5a8 kind:function(arm,size=0x10) addr:0x020fe5a8 -func_ov031_020fe5b8 kind:function(arm,size=0x8) addr:0x020fe5b8 -func_ov031_020fe5c0 kind:function(arm,size=0x180) addr:0x020fe5c0 -func_ov031_020fe740 kind:function(arm,size=0x4) addr:0x020fe740 -func_ov031_020fe744 kind:function(arm,size=0x4) addr:0x020fe744 -func_ov031_020fe748 kind:function(arm,size=0x10) addr:0x020fe748 -func_ov031_020fe758 kind:function(arm,size=0x30) addr:0x020fe758 -func_ov031_020fe788 kind:function(arm,size=0x28) addr:0x020fe788 -func_ov031_020fe7b0 kind:function(arm,size=0x80) addr:0x020fe7b0 -func_ov031_020fe830 kind:function(arm,size=0x4) addr:0x020fe830 -func_ov031_020fe834 kind:function(arm,size=0x4) addr:0x020fe834 -func_ov031_020fe838 kind:function(arm,size=0x11c) addr:0x020fe838 -func_ov031_020fe954 kind:function(arm,size=0x24) addr:0x020fe954 -func_ov031_020fe978 kind:function(arm,size=0x44) addr:0x020fe978 -func_ov031_020fe9bc kind:function(arm,size=0x4) addr:0x020fe9bc -func_ov031_020fe9c0 kind:function(arm,size=0xfc) addr:0x020fe9c0 -func_ov031_020feabc kind:function(arm,size=0x8) addr:0x020feabc -func_ov031_020feac4 kind:function(arm,size=0x8) addr:0x020feac4 -func_ov031_020feacc kind:function(arm,size=0x4) addr:0x020feacc -func_ov031_020fead0 kind:function(arm,size=0x4) addr:0x020fead0 -func_ov031_020fead4 kind:function(arm,size=0x4) addr:0x020fead4 -_ZN19func_ov031_020fead8D1Ev kind:function(arm,size=0x20) addr:0x020fead8 -_ZN19func_ov031_020feaf8D0Ev kind:function(arm,size=0x28) addr:0x020feaf8 -func_ov031_020feb20 kind:function(arm,size=0x10) addr:0x020feb20 -func_ov031_020feb30 kind:function(arm,size=0x10) addr:0x020feb30 +_ZN24UnkStruct_ov031_02117210C1Ev kind:function(arm,size=0xd8) addr:0x020fd7b4 +_ZN17MapObjectDoorBaseC2Ev kind:function(arm,size=0xcc) addr:0x020fd88c +_ZN17MapObjectDoorBase19func_ov031_020fbf10Ebb kind:function(arm,size=0x144) addr:0x020fd958 +_ZN17MapObjectDoorBase8vfunc_08Ev kind:function(arm,size=0x400) addr:0x020fda9c +_ZN17MapObjectDoorBase8vfunc_40Ev kind:function(arm,size=0x4) addr:0x020fde9c +_ZN17MapObjectDoorBase8vfunc_0CEv kind:function(arm,size=0x64) addr:0x020fdea0 +_ZN17MapObjectDoorBase8vfunc_60Ev kind:function(arm,size=0xfc) addr:0x020fdf04 +_ZN17MapObjectDoorBase8vfunc_5CEii kind:function(arm,size=0x598) addr:0x020fe000 +_ZN17MapObjectDoorBase8vfunc_48Ev kind:function(arm,size=0x4) addr:0x020fe598 +_ZN17MapObjectDoorBase8vfunc_64Ev kind:function(arm,size=0xc) addr:0x020fe59c +_ZN17MapObjectDoorBase8vfunc_68Ev kind:function(arm,size=0x10) addr:0x020fe5a8 +_ZN17MapObjectDoorBase8vfunc_6CEv kind:function(arm,size=0x8) addr:0x020fe5b8 +_ZN17MapObjectDoorBase19func_ov031_020fcb78EPcc kind:function(arm,size=0x180) addr:0x020fe5c0 +_ZN17MapObjectDoorBase8vfunc_74Ev kind:function(arm,size=0x4) addr:0x020fe740 +_ZN17MapObjectDoorBase8vfunc_78Ev kind:function(arm,size=0x4) addr:0x020fe744 +_ZN17MapObjectDoorBase8vfunc_7CEv kind:function(arm,size=0x10) addr:0x020fe748 +_ZN17MapObjectDoorBase8vfunc_80Ev kind:function(arm,size=0x30) addr:0x020fe758 +_ZN17MapObjectDoorBase19func_ov031_020fcd40Ev kind:function(arm,size=0x28) addr:0x020fe788 +_ZN17MapObjectDoorBase8vfunc_70Ev kind:function(arm,size=0x80) addr:0x020fe7b0 +_ZN17MapObjectDoorBase8vfunc_44Ev kind:function(arm,size=0x4) addr:0x020fe830 +_ZN17MapObjectDoorBase8vfunc_4CEv kind:function(arm,size=0x4) addr:0x020fe834 +_ZN17MapObjectDoorBase8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x11c) addr:0x020fe838 +_ZN17MapObjectDoorBase19func_ov031_020fcf0cEi kind:function(arm,size=0x24) addr:0x020fe954 +_ZN17MapObjectDoorBase19func_ov031_020fcf30Ev kind:function(arm,size=0x44) addr:0x020fe978 +_ZN17MapObjectDoorBase9vfunc2_04Ev kind:function(arm,size=0x4) addr:0x020fe9bc +_ZN17MapObjectDoorBase9vfunc2_08Ev kind:function(arm,size=0xfc) addr:0x020fe9c0 +_ZN17MapObjectDoorBase8vfunc_88Ev kind:function(arm,size=0x8) addr:0x020feabc +_ZN17MapObjectDoorBase8vfunc_8CEv kind:function(arm,size=0x8) addr:0x020feac4 +_ZN17MapObjectDoorBase8vfunc_50Ev kind:function(arm,size=0x4) addr:0x020feacc +_ZN17MapObjectDoorBase8vfunc_54Ev kind:function(arm,size=0x4) addr:0x020fead0 +_ZN17MapObjectDoorBase8vfunc_58Ev kind:function(arm,size=0x4) addr:0x020fead4 +_ZN17MapObjectDoorBaseD1Ev kind:function(arm,size=0x20) addr:0x020fead8 +_ZN17MapObjectDoorBaseD0Ev kind:function(arm,size=0x28) addr:0x020feaf8 +_ZThn64_N17MapObjectDoorBase9vfunc2_08Ev kind:function(arm,size=0x10) addr:0x020feb20 +_ZThn64_N17MapObjectDoorBase9vfunc2_04Ev kind:function(arm,size=0x10) addr:0x020feb30 _ZN23MapObjectProfileUnkDRDS10GetProfileEv kind:function(arm,size=0xc) addr:0x020feb40 _ZN23MapObjectProfileUnkDRDS6CreateEv kind:function(arm,size=0x24) addr:0x020feb4c _ZN23MapObjectProfileUnkDRDSC1Ev kind:function(arm,size=0x50) addr:0x020feb70 _ZN16MapObjectUnkDRDSC1Ev kind:function(arm,size=0xbc) addr:0x020febc0 -_ZN16MapObjectUnkDRDS19func_ov031_020fd234Ev kind:function(arm,size=0x50) addr:0x020fec7c -_ZN16MapObjectUnkDRDS19func_ov031_020fd284Ev kind:function(arm,size=0x1d4) addr:0x020feccc -_ZN16MapObjectUnkDRDS19func_ov031_020fd3f8Ev kind:function(arm,size=0xc) addr:0x020feea0 -_ZN16MapObjectUnkDRDS19func_ov031_020fd404Ev kind:function(arm,size=0x70) addr:0x020feeac -_ZN16MapObjectUnkDRDS19func_ov031_020fd474Ev kind:function(arm,size=0x374) addr:0x020fef1c -_ZN16MapObjectUnkDRDS19func_ov031_020fd7e8Ev kind:function(arm,size=0x2c) addr:0x020ff290 -_ZN16MapObjectUnkDRDS19func_ov031_020fd814Ev kind:function(arm,size=0x3f4) addr:0x020ff2bc -_ZN16MapObjectUnkDRDS19func_ov031_020fdc08Ev kind:function(arm,size=0xbc) addr:0x020ff6b0 -_ZN16MapObjectUnkDRDS19func_ov031_020fdcc4Ev kind:function(arm,size=0xac) addr:0x020ff76c -_ZN16MapObjectUnkDRDS19func_ov031_020fdd70Ev kind:function(arm,size=0x158) addr:0x020ff818 +_ZN16MapObjectUnkDRDS8vfunc_00Ev kind:function(arm,size=0x50) addr:0x020fec7c +_ZN16MapObjectUnkDRDS8vfunc_04Ev kind:function(arm,size=0x1d4) addr:0x020feccc +_ZN16MapObjectUnkDRDS9vfunc2_04Ev kind:function(arm,size=0xc) addr:0x020feea0 +_ZN16MapObjectUnkDRDS9vfunc2_08Ev kind:function(arm,size=0x70) addr:0x020feeac +_ZN16MapObjectUnkDRDS8vfunc_08Ev kind:function(arm,size=0x374) addr:0x020fef1c +_ZN16MapObjectUnkDRDS8vfunc_0CEv kind:function(arm,size=0x2c) addr:0x020ff290 +_ZN16MapObjectUnkDRDS8vfunc_5CEii kind:function(arm,size=0x3f4) addr:0x020ff2bc +_ZN16MapObjectUnkDRDS8vfunc_64Ev kind:function(arm,size=0xbc) addr:0x020ff6b0 +_ZN16MapObjectUnkDRDS8vfunc_68Ev kind:function(arm,size=0xac) addr:0x020ff76c +_ZN16MapObjectUnkDRDS8vfunc_6CEv kind:function(arm,size=0x158) addr:0x020ff818 _ZN16MapObjectUnkDRDS19func_ov031_020fdec8Ev kind:function(arm,size=0xf8) addr:0x020ff970 -_ZN16MapObjectUnkDRDS19func_ov031_020fdfc0Ev kind:function(arm,size=0xc) addr:0x020ffa68 -_ZN16MapObjectUnkDRDS19func_ov031_020fdfccEv kind:function(arm,size=0x80) addr:0x020ffa74 -_ZN16MapObjectUnkDRDS19func_ov031_020fe04cEv kind:function(arm,size=0x84) addr:0x020ffaf4 -_ZN16MapObjectUnkDRDS19func_ov031_020fe0d0Ev kind:function(arm,size=0x15c) addr:0x020ffb78 -_ZN16MapObjectUnkDRDS19func_ov031_020fe22cEv kind:function(arm,size=0x24) addr:0x020ffcd4 -_ZN16MapObjectUnkDRDS19func_ov031_020fe250Ev kind:function(arm,size=0x28) addr:0x020ffcf8 -_ZN16MapObjectUnkDRDS19func_ov031_020fe278Ev kind:function(arm,size=0x44) addr:0x020ffd20 -_ZN16MapObjectUnkDRDS19func_ov031_020fe2bcEv kind:function(arm,size=0x2c) addr:0x020ffd64 -_ZN16MapObjectUnkDRDS19func_ov031_020fe2e8Ev kind:function(arm,size=0x44) addr:0x020ffd90 -_ZN16MapObjectUnkDRDS19func_ov031_020fe32cEv kind:function(arm,size=0x24) addr:0x020ffdd4 -_ZN16MapObjectUnkDRDS19func_ov031_020fe350Ev kind:function(arm,size=0x38) addr:0x020ffdf8 -_ZN16MapObjectUnkDRDS19func_ov031_020fe388Ev kind:function(arm,size=0x274) addr:0x020ffe30 -_ZN16MapObjectUnkDRDS19func_ov031_020fe5fcEv kind:function(arm,size=0x9c) addr:0x021000a4 +_ZN16MapObjectUnkDRDS8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x020ffa68 +_ZN16MapObjectUnkDRDS8vfunc_14Ev kind:function(arm,size=0x80) addr:0x020ffa74 +_ZN16MapObjectUnkDRDS9vfunc2_10Ev kind:function(arm,size=0x84) addr:0x020ffaf4 +_ZN16MapObjectUnkDRDS8vfunc_74Ev kind:function(arm,size=0x15c) addr:0x020ffb78 +_ZN16MapObjectUnkDRDS8vfunc_7CEv kind:function(arm,size=0x24) addr:0x020ffcd4 +_ZN16MapObjectUnkDRDS8vfunc_40Ev kind:function(arm,size=0x28) addr:0x020ffcf8 +_ZN16MapObjectUnkDRDS8vfunc_44Ev kind:function(arm,size=0x44) addr:0x020ffd20 +_ZN16MapObjectUnkDRDS8vfunc_48Ev kind:function(arm,size=0x2c) addr:0x020ffd64 +_ZN16MapObjectUnkDRDS8vfunc_4CEv kind:function(arm,size=0x44) addr:0x020ffd90 +_ZN16MapObjectUnkDRDS8vfunc_88Ev kind:function(arm,size=0x24) addr:0x020ffdd4 +_ZN16MapObjectUnkDRDS8vfunc_8CEv kind:function(arm,size=0x38) addr:0x020ffdf8 +_ZN16MapObjectUnkDRDS8vfunc_84EiP5Vec3pPs kind:function(arm,size=0x274) addr:0x020ffe30 +_ZN16MapObjectUnkDRDS19func_ov031_020fe5fcEP5Vec3pPS_ kind:function(arm,size=0x9c) addr:0x021000a4 _ZN16MapObjectUnkDRDSD1Ev kind:function(arm,size=0x30) addr:0x02100140 _ZN16MapObjectUnkDRDSD0Ev kind:function(arm,size=0x38) addr:0x02100170 _ZN23MapObjectProfileUnkDRDSD1Ev kind:function(arm,size=0x14) addr:0x021001a8 -func_ov031_020fe714 kind:function(arm,size=0x10) addr:0x021001bc -func_ov031_020fe724 kind:function(arm,size=0x10) addr:0x021001cc +_ZThn64_N16MapObjectUnkDRDS9vfunc2_08Ev kind:function(arm,size=0x10) addr:0x021001bc +_ZThn64_N16MapObjectUnkDRDS9vfunc2_04Ev kind:function(arm,size=0x10) addr:0x021001cc _ZN23MapObjectProfileUnkDRKY10GetProfileEv kind:function(arm,size=0xc) addr:0x021001dc _ZN23MapObjectProfileUnkDRKY6CreateEv kind:function(arm,size=0x24) addr:0x021001e8 _ZN23MapObjectProfileUnkDRKYC1Ev kind:function(arm,size=0x54) addr:0x0210020c _ZN16MapObjectUnkDRKYC1Ev kind:function(arm,size=0xb4) addr:0x02100260 -_ZN16MapObjectUnkDRKY19func_ov031_020fe86cEv kind:function(arm,size=0x1c) addr:0x02100314 -_ZN16MapObjectUnkDRKY19func_ov031_020fe888Ev kind:function(arm,size=0x18) addr:0x02100330 -_ZN16MapObjectUnkDRKY19func_ov031_020fe8a0Ev kind:function(arm,size=0xc) addr:0x02100348 -_ZN16MapObjectUnkDRKY19func_ov031_020fe8acEv kind:function(arm,size=0x14c) addr:0x02100354 -_ZN16MapObjectUnkDRKY19func_ov031_020fe9f8Ev kind:function(arm,size=0x90) addr:0x021004a0 +_ZN16MapObjectUnkDRKY8vfunc_00Ev kind:function(arm,size=0x1c) addr:0x02100314 +_ZN16MapObjectUnkDRKY8vfunc_08Ev kind:function(arm,size=0x18) addr:0x02100330 +_ZN16MapObjectUnkDRKY8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x02100348 +_ZN16MapObjectUnkDRKY8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x02100354 +_ZN16MapObjectUnkDRKY8vfunc_5CEii kind:function(arm,size=0x90) addr:0x021004a0 _ZN16MapObjectUnkDRKY19func_ov031_020fea88Ev kind:function(arm,size=0x34) addr:0x02100530 -_ZN16MapObjectUnkDRKY19func_ov031_020feabcEv kind:function(arm,size=0x90) addr:0x02100564 -_ZN16MapObjectUnkDRKY19func_ov031_020feb4cEv kind:function(arm,size=0xc) addr:0x021005f4 -_ZN16MapObjectUnkDRKY19func_ov031_020feb58Ev kind:function(arm,size=0x8) addr:0x02100600 -_ZN16MapObjectUnkDRKY19func_ov031_020feb60Ev kind:function(arm,size=0x8) addr:0x02100608 -_ZN16MapObjectUnkDRKY19func_ov031_020feb68Ev kind:function(arm,size=0x50) addr:0x02100610 -_ZN16MapObjectUnkDRKY19func_ov031_020febb8Ev kind:function(arm,size=0x24) addr:0x02100660 -_ZN16MapObjectUnkDRKY19func_ov031_020febdcEv kind:function(arm,size=0x19c) addr:0x02100684 -_ZN16MapObjectUnkDRKY19func_ov031_020fed78Ev kind:function(arm,size=0x2c) addr:0x02100820 -_ZN16MapObjectUnkDRKY19func_ov031_020feda4Ev kind:function(arm,size=0x44) addr:0x0210084c -_ZN16MapObjectUnkDRKY19func_ov031_020fede8Ev kind:function(arm,size=0x4) addr:0x02100890 -_ZN16MapObjectUnkDRKY19func_ov031_020fedecEv kind:function(arm,size=0x4) addr:0x02100894 +_ZN16MapObjectUnkDRKY8vfunc_28Ev kind:function(arm,size=0x90) addr:0x02100564 +_ZN16MapObjectUnkDRKY8vfunc_64Ev kind:function(arm,size=0xc) addr:0x021005f4 +_ZN16MapObjectUnkDRKY8vfunc_68Ev kind:function(arm,size=0x8) addr:0x02100600 +_ZN16MapObjectUnkDRKY8vfunc_6CEv kind:function(arm,size=0x8) addr:0x02100608 +_ZN16MapObjectUnkDRKY8vfunc_74Ev kind:function(arm,size=0x50) addr:0x02100610 +_ZN16MapObjectUnkDRKY8vfunc_7CEv kind:function(arm,size=0x24) addr:0x02100660 +_ZN16MapObjectUnkDRKY8vfunc_78Ev kind:function(arm,size=0x19c) addr:0x02100684 +_ZN16MapObjectUnkDRKY8vfunc_40Ev kind:function(arm,size=0x2c) addr:0x02100820 +_ZN16MapObjectUnkDRKY8vfunc_44Ev kind:function(arm,size=0x44) addr:0x0210084c +_ZN16MapObjectUnkDRKY8vfunc_48Ev kind:function(arm,size=0x4) addr:0x02100890 +_ZN16MapObjectUnkDRKY8vfunc_4CEv kind:function(arm,size=0x4) addr:0x02100894 _ZN16MapObjectUnkDRKYD1Ev kind:function(arm,size=0x30) addr:0x02100898 _ZN16MapObjectUnkDRKYD0Ev kind:function(arm,size=0x38) addr:0x021008c8 _ZN23MapObjectProfileUnkDRKYD1Ev kind:function(arm,size=0x14) addr:0x02100900 _ZN23MapObjectProfileUnkDRSW10GetProfileEv kind:function(arm,size=0xc) addr:0x02100914 _ZN23MapObjectProfileUnkDRSW6CreateEv kind:function(arm,size=0x24) addr:0x02100920 _ZN23MapObjectProfileUnkDRSWC1Ev kind:function(arm,size=0x48) addr:0x02100944 -_ZN16MapObjectUnkDRSW19func_ov031_020feee4Ev kind:function(arm,size=0x78) addr:0x0210098c +_ZN16MapObjectUnkDRSWC2Ev kind:function(arm,size=0x78) addr:0x0210098c _ZN16MapObjectUnkDRSWC1Ev kind:function(arm,size=0x78) addr:0x02100a04 -_ZN16MapObjectUnkDRSW19func_ov031_020fefacEv kind:function(arm,size=0x128) addr:0x02100a7c -_ZN16MapObjectUnkDRSW19func_ov031_020ff07cEv kind:function(arm,size=0x84) addr:0x02100ba4 -_ZN16MapObjectUnkDRSW19func_ov031_020ff100Ev kind:function(arm,size=0x10) addr:0x02100c28 -_ZN16MapObjectUnkDRSW19func_ov031_020ff110Ev kind:function(arm,size=0x20) addr:0x02100c38 -_ZN16MapObjectUnkDRSW19func_ov031_020ff130Ev kind:function(arm,size=0x80) addr:0x02100c58 -_ZN16MapObjectUnkDRSW19func_ov031_020ff1b0Ev kind:function(arm,size=0xc) addr:0x02100cd8 -_ZN16MapObjectUnkDRSW19func_ov031_020ff1bcEv kind:function(arm,size=0xcc) addr:0x02100ce4 -_ZN16MapObjectUnkDRSW19func_ov031_020ff288Ev kind:function(arm,size=0x50) addr:0x02100db0 -_ZN16MapObjectUnkDRSW19func_ov031_020ff2d8Ev kind:function(arm,size=0xec) addr:0x02100e00 -_ZN16MapObjectUnkDRSW19func_ov031_020ff318Ev kind:function(arm,size=0x170) addr:0x02100eec -_ZN16MapObjectUnkDRSW19func_ov031_020ff38cEv kind:function(arm,size=0xbc) addr:0x0210105c -_ZN16MapObjectUnkDRSW19func_ov031_020ff3d0Ev kind:function(arm,size=0x2c) addr:0x02101118 -_ZN16MapObjectUnkDRSW19func_ov031_020ff3fcEv kind:function(arm,size=0x40) addr:0x02101144 -_ZN16MapObjectUnkDRSW19func_ov031_020ff43cEv kind:function(arm,size=0x2c) addr:0x02101184 -_ZN16MapObjectUnkDRSW19func_ov031_020ff468Ev kind:function(arm,size=0x44) addr:0x021011b0 +_ZN16MapObjectUnkDRSW8vfunc_00Ev kind:function(arm,size=0x128) addr:0x02100a7c +_ZN16MapObjectUnkDRSW8vfunc_08Ev kind:function(arm,size=0x84) addr:0x02100ba4 +_ZN16MapObjectUnkDRSW8vfunc_64Ev kind:function(arm,size=0x10) addr:0x02100c28 +_ZN16MapObjectUnkDRSW8vfunc_6CEv kind:function(arm,size=0x20) addr:0x02100c38 +_ZN16MapObjectUnkDRSW8vfunc_14Ev kind:function(arm,size=0x80) addr:0x02100c58 +_ZN16MapObjectUnkDRSW8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x02100cd8 +_ZN16MapObjectUnkDRSW8vfunc_74Ev kind:function(arm,size=0xcc) addr:0x02100ce4 +_ZN16MapObjectUnkDRSW9vfunc2_10Ev kind:function(arm,size=0x50) addr:0x02100db0 +_ZN16MapObjectUnkDRSW8vfunc_50Ev kind:function(arm,size=0xec) addr:0x02100e00 +_ZN16MapObjectUnkDRSW8vfunc_54Ev kind:function(arm,size=0x170) addr:0x02100eec +_ZN16MapObjectUnkDRSW8vfunc_58Ev kind:function(arm,size=0xbc) addr:0x0210105c +_ZN16MapObjectUnkDRSW8vfunc_40Ev kind:function(arm,size=0x2c) addr:0x02101118 +_ZN16MapObjectUnkDRSW8vfunc_44Ev kind:function(arm,size=0x40) addr:0x02101144 +_ZN16MapObjectUnkDRSW8vfunc_48Ev kind:function(arm,size=0x2c) addr:0x02101184 +_ZN16MapObjectUnkDRSW8vfunc_4CEv kind:function(arm,size=0x44) addr:0x021011b0 _ZN16MapObjectUnkDRSWD1Ev kind:function(arm,size=0x28) addr:0x021011f4 _ZN16MapObjectUnkDRSWD0Ev kind:function(arm,size=0x30) addr:0x0210121c _ZN23MapObjectProfileUnkDRSWD1Ev kind:function(arm,size=0x14) addr:0x0210124c _ZN23MapObjectProfileUnkDRCK10GetProfileEv kind:function(arm,size=0xc) addr:0x02101260 _ZN23MapObjectProfileUnkDRCK6CreateEv kind:function(arm,size=0x24) addr:0x0210126c _ZN23MapObjectProfileUnkDRCKC1Ev kind:function(arm,size=0x50) addr:0x02101290 -_ZN16MapObjectUnkDRCK19func_ov031_020ff598Ev kind:function(arm,size=0x88) addr:0x021012e0 +_ZN16MapObjectUnkDRCKC2Ev kind:function(arm,size=0x88) addr:0x021012e0 _ZN16MapObjectUnkDRCKC1Ev kind:function(arm,size=0x88) addr:0x02101368 -_ZN16MapObjectUnkDRCK19func_ov031_020ff6a8Ev kind:function(arm,size=0x14) addr:0x021013f0 -_ZN16MapObjectUnkDRCK19func_ov031_020ff6bcEv kind:function(arm,size=0x100) addr:0x02101404 -_ZN16MapObjectUnkDRCK19func_ov031_020ff7bcEv kind:function(arm,size=0x3d0) addr:0x02101504 -_ZN16MapObjectUnkDRCK19func_ov031_020ffb8cEv kind:function(arm,size=0xc) addr:0x021018d4 -_ZN16MapObjectUnkDRCK19func_ov031_020ffb98Ev kind:function(arm,size=0x14c) addr:0x021018e0 -_ZN16MapObjectUnkDRCK19func_ov031_020ffce4Ev kind:function(arm,size=0xf8) addr:0x02101a2c -_ZN16MapObjectUnkDRCK19func_ov031_020ffddcEv kind:function(arm,size=0x8) addr:0x02101b24 +_ZN16MapObjectUnkDRCK9vfunc2_1CEi kind:function(arm,size=0x14) addr:0x021013f0 +_ZN16MapObjectUnkDRCK8vfunc_00Ev kind:function(arm,size=0x100) addr:0x02101404 +_ZN16MapObjectUnkDRCK8vfunc_08Ev kind:function(arm,size=0x3d0) addr:0x02101504 +_ZN16MapObjectUnkDRCK8vfunc_18EPcc kind:function(arm,size=0xc) addr:0x021018d4 +_ZN16MapObjectUnkDRCK8vfunc_14Ev kind:function(arm,size=0x14c) addr:0x021018e0 +_ZN16MapObjectUnkDRCK8vfunc_5CEii kind:function(arm,size=0xf8) addr:0x02101a2c +_ZN16MapObjectUnkDRCK9vfunc2_14Ev kind:function(arm,size=0x8) addr:0x02101b24 _ZN16MapObjectUnkDRCK19func_ov031_020ffde4Ev kind:function(arm,size=0x38) addr:0x02101b2c -_ZN16MapObjectUnkDRCK19func_ov031_020ffe1cEv kind:function(arm,size=0x60) addr:0x02101b64 -_ZN16MapObjectUnkDRCK19func_ov031_020ffe7cEv kind:function(arm,size=0x10) addr:0x02101bc4 -_ZN16MapObjectUnkDRCK19func_ov031_020ffe8cEv kind:function(arm,size=0x8) addr:0x02101bd4 -_ZN16MapObjectUnkDRCK19func_ov031_020ffe94Ev kind:function(arm,size=0x8) addr:0x02101bdc -_ZN16MapObjectUnkDRCK19func_ov031_020ffe9cEv kind:function(arm,size=0x50) addr:0x02101be4 -_ZN16MapObjectUnkDRCK19func_ov031_020ffeecEv kind:function(arm,size=0x24) addr:0x02101c34 -_ZN16MapObjectUnkDRCK19func_ov031_020fff10Ev kind:function(arm,size=0x19c) addr:0x02101c58 -_ZN16MapObjectUnkDRCK19func_ov031_021000acEv kind:function(arm,size=0x8c) addr:0x02101df4 -_ZN16MapObjectUnkDRCK19func_ov031_02100138Ev kind:function(arm,size=0x2c) addr:0x02101e80 -_ZN16MapObjectUnkDRCK19func_ov031_02100164Ev kind:function(arm,size=0x44) addr:0x02101eac -_ZN16MapObjectUnkDRCK19func_ov031_021001a8Ev kind:function(arm,size=0x4) addr:0x02101ef0 -_ZN16MapObjectUnkDRCK19func_ov031_021001acEv kind:function(arm,size=0x4) addr:0x02101ef4 -_ZN16MapObjectUnkDRCK19func_ov031_021001b0Ev kind:function(arm,size=0x4) addr:0x02101ef8 +_ZN16MapObjectUnkDRCK8vfunc_28Ev kind:function(arm,size=0x60) addr:0x02101b64 +_ZN16MapObjectUnkDRCK8vfunc_64Ev kind:function(arm,size=0x10) addr:0x02101bc4 +_ZN16MapObjectUnkDRCK8vfunc_68Ev kind:function(arm,size=0x8) addr:0x02101bd4 +_ZN16MapObjectUnkDRCK8vfunc_6CEv kind:function(arm,size=0x8) addr:0x02101bdc +_ZN16MapObjectUnkDRCK8vfunc_74Ev kind:function(arm,size=0x50) addr:0x02101be4 +_ZN16MapObjectUnkDRCK8vfunc_7CEv kind:function(arm,size=0x24) addr:0x02101c34 +_ZN16MapObjectUnkDRCK8vfunc_78Ev kind:function(arm,size=0x19c) addr:0x02101c58 +_ZN16MapObjectUnkDRCK9vfunc2_10Ev kind:function(arm,size=0x8c) addr:0x02101df4 +_ZN16MapObjectUnkDRCK8vfunc_40Ev kind:function(arm,size=0x2c) addr:0x02101e80 +_ZN16MapObjectUnkDRCK8vfunc_44Ev kind:function(arm,size=0x44) addr:0x02101eac +_ZN16MapObjectUnkDRCK8vfunc_48Ev kind:function(arm,size=0x4) addr:0x02101ef0 +_ZN16MapObjectUnkDRCK8vfunc_4CEv kind:function(arm,size=0x4) addr:0x02101ef4 +_ZN16MapObjectUnkDRCK9vfunc2_18Ev kind:function(arm,size=0x4) addr:0x02101ef8 _ZN16MapObjectUnkDRCKD1Ev kind:function(arm,size=0x30) addr:0x02101efc _ZN16MapObjectUnkDRCKD0Ev kind:function(arm,size=0x38) addr:0x02101f2c _ZN23MapObjectProfileUnkDRCKD1Ev kind:function(arm,size=0x14) addr:0x02101f64 -_ZN19func_ov031_02100230D0Ev kind:function(arm,size=0x1c) addr:0x02101f78 +_ZN23MapObjectProfileUnkDRCKD0Ev kind:function(arm,size=0x1c) addr:0x02101f78 _ZN23MapObjectProfileUnkDRTC10GetProfileEv kind:function(arm,size=0xc) addr:0x02101f94 _ZN23MapObjectProfileUnkDRTC6CreateEv kind:function(arm,size=0x24) addr:0x02101fa0 _ZN23MapObjectProfileUnkDRTCC1Ev kind:function(arm,size=0x4c) addr:0x02101fc4 _ZN16MapObjectUnkDRTCC1Ev kind:function(arm,size=0x34) addr:0x02102010 -_ZN16MapObjectUnkDRTC19func_ov031_021002fcEv kind:function(arm,size=0x18) addr:0x02102044 -_ZN16MapObjectUnkDRTC19func_ov031_02100314Ev kind:function(arm,size=0x8c) addr:0x0210205c -_ZN16MapObjectUnkDRTC19func_ov031_021003a0Ev kind:function(arm,size=0x28) addr:0x021020e8 -_ZN16MapObjectUnkDRTC19func_ov031_021003c8Ev kind:function(arm,size=0x44) addr:0x02102110 -_ZN16MapObjectUnkDRTC19func_ov031_0210040cEv kind:function(arm,size=0x4) addr:0x02102154 -_ZN16MapObjectUnkDRTC19func_ov031_02100410Ev kind:function(arm,size=0x4) addr:0x02102158 -_ZN16MapObjectUnkDRTC19func_ov031_02100414Ev kind:function(arm,size=0x2c) addr:0x0210215c +_ZN16MapObjectUnkDRTC8vfunc_00Ev kind:function(arm,size=0x18) addr:0x02102044 +_ZN16MapObjectUnkDRTC9vfunc2_10Ev kind:function(arm,size=0x8c) addr:0x0210205c +_ZN16MapObjectUnkDRTC8vfunc_40Ev kind:function(arm,size=0x28) addr:0x021020e8 +_ZN16MapObjectUnkDRTC8vfunc_44Ev kind:function(arm,size=0x44) addr:0x02102110 +_ZN16MapObjectUnkDRTC8vfunc_48Ev kind:function(arm,size=0x4) addr:0x02102154 +_ZN16MapObjectUnkDRTC8vfunc_4CEv kind:function(arm,size=0x4) addr:0x02102158 +_ZN16MapObjectUnkDRTC9vfunc2_18Ev kind:function(arm,size=0x2c) addr:0x0210215c _ZN16MapObjectUnkDRTCD1Ev kind:function(arm,size=0x30) addr:0x02102188 _ZN16MapObjectUnkDRTCD0Ev kind:function(arm,size=0x38) addr:0x021021b8 _ZN23MapObjectProfileUnkDRTCD1Ev kind:function(arm,size=0x14) addr:0x021021f0 -_ZN19func_ov031_021004bcD0Ev kind:function(arm,size=0x1c) addr:0x02102204 +_ZN23MapObjectProfileUnkDRTCD0Ev kind:function(arm,size=0x1c) addr:0x02102204 _ZN23MapObjectProfileUnkEXIT10GetProfileEv kind:function(arm,size=0xc) addr:0x02102220 _ZN23MapObjectProfileUnkEXIT6CreateEv kind:function(arm,size=0x24) addr:0x0210222c _ZN23MapObjectProfileUnkEXITC1Ev kind:function(arm,size=0x48) addr:0x02102250 @@ -2028,9 +2028,9 @@ data_ov031_0211292c kind:data(any) addr:0x0211292c data_ov031_02112938 kind:data(any) addr:0x02112938 data_ov031_0211295c kind:data(any) addr:0x0211295c data_ov031_02112970 kind:data(any) addr:0x02112970 -data_ov031_0211298c kind:data(any) addr:0x0211298c -data_ov031_02112998 kind:data(any) addr:0x02112998 -data_ov031_021129ac kind:data(any) addr:0x021129ac +data_ov031_02110c1c kind:data(any) addr:0x0211298c local +data_ov031_02110c28 kind:data(any) addr:0x02112998 local +data_ov031_02110c3c kind:data(any) addr:0x021129ac data_ov031_021129b4 kind:data(any) addr:0x021129b4 data_ov031_021129d8 kind:data(any) addr:0x021129d8 data_ov031_021129f8 kind:data(any) addr:0x021129f8 @@ -2096,7 +2096,7 @@ __sinit_ActorUnkMLCK.cpp kind:function(arm,size=0x74) addr:0x02113714 __sinit_ActorUnkCLLT.cpp kind:function(arm,size=0x50) addr:0x02113788 __sinit_ActorUnkEFSB.cpp kind:function(arm,size=0x50) addr:0x021137d8 __sinit_ActorUnkNFSP.cpp kind:function(arm,size=0x50) addr:0x02113828 -__sinit_ov031_02113878 kind:function(arm,size=0x3c) addr:0x02113878 +__sinit_MapObjectDoorBase.cpp kind:function(arm,size=0x3c) addr:0x02113878 local __sinit_MapObjectUnkDRDS.cpp kind:function(arm,size=0x64) addr:0x021138b4 __sinit_MapObjectUnkDRKY.cpp kind:function(arm,size=0x64) addr:0x02113918 __sinit_MapObjectUnkDRSW.cpp kind:function(arm,size=0x64) addr:0x0211397c @@ -2160,7 +2160,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0 .p__sinit_ActorUnkCLLT.cpp kind:data(word) addr:0x02114590 .p__sinit_ActorUnkEFSB.cpp kind:data(word) addr:0x02114594 .p__sinit_ActorUnkNFSP.cpp kind:data(word) addr:0x02114598 -.p__sinit_ov031_02113878 kind:data(word) addr:0x0211459c +.p__sinit_MapObjectDoorBase.cpp kind:data(word) addr:0x0211459c local .p__sinit_MapObjectUnkDRDS.cpp kind:data(word) addr:0x021145a0 .p__sinit_MapObjectUnkDRKY.cpp kind:data(word) addr:0x021145a4 .p__sinit_MapObjectUnkDRSW.cpp kind:data(word) addr:0x021145a8 @@ -2330,7 +2330,7 @@ _ZTV19data_ov031_02115bb0 kind:data(any) addr:0x02115bb0 _ZTV19data_ov031_02115c0c kind:data(any) addr:0x02115c0c _ZTV19data_ov031_02115c30 kind:data(any) addr:0x02115c30 _ZTV19data_ov031_02115c8c kind:data(any) addr:0x02115c8c -data_ov031_02115cb8 kind:data(any) addr:0x02115cb8 +_ZTV12MapObject_10 kind:data(any) addr:0x02115cb0 _ZTV19data_ov031_02115cd8 kind:data(any) addr:0x02115cd8 data_ov031_02115d3c kind:data(any) addr:0x02115d3c data_ov031_02115d58 kind:data(any) addr:0x02115d58 @@ -2408,29 +2408,23 @@ _ZTV19data_ov031_02116c74 kind:data(any) addr:0x02116c74 data_ov031_02116cdc kind:data(any) addr:0x02116cdc _ZTV19data_ov031_02116cec kind:data(any) addr:0x02116cec _ZTV19data_ov031_02116d10 kind:data(any) addr:0x02116d10 -data_ov031_02116d70 kind:data(any) addr:0x02116d70 -data_ov031_02116d7c kind:data(any) addr:0x02116d7c -data_ov031_02116e14 kind:data(any) addr:0x02116e14 +data_ov031_02114ffc kind:data(any) addr:0x02116d70 +_ZTV17MapObjectDoorBase kind:data(any) addr:0x02116d74 data_ov031_02116e24 kind:data(any) addr:0x02116e24 -data_ov031_02116e30 kind:data(any) addr:0x02116e30 -data_ov031_02116e4c kind:data(any) addr:0x02116e4c -data_ov031_02116ee4 kind:data(any) addr:0x02116ee4 -data_ov031_02116ef8 kind:data(any) addr:0x02116ef8 -data_ov031_02116f04 kind:data(any) addr:0x02116f04 -data_ov031_02116f20 kind:data(any) addr:0x02116f20 -data_ov031_02116fb8 kind:data(any) addr:0x02116fb8 -data_ov031_02116fc8 kind:data(any) addr:0x02116fc8 -data_ov031_02116fd4 kind:data(any) addr:0x02116fd4 -data_ov031_02116ff0 kind:data(any) addr:0x02116ff0 -data_ov031_02117088 kind:data(any) addr:0x02117088 -data_ov031_0211709c kind:data(any) addr:0x0211709c -data_ov031_021170a8 kind:data(any) addr:0x021170a8 -data_ov031_021170d0 kind:data(any) addr:0x021170d0 -data_ov031_02117168 kind:data(any) addr:0x02117168 -data_ov031_02117190 kind:data(any) addr:0x02117190 -data_ov031_021171b8 kind:data(any) addr:0x021171b8 -data_ov031_02117250 kind:data(any) addr:0x02117250 -data_ov031_02117278 kind:data(any) addr:0x02117278 +_ZTV23MapObjectProfileUnkDRDS kind:data(any) addr:0x02116e28 +_ZTV16MapObjectUnkDRDS kind:data(any) addr:0x02116e44 +data_ov031_02115184 kind:data(any) addr:0x02116ef8 +_ZTV23MapObjectProfileUnkDRKY kind:data(any) addr:0x02116efc +_ZTV16MapObjectUnkDRKY kind:data(any) addr:0x02116f18 +data_ov031_02115254 kind:data(any) addr:0x02116fc8 +_ZTV23MapObjectProfileUnkDRSW kind:data(any) addr:0x02116fcc +_ZTV16MapObjectUnkDRSW kind:data(any) addr:0x02116fe8 +data_ov031_0211709c kind:data(any) addr:0x0211709c local +_ZTV23MapObjectProfileUnkDRCK kind:data(any) addr:0x021170a0 +_ZTV16MapObjectUnkDRCK kind:data(any) addr:0x021170c8 +_ZTV23MapObjectProfileUnkDRTC kind:data(any) addr:0x02117188 +_ZTV16MapObjectUnkDRTC kind:data(any) addr:0x021171b0 +_ZTV19data_ov031_02117278 kind:data(any) addr:0x02117270 data_ov031_02117294 kind:data(any) addr:0x02117294 data_ov031_021172d4 kind:data(any) addr:0x021172d4 data_ov031_021172fc kind:data(any) addr:0x021172fc @@ -2619,10 +2613,8 @@ _ZN15ProfileInstanceI19ActorProfileUnkEFSBE8sProfileE kind:bss addr:0x02118de4 _ZGVN15ProfileInstanceI19ActorProfileUnkNFSPE8sProfileE kind:bss addr:0x02118ebc @30938 kind:bss addr:0x02118ec0 _ZN15ProfileInstanceI19ActorProfileUnkNFSPE8sProfileE kind:bss addr:0x02118ecc -data_ov031_02118fa4 kind:bss addr:0x02118fa4 -data_ov031_02118fb0 kind:bss addr:0x02118fb0 -data_ov031_02118fd4 kind:bss addr:0x02118fd4 -data_ov031_02118ff8 kind:bss addr:0x02118ff8 +data_ov031_02117204 kind:bss(size=0x8) addr:0x02118fa4 +data_ov031_02117210 kind:bss addr:0x02118fb0 _ZGVN15ProfileInstanceI23MapObjectProfileUnkDRDSE8sProfileE kind:bss addr:0x0211901c @30933 kind:bss addr:0x02119020 _ZN15ProfileInstanceI23MapObjectProfileUnkDRDSE8sProfileE kind:bss addr:0x0211902c @@ -2635,11 +2627,9 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkDRSWE8sProfileE kind:bss addr:0x021191 _ZGVN15ProfileInstanceI23MapObjectProfileUnkDRCKE8sProfileE kind:bss addr:0x021192c8 @30951 kind:bss addr:0x021192cc _ZN15ProfileInstanceI23MapObjectProfileUnkDRCKE8sProfileE kind:bss addr:0x021192d8 -data_ov031_021192f8 kind:bss addr:0x021192f8 _ZGVN15ProfileInstanceI23MapObjectProfileUnkDRTCE8sProfileE kind:bss addr:0x02119340 @30957 kind:bss addr:0x02119344 _ZN15ProfileInstanceI23MapObjectProfileUnkDRTCE8sProfileE kind:bss addr:0x02119350 -data_ov031_02119370 kind:bss addr:0x02119370 _ZGVN15ProfileInstanceI23MapObjectProfileUnkEXITE8sProfileE kind:bss addr:0x021193b8 @30963 kind:bss addr:0x021193bc _ZN15ProfileInstanceI23MapObjectProfileUnkEXITE8sProfileE kind:bss addr:0x021193c8 diff --git a/config/jp/arm9/overlays/ov071/symbols.txt b/config/jp/arm9/overlays/ov071/symbols.txt index dff88640..9a62af83 100644 --- a/config/jp/arm9/overlays/ov071/symbols.txt +++ b/config/jp/arm9/overlays/ov071/symbols.txt @@ -264,7 +264,7 @@ func_ov071_02160998 kind:function(arm,size=0x44) addr:0x02160998 func_ov071_021609dc kind:function(arm,size=0xc) addr:0x021609dc func_ov071_021609e8 kind:function(arm,size=0xd8) addr:0x021609e8 func_ov071_02160ac0 kind:function(arm,size=0x24) addr:0x02160ac0 -func_ov071_02160ae4 kind:function(arm,size=0x70) addr:0x02160ae4 +_ZN18UnkStruct_027e0d7019func_ov071_0215e8f8Ev kind:function(arm,size=0x70) addr:0x02160ae4 func_ov071_02160b54 kind:function(arm,size=0x44) addr:0x02160b54 _ZN18UnkStruct_027e0d7019func_ov071_0215e9acEv kind:function(arm,size=0x68) addr:0x02160b98 func_ov071_02160c00 kind:function(arm,size=0x7c) addr:0x02160c00 diff --git a/config/jp/arm9/overlays/ov093/symbols.txt b/config/jp/arm9/overlays/ov093/symbols.txt index c7c9e6cd..6dda1c85 100644 --- a/config/jp/arm9/overlays/ov093/symbols.txt +++ b/config/jp/arm9/overlays/ov093/symbols.txt @@ -8,8 +8,8 @@ func_ov093_02168274 kind:function(arm,size=0x14) addr:0x02168274 func_ov093_02168288 kind:function(arm,size=0xc) addr:0x02168288 func_ov093_02168294 kind:function(arm,size=0x14) addr:0x02168294 func_ov093_021682a8 kind:function(arm,size=0x10) addr:0x021682a8 -func_ov093_021682b8 kind:function(arm,size=0x10) addr:0x021682b8 -func_ov093_021682c8 kind:function(arm,size=0x10) addr:0x021682c8 +_ZN18UnkStruct_027e0d8c19func_ov093_02166058Ev kind:function(arm,size=0x10) addr:0x021682b8 +_ZN18UnkStruct_027e0d8c19func_ov093_02166068Ev kind:function(arm,size=0x10) addr:0x021682c8 func_ov093_021682d8 kind:function(arm,size=0x30) addr:0x021682d8 func_ov093_02168308 kind:function(arm,size=0x20) addr:0x02168308 func_ov093_02168328 kind:function(arm,size=0x10) addr:0x02168328 diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp index 4489a935..31d3e3ba 100644 --- a/include/Actor/Actor.hpp +++ b/include/Actor/Actor.hpp @@ -41,8 +41,8 @@ public: class Actor_5c_temp : public Actor_5c_Base { public: /* 00 (base) */ - /* 10 */ unk16 mUnk_10; - /* 14 */ STRUCT_PAD(0x14, 0x28); + /* 10 */ unk16 mUnk_10[3]; + /* 16 */ STRUCT_PAD(0x16, 0x28); /* 28 */ unk32 mUnk_28; Actor_5c_temp() {}; diff --git a/include/Actor/ActorManager.hpp b/include/Actor/ActorManager.hpp index 33887505..fe4ffeb9 100644 --- a/include/Actor/ActorManager.hpp +++ b/include/Actor/ActorManager.hpp @@ -6,6 +6,8 @@ #include "files.h" #include "types.h" +class UnkStruct_SceneChange1; + struct UnkStruct_func_ov001_020bb018_param2 { /* 00 */ STRUCT_PAD(0x00, 0x08); /* 08 */ u16 mUnk_08; @@ -45,6 +47,8 @@ public: Actor **func_01fff350(void *param1, Actor **ppActorTable); void func_ov000_02096e44(int index); + unk32 func_ov000_0209704c(); + unk32 func_ov000_020970c8(u16 param1, unk32 *param2); int ClearInstance(); void func_ov001_020bafdc(); @@ -52,7 +56,7 @@ public: void func_ov001_020bb488(); void func_ov001_020bb548(); void func_ov001_020bb630(); - void func_ov001_020bb6b0(s32 *param1); + void func_ov001_020bb6b0(UnkStruct_SceneChange1 *param1); void func_ov001_020bb7b0(ZeldaObjectList *pObjList); void func_ov001_020bb7f0(); diff --git a/include/Actor/ActorUnkEFIK.hpp b/include/Actor/ActorUnkEFIK.hpp index 3fcc3405..4f3f4ba2 100644 --- a/include/Actor/ActorUnkEFIK.hpp +++ b/include/Actor/ActorUnkEFIK.hpp @@ -2,30 +2,15 @@ #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" +#include "Unknown/Common.hpp" #include "global.h" #include "types.h" -class ActorUnkEFIK_98 { -public: - /* 00 */ unk32 mUnk_00; - - ActorUnkEFIK_98() { - this->mUnk_00 = 0; - } - - ~ActorUnkEFIK_98() { - this->func_ov000_020a0304(); - } - - void func_ov000_020a0304(void); - void func_ov000_020a0334(); -}; - class ActorUnkEFIK : public Actor { public: /* 00 (base) */ /* 94 */ unk32 mUnk_94; - /* 98 */ ActorUnkEFIK_98 mUnk_98; + /* 98 */ UnkSystem7 mUnk_98; /* 9C */ unk32 mUnk_9C; /* A0 */ unk32 mUnk_A0; diff --git a/include/Actor/ActorUnk_ov000_020a8bb0.hpp b/include/Actor/ActorUnk_ov000_020a8bb0.hpp index 18d60d2a..afae65c1 100644 --- a/include/Actor/ActorUnk_ov000_020a8bb0.hpp +++ b/include/Actor/ActorUnk_ov000_020a8bb0.hpp @@ -136,8 +136,8 @@ public: void func_ov000_020a8ae0(q20 param1); ActorUnk_ov000_020a8bb0(UnkSystem4 *param1, unk32 param2); - unk32 func_ov000_020a8db0(); - unk32 func_ov000_020a8dd0(); + bool func_ov000_020a8db0(); + bool func_ov000_020a8dd0(); void func_ov000_020a8df0(ActorRef param1, unk32 param2); void func_ov000_020a8e9c(Vec3p *param1); void func_ov000_020a8ff4(); diff --git a/include/MapObject/MapObject.hpp b/include/MapObject/MapObject.hpp index 17dee6f2..d4ea4937 100644 --- a/include/MapObject/MapObject.hpp +++ b/include/MapObject/MapObject.hpp @@ -51,7 +51,7 @@ enum MapObjFlag_ { class MapObject_10_Base { public: /* 00 (vtable) */ - /* 04 */ unk8 mUnk_04; + /* 04 */ u8 mUnk_04; /* 05 */ unk8 mUnk_05; /* 06 */ unk8 mUnk_06; /* 07 */ unk8 mUnk_07; @@ -75,10 +75,11 @@ public: class MapObject_10 : public MapObject_10_Base { public: /* 00 (vtable) */ - /* 0C */ + /* 0C */ Vec3p mUnk_0C; + /* 18 */ Vec3p mUnk_18; + /* 24 */ MapObject_10() {} - ~MapObject_10() {} // data_ov031_02113f18 /* 00 */ virtual void vfunc_00(); @@ -100,7 +101,7 @@ public: /* 0E */ unk16 mUnk_0E; /* 10 */ unk32 mUnk_10; /* 14 */ s16 mUnk_14; - /* 16 */ unk8 mUnk_16; + /* 16 */ bool mUnk_16; /* 16 */ unk8 mUnk_17; /* 18 */ @@ -117,36 +118,51 @@ public: /* 00 (vtable) */ /* 04 */ Vec3p mPos; /* 10 */ MapObject_10 *mUnk_10; - /* 14 */ unk16 mUnk_14; - /* 16 */ unk16 mUnk_16; - /* 18 */ unk8 mUnk_18[2]; // bools? when set Link walks to the map object when touched + /* 14 */ s16 mUnk_14; + /* 16 */ s16 mUnk_16; + /* 18 */ unk8 mUnk_18[2]; // related to Link walking to the map object when touched /* 1A */ unk8 mUnk_1A; /* 1B */ unk8 mUnk_1B; /* 1C */ MapObjFlags mFlags[1]; /* 1E */ unk16 mUnk_1E; /* 20 */ MapObject_20 mUnk_20; /* 38 */ unk8 mUnk_38; - /* 38 */ unk8 mUnk_39; + /* 39 */ unk8 mUnk_39; /* 3A */ Vec2b mUnk_3A; /* 3C */ MapObjectProfile *mpProfile; /* 40 */ // data_ov000_020b3590 /* 00 */ virtual bool vfunc_00(); - /* 04 */ virtual bool vfunc_04(); - /* 08 */ virtual unk16 vfunc_08(); - /* 0C */ virtual unk8 vfunc_0C(); + /* 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(); + /* 18 */ virtual void vfunc_18(s8 *param1, s8 param2); /* 1C */ virtual bool vfunc_1C(); /* 20 */ virtual void vfunc_20(); /* 24 */ virtual void vfunc_24(); - /* 28 */ virtual bool vfunc_28(); + /* 28 */ virtual unk32 vfunc_28(); /* 2C */ virtual bool vfunc_2C(Vec3p *param1); /* 30 */ virtual ~MapObject(); /* 38 */ + u16 GetDirection() { + return (u16) (this->mUnk_14 + DEG_TO_ANG(45)) / DEG_TO_ANG(90); + } + + bool IsOrientedVertically() { + bool isVertical = true; + u16 direction = GetDirection(); + + if (direction != 3 && direction != 1) { + isVertical = false; + } + + return isVertical; + } + MapObject(); MapObjectId GetMapObjectId(); @@ -156,13 +172,12 @@ public: bool func_ov000_0209d12c(); bool func_ov000_0209d144(Vec2s *param1, unk32 param2, unk32 param3); void func_ov000_0209d274(unk32 param1); - unk32 func_ov000_0209d29c(unk32 param1); + bool func_ov000_0209d29c(unk32 param1); void func_ov000_0209d2c4(unk32 param1, unk32 param2); void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2b *param3); void func_ov000_0209d3b4(unk32 param1, q20 size); void func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_00 *param2, unk32 param3); void func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3, u8 param4); - void func_ov000_0209d54c(unk32 param1, u16 param2, Vec3p *param3, s16 param4, u16 param5); void func_ov000_0209d5c8(ActorRef ref); void func_ov000_0209d614(unk32 param1); bool func_ov000_0209d668(); @@ -172,4 +187,5 @@ public: static void func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx); static void func_ov000_0209d22c(unk16 *param1, MapObject *thisx, unk32 param2); + static void func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, Vec3p *param3, unk32 param4, unk32 param5); }; diff --git a/include/MapObject/MapObjectDoorBase.hpp b/include/MapObject/MapObjectDoorBase.hpp new file mode 100644 index 00000000..d675e028 --- /dev/null +++ b/include/MapObject/MapObjectDoorBase.hpp @@ -0,0 +1,132 @@ +#pragma once + +#include "MapObject/MapObject.hpp" +#include "Player/PlayerGet.hpp" + +class MapObject_UnkStruct1 { +public: + /* 00 (vtable) */ + /* 04 */ unk32 mUnk_44; + /* 08 */ unk16 mUnk_48; + /* 0A */ s16 mUnk_4A; + /* 0C */ Vec3p mUnk_4C; + /* 18 */ + + MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4 + + // data_ov000_020b2290 + /* 00 */ virtual void vfunc2_00(); + /* 04 */ virtual void vfunc2_04(); + /* 08 */ virtual void vfunc2_08(); + /* 0C */ virtual void vfunc2_0C(); +}; + +class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 { +public: + /* 00 (base) */ + /* 18 */ bool mUnk_58; + /* 19 */ unk8 mUnk_59; + /* 1A */ s16 mUnk_5A; + /* 1C */ Vec3p mUnk_5C; + /* 28 */ + + MapObject_UnkStruct1_Derived1(); // func_ov000_02073234 + + // data_ov000_020b22a8 + /* 0C */ virtual void vfunc2_0C() override; +}; + +class MapObject_UnkStruct1_Derived2 : public MapObject_UnkStruct1_Derived1 { +public: + /* 00 (base) */ + /* 28 */ + + // data_ov031_021150a0 + /* 04 */ virtual void vfunc2_04() override; + /* 08 */ virtual void vfunc2_08() override; +}; + +class MapObjectDoorBase : public MapObject, public MapObject_UnkStruct1_Derived2 { +public: + /* 00 (base MapObject) */ + /* 40 (base MapObject_UnkStruct1_Derived2) */ + /* 68 */ UnkStruct_PlayerGet_ec mUnk_68; + /* 6C */ unk32 mUnk_6C; + /* 70 */ unk32 mUnk_70; + /* 74 */ unk32 mUnk_74; + /* 78 */ u16 mUnk_78; + /* 7A */ u16 mUnk_7A; + /* 7C */ u16 mUnk_7C; + /* 7E */ u16 mUnk_7E; + /* 80 */ unk16 mUnk_80; + /* 82 */ u16 mUnk_82; + /* 84 */ u16 mUnk_84; + /* 86 */ bool mUnk_86; + /* 87 */ bool mUnk_87; + /* 88 */ bool mUnk_88; + /* 89 */ bool mUnk_89; + /* 8A */ bool mUnk_8A; + /* 8B */ bool mUnk_8B; + /* 8C */ bool mUnk_8C; + /* 8D */ bool mUnk_8D; + /* 8E */ bool mUnk_8E; + /* 8F */ bool mUnk_8F; + /* 90 */ bool mUnk_90; + /* 91 */ bool mUnk_91; + /* 91 */ unk8 mUnk_92; // pad? + /* 91 */ unk8 mUnk_93; // pad? + /* 94 */ + + MapObjectDoorBase(); + + // data_ov031_02115008 (MapObject) + /* 08 */ virtual void vfunc_08() override; + /* 0C */ virtual void vfunc_0C() override; + +#ifdef DOORBASE_DTOR_NOINLINE + //! TODO: hacky trick to match function order (pch hint?) + /* 30 */ virtual ~MapObjectDoorBase() override; +#else + /* 30 */ virtual ~MapObjectDoorBase() override {} +#endif + + // (MapObject_UnkStruct1_Derived2) + /* 04 */ virtual void vfunc2_04() override; + /* 08 */ virtual void vfunc2_08() override; + + // (MapObject) + /* 40 */ virtual void vfunc_40(); + /* 44 */ virtual void vfunc_44(); + /* 48 */ virtual void vfunc_48(); + /* 4C */ virtual void vfunc_4C(); + /* 50 */ virtual void vfunc_50(); + /* 54 */ virtual void vfunc_54(); + /* 58 */ virtual void vfunc_58(); + /* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2); + /* 60 */ virtual void vfunc_60(); + /* 64 */ virtual bool vfunc_64(); + /* 68 */ virtual bool vfunc_68(); + /* 6C */ virtual bool vfunc_6C(); + /* 70 */ virtual void vfunc_70(); + /* 74 */ virtual void vfunc_74(); + /* 78 */ virtual void vfunc_78(); + /* 7C */ virtual void vfunc_7C(); + /* 80 */ virtual void vfunc_80(); + /* 84 */ virtual void vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3); + /* 88 */ virtual bool vfunc_88(); + /* 8C */ virtual unk32 vfunc_8C(); + /* 90 */ + + void func_ov031_020fbf10(bool param1, bool param2); + void func_ov031_020fcb78(s8 *param1, s8 param2); + void func_ov031_020fcd40(); + void func_ov031_020fcf0c(unk32 param1); + bool func_ov031_020fcf30(); +}; + +struct UnkStruct_ov031_021150b0 { + /* 00 */ u32 mUnk_00; + + UnkStruct_ov031_021150b0(u32 val) : + mUnk_00(val) {} +}; diff --git a/include/MapObject/MapObjectManager.hpp b/include/MapObject/MapObjectManager.hpp index 34b95bcb..73e7d9cf 100644 --- a/include/MapObject/MapObjectManager.hpp +++ b/include/MapObject/MapObjectManager.hpp @@ -32,6 +32,7 @@ public: MapObject *func_01fff498(UnkStruct_func_01fff498 param1); void func_01fff4cc(UnkCallback_func_01fff4cc param1, void *param2); MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2); + void func_01fff6d0(Vec3p *param1, s32 *param2, s32 *param3); void func_ov000_0209c3a8(); void func_ov000_0209c3e8(); diff --git a/include/MapObject/MapObjectMiniBlocks.hpp b/include/MapObject/MapObjectMiniBlocks.hpp index 65a90b11..0d3b6f04 100644 --- a/include/MapObject/MapObjectMiniBlocks.hpp +++ b/include/MapObject/MapObjectMiniBlocks.hpp @@ -9,8 +9,7 @@ class MapObjectMiniBlocks : public MapObject { public: /* 00 (base) */ - /* 40 */ UnkSystem6 mUnk_40; - /* 44 */ unk32 mUnk_44; + /* 40 */ UnkSystem6_Derived2 mUnk_40; /* 48 */ unk8 mUnk_48; /* 49 */ unk8 mUnk_49; // pad? /* 4A */ unk16 mUnk_4A; // pad? diff --git a/include/MapObject/MapObjectProfile_Derived2_20.hpp b/include/MapObject/MapObjectProfile_Derived2_20.hpp index 816032e0..5536711b 100644 --- a/include/MapObject/MapObjectProfile_Derived2_20.hpp +++ b/include/MapObject/MapObjectProfile_Derived2_20.hpp @@ -24,23 +24,6 @@ public: unk32 param5); // func_020153fc }; -class MapObjectProfile_Derived2_20_Base_50 { -public: - /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ u8 mUnk_08; - /* 08 */ u8 mUnk_09; - /* 08 */ u8 mUnk_0A; - /* 08 */ u8 mUnk_0B; - /* 0C */ unk8 mUnk_0C; - /* 0C */ unk8 mUnk_0D; - /* 0C */ u16 mUnk_0E; - /* 10 */ - - MapObjectProfile_Derived2_20_Base_50(); - ~MapObjectProfile_Derived2_20_Base_50(); -}; - class MapObjectProfile_Derived2_20_Base_54 { public: /* 00 */ unk32 mUnk_00; @@ -58,17 +41,12 @@ public: /* 00 (vtable) */ /* 04 */ const char *mUnk_04; /* 08 */ const char *mUnk_08; - /* 0C */ void *mUnk_0C; - /* 10 */ void *mUnk_10; - /* 14 */ unk8 mUnk_14; // bool? - /* 15 */ unk8 mUnk_15; // bool? - /* 16 */ unk8 mUnk_16; // bool? - /* 17 */ unk8 mUnk_17; // pad? + /* 0C */ UnkResourceStruct_Base mUnk_0C; /* 18 */ MapObjectProfile_Derived2_20_Base_18 mUnk_18; /* 20 */ MapObjectProfile_Derived2_20_Base_20 mUnk_20; /* 2C */ UnkFileSystem3 mUnk_2C; /* 3C */ UnkFileSystem5 mUnk_3C; - /* 50 */ MapObjectProfile_Derived2_20_Base_50 *mUnk_50; + /* 50 */ UnkResourceStruct *mUnk_50; /* 54 */ MapObjectProfile_Derived2_20_Base_54 mUnk_54[4]; /* 94 */ diff --git a/include/MapObject/MapObjectSwitchStep.hpp b/include/MapObject/MapObjectSwitchStep.hpp index 6b45ebf7..2e534a26 100644 --- a/include/MapObject/MapObjectSwitchStep.hpp +++ b/include/MapObject/MapObjectSwitchStep.hpp @@ -40,9 +40,9 @@ public: MapObjectSwitchStep(); /* 00 */ virtual bool vfunc_00() override; - /* 08 */ virtual unk16 vfunc_08() override; + /* 08 */ virtual void vfunc_08() override; /* 14 */ virtual void vfunc_14() override; - /* 18 */ virtual void vfunc_18() override; + /* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override; /* 20 */ virtual void vfunc_20() override; /* 30 */ virtual ~MapObjectSwitchStep() override; @@ -66,8 +66,6 @@ public: class MapObjectProfileSwitchStep : public MapObjectProfileSwitchStep_Base { public: /* 00 (base) */ - /* E0 */ Vec3p mUnk_E0; - /* EC */ Vec3p mUnk_EC; /* F8 */ MapObjectProfileSwitchStep(); diff --git a/include/MapObject/MapObjectUnkDRCK.hpp b/include/MapObject/MapObjectUnkDRCK.hpp index bce04e80..3ae453e6 100644 --- a/include/MapObject/MapObjectUnkDRCK.hpp +++ b/include/MapObject/MapObjectUnkDRCK.hpp @@ -1,53 +1,59 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once -#include "MapObject/MapObject.hpp" +#include "MapObject/MapObjectDoorBase.hpp" #include "MapObject/MapObjectProfile.hpp" #include "global.h" #include "types.h" -class MapObjectUnkDRCK : public MapObject { -public: - /* 00 (base) */ - /* 40 */ - - MapObjectUnkDRCK(); - - /* 30 */ virtual ~MapObjectUnkDRCK() override; - - void func_ov031_020ff598(void); - void func_ov031_020ff6a8(void); - void func_ov031_020ff6bc(void); - void func_ov031_020ff7bc(void); - void func_ov031_020ffb8c(void); - void func_ov031_020ffb98(void); - void func_ov031_020ffce4(void); - void func_ov031_020ffddc(void); - void func_ov031_020ffde4(void); - void func_ov031_020ffe1c(void); - void func_ov031_020ffe7c(void); - void func_ov031_020ffe8c(void); - void func_ov031_020ffe94(void); - void func_ov031_020ffe9c(void); - void func_ov031_020ffeec(void); - void func_ov031_020fff10(void); - void func_ov031_021000ac(void); - void func_ov031_02100138(void); - void func_ov031_02100164(void); - void func_ov031_021001a8(void); - void func_ov031_021001ac(void); - void func_ov031_021001b0(void); -}; - -class MapObjectProfileUnkDRCK : public MapObjectProfile { +class MapObjectProfileUnkDRCK : public MapObjectProfile_Derived1 { public: /* 00 (base) */ MapObjectProfileUnkDRCK(); - ~MapObjectProfileUnkDRCK(); + ~MapObjectProfileUnkDRCK() {} /* 0C */ virtual MapObject *Create(); static MapObjectProfileUnkDRCK *GetProfile(); }; + +class MapObjectUnkDRCK : public MapObjectDoorBase { +public: + /* 00 (base) */ + /* 94 */ UnkSystem6_Derived2 mUnk_94; + /* 9C */ unk8 mUnk_9C; // bool? + /* 9D */ unk8 mUnk_9D; // pad? + /* 9E */ unk8 mUnk_9E; // pad? + /* 9F */ unk8 mUnk_9F; // pad? + /* A0 */ UnkStruct_PlayerGet_ec mUnk_A0; + /* A0 */ unk32 mUnk_A4; + /* A8 */ MapObject_10 mUnk_A8; + /* CC */ + + MapObjectUnkDRCK(); + + /* 00 */ virtual bool vfunc_00() override; + /* 08 */ virtual void vfunc_08() override; + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override; + /* 28 */ virtual unk32 vfunc_28() override; + /* 30 */ virtual ~MapObjectUnkDRCK() override {} + /* 40 */ virtual void vfunc_40() override; + /* 44 */ virtual void vfunc_44() override; + /* 48 */ virtual void vfunc_48() override; + /* 4C */ virtual void vfunc_4C() override; + /* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2) override; + /* 64 */ virtual bool vfunc_64() override; + /* 68 */ virtual bool vfunc_68() override; + /* 6C */ virtual bool vfunc_6C() override; + /* 74 */ virtual void vfunc_74() override; + /* 78 */ virtual void vfunc_78() override; + /* 7C */ virtual void vfunc_7C() override; + + /* 10 */ virtual void vfunc2_10(); + /* 14 */ virtual MapObject_10 *vfunc2_14(); + /* 18 */ virtual void vfunc2_18(); + /* 1C */ virtual u16 vfunc2_1C(unk32 param2); + + bool func_ov031_020ffde4(); +}; diff --git a/include/MapObject/MapObjectUnkDRDS.hpp b/include/MapObject/MapObjectUnkDRDS.hpp index dbcc7ae3..49424c78 100644 --- a/include/MapObject/MapObjectUnkDRDS.hpp +++ b/include/MapObject/MapObjectUnkDRDS.hpp @@ -1,48 +1,14 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "MapObject/MapObject.hpp" +#include "MapObject/MapObjectDoorBase.hpp" #include "MapObject/MapObjectProfile.hpp" +#include "Player/PlayerGet.hpp" +#include "Unknown/Common.hpp" #include "global.h" #include "types.h" -class MapObjectUnkDRDS : public MapObject { -public: - /* 00 (base) */ - /* 40 */ - - MapObjectUnkDRDS(); - - /* 30 */ virtual ~MapObjectUnkDRDS() override; - - void func_ov031_020fd234(void); - void func_ov031_020fd284(void); - void func_ov031_020fd3f8(void); - void func_ov031_020fd404(void); - void func_ov031_020fd474(void); - void func_ov031_020fd7e8(void); - void func_ov031_020fd814(void); - void func_ov031_020fdc08(void); - void func_ov031_020fdcc4(void); - void func_ov031_020fdd70(void); - void func_ov031_020fdec8(void); - void func_ov031_020fdfc0(void); - void func_ov031_020fdfcc(void); - void func_ov031_020fe04c(void); - void func_ov031_020fe0d0(void); - void func_ov031_020fe22c(void); - void func_ov031_020fe250(void); - void func_ov031_020fe278(void); - void func_ov031_020fe2bc(void); - void func_ov031_020fe2e8(void); - void func_ov031_020fe32c(void); - void func_ov031_020fe350(void); - void func_ov031_020fe388(void); - void func_ov031_020fe5fc(void); -}; - -class MapObjectProfileUnkDRDS : public MapObjectProfile { +class MapObjectProfileUnkDRDS : public MapObjectProfile_Derived2 { public: /* 00 (base) */ @@ -53,3 +19,58 @@ public: static MapObjectProfileUnkDRDS *GetProfile(); }; + +class MapObjectUnkDRDS : public MapObjectDoorBase { +public: + /* 00 (base) */ + /* 94 */ UnkSystem6_Derived2 mUnk_94; + /* 9C */ unk8 mUnk_9C; + /* 9D */ unk8 mUnk_9D; + /* 9E */ unk8 mUnk_9E; + /* 9F */ unk8 mUnk_9F; + /* A0 */ unk8 mUnk_A0; + /* A1 */ bool mUnk_A1; + /* A2 */ bool mUnk_A2; + /* A3 */ unk8 mUnk_A3; + /* A4 */ unk32 mUnk_A4; + /* A8 */ UnkStruct_PlayerGet_ec mUnk_A8; + /* AC */ volatile u16 mUnk_AC; + /* AE */ u16 mUnk_AE; + + MapObjectUnkDRDS(); + + // data_ov031_021150d8 (MapObject) + /* 00 */ virtual bool vfunc_00() override; + /* 04 */ virtual void vfunc_04() override; + /* 08 */ virtual void vfunc_08() override; + /* 0C */ virtual void vfunc_0C() override; + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override; + /* 30 */ virtual ~MapObjectUnkDRDS() override; + + // (MapObject_UnkStruct1_Derived1) + /* 04 */ virtual void vfunc2_04() override; + /* 08 */ virtual void vfunc2_08() override; + + // (MapObject) + /* 40 */ virtual void vfunc_40() override; + /* 44 */ virtual void vfunc_44() override; + /* 48 */ virtual void vfunc_48() override; + /* 4C */ virtual void vfunc_4C() override; + /* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2) override; + /* 64 */ virtual bool vfunc_64() override; + /* 68 */ virtual bool vfunc_68() override; + /* 6C */ virtual bool vfunc_6C() override; + /* 74 */ virtual void vfunc_74() override; + /* 7C */ virtual void vfunc_7C() override; + /* 84 */ virtual void vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3) override; + /* 88 */ virtual bool vfunc_88() override; + /* 8C */ virtual unk32 vfunc_8C() override; + + // (MapObject_UnkStruct1_Derived1) + /* 10 */ virtual void vfunc2_10(); + + bool func_ov031_020fdec8(void); + + static void func_ov031_020fe5fc(Vec3p *param1, MapObjectUnkDRDS *thisx); +}; diff --git a/include/MapObject/MapObjectUnkDRKY.hpp b/include/MapObject/MapObjectUnkDRKY.hpp index f31ed079..2ba99aa3 100644 --- a/include/MapObject/MapObjectUnkDRKY.hpp +++ b/include/MapObject/MapObjectUnkDRKY.hpp @@ -1,41 +1,50 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "MapObject/MapObject.hpp" +#include "MapObject/MapObjectDoorBase.hpp" #include "MapObject/MapObjectProfile.hpp" #include "global.h" #include "types.h" -class MapObjectUnkDRKY : public MapObject { +class MapObjectUnkDRKY : public MapObjectDoorBase { public: /* 00 (base) */ - /* 40 */ + /* 94 */ UnkSystem6_Derived2 mUnk_94; + /* 9C */ unk8 mUnk_9C; + /* 9D */ unk8 mUnk_9D; // pad? + /* 9E */ unk8 mUnk_9E; // pad? + /* 9F */ unk8 mUnk_9F; // pad? + /* A0 */ UnkStruct_PlayerGet_ec mUnk_A0; + /* A4 */ bool mUnk_A4; + /* A5 */ unk8 mUnk_A5; // pad? + /* A6 */ unk8 mUnk_A6; // pad? + /* A7 */ unk8 mUnk_A7; // pad? + /* A8 */ MapObjectUnkDRKY(); + /* 00 */ virtual bool vfunc_00() override; + /* 08 */ virtual void vfunc_08() override; + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override; + /* 28 */ virtual unk32 vfunc_28() override; /* 30 */ virtual ~MapObjectUnkDRKY() override; + /* 40 */ virtual void vfunc_40() override; + /* 44 */ virtual void vfunc_44() override; + /* 48 */ virtual void vfunc_48() override; + /* 4C */ virtual void vfunc_4C() override; + /* 5C */ virtual void vfunc_5C(unk32 param1, unk32 param2) override; + /* 64 */ virtual bool vfunc_64() override; + /* 68 */ virtual bool vfunc_68() override; + /* 6C */ virtual bool vfunc_6C() override; + /* 74 */ virtual void vfunc_74() override; + /* 78 */ virtual void vfunc_78() override; + /* 7C */ virtual void vfunc_7C() override; - void func_ov031_020fe86c(void); - void func_ov031_020fe888(void); - void func_ov031_020fe8a0(void); - void func_ov031_020fe8ac(void); - void func_ov031_020fe9f8(void); - void func_ov031_020fea88(void); - void func_ov031_020feabc(void); - void func_ov031_020feb4c(void); - void func_ov031_020feb58(void); - void func_ov031_020feb60(void); - void func_ov031_020feb68(void); - void func_ov031_020febb8(void); - void func_ov031_020febdc(void); - void func_ov031_020fed78(void); - void func_ov031_020feda4(void); - void func_ov031_020fede8(void); - void func_ov031_020fedec(void); + bool func_ov031_020fea88(void); }; -class MapObjectProfileUnkDRKY : public MapObjectProfile { +class MapObjectProfileUnkDRKY : public MapObjectProfile_Derived2 { public: /* 00 (base) */ diff --git a/include/MapObject/MapObjectUnkDRSW.hpp b/include/MapObject/MapObjectUnkDRSW.hpp index ff7f9c4e..d777002e 100644 --- a/include/MapObject/MapObjectUnkDRSW.hpp +++ b/include/MapObject/MapObjectUnkDRSW.hpp @@ -1,40 +1,54 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "MapObject/MapObject.hpp" +#include "MapObject/MapObjectDoorBase.hpp" #include "MapObject/MapObjectProfile.hpp" #include "global.h" #include "types.h" +#include "versions.h" -class MapObjectUnkDRSW : public MapObject { +class MapObjectUnkDRSW : public MapObjectDoorBase { public: - /* 00 (base) */ - /* 40 */ + /* 000 (base) */ + /* 094 */ UnkSystem4 mUnk_094; + /* 0F4 */ MapObject_10 mUnk_0F4; +#if IS_JP + /* 118 */ MapObject_10 mUnk_118; + /* 13C */ q20 mUnkPos; + /* 140 */ bool mUnk_140; + /* 141 */ bool mUnk_141; + /* 142 */ unk8 mUnk_142; // pad + /* 143 */ unk8 mUnk_143; // pad + /* 144 */ +#else + /* 118 */ q20 mUnkPos; + /* 11C */ +#endif MapObjectUnkDRSW(); + // data_ov031_0211527c (MapObject) + /* 00 */ virtual bool vfunc_00() override; + /* 08 */ virtual void vfunc_08() override; + /* 14 */ virtual void vfunc_14() override; + /* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override; /* 30 */ virtual ~MapObjectUnkDRSW() override; + /* 40 */ virtual void vfunc_40() override; + /* 44 */ virtual void vfunc_44() override; + /* 48 */ virtual void vfunc_48() override; + /* 4C */ virtual void vfunc_4C() override; + /* 50 */ virtual void vfunc_50() override; + /* 54 */ virtual void vfunc_54() override; + /* 58 */ virtual void vfunc_58() override; + /* 64 */ virtual bool vfunc_64() override; + /* 6C */ virtual bool vfunc_6C() override; + /* 74 */ virtual void vfunc_74() override; - void func_ov031_020feee4(void); - void func_ov031_020fefac(void); - void func_ov031_020ff07c(void); - void func_ov031_020ff100(void); - void func_ov031_020ff110(void); - void func_ov031_020ff130(void); - void func_ov031_020ff1b0(void); - void func_ov031_020ff1bc(void); - void func_ov031_020ff288(void); - void func_ov031_020ff2d8(void); - void func_ov031_020ff318(void); - void func_ov031_020ff38c(void); - void func_ov031_020ff3d0(void); - void func_ov031_020ff3fc(void); - void func_ov031_020ff43c(void); - void func_ov031_020ff468(void); + // (MapObject_UnkStruct1_Derived1) + /* 10 */ virtual void *vfunc2_10(); }; -class MapObjectProfileUnkDRSW : public MapObjectProfile { +class MapObjectProfileUnkDRSW : public MapObjectProfile_Derived2 { public: /* 00 (base) */ diff --git a/include/MapObject/MapObjectUnkDRTC.hpp b/include/MapObject/MapObjectUnkDRTC.hpp index c8e08662..d7103b5a 100644 --- a/include/MapObject/MapObjectUnkDRTC.hpp +++ b/include/MapObject/MapObjectUnkDRTC.hpp @@ -1,31 +1,29 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once -#include "MapObject/MapObject.hpp" #include "MapObject/MapObjectProfile.hpp" +#include "MapObject/MapObjectUnkDRCK.hpp" #include "global.h" #include "types.h" -class MapObjectUnkDRTC : public MapObject { +class MapObjectUnkDRTC : public MapObjectUnkDRCK { public: /* 00 (base) */ /* 40 */ MapObjectUnkDRTC(); + /* 00 */ virtual bool vfunc_00() override; /* 30 */ virtual ~MapObjectUnkDRTC() override; + /* 40 */ virtual void vfunc_40() override; + /* 44 */ virtual void vfunc_44() override; + /* 48 */ virtual void vfunc_48() override; + /* 4C */ virtual void vfunc_4C() override; - void func_ov031_021002fc(void); - void func_ov031_02100314(void); - void func_ov031_021003a0(void); - void func_ov031_021003c8(void); - void func_ov031_0210040c(void); - void func_ov031_02100410(void); - void func_ov031_02100414(void); + /* 10 */ virtual void vfunc2_10() override; + /* 18 */ virtual void vfunc2_18() override; }; -class MapObjectProfileUnkDRTC : public MapObjectProfile { +class MapObjectProfileUnkDRTC : public MapObjectProfile_Derived1 { public: /* 00 (base) */ diff --git a/include/Player/PlayerGet.hpp b/include/Player/PlayerGet.hpp index c02f791a..a873fc1c 100644 --- a/include/Player/PlayerGet.hpp +++ b/include/Player/PlayerGet.hpp @@ -51,19 +51,6 @@ public: } }; -class UnkStruct_PlayerGet_ec { -public: - /* 00 */ unk32 *mUnk_00; - /* 04 */ - - UnkStruct_PlayerGet_ec(unk32 *param1) { - this->mUnk_00 = param1; - } - - UnkStruct_PlayerGet_ec(); - ~UnkStruct_PlayerGet_ec(); -}; - class UnkStruct_PlayerGet_50 { public: unk32 func_01ff8fa8(); diff --git a/include/Unknown/Common.hpp b/include/Unknown/Common.hpp index a88a71be..0d22e03c 100644 --- a/include/Unknown/Common.hpp +++ b/include/Unknown/Common.hpp @@ -4,6 +4,7 @@ #include "System/SysNew.hpp" #include "Unknown/UnkFileSystem.hpp" #include "global.h" +#include "profile.hpp" #include "types.h" #include #include @@ -921,10 +922,10 @@ public: // data_ov000_020b1a6c /* 00 */ virtual ~UnkSystem4(); - /* 08 */ virtual void vfunc_08(unk32 param1); + /* 08 */ virtual void vfunc_08(void *param1); // resource thing? (GetUnkPointer1_Impl as param1) /* 0C */ virtual void vfunc_0C(); /* 10 */ virtual void vfunc_10(); - /* 14 */ virtual void vfunc_14(); + /* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2); /* 18 */ virtual void vfunc_18(); /* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1); /* 20 */ virtual void vfunc_20(); @@ -933,6 +934,53 @@ public: void func_ov000_0209a7b8(void *param1, UnkSystem4_UnkCallback param2); }; +struct UnkResourceStruct_Base { + /* 00 */ void *mUnk_00; + /* 04 */ void *mUnk_04; + /* 08 */ u8 mUnk_08; + /* 09 */ u8 mUnk_09; + /* 0A */ u8 mUnk_0A; + /* 0B */ u8 mUnk_0B; + /* 0C */ +}; + +struct UnkResourceStruct : public UnkResourceStruct_Base { + /* 0C */ unk8 mUnk_0C; + /* 0D */ unk8 mUnk_0D; + /* 0E */ u16 mUnk_0E; + /* 10 */ +}; + +static inline void *GetUnkPointer1_Impl(UnkResourceStruct *ptr) { + if (ptr != NULL) { + u8 *temp_r1 = (u8 *) ptr + 8; + u32 *var_r0; + u8 zero = 0; + + if (temp_r1 != NULL && ptr->mUnk_09 > zero) { + var_r0 = (u32 *) (temp_r1 + *(u16 *) ((u8 *) ptr + 14) + 4); + } else { + var_r0 = NULL; + } + + if (var_r0 != NULL) { + return (void *) ((u8 *) ptr + *var_r0); + } + } + + return NULL; +} + +template static inline void *GetUnkPointer1() { + return GetUnkPointer1_Impl((UnkResourceStruct *) GET_PROFILE_20_50(T)); +} + +template static inline void *GetUnkPointer2(unk32 param1, u32 resId) { + T *pProfile = GET_PROFILE(T); + pProfile->func_ov000_0209ccd8(param1, resId); + return GetUnkPointer1_Impl((UnkResourceStruct *) pProfile->mUnk_20[param1]->mUnk_50); +} + class UnkSystem5 { public: /* 00 */ unk32 mUnk_00; @@ -961,12 +1009,109 @@ public: UnkSystem6() {} - // data_ov000_020b1968 + // data_ov000_020b1a98 /* 00 */ virtual ~UnkSystem6(); - /* 08 */ virtual void vfunc_08(unk32 param1); - /* 0C */ virtual void vfunc_0C(); - /* 10 */ virtual void vfunc_10(); - /* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2); - /* 18 */ virtual void vfunc_18(); + /* 08 */ virtual void vfunc_08(void *param1); // resource thing like UnkSystem4? + /* 0C */ virtual void vfunc_0C() = 0; + /* 10 */ virtual void vfunc_10() = 0; + /* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2) = 0; + /* 18 */ virtual void vfunc_18() = 0; /* 1C */ }; + +class UnkSystem6_Derived1 : public UnkSystem6 { +public: + /* 00 (base) */ + /* 04 */ void *mUnk_04; + + UnkSystem6_Derived1(void *ptr) : + mUnk_04(ptr) {} + + // data_ov000_020b1a48 + /* 00 */ virtual ~UnkSystem6_Derived1() override {} + /* 10 */ virtual void vfunc_10() override; + /* 14 */ virtual void vfunc_14(Mat3p *param1, Vec3p *param2) override; + /* 18 */ virtual void vfunc_18() override; +}; + +class UnkSystem6_Derived2 : public UnkSystem6_Derived1 { +public: + /* 00 (base) */ + /* 08 */ + + UnkSystem6_Derived2() : + UnkSystem6_Derived1(NULL) {} + + UnkSystem6_Derived2(void *ptr) : + UnkSystem6_Derived1(ptr) {} + + // data_ov000_020b1968 + /* 00 */ virtual ~UnkSystem6_Derived2() {} + /* 0C */ virtual void vfunc_0C() override; +}; + +class MapObject; + +struct UnkStackStruct1 { + /* 00 */ unk8 mUnk_00; + /* 01 */ unk8 mUnk_01; + /* 02 */ unk8 mUnk_02; + /* 03 */ unk8 mUnk_03; + /* 04 */ void *mUnk_04; + /* 08 */ unk32 mUnk_08; + /* 0C */ Vec3p mUnk_0C; + /* 18 */ unk16 mUnk_18; + /* 1A */ unk16 mUnk_1A; + /* 1C */ unk16 mUnk_1C; + /* 1E */ unk16 mUnk_1E; + /* 20 */ unk32 mUnk_20; + /* 24 */ Vec3p mUnk_24; + /* 30 */ unk16 mUnk_30; + /* 32 */ unk16 mUnk_32; + /* 34 */ unk16 mUnk_34; + /* 36 */ unk16 mUnk_36; + /* 38 */ u16 mUnk_38; + /* 3A */ unk8 mUnk_3A; + /* 3B */ unk8 mUnk_3B; + /* 3C */ unk32 mUnk_3C; + /* 40 */ +}; +extern "C" void func_ov000_02072fd0(UnkStackStruct1 *); + +struct UnkSystem7_UnkStruct_00 { + /* 00 */ STRUCT_PAD(0x00, 0x24); + /* 24 */ unk32 mUnk_24; + /* 28 */ STRUCT_PAD(0x28, 0xA4); + /* A4 */ unk16 mUnk_A4; + + void func_ov000_02052c48(Vec3p *param1, Vec3p *param2); +}; + +class UnkSystem7 { +public: + /* 00 */ UnkSystem7_UnkStruct_00 *mUnk_00; + /* 04 */ + + UnkSystem7(UnkSystem7_UnkStruct_00 *param1) { + this->mUnk_00 = param1; + } + + ~UnkSystem7() { + this->func_ov000_020a0304(); + } + + void func_ov000_020a0304(void); + void func_ov000_020a0334(); +}; + +class UnkStruct_PlayerGet_ec : public UnkSystem7 { +public: + /* 00 (base) */ + /* 04 */ + + UnkStruct_PlayerGet_ec(UnkSystem7_UnkStruct_00 *param1) : + UnkSystem7(param1) {} + + UnkStruct_PlayerGet_ec(); + ~UnkStruct_PlayerGet_ec(); +}; diff --git a/include/Unknown/UnkStruct_027e09a4.hpp b/include/Unknown/UnkStruct_027e09a4.hpp index 490aea2d..b09e1132 100644 --- a/include/Unknown/UnkStruct_027e09a4.hpp +++ b/include/Unknown/UnkStruct_027e09a4.hpp @@ -141,14 +141,6 @@ enum SceneIndex_ { /* 121 */ SceneIndex_Max = 0x79 }; -struct UnkStruct_027e09a4_58_78 { - unk32 mUnk_00; - unk32 mUnk_04; - unk8 mUnk_08; - unk8 mUnk_09; - u8 mUnk_0A; -}; - struct UnkStruct_func_01ffd400 { /* 00 */ STRUCT_PAD(0x00, 0x10); /* 1B */ unk32 mUnk_10; @@ -164,7 +156,7 @@ struct UnkStruct_SceneChange1 { /* 04 */ unk32 mUnk_04; /* 08 */ unk16 mUnk_08; /* 0A */ u8 mRoomIndex; - /* 0B */ unk8 mSpawnIndex; + /* 0B */ u8 mSpawnIndex; /* 0C */ bool mNextIsCS; /* 0D */ unk8 mUnk_0D; /* 0E */ unk8 mCutsceneIndex; @@ -265,7 +257,7 @@ public: UnkStruct_func_01ffd400 *func_01ffd400(); unk8 func_ov000_02070bd0(unk32 csIndex, unk32 param2); - UnkStruct_027e09a4_58_78 *func_ov000_02070560(); + UnkStruct_SceneChange1 *func_ov000_02070560(); void func_ov000_020707a8(void *param1); void func_ov000_02070834(void *param1); void func_ov000_0207087c(unk32 param1); diff --git a/include/Unknown/UnkStruct_027e09a8.hpp b/include/Unknown/UnkStruct_027e09a8.hpp index bfe95f17..e5f3a8a8 100644 --- a/include/Unknown/UnkStruct_027e09a8.hpp +++ b/include/Unknown/UnkStruct_027e09a8.hpp @@ -6,6 +6,7 @@ class UnkStruct_027e09a8 { public: void func_ov000_02071b30(unk32 param1, Vec3p *pPos, unk32 param3); + void func_ov000_02071d34(void *param1, unk32 param2, Vec3p *pPos, unk32 param4); }; extern UnkStruct_027e09a8 *data_027e09a8; diff --git a/include/Unknown/UnkStruct_027e09b8.hpp b/include/Unknown/UnkStruct_027e09b8.hpp index 0c437668..53a76ce3 100644 --- a/include/Unknown/UnkStruct_027e09b8.hpp +++ b/include/Unknown/UnkStruct_027e09b8.hpp @@ -12,8 +12,9 @@ public: unk32 func_ov000_020732ec(unk32 param1); unk32 func_ov000_020732fc(unk32 param1); unk32 func_ov000_020732dc(unk32 param1); + unk32 func_ov000_0207330c(); unk32 func_ov000_02073470(void *param1, unk32 param2); - unk32 func_ov000_02073388(void *param1); + unk32 func_ov000_02073388(void *param1, unk32 param2); }; extern UnkStruct_027e09b8 *data_027e09b8; diff --git a/include/Unknown/UnkStruct_027e09bc.hpp b/include/Unknown/UnkStruct_027e09bc.hpp index 216c0054..d781255b 100644 --- a/include/Unknown/UnkStruct_027e09bc.hpp +++ b/include/Unknown/UnkStruct_027e09bc.hpp @@ -5,7 +5,8 @@ class UnkStruct_027e09bc_0c { public: void func_ov000_02078230(unk32 param1); - void func_ov000_0207834c(Vec3p *param1, unk32 param2, unk32 param3); + bool func_ov000_0207834c(Vec3p *param1, unk32 param2, unk32 param3); + bool func_ov000_02078764(Vec3p *param1, void *param2, unk32 param3); }; class UnkStruct_027e09bc { diff --git a/include/Unknown/UnkStruct_027e0cd8.hpp b/include/Unknown/UnkStruct_027e0cd8.hpp index aa879663..967abc9d 100644 --- a/include/Unknown/UnkStruct_027e0cd8.hpp +++ b/include/Unknown/UnkStruct_027e0cd8.hpp @@ -4,8 +4,11 @@ #include "types.h" #include +#include "MapObject/MapObjectManager.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" +class MapObject_20; + class UnkStruct_027e0cd8_0c { public: /* 000 (vtable) */ @@ -81,18 +84,17 @@ public: /* 2C */ virtual void vfunc_2c(); q20 func_01ffedf4(Vec2b *pPos); + unk32 func_ov000_02080180(void *param1); bool func_ov000_02080658(unk32 param1, UnkStruct_SceneChange1 *param2); void func_ov000_020808f4(void *param1, void *param2, unk32 param3); unk32 func_ov000_02080a44(); void func_ov000_020801b0(Vec2b *param1, unk32 param2, unk32 param3); -}; + void func_ov000_0208053c(u16 param1); + void func_ov000_020803ec(u16 param1); + unk32 func_ov000_020802ec(u16 param1, Vec3p *param2); -class UnkStruct_027e0cd8_10 { -public: - /* 00 */ unk32 mUnk_00; - - void func_01fff6d0(Vec3p *param1, s32 *param2, s32 *param3); + Vec3p *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1); }; class UnkStruct_027e0cd8 { @@ -101,15 +103,16 @@ public: /* 04 */ unk32 *mUnk_04; /* 08 */ unk32 mUnk_08; /* 0C */ UnkStruct_027e0cd8_0c *mUnk_0C; - /* 10 */ UnkStruct_027e0cd8_10 *mUnk_10; + /* 10 */ MapObjectManager *mUnk_10; /* 14 */ STRUCT_PAD(0x14, 0x4C); /* 4C */ - unk32 func_ov000_02081e30(unk32 param1, unk32 param2); + bool func_ov000_02081e30(unk32 param1, unk32 param2); void func_ov000_02081d7c(unk32 param1, unk32 param2, unk32 param3); void func_ov000_02081ecc(unk16 param1, unk32 param2); void func_ov000_02081eec(unk16 param1, unk32 param2, unk32 param3); bool func_ov000_02081f3c(unk16 param1, unk32 param2); + unk32 func_ov000_02081d5c(); }; extern UnkStruct_027e0cd8 *data_027e0cd8; diff --git a/include/Unknown/UnkStruct_027e0ce0.hpp b/include/Unknown/UnkStruct_027e0ce0.hpp index 06204623..4569fad2 100644 --- a/include/Unknown/UnkStruct_027e0ce0.hpp +++ b/include/Unknown/UnkStruct_027e0ce0.hpp @@ -54,8 +54,12 @@ public: /* 44 */ Vec3p *func_01fff148(unk32 param1); + bool func_01fff1a4(); void func_ov000_0208a318(unk32 param1, unk32 param2, unk32 param3); + void func_ov000_0208bbd4(unk32 param1, Vec3p *param2, u16 param3); + + void func_ov000_0208bbd4(unk32 param1, Vec3p *param2, void *param3); }; extern UnkStruct_027e0ce0 *data_027e0ce0; diff --git a/include/Unknown/UnkStruct_027e0d34.hpp b/include/Unknown/UnkStruct_027e0d34.hpp new file mode 100644 index 00000000..277cb6d7 --- /dev/null +++ b/include/Unknown/UnkStruct_027e0d34.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "global.h" +#include "types.h" + +class UnkStruct_027e0d34 { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_027e0d34(); + ~UnkStruct_027e0d34(); + + void func_ov031_020d9844(); +}; + +extern UnkStruct_027e0d34 *data_027e0d34; diff --git a/include/Unknown/UnkStruct_027e0d38.hpp b/include/Unknown/UnkStruct_027e0d38.hpp new file mode 100644 index 00000000..9f4a4601 --- /dev/null +++ b/include/Unknown/UnkStruct_027e0d38.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "global.h" +#include "types.h" + +class UnkStruct_027e0d38 { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_027e0d38(); + ~UnkStruct_027e0d38(); + + void func_ov031_020d9c44(unk32 param1); +}; + +extern UnkStruct_027e0d38 *data_027e0d38; diff --git a/include/Unknown/UnkStruct_027e0d70.hpp b/include/Unknown/UnkStruct_027e0d70.hpp index 55c203c7..dc723e7e 100644 --- a/include/Unknown/UnkStruct_027e0d70.hpp +++ b/include/Unknown/UnkStruct_027e0d70.hpp @@ -6,7 +6,7 @@ class UnkStruct_027e0d70 : public SysObject { public: ~UnkStruct_027e0d70(); - void func_ov068_0215e8f8(); + void func_ov071_0215e8f8(); void func_ov071_0215e9ac(); void func_ov071_0215eac8(); }; diff --git a/include/Unknown/UnkStruct_027e0d8c.hpp b/include/Unknown/UnkStruct_027e0d8c.hpp new file mode 100644 index 00000000..1dc11b82 --- /dev/null +++ b/include/Unknown/UnkStruct_027e0d8c.hpp @@ -0,0 +1,17 @@ +#pragma once + +#include "global.h" +#include "types.h" + +class UnkStruct_027e0d8c { +public: + /* 00 */ unk32 mUnk_00; + + UnkStruct_027e0d8c(); + ~UnkStruct_027e0d8c(); + + void func_ov093_02166058(); + void func_ov093_02166068(); +}; + +extern UnkStruct_027e0d8c *data_027e0d8c; diff --git a/include/Unknown/UnkStruct_ov000_020b34c4.hpp b/include/Unknown/UnkStruct_ov000_020b34c4.hpp index 42f26893..607819ce 100644 --- a/include/Unknown/UnkStruct_ov000_020b34c4.hpp +++ b/include/Unknown/UnkStruct_ov000_020b34c4.hpp @@ -8,10 +8,10 @@ typedef bool (**UnkStruct_ov000_020b34c4_Callback)(void *, void *); class UnkStruct_ov000_020b34c4 { public: - /* 00 */ UnkStruct_ov000_020b34c4_Callback mUnk_00; + /* 08 */ unk32 mUnk_08; + /* 08 */ unk32 mUnk_0C; + /* 00 */ UnkStruct_ov000_020b34c4_Callback *mUnk_00; /* 04 */ unk32 mUnk_04; - - /* 00 */ virtual bool vfunc_00(void *param1); }; extern UnkStruct_ov000_020b34c4 data_ov000_020b34c4; diff --git a/include/Unknown/UnkStruct_ov000_020b51b8.hpp b/include/Unknown/UnkStruct_ov000_020b51b8.hpp index 4baa8597..36a4018e 100644 --- a/include/Unknown/UnkStruct_ov000_020b51b8.hpp +++ b/include/Unknown/UnkStruct_ov000_020b51b8.hpp @@ -62,11 +62,13 @@ public: UnkStruct_ov000_020b51b8(); ~UnkStruct_ov000_020b51b8(); - void func_ov000_0206d0bc(unk32 param1); - void func_ov000_0206d274(unk32 param1); + 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); - void func_ov000_0206c608(unk32 param1, unk32 param2, unk32 param3); + void func_ov000_0206d0bc(unk32 param1); + void func_ov000_0206d0ec(unk32 param1, unk32 param2, unk32 param3, unk32 param4); + void func_ov000_0206d134(unk32 param1); + void func_ov000_0206d274(unk32 param1); void func_ov018_020c5940(); }; diff --git a/libs/nitro/include/nitro/math.h b/libs/nitro/include/nitro/math.h index a1902e57..f01df9dd 100644 --- a/libs/nitro/include/nitro/math.h +++ b/libs/nitro/include/nitro/math.h @@ -126,6 +126,9 @@ union Vec3p { } Vec3p() {} + Vec3p(Vec3p &from) { + this->coords = from.coords; + } Vec3p(q20 X, q20 Y, q20 Z) { x = X; y = Y; diff --git a/src/000_Second/Actor/ActorUnkEFIK.cpp b/src/000_Second/Actor/ActorUnkEFIK.cpp index 34d8beac..23b7ff8f 100644 --- a/src/000_Second/Actor/ActorUnkEFIK.cpp +++ b/src/000_Second/Actor/ActorUnkEFIK.cpp @@ -17,7 +17,8 @@ ARM Actor *ActorProfileUnkEFIK::Create() { ARM ActorProfileUnkEFIK::ActorProfileUnkEFIK() : ActorProfile(ActorId_EFIK) {} -ARM ActorUnkEFIK::ActorUnkEFIK() { +ARM ActorUnkEFIK::ActorUnkEFIK() : + mUnk_98(NULL) { this->mUnk_9C = -1; this->mUnk_A0 = 0; } diff --git a/src/000_Second/Actor/ActorUnkSWTM.cpp b/src/000_Second/Actor/ActorUnkSWTM.cpp index 16ebb8fc..e7639c3d 100644 --- a/src/000_Second/Actor/ActorUnkSWTM.cpp +++ b/src/000_Second/Actor/ActorUnkSWTM.cpp @@ -140,15 +140,15 @@ ARM unk32 ActorUnkSWTM::func_ov000_0209b038(void) { bool bVar1 = true; for (i = this->mUnk_9E; i < this->mUnk_A0; i++) { - if (i > this->mUnk_9C && data_027e0cd8->func_ov000_02081e30(i, this->mUnk_A2) != 0) { + if (i > this->mUnk_9C && data_027e0cd8->func_ov000_02081e30(i, this->mUnk_A2)) { this->mUnk_AC = true; } - if (i == this->mUnk_9C && data_027e0cd8->func_ov000_02081e30(i, this->mUnk_A2) != 0) { + if (i == this->mUnk_9C && data_027e0cd8->func_ov000_02081e30(i, this->mUnk_A2)) { this->mUnk_9C++; } - if (data_027e0cd8->func_ov000_02081e30(i, this->mUnk_A2) == 0) { + if (!data_027e0cd8->func_ov000_02081e30(i, this->mUnk_A2)) { bVar1 = false; } } @@ -168,7 +168,7 @@ ARM unk32 ActorUnkSWTM::func_ov000_0209b038(void) { } for (int i = 0; i < this->mUnk_6C; i++) { - if (data_027e0cd8->func_ov000_02081e30(this->mUnk_9E + i, this->mUnk_A2) == 0) { + if (!data_027e0cd8->func_ov000_02081e30(this->mUnk_9E + i, this->mUnk_A2)) { return 0; } } diff --git a/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp b/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp index 2c314424..f909fd44 100644 --- a/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp +++ b/src/000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp @@ -60,7 +60,7 @@ ARM ActorUnk_ov000_020a8bb0::ActorUnk_ov000_020a8bb0(UnkSystem4 *param1, unk32 p ARM ActorUnk_ov000_020a8bb0::~ActorUnk_ov000_020a8bb0() {} ARM bool ActorUnk_ov000_020a8bb0::vfunc_18(unk32 param1) { - if (this->mUnk_70 == 0 && this->func_ov000_020a8dd0() != 0) { + if (this->mUnk_70 == 0 && this->func_ov000_020a8dd0()) { UNSET_FLAG(this->mFlags, ActorFlag_Alive); } @@ -79,11 +79,11 @@ ARM void ActorUnk_ov000_020a8bb0::vfunc_1c() { this->func_ov031_020e3ca4(); } -ARM unk32 ActorUnk_ov000_020a8bb0::func_ov000_020a8db0() { +ARM bool ActorUnk_ov000_020a8bb0::func_ov000_020a8db0() { return data_027e0cd8->func_ov000_02081e30(this->mUnk_76, this->mUnk_74); } -ARM unk32 ActorUnk_ov000_020a8bb0::func_ov000_020a8dd0() { +ARM bool ActorUnk_ov000_020a8bb0::func_ov000_020a8dd0() { return data_027e0cd8->func_ov000_02081e30(this->mUnk_78, this->mUnk_75); } diff --git a/src/000_Second/MapObject/MapObject.cpp b/src/000_Second/MapObject/MapObject.cpp index e0ed15ac..cb8e390f 100644 --- a/src/000_Second/MapObject/MapObject.cpp +++ b/src/000_Second/MapObject/MapObject.cpp @@ -53,14 +53,14 @@ ARM bool MapObject::vfunc_00() { return true; } -ARM bool MapObject::vfunc_04() {} +ARM void MapObject::vfunc_04() {} ARM void MapObject::func_ov000_0209d0bc(Vec2b *param1, MapObject *thisx) { Vec3p pos; Vec2p out; - UnkStruct_027e0cd8_10 *t = data_027e0cd8->mUnk_10; - pos.coords = thisx->mPos.coords; + MapObjectManager *t = data_027e0cd8->mUnk_10; + pos.coords = thisx->mPos.coords; t->func_01fff6d0(&pos, (q20 *) &out.y, (q20 *) &out.x); Vec2p temp; @@ -114,8 +114,8 @@ ARM void MapObject::vfunc_24() { *(u32 *) this = 0; // ???? } -ARM bool MapObject::vfunc_28() { - return false; +ARM unk32 MapObject::vfunc_28() { + return 0; } ARM bool MapObject::vfunc_2C(Vec3p *param1) { @@ -138,8 +138,8 @@ ARM void MapObject::func_ov000_0209d274(unk32 param1) { func_01ffb9cc(&this->mPos, data_027e0ce0->func_01fff148(param1)); } -ARM unk32 MapObject::func_ov000_0209d29c(unk32 param1) { - data_027e0cd8->func_ov000_02081e30(this->mUnk_20.mUnk_0A[param1], this->mUnk_20.mUnk_08[param1]); +ARM bool MapObject::func_ov000_0209d29c(unk32 param1) { + return data_027e0cd8->func_ov000_02081e30(this->mUnk_20.mUnk_0A[param1], this->mUnk_20.mUnk_08[param1]); } ARM void MapObject::func_ov000_0209d2c4(unk32 param1, unk32 param2) { @@ -239,17 +239,18 @@ struct TempStruct { }; // non-matching -ARM void MapObject::func_ov000_0209d54c(unk32 param1, u16 param2, Vec3p *param3, s16 param4, u16 param5) { +ARM void MapObject::func_ov000_0209d54c(void *param1, MapObject *thisx, unk32 param2, Vec3p *param3, unk32 param4, + unk32 param5) { TempStruct local_4c; local_4c.mUnk_28 = 0; local_4c.func_ov000_020975f8(); local_4c.pos.x = param3->x; local_4c.pos.y = param3->y; local_4c.pos.z = param3->z; - local_4c.param_r2 = param2; - local_4c.extra_s16 = param4; - local_4c.extra_u16 = param5; - func_ov000_020973f4(this, &data_ov000_020b539c_eur, ActorId_EventIcon, &local_4c, 0); + local_4c.param_r2 = param4; + local_4c.extra_s16 = param5; + local_4c.extra_u16 = param2; + func_ov000_020973f4(param1, &data_ov000_020b539c_eur, ActorId_EventIcon, &local_4c, 0); } ARM void MapObject::func_ov000_0209d5c8(ActorRef ref) { diff --git a/src/000_Second/MapObject/MapObjectMiniBlocks.cpp b/src/000_Second/MapObject/MapObjectMiniBlocks.cpp index e974483b..f06819ee 100644 --- a/src/000_Second/MapObject/MapObjectMiniBlocks.cpp +++ b/src/000_Second/MapObject/MapObjectMiniBlocks.cpp @@ -30,9 +30,7 @@ ARM MapObjectProfileMiniBlocks::MapObjectProfileMiniBlocks() : } // https://decomp.me/scratch/euvAz -ARM MapObjectMiniBlocks::MapObjectMiniBlocks() : - mUnk_40() { - this->mUnk_44 = 0; +ARM MapObjectMiniBlocks::MapObjectMiniBlocks() { this->mUnk_48 = 1; } @@ -76,8 +74,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) { break; } - MapObjectProfile_Derived2_20_Base_50 *ptr = - GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_00[1])->mUnk_50; + UnkResourceStruct *ptr = GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_00[1])->mUnk_50; void *var_r1; if (ptr != NULL) { u16 *temp_r1 = (u16 *) ((u8 *) ptr + 8); @@ -100,7 +97,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) { var_r1 = NULL; next: - this->mUnk_40.vfunc_08((unk32) var_r1); + this->mUnk_40.vfunc_08(var_r1); unk32 var_r0_2; unk32 var_r0; diff --git a/src/000_Second/MapObject/MapObjectSwitchStep.cpp b/src/000_Second/MapObject/MapObjectSwitchStep.cpp index a6e8fff7..9ed55ba6 100644 --- a/src/000_Second/MapObject/MapObjectSwitchStep.cpp +++ b/src/000_Second/MapObject/MapObjectSwitchStep.cpp @@ -24,17 +24,17 @@ ARM MapObjectProfileSwitchStep::MapObjectProfileSwitchStep() : MapObjectProfileSwitchStep_Base(MapObjectId_SwitchStep) { this->mUnk_D4.mUnk_08 = 0x2DC04009; - this->mUnk_E0.x = -FLOAT_TO_Q20(0.5f); - this->mUnk_E0.y = FLOAT_TO_Q20(0.0f); - this->mUnk_E0.z = -FLOAT_TO_Q20(0.5f); + this->mUnk_D4.mUnk_0C.x = -FLOAT_TO_Q20(0.5f); + this->mUnk_D4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_D4.mUnk_0C.z = -FLOAT_TO_Q20(0.5f); - this->mUnk_EC.x = FLOAT_TO_Q20(0.5f); - this->mUnk_EC.y = FLOAT_TO_Q20(0.5f); - this->mUnk_EC.z = FLOAT_TO_Q20(0.5f); + this->mUnk_D4.mUnk_18.x = FLOAT_TO_Q20(0.5f); + this->mUnk_D4.mUnk_18.y = FLOAT_TO_Q20(0.5f); + this->mUnk_D4.mUnk_18.z = FLOAT_TO_Q20(0.5f); - this->mUnk_06 = 1; - this->mUnk_0C = 0xC00; - this->mUnk_20.mUnk_15 = 1; + this->mUnk_06 = 1; + this->mUnk_0C = 0xC00; + this->mUnk_20.mUnk_0C.mUnk_09 = 1; } ARM MapObjectSwitchStep_40::MapObjectSwitchStep_40(void) : @@ -88,29 +88,7 @@ ARM MapObjectSwitchStep::MapObjectSwitchStep() : this->mUnk_EA = 0; this->mUnk_EB = 0; - MapObjectProfile_Derived2_20_Base_50 *ptr = GET_PROFILE_20_50(MapObjectProfileSwitchStep); - void *var_r1; - if (ptr != NULL) { - u8 *temp_r1 = (u8 *) ptr + 8; - u32 *var_r0; - u8 zero = 0; - - if (temp_r1 != NULL && ptr->mUnk_09 > zero) { - var_r0 = (u32 *) (temp_r1 + ptr->mUnk_0E + 4); - } else { - var_r0 = NULL; - } - - if (var_r0 != NULL) { - var_r1 = (void *) ((u8 *) ptr + *var_r0); - goto end; - } - } - - var_r1 = NULL; - -end: - this->mUnk_40.vfunc_08((unk32) var_r1); + this->mUnk_40.vfunc_08(GetUnkPointer1()); this->mUnk_A4.mUnk_00 = this->mUnk_40.mUnk_04; MapObjectProfile_Derived2_20 *temp_r6 = GET_PROFILE_20(MapObjectProfileSwitchStep); @@ -220,7 +198,7 @@ struct stack_struct { /* 08 */ }; -ARM void MapObjectSwitchStep::vfunc_18(void) { +ARM void MapObjectSwitchStep::vfunc_18(s8 *param1, s8 param2) { if (!GET_FLAG(this->mFlags, MapObjFlag_5)) { return; } diff --git a/src/001_SceneInit/Actor/ActorManager_001.cpp b/src/001_SceneInit/Actor/ActorManager_001.cpp index 8c6832d3..9c3d627f 100644 --- a/src/001_SceneInit/Actor/ActorManager_001.cpp +++ b/src/001_SceneInit/Actor/ActorManager_001.cpp @@ -245,7 +245,7 @@ THUMB void ActorManager::func_ov001_020bb488() { } if (data_027e09a4->UnkCheck(data_027e09a4->mSceneIndex)) { - data_027e0d70->func_ov068_0215e8f8(); + data_027e0d70->func_ov071_0215e8f8(); } } @@ -310,7 +310,7 @@ THUMB void ActorManager::func_ov001_020bb630() { } } -THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) { +THUMB void ActorManager::func_ov001_020bb6b0(UnkStruct_SceneChange1 *param1) { ActorProfile **piVar1 = data_ov000_020b539c_eur.func_ov000_02073dc(); ActorProfile **piVar2 = data_ov000_020b539c_eur.func_ov000_02073e8(); @@ -321,8 +321,8 @@ THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) { for (int i = 0; i < ARRAY_LEN(data_ov000_020ab1ac); i++) { UnkStruct_ov000_020ab1ac *pEntry = &data_ov000_020ab1ac[i]; - if (pEntry->mUnk_00 == iVar5->mActorId && pEntry->mUnk_04 == ((UnkStruct_027e09a4_58_78 *) param1)->mUnk_00 && - pEntry->mUnk_08 == ((UnkStruct_027e09a4_58_78 *) param1)->mUnk_0A) { + if (pEntry->mUnk_00 == iVar5->mActorId && pEntry->mUnk_04 == param1->mNextSceneIndex && + pEntry->mUnk_08 == param1->mRoomIndex) { (*piVar1)->mUnk_39 = 1; (*piVar1)->vfunc_08(); } @@ -335,9 +335,9 @@ THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) { } THUMB bool ActorManager::func_ov001_020bb728(s32 param1) { - UnkStruct_027e09a4_58_78 *piVar1 = data_027e09a4->func_ov000_02070560(); + UnkStruct_SceneChange1 *piVar1 = data_027e09a4->func_ov000_02070560(); - if (piVar1->mUnk_00 != 0x2C || piVar1->mUnk_0A != 0) { + if (piVar1->mNextSceneIndex != SceneIndex_f_water || piVar1->mRoomIndex != 0) { return false; } diff --git a/src/031_Land/MapObject/MapObjectDoorBase.cpp b/src/031_Land/MapObject/MapObjectDoorBase.cpp new file mode 100644 index 00000000..b9b6c112 --- /dev/null +++ b/src/031_Land/MapObject/MapObjectDoorBase.cpp @@ -0,0 +1,760 @@ +#define DOORBASE_DTOR_NOINLINE +#include "MapObject/MapObjectDoorBase.hpp" +#include "Unknown/Common.hpp" +#include "Unknown/UnkMemFuncs.h" +#include "Unknown/UnkStruct_0204af1c.hpp" +#include "Unknown/UnkStruct_027e0998.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" + +extern "C" unk32 func_01ffb464(unk32 param1); +extern "C" void func_01ff9218(void *, unk32, unk32); +extern "C" unk32 func_01ffb428(unk32, unk32); +extern "C" void *func_ov000_02077590(unk32); + +class UnkStruct_ov031_02117210 { +public: + /* 00 */ MapObject_10 mUnk_00[3]; + /* 6C */ + + UnkStruct_ov031_02117210(); +}; + +const UnkStruct_ov031_021150b0 data_ov031_02114ffc(0x1E66); +UnkStruct_ov031_02117210 data_ov031_02117210; +UnkStruct_ov019_020d24c8_28_258_00 data_ov031_02117204(NULL, 0); + +ARM UnkStruct_ov031_02117210::UnkStruct_ov031_02117210() { + this->mUnk_00[0].mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_00[0].mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_00[0].mUnk_0C.z = -FLOAT_TO_Q20(0.35f); + this->mUnk_00[0].mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_00[0].mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_00[0].mUnk_18.z = FLOAT_TO_Q20(0.35f); + this->mUnk_00[0].mUnk_04 &= 0xFE; + this->mUnk_00[0].mUnk_08 = 0x7009; + + this->mUnk_00[1].mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_00[1].mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_00[1].mUnk_0C.z = -FLOAT_TO_Q20(1.35f); + this->mUnk_00[1].mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_00[1].mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_00[1].mUnk_18.z = FLOAT_TO_Q20(0.35f); + this->mUnk_00[1].mUnk_04 &= 0xFE; + this->mUnk_00[1].mUnk_08 = 0x7009; + + this->mUnk_00[2].mUnk_0C.x = -FLOAT_TO_Q20(0.35f); + this->mUnk_00[2].mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_00[2].mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + this->mUnk_00[2].mUnk_18.x = FLOAT_TO_Q20(0.35f); + this->mUnk_00[2].mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_00[2].mUnk_18.z = FLOAT_TO_Q20(1.0f); + this->mUnk_00[2].mUnk_04 &= 0xFE; + this->mUnk_00[2].mUnk_08 = 0x7009; +} + +ARM MapObjectDoorBase::MapObjectDoorBase() : + mUnk_68(NULL) { + this->mUnk_6C = 0; + this->mUnk_70 = 0x148; + this->mUnk_74 = -1; + this->mUnk_78 = 0x32; + this->mUnk_7A = 0x19; + this->mUnk_7C = 10; + this->mUnk_7E = 0; + this->mUnk_80 = 0; + this->mUnk_82 = 0; + this->mUnk_84 = 0; + this->mUnk_86 = true; + this->mUnk_87 = true; + this->mUnk_88 = true; + this->mUnk_89 = false; + this->mUnk_8A = true; + this->mUnk_8B = true; + this->mUnk_8C = false; + this->mUnk_8D = false; + this->mUnk_8E = false; + this->mUnk_8F = false; + this->mUnk_90 = true; + this->mUnk_91 = true; + data_ov031_02117204.func_ov000_0205fc20(0x5D, 0x1F, NULL, NULL); +} + +ARM void MapObjectDoorBase::func_ov031_020fbf10(bool param1, bool param2) { + if (this->IsOrientedVertically()) { + this->mPos.z += FLOAT_TO_Q20(0.5f); + Vec2b local_16(1, 2); + this->func_ov000_0209d2f0(5, 1, &local_16); + + } else { + this->mPos.x += FLOAT_TO_Q20(0.5f); + Vec2b local_18(2, 1); + this->func_ov000_0209d2f0(5, 1, &local_18); + } + + MapObject_10 *pMapObject_10; + if (!this->IsOrientedVertically()) { + if (param1) { + pMapObject_10 = &data_ov031_02117210.mUnk_00[1]; + } else { + pMapObject_10 = &data_ov031_02117210.mUnk_00[0]; + } + } else { + pMapObject_10 = &data_ov031_02117210.mUnk_00[2]; + } + + this->mUnk_10 = pMapObject_10; + SET_FLAG(this->mFlags, MapObjFlag_5); + + if (this->vfunc_64()) { + this->vfunc_5C(8, 1); + + if (param2) { + this->func_ov031_020fcd40(); + } + } else { + this->vfunc_5C(2, 1); + } +} + +ARM void MapObjectDoorBase::vfunc_08() { + this->vfunc_70(); + + switch (this->mUnk_16) { + case 0: + if (this->mUnk_80 > 0) { + this->mUnk_80--; + } + + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnk_6C, 0, func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + if (this->mUnk_80 == 0) { + this->vfunc_5C(1, 0); + break; + } + + this->mUnk_82++; + + if (this->mUnk_88) { + this->vfunc_78(); + } + + if (!this->mUnk_86 && this->vfunc_68()) { + this->vfunc_5C(3, 0); + } + + break; + case 1: + this->mUnk_82++; + + if (this->mUnk_82 >= this->mUnk_7A + this->mUnk_7C && this->vfunc_88()) { + this->vfunc_58(); + this->vfunc_5C(2, 0); + break; + } + + if (!this->mUnk_86 && this->vfunc_68()) { + this->vfunc_5C(3, 0); + } + + break; + case 2: + if (this->vfunc_68()) { + this->vfunc_5C(3, 0); + } + + break; + case 3: + this->mUnk_84++; + + if (!this->mUnk_86 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + break; + } + + this->mUnk_82++; + + if (this->mUnk_82 >= 0x1D) { + this->vfunc_5C(4, 0); + } + + break; + case 4: + this->mUnk_84++; + + if (!this->mUnk_86 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + break; + } + + this->mUnk_82++; + + if (this->mUnk_82 >= 0x28) { + this->vfunc_5C(5, 0); + } + + break; + case 5: + this->mUnk_84++; + + if (!this->mUnk_86 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + break; + } + + this->mUnk_80--; + + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnk_6C, 0x1000, func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + if (this->mUnk_88) { + if (this->mUnk_80 > 7) { + this->vfunc_78(); + } else { + this->vfunc_7C(); + } + } + + if (this->mUnk_80 <= 0) { + if (this->mUnk_80 == 0 && this->mUnk_91) { + this->vfunc_40(); + } + + this->mUnk_82++; + + if (this->mUnk_82 >= 0x32) { + this->mUnk_82 = 0x32; + this->vfunc_5C(6, 0); + } + } + + break; + case 6: + this->mUnk_82++; + this->mUnk_84++; + + if (this->mUnk_82 >= 0x32) { + this->mUnk_82 = 0x32; + this->vfunc_5C(7, 0); + } + + break; + case 7: + this->mUnk_82++; + this->mUnk_84++; + + if (this->mUnk_82 >= 0x50) { + this->vfunc_5C(8, 0); + } + + // fallthrough + case 8: + if (!this->vfunc_6C()) { + break; + } + + this->vfunc_5C(0, 0); + break; + default: + break; + } + + this->vfunc_60(); +} + +ARM void MapObjectDoorBase::vfunc_40() {} + +ARM void MapObjectDoorBase::vfunc_0C() { + if (this->mUnk_74 >= 0 && data_027e09b8->func_ov000_020732ec(this->mUnk_74)) { + this->vfunc_08(); + } else if (this->mUnk_16 == 2 || this->mUnk_16 == 8) { + this->vfunc_08(); + } +} + +ARM void MapObjectDoorBase::vfunc_60() { + switch (this->mUnk_16) { + case 0: + if (!this->mUnk_86 && !GET_FLAG(this->mFlags, MapObjFlag_1) && this->mUnk_6C <= FLOAT_TO_Q20(0.5f)) { + this->func_ov031_020fcf0c(1); + } + this->vfunc_54(); + break; + case 2: + if (this->mUnk_86 && !GET_FLAG(this->mFlags, MapObjFlag_1) && this->mUnk_6C <= FLOAT_TO_Q20(0.5f)) { + this->func_ov031_020fcf0c(1); + this->vfunc_58(); + } + break; + case 5: + if (GET_FLAG(this->mFlags, MapObjFlag_1) && this->mUnk_6C >= FLOAT_TO_Q20(0.5f)) { + this->func_ov031_020fcf0c(0); + } + break; + case 1: + if (this->mUnk_86) { + this->func_ov031_020fcf0c(1); + this->vfunc_58(); + } + break; + default: + break; + } +} + +struct UnkStackStruct { + s16 mUnk_00; + s16 mUnk_02; + s16 mUnk_04; + s16 mUnk_06; + unk32 mUnk_08; + Vec3p mUnk_0C; + u16 mUnk_18; + u16 mUnk_1A; + u16 mUnk_1C; + u16 mUnk_1E; +}; + +ARM void MapObjectDoorBase::vfunc_5C(unk32 param1, unk32 param2) { + UnkStackStruct1 auStack_5c; + UnkStackStruct1 auStack_9c; + this->mUnk_16 = param1; + + switch (this->mUnk_16) { + case 0: + if (this->mUnk_88) { + this->vfunc_74(); + } + + this->mUnk_82 = 0; + this->mUnk_84 = 0x0D; + this->mUnk_80 = + (MUL_Q20(INT_TO_Q20(this->mUnk_7A), func_01ffb428(this->mUnk_6C, 0x1000)) + FLOAT_TO_Q20(0.5f)) >> 12; + + this->vfunc_50(); + + if (this->mUnk_86 && param2 == 0) { + func_ov000_02072fd0(&auStack_5c); + void *var_r0 = this; + + if (this != NULL) { + var_r0 = (u8 *) this + 0x40; + } + + auStack_5c.mUnk_04 = var_r0; + auStack_5c.mUnk_00 = 0x7B; + auStack_5c.mUnk_0C.x = this->mPos.x; + auStack_5c.mUnk_0C.y = this->mPos.y; + auStack_5c.mUnk_0C.z = this->mPos.z; + auStack_5c.mUnk_08 = this->mUnk_7A + this->mUnk_7C + 1 + this->vfunc_8C(); + auStack_5c.mUnk_38 |= 0x80; + + if (!this->mUnk_8C) { + this->mUnk_48 = -1; + } else { + this->mUnk_48 = 0; + this->vfunc_84(1, &this->mUnk_4C, &this->mUnk_4A); + } + + if (this->mUnk_90) { + auStack_5c.mUnk_3A = 2; + auStack_5c.mUnk_3B = 2; + auStack_5c.mUnk_38 |= 0x41; + } else { + auStack_5c.mUnk_3A = 0; + auStack_5c.mUnk_3B = 0; + } + + UnkStackStruct *puVar5 = (UnkStackStruct *) func_ov000_02077590(3); + auStack_5c.mUnk_18 = puVar5->mUnk_00; + auStack_5c.mUnk_1A = puVar5->mUnk_02; + auStack_5c.mUnk_1C = puVar5->mUnk_04; + auStack_5c.mUnk_1E = puVar5->mUnk_06; + auStack_5c.mUnk_20 = puVar5->mUnk_08; + auStack_5c.mUnk_24.coords = puVar5->mUnk_0C.coords; + + u16 unk_18 = puVar5->mUnk_18; + u16 unk_1A = puVar5->mUnk_1A; + auStack_5c.mUnk_32 = unk_1A; + auStack_5c.mUnk_30 = unk_18; + + u16 unk_1C = puVar5->mUnk_1C; + u16 unk_1E = puVar5->mUnk_1E; + auStack_5c.mUnk_36 = unk_1E; + auStack_5c.mUnk_34 = unk_1C; + + auStack_5c.mUnk_1E = this->mUnk_14; + this->mUnk_74 = data_027e09b8->func_ov000_02073388(&auStack_5c, 0); + } + + if (param2 == 0) { + this->func_ov000_0209d614(0); + } + break; + case 1: + if (this->mUnk_91) { + this->vfunc_48(); + } + + this->mUnk_82 = 0; + this->vfunc_7C(); + break; + case 2: + this->mUnk_84 = 0x0D; + this->func_ov031_020fcf0c(1); + break; + case 3: + this->vfunc_7C(); + + this->mUnk_80 = + (MUL_Q20(INT_TO_Q20(this->mUnk_78), func_01ffb428(0x1000 - this->mUnk_6C, 0x1000)) + FLOAT_TO_Q20(0.5f)) >> 12; + + if (this->mUnk_8A) { + this->mUnk_82 = 0; + this->mUnk_84 = 0; + + if (this->mUnk_86 && param2 == 0) { + func_ov000_02072fd0(&auStack_9c); + void *var_r1 = this; + + if (this != NULL) { + var_r1 = (u8 *) this + 0x40; + } + + auStack_9c.mUnk_04 = var_r1; + auStack_9c.mUnk_00 = 0x76; + auStack_9c.mUnk_0C.x = this->mPos.x; + auStack_9c.mUnk_0C.y = this->mPos.y; + auStack_9c.mUnk_0C.z = this->mPos.z; + auStack_9c.mUnk_08 = this->mUnk_7E + (this->mUnk_78 + 0x51); + auStack_9c.mUnk_3A = 9; + auStack_9c.mUnk_3B = 2; + auStack_9c.mUnk_38 |= 0x01; + auStack_9c.mUnk_38 |= 0xC0; + + if (this->mUnk_8D) { + this->mUnk_48 = 0x19; + this->vfunc_84(0, &this->mUnk_4C, &this->mUnk_4A); + } else { + this->mUnk_48 = -1; + } + + if (this->mUnk_89 && this->mUnk_20.mUnk_16 != 0) { + auStack_9c.mUnk_38 |= 0x04; + } + + if (this->mUnk_8E) { + auStack_9c.mUnk_38 |= 0x10; + } + + if (this->mUnk_8F) { + auStack_9c.mUnk_38 |= 0x20; + } + + auStack_9c.mUnk_38 |= 0x200; + + UnkStackStruct *puVar5 = (UnkStackStruct *) func_ov000_02077590(2); + auStack_9c.mUnk_18 = puVar5->mUnk_00; + auStack_9c.mUnk_1A = puVar5->mUnk_02; + auStack_9c.mUnk_1C = puVar5->mUnk_04; + auStack_9c.mUnk_1E = puVar5->mUnk_06; + auStack_9c.mUnk_20 = puVar5->mUnk_08; + auStack_9c.mUnk_24.coords = puVar5->mUnk_0C.coords; + + u16 unk_18 = puVar5->mUnk_18; + u16 unk_1A = puVar5->mUnk_1A; + auStack_9c.mUnk_32 = unk_1A; + auStack_9c.mUnk_30 = unk_18; + + u16 unk_1C = puVar5->mUnk_1C; + u16 unk_1E = puVar5->mUnk_1E; + auStack_9c.mUnk_36 = unk_1E; + auStack_9c.mUnk_34 = unk_1C; + + auStack_9c.mUnk_1E = this->mUnk_14; + this->mUnk_74 = data_027e09b8->func_ov000_02073388(&auStack_9c, 0); + + this->mUnk_84 = 0x0D; + } + } + + break; + case 4: + this->vfunc_7C(); + + if (this->mUnk_8A && this->mUnk_86 && param2 == 0) { + unk32 var_r5 = 1; + unk32 var_r1_2 = 2; + + if (this->IsOrientedVertically()) { + var_r1_2 = -1; + } + + if (this->mUnk_8D != 0) { + var_r5 = 2; + } + + if (this->mUnk_87) { + unk32 sp8; + MapObject::func_ov000_0209d54c(&sp8, this, 1, &this->mPos, var_r1_2, var_r5); + } + } + break; + case 5: + if (this->mUnk_88) { + this->vfunc_74(); + } + break; + case 6: + this->vfunc_7C(); + break; + case 7: + break; + case 8: + this->vfunc_7C(); + + if (param2 == 0) { + this->vfunc_80(); + } + + this->func_ov031_020fcf0c(0); + this->mUnk_82 = 0; + this->mUnk_84 = 0; + this->mUnk_6C = 0x1000; + break; + default: + break; + } +} + +ARM void MapObjectDoorBase::vfunc_48() {} + +ARM bool MapObjectDoorBase::vfunc_64() { + return this->func_ov000_0209d668(); +} + +ARM bool MapObjectDoorBase::vfunc_68() { + return this->func_ov000_0209d29c(0); +} + +ARM bool MapObjectDoorBase::vfunc_6C() { + return false; +} + +struct stack_struct { + /* 00 */ void *mUnk_00; + /* 04 */ unk8 mUnk_04; + /* 05 */ unk8 mUnk_05; + /* 06 */ u16 mUnk_06; + /* 08 */ +}; + +extern "C" void func_01ff9fbc(Mat2p *, unk32, Mat2p *); +extern q4 data_0203f964[]; + +ARM void MapObjectDoorBase::func_ov031_020fcb78(s8 *param1, s8 param2) { + unk32 sp10; + stack_struct sp8; + unk32 sp4; + bool var_r2; + + if (!GET_FLAG(this->mFlags, MapObjFlag_5)) { + return; + } + + var_r2 = data_ov031_02117204.mUnk_04 & 1; + + if (param1[0] != var_r2 && param1[1] != var_r2) { + return; + } + + bool uVar4 = (this->mUnk_84 % 0x1A) >= 0x0D ? true : false; + + //! TODO: fake match? + sp4 = *(u32 *) &this->mUnk_38; + + if (data_027e0998->vfunc_00(&this->mPos, &sp10, &sp4) && uVar4 != 0) { + Mat2p m; + + if (this->IsOrientedVertically()) { + Mat2p_InitRotation(&m, data_0203f964[0], data_0203f964[1]); + } else { + Mat2p_InitIdentity(&m); + } + + func_01ff9fbc(&m, data_027e0998->func_ov000_02061a70(), &m); + + sp8.mUnk_06 = 0x00; + MI_CpuFill32(0, &sp8, sizeof(sp8)); + sp8.mUnk_05 = -1; + sp8.mUnk_06 |= 0x01; + sp8.mUnk_00 = &m; + data_0204af1c.func_0201aa44(&data_ov031_02117204, &sp10, 2, &sp8); + } +} + +ARM void MapObjectDoorBase::vfunc_74() {} + +ARM void MapObjectDoorBase::vfunc_78() {} + +ARM void MapObjectDoorBase::vfunc_7C() { + this->mUnk_68.func_ov000_020a0334(); +} + +ARM void MapObjectDoorBase::vfunc_80() { + this->mUnk_74 = -1; + this->func_ov031_020fcd40(); + + if (this->mUnk_8A && this->mUnk_86) { + this->mUnk_8A = false; + } +} + +ARM void MapObjectDoorBase::func_ov031_020fcd40() { + this->func_ov000_0209d2c4(1, 1); + this->func_ov000_0209d614(1); +} + +ARM void MapObjectDoorBase::vfunc_70() { + switch (this->mUnk_16) { + case 5: + if (this->mUnk_80 > 0) { + this->vfunc_44(); + } + break; + case 0: + if (this->mUnk_80 > 0) { + this->vfunc_4C(); + } + break; + case 1: + break; + case 2: + break; + case 3: + break; + case 4: + break; + case 6: + break; + case 7: + break; + case 8: + break; + default: + this->vfunc_44(); + break; + } +} + +ARM void MapObjectDoorBase::vfunc_44() {} + +ARM void MapObjectDoorBase::vfunc_4C() {} + +ARM void MapObjectDoorBase::vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3) { + Vec3p local_20; + *param3 = this->mUnk_14; + + if (param1 != 0) { + local_20.x = MUL_Q20(SIN((u16) this->mUnk_14), 0x1000); + local_20.z = MUL_Q20(COS((u16) this->mUnk_14), 0x1000); + local_20.y = 0; + } else { + local_20.x = MUL_Q20(SIN((u16) this->mUnk_14), 0xC00); + local_20.z = MUL_Q20(COS((u16) this->mUnk_14), 0xC00); + local_20.y = 0; + + *param3 += -DEG_TO_ANG(180); + } + + Vec3p_Add(&this->mPos, &local_20, param2); +} + +ARM void MapObjectDoorBase::func_ov031_020fcf0c(unk32 param1) { + if (param1 != 0) { + SET_FLAG(this->mFlags, MapObjFlag_1); + } else { + UNSET_FLAG(this->mFlags, MapObjFlag_1); + } +} + +ARM bool MapObjectDoorBase::func_ov031_020fcf30() { + unk16 *plocal_10; + unk16 local_10; + + plocal_10 = (unk16 *) &local_10; + + MapObject::func_ov000_0209d22c(plocal_10, this, 0); + + if (*plocal_10 >= 0x4000 || *plocal_10 <= -0x4000) { + return false; + } + + return true; +} + +ARM void MapObjectDoorBase::vfunc2_04() {} + +// https://decomp.me/scratch/JINmb +ARM void MapObjectDoorBase::vfunc2_08() { + s32 temp_r0; + s32 temp_r1; + s32 temp_r2; + u16 *temp_r2_2; + u16 *temp_r3; + u16 *temp_r3_2; + + if (this->mUnk_16 != 1 || !this->mUnk_8C || (u16) (this->mUnk_14 + 0x2000) / DEG_TO_ANG(90) != 2) { + return; + } + + bool result = data_027e0ce0->func_01fff1a4(); + temp_r0 = this->mPos.x; + temp_r1 = this->mPos.y; + temp_r2 = this->mPos.z - FLOAT_TO_Q20(3.0f); + + if (!result) { + this->mUnk_4C.x = temp_r0; + this->mUnk_4C.y = temp_r1; + this->mUnk_4C.z = temp_r2; + + // temp_r3 = sp - 4; + // *temp_r3 = this->mUnk_4A; + data_027e0ce0->func_ov000_0208bbd4(this->mUnk_44, &this->mUnk_4C, this->mUnk_4A); + return; + } + + this->mUnk_4C.x = temp_r0 - FLOAT_TO_Q20(1.0f); + this->mUnk_4C.y = temp_r1; + this->mUnk_4C.z = temp_r2; + + // temp_r3_2 = sp - 4; + // *temp_r3_2 = this->mUnk_4A; + data_027e0ce0->func_ov000_0208bbd4(this->mUnk_44, &this->mUnk_4C, this->mUnk_4A); + + this->mUnk_5C.x = this->mPos.x + FLOAT_TO_Q20(1.0f); + this->mUnk_5C.y = this->mPos.y; + this->mUnk_5C.z = this->mPos.z - FLOAT_TO_Q20(3.0f); + this->mUnk_5A = this->mUnk_4A; + + // temp_r2_2 = sp - 4; + // *temp_r2_2 = this->mUnk_5A; + data_027e0ce0->func_ov000_0208bbd4(1, &this->mUnk_5C, this->mUnk_5A); +} + +ARM bool MapObjectDoorBase::vfunc_88() { + return true; +} + +ARM unk32 MapObjectDoorBase::vfunc_8C() { + return 0; +} + +ARM void MapObjectDoorBase::vfunc_50() {} +ARM void MapObjectDoorBase::vfunc_54() {} +ARM void MapObjectDoorBase::vfunc_58() {} + +//! TODO: this is fake but we don't have any other choice currently to match the function order +ARM MapObjectDoorBase::~MapObjectDoorBase() {} diff --git a/src/031_Land/MapObject/MapObjectUnkDRCK.cpp b/src/031_Land/MapObject/MapObjectUnkDRCK.cpp index 7fa881ab..4f9f880a 100644 --- a/src/031_Land/MapObject/MapObjectUnkDRCK.cpp +++ b/src/031_Land/MapObject/MapObjectUnkDRCK.cpp @@ -1,41 +1,425 @@ -//! TODO: This file was generated automatically and might contain errors - #include "MapObject/MapObjectUnkDRCK.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e09a8.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e0cec.hpp" + +extern "C" f32 func_02039f04(unk32); +extern "C" void func_01ffaf74(Vec3p *, Mat4x3p *, Vec3p *); +extern "C" void func_01ffcfcc(Vec3p *, Vec3p *, Vec3p *); +extern "C" unk32 func_01ffb428(unk32, unk32); +extern "C" unk32 func_01ffb464(unk32 param1); +extern "C" void func_01ff9218(void *, unk32, unk32); + +static const u32 data_ov031_02110c1c[] = { + 'DRCG', + 'DRCG', + 'DRTC', +}; + +static const u16 data_ov031_02110c28[] = {0x00, 0x00, 0x00, 0x00, 0x07, 0x0A, 0x0C, 0x0C, 0x14, 0x00}; + +const UnkStruct_ov031_021150b0 data_ov031_02115328(0x1E66); ARM DECL_PROFILE(MapObjectProfileUnkDRCK); ARM MapObject *MapObjectProfileUnkDRCK::Create() { - return new(HeapIndex_2) MapObjectUnkDRCK(); + return new(HeapIndex_ITCM) MapObjectUnkDRCK(); } ARM MapObjectProfileUnkDRCK::MapObjectProfileUnkDRCK() : - MapObjectProfile(MapObjectId_DRCK) {} + MapObjectProfile_Derived1(MapObjectId_DRCK, -1, 0) { + this->mUnk_06 = 2; + this->mUnk_1E |= 0x01; + this->mUnk_0C = 0x399A; +} -ARM MapObjectUnkDRCK::MapObjectUnkDRCK() {} +ARM MapObjectUnkDRCK::MapObjectUnkDRCK() : + mUnk_9C(1), + mUnk_A0(0) { + this->mUnk_8F = true; + SET_FLAG(this->mFlags, MapObjFlag_9); + this->mUnk_18[0] = 0x0E; + this->func_ov000_0209d2c4(1, 1); +} -ARM void MapObjectUnkDRCK::func_ov031_020ff598(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ff6a8(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ff6bc(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ff7bc(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffb8c(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffb98(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffce4(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffddc(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffde4(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffe1c(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffe7c(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffe8c(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffe94(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffe9c(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020ffeec(void) {} -ARM void MapObjectUnkDRCK::func_ov031_020fff10(void) {} -ARM void MapObjectUnkDRCK::func_ov031_021000ac(void) {} -ARM void MapObjectUnkDRCK::func_ov031_02100138(void) {} -ARM void MapObjectUnkDRCK::func_ov031_02100164(void) {} -ARM void MapObjectUnkDRCK::func_ov031_021001a8(void) {} -ARM void MapObjectUnkDRCK::func_ov031_021001ac(void) {} -ARM void MapObjectUnkDRCK::func_ov031_021001b0(void) {} +ARM u16 MapObjectUnkDRCK::vfunc2_1C(unk32 param1) { + return data_ov031_02110c28[param1]; +} -ARM MapObjectUnkDRCK::~MapObjectUnkDRCK() {} -ARM MapObjectProfileUnkDRCK::~MapObjectProfileUnkDRCK() {} +// https://decomp.me/scratch/zmw3b +ARM bool MapObjectUnkDRCK::vfunc_00(void) { + Vec3p local_1c; + Vec3p local_28; + Vec3p local_40[2]; + + this->func_ov031_020fbf10(true, false); + this->mUnk_8B = true; + this->mUnk_6C = 0; + this->func_ov031_020fcf0c(1); + this->mUnk_8D = false; + this->mUnk_88 = false; + this->mUnk_78 = 10; + this->mUnk_A4 = this->mUnk_20.mUnk_00[1]; + this->vfunc2_10(); + + local_1c.x = -0x1000; + local_1c.y = 0; + local_1c.z = -0x266; + local_28.y = 0x2000; + local_28.x = 0x1000; + local_28.z = 0x266; + + unk32 value = ((this->mUnk_20.mUnk_00[2] & 0xFF) << 8) | 0x21C07006; + unk32 uVar2; + if (this->mUnk_20.mUnk_00[3] == 0) { + uVar2 = 0x1B; + } else { + uVar2 = 0x1C; + } + this->mUnk_A8.mUnk_07 = uVar2; + + func_01ffcfcc(local_40, &local_1c, &local_28); + + this->mUnk_A8.mUnk_0C.x = local_40[0].x; + this->mUnk_A8.mUnk_0C.y = local_40[0].y; + this->mUnk_A8.mUnk_0C.z = local_40[0].z; + + this->mUnk_A8.mUnk_18.x = local_40[1].x; + this->mUnk_A8.mUnk_18.y = local_40[1].y; + this->mUnk_A8.mUnk_18.z = local_40[1].z; + + this->mUnk_A8.mUnk_08 = value; + return true; +} + +ARM void MapObjectUnkDRCK::vfunc_08(void) { + if (this->mUnk_A4 != 0 && this->func_ov000_0209d29c(0)) { + this->mUnk_A4 = 0; + } + + if (this->mUnk_16 == 2) { + this->mUnk_8B = this->func_ov031_020fcf30(); + } + + switch (this->mUnk_16) { + case 3: + this->mUnk_84++; + + if (!this->mUnk_86 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + break; + } + + this->mUnk_82++; + + if (this->mUnk_82 >= this->vfunc2_1C(4)) { + this->vfunc_5C(4, 0); + } + + break; + case 4: + this->mUnk_84++; + + if (!this->mUnk_86 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + break; + } + + this->mUnk_82++; + + if (this->mUnk_82 >= this->vfunc2_1C(5)) { + this->vfunc_5C(5, 0); + } + + break; + case 5: + this->mUnk_84++; + + if (!this->mUnk_86 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + break; + } + + this->vfunc_44(); + this->mUnk_80--; + + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnk_6C, 0x1000, func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + if (this->mUnk_88 != false) { + if (this->mUnk_80 > 1) { + this->vfunc_78(); + } else { + this->vfunc_7C(); + } + } + + if (this->mUnk_80 <= 0) { + if (this->mUnk_80 == 0 && this->mUnk_91) { + this->vfunc_40(); + } + + this->mUnk_82++; + + if (this->mUnk_82 >= this->vfunc2_1C(6)) { + this->mUnk_82 = this->vfunc2_1C(6); + this->vfunc_5C(6, 0); + } + } + + break; + case 6: + this->mUnk_84++; + this->mUnk_82++; + + if (this->mUnk_82 >= this->vfunc2_1C(7)) { + this->mUnk_82 = this->vfunc2_1C(7); + this->vfunc_5C(7, 0); + } + + break; + case 7: + this->mUnk_84++; + this->mUnk_82++; + + if (this->mUnk_82 >= this->vfunc2_1C(8)) { + this->vfunc_5C(8, 0); + } + + break; + case 8: + this->MapObjectDoorBase::vfunc_08(); + break; + default: + this->MapObjectDoorBase::vfunc_08(); + break; + } +} + +ARM void MapObjectUnkDRCK::vfunc_18(s8 *param1, s8 param2) { + this->func_ov031_020fcb78(param1, param2); +} + +// https://decomp.me/scratch/3XTMj +ARM void MapObjectUnkDRCK::vfunc_14(void) { + f32 factor; + f32 uVar3; + s32 sVar2; + s32 sVar2_2; + u16 uVar2; + + if (this->mUnk_8B) { + uVar3 = func_02039f04(this->mUnk_6C) / 4096.0f; + factor = 16384.0f; + } else { + uVar3 = func_02039f04(this->mUnk_6C) / 4096.0f; + factor = -16384.0f; + } + + s32 mul = factor * uVar3; + sVar2 = (s16) mul; + u16 angle = (u16) sVar2; + + Mat3p m; + Vec3p local_48; + Vec3p temp; + + Mat3p_InitYRotation(&m, SIN(angle), COS(angle)); + temp.x = this->mPos.x - FLOAT_TO_Q20(1.0f) + this->mUnk_70; + temp.z = this->mPos.z; + temp.y = this->mPos.y; + local_48.x = temp.x; + local_48.y = temp.y; + local_48.z = temp.z; + this->mUnk_94.vfunc_14(&m, &local_48); + + u16 var = (-0x8000 - sVar2); + Mat3p_InitYRotation(&m, SIN(var), COS(var)); + temp.x = this->mPos.x + FLOAT_TO_Q20(1.0f) - this->mUnk_70; + temp.z = this->mPos.z; + temp.y = this->mPos.y; + local_48.x = temp.x; + local_48.y = temp.y; + local_48.z = temp.z; + this->mUnk_94.vfunc_14(&m, &local_48); +} + +ARM void MapObjectUnkDRCK::vfunc_5C(unk32 param1, unk32 param2) { + s32 var_r6; + u32 temp_r8; + UnkStackStruct1 sp8; + s16 sp4; + s16 *sp4Ptr; + + this->mUnk_16 = param1; + + switch (this->mUnk_16) { + case 3: + this->vfunc_7C(); + + u16 result = ROUND_Q20(MUL_Q20(func_01ffb428(0x1000 - this->mUnk_6C, 0x1000), INT_TO_Q20(this->mUnk_78))); + this->mUnk_80 = result; + + if (this->mUnk_8A) { + this->mUnk_82 = 0; + this->mUnk_84 = 0; + + UNSET_FLAG(this->mFlags, MapObjFlag_9); + this->vfunc2_18(); + this->func_ov000_0209d2c4(1, 1); + } + + break; + case 8: + if (this->mUnk_20.mUnk_00[2] & 0xFF) { + this->MapObjectDoorBase::vfunc_5C(param1, param2); + this->func_ov031_020fcf0c(1); + this->mUnk_10 = this->vfunc2_14(); + break; + } + + // fallthrough + default: + this->MapObjectDoorBase::vfunc_5C(param1, param2); + break; + } +} + +ARM MapObject_10 *MapObjectUnkDRCK::vfunc2_14(void) { + return &this->mUnk_A8; +} + +ARM bool MapObjectUnkDRCK::func_ov031_020ffde4(void) { + switch (this->mUnk_A4) { + case 0: + return true; + case 1: + if (!this->mUnk_8B) { + return true; + } + break; + default: + break; + } + + return false; +} + +ARM unk32 MapObjectUnkDRCK::vfunc_28(void) { + switch (this->mUnk_16) { + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + return -1; + default: + this->vfunc_5C(3, 0); + break; + } + + return 0; +} + +ARM bool MapObjectUnkDRCK::vfunc_64(void) { + return this->func_ov000_0209d29c(1); +} + +ARM bool MapObjectUnkDRCK::vfunc_68(void) { + return false; +} + +ARM bool MapObjectUnkDRCK::vfunc_6C(void) { + return false; +} + +ARM void MapObjectUnkDRCK::vfunc_74(void) { + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x89E, &this->mPos, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A0, 0x89E, &this->mPos, 4); +} + +ARM void MapObjectUnkDRCK::vfunc_7C(void) { + this->MapObjectDoorBase::vfunc_7C(); + + if (this->mUnk_A0.mUnk_00 != NULL) { + this->mUnk_A0.func_ov000_020a0334(); + } +} + +ARM void MapObjectUnkDRCK::vfunc_78(void) { + Vec3p local_24; + Vec3p local_30; + Vec3p VStack_3c; + Vec3p VStack_48; + Mat4x3p m; + Vec3p local_84; + Vec3p local_90; + + Vec3p temp; + temp.x = this->mPos.x; + temp.z = this->mPos.z; + temp.y = this->mPos.y; + + local_24.x = temp.x - FLOAT_TO_Q20(0.999f); + local_24.y = temp.y; + local_24.z = temp.z; + + local_30.x = temp.x + FLOAT_TO_Q20(0.999f); + local_30.y = temp.y; + local_30.z = temp.z; + + f32 div = func_02039f04(this->mUnk_6C) / 4096.0f; + s16 angle = 21845.0f * div; + + Mat4x3p_InitYRotation(&m, SIN((u16) angle), COS((u16) angle)); + + local_84.x = FLOAT_TO_Q20(1.0f); + local_84.y = 0; + local_84.z = 0; + + local_90.x = 0; + local_90.y = 0; + local_90.z = FLOAT_TO_Q20(0.3299f); + + func_01ffaf74(&local_90, &m, &local_90); + func_01ffaf74(&local_84, &m, &local_84); + + Vec3p_Add(&local_24, &local_90, &local_24); + Vec3p_Add(&local_24, &local_84, &VStack_3c); + + local_90.x = -local_90.x; + local_84.x = -local_84.x; + Vec3p_Add(&local_30, &local_90, &local_30); + Vec3p_Add(&local_30, &local_84, &VStack_48); + + if (this->mUnk_68.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00->func_ov000_02052c48(&VStack_3c, &local_24); + } + + if (this->mUnk_A0.mUnk_00 != NULL) { + this->mUnk_A0.mUnk_00->func_ov000_02052c48(&VStack_48, &local_30); + } +} + +ARM void MapObjectUnkDRCK::vfunc2_10(void) { + unk32 index = this->mUnk_20.mUnk_00[0]; + this->mUnk_94.vfunc_08(GetUnkPointer2(index, data_ov031_02110c1c[index])); +} + +ARM void MapObjectUnkDRCK::vfunc_40(void) { + data_027e09a8->func_ov000_02071b30(0x143, &this->mPos, 0); +} + +ARM void MapObjectUnkDRCK::vfunc_44(void) { + unk32 local_c = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&local_c, 0x142, &this->mPos, 0); +} + +ARM void MapObjectUnkDRCK::vfunc_48(void) {} + +ARM void MapObjectUnkDRCK::vfunc_4C(void) {} + +ARM void MapObjectUnkDRCK::vfunc2_18(void) {} diff --git a/src/031_Land/MapObject/MapObjectUnkDRDS.cpp b/src/031_Land/MapObject/MapObjectUnkDRDS.cpp index 61830768..e8d04318 100644 --- a/src/031_Land/MapObject/MapObjectUnkDRDS.cpp +++ b/src/031_Land/MapObject/MapObjectUnkDRDS.cpp @@ -1,43 +1,754 @@ -//! TODO: This file was generated automatically and might contain errors - #include "MapObject/MapObjectUnkDRDS.hpp" +#include "Actor/ActorManager.hpp" +#include "MapObject/MapObjectManager.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e09a8.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e09bc.hpp" +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "Unknown/UnkStruct_027e0ce0.hpp" +#include "Unknown/UnkStruct_027e0cec.hpp" +#include "Unknown/UnkStruct_027e0d34.hpp" +#include "Unknown/UnkStruct_027e0d38.hpp" +#include "Unknown/UnkStruct_027e0d8c.hpp" +#include "Unknown/UnkStruct_ov000_020b51b8.hpp" +#include "versions.h" + +extern "C" void *func_ov000_02077590(unk32); +extern "C" unk32 func_01ffb428(unk32, unk32); +extern "C" void func_01ffaf74(Vec3p *, Mat4x3p *, Vec3p *); +extern "C" void func_01ff93c0(Vec3p *, q20); +extern unk32 data_ov031_02110c00[]; +extern UnkStruct_ov000_020b34c4_Callback data_ov000_020b4cc4; + +const UnkStruct_ov031_021150b0 data_ov031_021150b0(0x1E66); ARM DECL_PROFILE(MapObjectProfileUnkDRDS); ARM MapObject *MapObjectProfileUnkDRDS::Create() { - return new(HeapIndex_2) MapObjectUnkDRDS(); + return new(HeapIndex_ITCM) MapObjectUnkDRDS(); } ARM MapObjectProfileUnkDRDS::MapObjectProfileUnkDRDS() : - MapObjectProfile(MapObjectId_DRDS) {} + MapObjectProfile_Derived2(MapObjectId_DRDS, MapObjectId_DRDS) { + this->mUnk_0E = 1; + this->mUnk_06 = -1; + this->mUnk_1E &= ~0x01; +} -ARM MapObjectUnkDRDS::MapObjectUnkDRDS() {} +ARM MapObjectUnkDRDS::MapObjectUnkDRDS() : + mUnk_94(GetUnkPointer1()), + mUnk_9C(1), + mUnk_A0(0), + mUnk_A1(false), + mUnk_A2(false), + mUnk_A3(0), + mUnk_A4(-1), + mUnk_A8(NULL) { + this->mUnk_AC = 0; + this->mUnk_AE = 0; + this->mUnk_89 = true; +} -ARM void MapObjectUnkDRDS::func_ov031_020fd234(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fd284(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fd3f8(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fd404(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fd474(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fd7e8(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fd814(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fdc08(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fdcc4(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fdd70(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fdec8(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fdfc0(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fdfcc(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe04c(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe0d0(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe22c(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe250(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe278(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe2bc(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe2e8(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe32c(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe350(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe388(void) {} -ARM void MapObjectUnkDRDS::func_ov031_020fe5fc(void) {} +ARM bool MapObjectUnkDRDS::vfunc_00(void) { + this->func_ov031_020fbf10(true, false); + this->mUnk_78 = 0x23; + this->mUnk_7A = 0x0F; + this->mUnk_7C = 0x28; + this->mUnk_8C = 1; + this->mUnk_58 = data_027e0ce0->func_01fff1a4(); + return true; +} + +ARM void MapObjectUnkDRDS::vfunc_04(void) { + UnkStruct_027e0cd8_0c *ptr; + Vec3p auStack_20; + + if (this->mUnk_20.mUnk_00[1] == 2) { + this->mUnk_6C = 0; + + ptr = data_027e0cd8->mUnk_0C; + ptr->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]); + ptr->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]); + this->vfunc_5C(2, 1); + return; + } + + if (this->mUnk_20.mUnk_00[1] == 3) { + this->mUnk_8C = 0; + } + + if (this->mUnk_20.mUnk_00[1] == 4) { + if (this->func_ov000_0209d29c(0) != 0) { + this->mUnk_6C = 0; + this->MapObjectDoorBase::vfunc_5C(2, 1); + return; + } + } + + this->vfunc_5C(8, 1); + +#if IS_JP + //! TODO: non-matching + UnkStruct_ov000_020b34c4 stack; + bool run = true; + stack.mUnk_00 = &data_ov000_020b4cc4; + stack.mUnk_04 = MapObjectId_DRDS; + + MapObject **ppMapObject = + gpMapObjManager->func_01fff520((UnkStruct_ov000_020b34c4 *) &stack.mUnk_00, gpMapObjManager->mMapObjTable); + + if (ppMapObject != gpMapObjManager->mUnk_08) { + MapObjectUnkDRDS *pMapObject = (MapObjectUnkDRDS *) *ppMapObject; + u32 temp1; + u32 temp2; + + if (pMapObject != NULL) { + temp1 = *(u32 *) &this->mUnk_38; + temp2 = *(u32 *) &pMapObject->mUnk_38; + + if (temp2 != temp1 && pMapObject->mUnk_A2) { + run = false; + } + } + } + + if (run) { + data_027e0cd8->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]); + } +#else + data_027e0cd8->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]); +#endif + + ptr = data_027e0cd8->mUnk_0C; + + if (this->func_ov031_020fdec8()) { + this->mUnk_A2 = true; + this->mUnk_8C = 0; + ptr->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]); + this->vfunc_5C(0, 0); + + UnkStruct_027e09bc_0c *uVar5 = data_027e09bc->mUnk_0C; + MapObjectUnkDRDS::func_ov031_020fe5fc(&auStack_20, this); + + uVar5->func_ov000_0207834c(&auStack_20, (unk32) func_ov000_02077590(0), 0); + } +} + +ARM void MapObjectUnkDRDS::vfunc2_04(void) { + this->MapObjectDoorBase::vfunc2_04(); +} + +ARM void MapObjectUnkDRDS::vfunc2_08(void) { + this->mUnk_8C = 1; + this->vfunc_84(1, &this->mUnk_4C, &this->mUnk_4A); + this->MapObjectDoorBase::vfunc2_08(); + + if (this->mUnk_A2) { + data_027e09bc->mUnk_0C->func_ov000_02078230(0); + } + + data_ov000_020b51b8.func_ov000_0206c96c(data_ov031_02110c00[this->mUnk_20.mUnk_00[3]]); +} + +struct UnkStruct_Copy { + unk32 data[8]; +}; + +// https://decomp.me/scratch/KLkdU +ARM void MapObjectUnkDRDS::vfunc_08(void) { + UnkStruct_Copy sp3C; + UnkStruct_Copy sp1C; + Vec3p sp10; + Vec3p sp4; + + if (this->mUnk_AC < this->mUnk_AE) { + this->mUnk_AC++; + } + + switch (this->mUnk_16) { + case 0: + if (this->mUnk_A2) { + u16 max = this->mUnk_AE; + u16 timer = this->mUnk_AC; + + if (timer < max) { + if (max - timer == 1) { + this->mUnk_88 = 1; + this->vfunc_74(); + + UnkStruct_Copy *temp_r0_3 = (UnkStruct_Copy *) func_ov000_02077590(3); + + sp3C = *temp_r0_3; + ((unk16 *) sp3C.data)[3] = this->mUnk_14; + + UnkStruct_027e09bc_0c *temp_r5 = data_027e09bc->mUnk_0C; + + this->func_ov031_020fe5fc(&sp10, this); + temp_r5->func_ov000_02078764(&sp10, &sp3C, 0); + data_ov000_020b51b8.func_ov000_0206d134(0x0F); + + if (data_027e0ce0->func_01fff1a4()) { + data_027e0d8c->func_ov093_02166058(); + } + } else { + UnkStruct_Copy *temp_r0_3 = (UnkStruct_Copy *) func_ov000_02077590(0); + + sp1C = *temp_r0_3; + + UnkStruct_027e09bc_0c *temp_r7_2 = data_027e09bc->mUnk_0C; + this->func_ov031_020fe5fc(&sp4, this); + temp_r7_2->func_ov000_02078764(&sp4, &sp1C, 0); + } + + return; + } + } + case 1: + if (!this->mUnk_86 || data_027e09b8->func_ov000_020732ec(this->mUnk_74)) { + if (!this->mUnk_A2) { + if (data_027e09b8->func_ov000_0207330c() == 0x0A) { + data_027e0d34->func_ov031_020d9844(); + + if (data_027e0ce0->func_01fff1a4()) { + data_027e0d8c->func_ov093_02166068(); + } + } + } else { + UnkStruct_027e09b8 *temp_r6 = data_027e09b8; + unk32 temp_r4 = this->vfunc_8C(); + + if (temp_r4 + 0x0A == temp_r6->func_ov000_0207330c()) { + data_027e0d34->func_ov031_020d9844(); + + if (data_027e0ce0->func_01fff1a4()) { + data_027e0d8c->func_ov093_02166068(); + } + } + } + } + break; + case 2: + if (this->mUnk_20.mUnk_00[1] == 4 && this->func_ov000_0209d29c(0) != 0) { + if (this->func_ov000_0209d29c(1) != 0) { + return; + } + + if (this->vfunc_68() == 0) { + return; + } + + if (this->mUnk_A1) { + return; + } + + data_ov000_020b51b8.func_ov000_0206d0bc(0); + this->mUnk_A1 = true; + + unk32 temp = data_027e0cd8->mUnk_0C->func_ov000_02080a44(); + data_ov000_020b51b8.func_ov000_0206d0ec(temp, 0x78, 0x7F, -1); + this->func_ov000_0209d2c4(1, 1); + return; + } + break; + default: + break; + } + + this->MapObjectDoorBase::vfunc_08(); + this->vfunc2_10(); + + if (this->mUnk_16 == 2 && this->mUnk_A4 == 0 && !this->mUnk_A1) { + data_ov000_020b51b8.func_ov000_0206d0bc(5); + this->mUnk_A1 = true; + } +} + +ARM void MapObjectUnkDRDS::vfunc_0C(void) { + this->MapObjectDoorBase::vfunc_0C(); + + if ((u16) this->mUnk_16 <= 1) { + this->vfunc_08(); + } +} + +ARM void MapObjectUnkDRDS::vfunc_5C(unk32 param1, unk32 param2) { + UnkStruct_027e0cd8 **ptr; + s32 var_r6; + u32 temp_r8; + UnkStackStruct1 sp8; + s16 sp4; + s16 *sp4Ptr; + + this->mUnk_16 = param1; + this->mUnk_AE = 0; + this->mUnk_AC = 0; + + switch (this->mUnk_16) { + case 3: + this->vfunc_7C(); + + sp4Ptr = (s16 *) &sp4; + MapObject::func_ov000_0209d22c(sp4Ptr, this, 0); + + if (*sp4Ptr >= 0x4000 || *sp4Ptr <= -0x4000) { + this->mUnk_8B = 0; + } else { + this->mUnk_8B = 1; + } + + u16 result = ROUND_Q20(MUL_Q20(func_01ffb428(0x1000 - this->mUnk_6C, 0x1000), INT_TO_Q20(this->mUnk_78))); + this->mUnk_80 = result; + + if (this->mUnk_8A) { + this->mUnk_82 = 0; + + if (this->mUnk_86 != 0) { + if (param2 == 0) { + func_ov000_02072fd0(&sp8); + + unk32 temp = this->mUnk_78 + 0x5B; + + sp8.mUnk_00 = 0x7B; + sp8.mUnk_08 = temp; + sp8.mUnk_3A = 7; + sp8.mUnk_3B = 7; + sp8.mUnk_38 |= 0x80; + sp8.mUnk_0C.x = this->mPos.x; + sp8.mUnk_0C.y = this->mPos.y; + sp8.mUnk_0C.z = this->mPos.z; + + if (this->mUnk_89 && this->mUnk_20.mUnk_16) { + sp8.mUnk_38 |= 4; + } + + this->mUnk_74 = data_027e09b8->func_ov000_02073388(&sp8, 0); + } + } + + data_ov000_020b51b8.func_ov000_0206d0bc(5); + this->mUnk_A1 = 1; + } + + break; + case 4: + this->MapObjectDoorBase::vfunc_5C(param1, param2); + break; + case 0: + this->func_ov000_0209d2c4(1, 0); + this->func_ov000_0209d2c4(0, 1); + + if (this->mUnk_A2 == 0) { + data_ov000_020b51b8.func_ov000_0206d134(0x0F); + } + + data_027e0d38->func_ov031_020d9c44(4); + + if (this->mUnk_A2 != 0) { + this->mUnk_AE = this->vfunc_8C() * 2; + this->mUnk_AC = 0; + this->mUnk_88 = 0; + this->mUnk_90 = false; + } + + this->MapObjectDoorBase::vfunc_5C(param1, param2); + + if (this->mUnk_86 && param2 == 0 && this->mUnk_90 && data_027e0ce0->func_01fff1a4()) { + data_027e0d8c->func_ov093_02166058(); + } + + return; + case 2: + ptr = &data_027e0cd8; // whyyy + + this->MapObjectDoorBase::vfunc_5C(param1, param2); + + var_r6 = 1; + temp_r8 = data_027e09a4->mSceneIndex; + + if (param2 != 0 && (temp_r8 - SceneIndex_tekiya00) > 4) { + var_r6 = 0; + } + + if ((temp_r8 == SceneIndex_tekiya03 && (*ptr)->func_ov000_02081d5c() == 4) || + (temp_r8 == SceneIndex_tekiya00 && (*ptr)->func_ov000_02081d5c() == 0) || + (temp_r8 == SceneIndex_tekiya02 && (*ptr)->func_ov000_02081d5c() == 0) || + (temp_r8 == SceneIndex_tekiya02 && (*ptr)->func_ov000_02081d5c() == 5)) { + var_r6 = 0; + } + + if (var_r6 != 0) { + data_ov000_020b51b8.func_ov000_0206c9a8(data_ov031_02110c00[this->mUnk_20.mUnk_00[3]], 0, 0x7F, 0); + } + + break; + case 8: + ptr = &data_027e0cd8; + this->MapObjectDoorBase::vfunc_5C(param1, param2); + this->func_ov000_0209d2c4(0, 0); + + if (param2 == 0) { + (*ptr)->mUnk_0C->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]); + } + + if (param2 == 0) { + data_ov000_020b51b8.func_ov000_0206d0ec((*ptr)->mUnk_0C->func_ov000_02080a44(), 0x78, 0x7F, -1); + } + + break; + default: + this->MapObjectDoorBase::vfunc_5C(param1, param2); + break; + } +} + +ARM bool MapObjectUnkDRDS::vfunc_64(void) { + UnkStruct_027e0cd8_0c *pUVar4; + unk32 var_r0; + bool var_r5; + + switch (this->mUnk_20.mUnk_00[1]) { + case 1: + case 4: + if (MapObjectDoorBase::vfunc_64()) { + return true; + } + + pUVar4 = data_027e0cd8->mUnk_0C; + if (pUVar4->func_ov000_020802ec(this->mUnk_20.mUnk_00[0], data_027e0ce0->func_01fff148(0)) == 0) { + return true; + } + + var_r0 = 0; + var_r5 = false; + + if (this->mUnk_20.mUnk_00[0] != 0) { + var_r0 = gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], NULL); + } else { + var_r0 = gpActorManager->func_ov000_0209704c(); + } + + if (var_r0 == 0) { + var_r5 = true; + } + + return var_r5; + default: + break; + } + + return MapObjectDoorBase::vfunc_64(); +} + +ARM bool MapObjectUnkDRDS::vfunc_68(void) { + UnkStruct_027e0cd8_0c *pUVar2 = data_027e0cd8->mUnk_0C; + + if (this->mUnk_20.mUnk_00[2] == 1) { + if (func_ov000_0209d29c(1)) { + return true; + } + } else { + if (func_ov000_0209d668()) { + return true; + } + } + + if (this->mUnk_20.mUnk_00[0] != 0) { + if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], &this->mUnk_A4) == 0) { + pUVar2->func_ov000_0208053c(this->mUnk_20.mUnk_00[0]); + return true; + } + + return false; + } + + return gpActorManager->func_ov000_0209704c() == 0; +} + +ARM bool MapObjectUnkDRDS::vfunc_6C(void) { + UnkStruct_027e0cd8_0c *pUVar5; + + switch (this->mUnk_20.mUnk_00[1]) { + case 1: + case 4: + pUVar5 = data_027e0cd8->mUnk_0C; + + if (this->mUnk_20.mUnk_00[2] == 1) { + if (this->func_ov000_0209d29c(1) != 0) { + return false; + } + } else { + if (this->func_ov000_0209d668() != 0) { + return false; + } + } + + if (this->mUnk_20.mUnk_00[0] != 0) { + if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], NULL) == 0) { + return false; + } + } else { + if (gpActorManager->func_ov000_0209704c() == 0) { + return false; + } + } + + if (pUVar5->func_ov000_020802ec(this->mUnk_20.mUnk_00[0], data_027e0ce0->func_01fff148(0)) != 0) { + pUVar5->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]); + return true; + } + + return false; + default: + break; + } + + if (this->mUnk_20.mUnk_00[1] == 3) { + if (this->func_ov000_0209d29c(0) != 0) { + u16 uVar4 = this->mUnk_20.mUnk_00[0]; + + if (uVar4 != 0 && gpActorManager->func_ov000_020970c8(uVar4, 0) != 0) { + data_027e0cd8->mUnk_0C->func_ov000_020803ec(this->mUnk_20.mUnk_00[0]); + return true; + } + } + } else { + return false; + } + + return false; +} + +ARM bool MapObjectUnkDRDS::func_ov031_020fdec8(void) { + UnkStruct_027e0cd8_0c *pUVar4; + Vec3p *uVar3; + int iVar1; + + switch (this->mUnk_20.mUnk_00[1]) { + case 1: + case 4: + if (this->mUnk_20.mUnk_00[2] == 1) { + if (this->func_ov000_0209d29c(1) != 0) { + return false; + } + } else { + if (this->func_ov000_0209d668() != 0) { + return false; + } + } + + if (this->mUnk_20.mUnk_00[0] != 0) { + if (gpActorManager->func_ov000_020970c8(this->mUnk_20.mUnk_00[0], 0) == 0) { + return false; + } + } else { + if (gpActorManager->func_ov000_0209704c() == 0) { + return false; + } + } + + pUVar4 = data_027e0cd8->mUnk_0C; + uVar3 = pUVar4->func_ov001_020b8a5c(data_027e09a4->func_ov000_02070560()->mSpawnIndex, 0); + + if (pUVar4->func_ov000_020802ec(this->mUnk_20.mUnk_00[0], uVar3) != 0) { + return true; + } + + return false; + default: + break; + } + + return false; +} + +ARM void MapObjectUnkDRDS::vfunc_18(s8 *param1, s8 param2) { + this->func_ov031_020fcb78(param1, param2); +} + +ARM void MapObjectUnkDRDS::vfunc_14(void) { + Mat3p m; + Mat3p_InitYRotation(&m, SIN((u16) this->mUnk_14), COS((u16) this->mUnk_14)); + + Vec3p pos(this->mPos); + pos.y += -(this->mUnk_6C * 2); + + this->mUnk_94.vfunc_14(&m, &pos); +} + +ARM void MapObjectUnkDRDS::vfunc2_10(void) { + switch (this->mUnk_16) { + case 0: + default: + if (data_027e09b8->func_ov000_020732ec(this->mUnk_74) != 0) { + if (this->mUnk_68.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00->mUnk_24 &= ~0x08; + } + } else if (this->mUnk_68.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00->mUnk_24 |= 0x08; + } + break; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + break; + } +} + +// https://decomp.me/scratch/DEJfq +ARM void MapObjectUnkDRDS::vfunc_74(void) { + Vec3p local_28; + Vec3p local_34; + Vec3p local_40; + Vec3p local_4c; + Mat4x3p m; + + q20 b33 = 0xB33; + + local_34.x = this->mPos.x; + local_34.y = this->mPos.y; + local_34.z = this->mPos.z; + + local_40.x = 0; + local_40.y = 0; + local_40.z = b33; + + local_4c.x = 0; + local_4c.y = 0; + local_4c.z = -b33; + + local_28.x = local_34.x; + local_28.y = local_34.y; + local_28.z = local_34.z; + + u16 var_r5 = (u16) (this->mUnk_14 + DEG_TO_ANG(45)); + + if (((u16) this->mUnk_14 / DEG_TO_ANG(90)) == 2 && this->mUnk_16 == 5) { + var_r5 = 0; + } + + Mat4x3p_InitYRotation(&m, SIN(var_r5), COS(var_r5)); + + func_01ffaf74(&local_40, &m, &local_40); + func_01ffaf74(&local_4c, &m, &local_4c); + + Vec3p_Add(&local_28, &local_40, &local_28); + Vec3p_Add(&local_34, &local_4c, &local_34); + + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x8CF, &local_28, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A8, 0x8CF, &local_34, 4); + + if (this->mUnk_68.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00->mUnk_A4 = var_r5; + } + + if (this->mUnk_A8.mUnk_00 != NULL) { + this->mUnk_A8.mUnk_00->mUnk_A4 = var_r5; + } +} + +ARM void MapObjectUnkDRDS::vfunc_7C(void) { + this->MapObjectDoorBase::vfunc_7C(); + + if (this->mUnk_A8.mUnk_00 != NULL) { + this->mUnk_A8.func_ov000_020a0334(); + } +} + +ARM void MapObjectUnkDRDS::vfunc_40(void) { + data_027e09a8->func_ov000_02071b30(0x138, &this->mPos, 0); +} + +ARM void MapObjectUnkDRDS::vfunc_44(void) { + unk32 local_c = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&local_c, 0x137, &this->mPos, 0); +} + +ARM void MapObjectUnkDRDS::vfunc_48(void) { + data_027e09a8->func_ov000_02071b30(0x13A, &this->mPos, 0); +} + +ARM void MapObjectUnkDRDS::vfunc_4C(void) { + unk32 local_c = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&local_c, 0x139, &this->mPos, 0); +} + +ARM bool MapObjectUnkDRDS::vfunc_88(void) { + return !data_027e09b8->func_01ffd420(); +} + +ARM unk32 MapObjectUnkDRDS::vfunc_8C(void) { + if (this->mUnk_A2) { + if (data_027e0ce0->func_01fff1a4()) { + return 0x28; + } + + return 0x14; + } + + return 0; +} + +ARM void MapObjectUnkDRDS::vfunc_84(unk32 param1, Vec3p *param2, unk16 *param3) { + s16 iVar1; + + if (!this->mUnk_58) { + MapObjectDoorBase::vfunc_84(param1, param2, param3); + return; + } + + Vec3p local_24; + *param3 = this->mUnk_14; + iVar1 = this->mUnk_14 + DEG_TO_ANG(30); + if (param1 != 0) { + local_24.x = MUL_Q20(SIN((u16) iVar1), 0x1666); + local_24.z = MUL_Q20(COS((u16) iVar1), 0x1666); + local_24.y = 0; + } else { + local_24.x = MUL_Q20(SIN((u16) iVar1), 0x10CD); + local_24.z = MUL_Q20(COS((u16) iVar1), 0x10CD); + local_24.y = 0; + + *param3 += DEG_TO_ANG(180); + } + Vec3p_Add(&this->mPos, &local_24, param2); + + Vec3p local_30; + this->mUnk_5A = this->mUnk_14; + iVar1 = this->mUnk_14 - DEG_TO_ANG(30); + if (param1 != 0) { + local_30.x = MUL_Q20(SIN((u16) iVar1), 0x1666); + local_30.z = MUL_Q20(COS((u16) iVar1), 0x1666); + local_30.y = 0; + } else { + local_30.x = MUL_Q20(SIN((u16) iVar1), 0x10CD); + local_30.z = MUL_Q20(COS((u16) iVar1), 0x10CD); + local_30.y = 0; + this->mUnk_5A += DEG_TO_ANG(180); + } + Vec3p_Add(&this->mPos, &local_30, &this->mUnk_5C); +} + +ARM void MapObjectUnkDRDS::func_ov031_020fe5fc(Vec3p *param1, MapObjectUnkDRDS *thisx) { + if (data_027e0ce0->func_01fff1a4()) { + Vec3p *piVar2 = data_027e0ce0->func_01fff148(1); + Vec3p *piVar3 = data_027e0ce0->func_01fff148(0); + + Vec3p temp(piVar3->x, piVar3->y, piVar3->z); + Vec3p pos(temp.x + piVar2->x, temp.y + piVar2->y, temp.z + piVar2->z); + + func_01ff93c0(&pos, FLOAT_TO_Q20(0.5f)); + param1->coords = pos.coords; + } else { + Vec3p *piVar4 = data_027e0ce0->func_01fff148(0); + param1->coords = piVar4->coords; + } +} ARM MapObjectUnkDRDS::~MapObjectUnkDRDS() {} ARM MapObjectProfileUnkDRDS::~MapObjectProfileUnkDRDS() {} diff --git a/src/031_Land/MapObject/MapObjectUnkDRKY.cpp b/src/031_Land/MapObject/MapObjectUnkDRKY.cpp index 27321ed0..0181056f 100644 --- a/src/031_Land/MapObject/MapObjectUnkDRKY.cpp +++ b/src/031_Land/MapObject/MapObjectUnkDRKY.cpp @@ -1,36 +1,246 @@ -//! TODO: This file was generated automatically and might contain errors - #include "MapObject/MapObjectUnkDRKY.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e09a8.hpp" +#include "Unknown/UnkStruct_027e0ce0.hpp" +#include "Unknown/UnkStruct_027e0cec.hpp" + +extern "C" f32 func_02039f04(unk32); +extern "C" void func_01ffaf74(Vec3p *, Mat4x3p *, Vec3p *); + +const UnkStruct_ov031_021150b0 data_ov031_02115184(0x1E66); ARM DECL_PROFILE(MapObjectProfileUnkDRKY); ARM MapObject *MapObjectProfileUnkDRKY::Create() { - return new(HeapIndex_2) MapObjectUnkDRKY(); + return new(HeapIndex_ITCM) MapObjectUnkDRKY(); } ARM MapObjectProfileUnkDRKY::MapObjectProfileUnkDRKY() : - MapObjectProfile(MapObjectId_DRKY) {} + MapObjectProfile_Derived2(MapObjectId_DRKY, MapObjectId_DRKY) { + this->mUnk_0E = 1; + this->mUnk_06 = 2; + this->mUnk_1E |= 0x01; + this->mUnk_0C = 0x2666; +} -ARM MapObjectUnkDRKY::MapObjectUnkDRKY() {} +ARM MapObjectUnkDRKY::MapObjectUnkDRKY() : + mUnk_94(GetUnkPointer1()), + mUnk_9C(1), + mUnk_A0(0), + mUnk_A4(false) { + this->mUnk_8F = true; + SET_FLAG(this->mFlags, MapObjFlag_9); + this->mUnk_18[0] = 0x0E; +} -ARM void MapObjectUnkDRKY::func_ov031_020fe86c(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fe888(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fe8a0(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fe8ac(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fe9f8(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fea88(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020feabc(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020feb4c(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020feb58(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020feb60(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020feb68(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020febb8(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020febdc(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fed78(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020feda4(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fede8(void) {} -ARM void MapObjectUnkDRKY::func_ov031_020fedec(void) {} +ARM bool MapObjectUnkDRKY::vfunc_00(void) { + this->func_ov031_020fbf10(true, false); + return true; +} + +ARM void MapObjectUnkDRKY::vfunc_08(void) { + this->MapObjectDoorBase::vfunc_08(); + this->mUnk_A4 = false; +} + +ARM void MapObjectUnkDRKY::vfunc_18(s8 *param1, s8 param2) { + this->MapObjectDoorBase::func_ov031_020fcb78(param1, param2); +} + +// https://decomp.me/scratch/XO3u2 +ARM void MapObjectUnkDRKY::vfunc_14(void) { + f32 factor; + f32 uVar3; + s32 sVar2; + s32 sVar2_2; + u16 uVar2; + + if (this->mUnk_8B) { + uVar3 = func_02039f04(this->mUnk_6C) / 4096.0f; + factor = 16384.0f; + } else { + uVar3 = func_02039f04(this->mUnk_6C) / 4096.0f; + factor = -16384.0f; + } + + s32 mul = factor * uVar3; + sVar2 = (s16) mul; + u16 angle = (u16) sVar2; + + Mat3p m; + Vec3p local_48; + Vec3p temp; + + Mat3p_InitYRotation(&m, SIN(angle), COS(angle)); + temp.x = this->mPos.x - FLOAT_TO_Q20(1.0f) + this->mUnk_70; + temp.z = this->mPos.z; + temp.y = this->mPos.y; + local_48.x = temp.x; + local_48.y = temp.y; + local_48.z = temp.z; + this->mUnk_94.vfunc_14(&m, &local_48); + + u16 var = (-0x8000 - sVar2); + Mat3p_InitYRotation(&m, SIN(var), COS(var)); + temp.x = this->mPos.x + FLOAT_TO_Q20(1.0f) - this->mUnk_70; + temp.z = this->mPos.z; + temp.y = this->mPos.y; + local_48.x = temp.x; + local_48.y = temp.y; + local_48.z = temp.z; + this->mUnk_94.vfunc_14(&m, &local_48); +} + +ARM void MapObjectUnkDRKY::vfunc_5C(unk32 param1, unk32 param2) { + this->mUnk_8D = true; + this->MapObjectDoorBase::vfunc_5C(param1, param2); + + switch (this->mUnk_16) { + case 3: + if (param2 == 0) { + data_027e0ce0->mUnk_2C->func_ov000_020a87c8(-1); + } + + UNSET_FLAG(this->mFlags, MapObjFlag_9); + data_027e09a8->func_ov000_02071b30(0x134, &this->mPos, 0); + break; + case 8: + UNSET_FLAG(this->mFlags, MapObjFlag_9); + break; + default: + break; + } +} + +ARM bool MapObjectUnkDRKY::func_ov031_020fea88(void) { + if (this->mUnk_A4) { + return false; + } + + if (data_027e0ce0->mUnk_2C->mKeyAmount != 0) { + return true; + } + + return false; +} + +ARM unk32 MapObjectUnkDRKY::vfunc_28(void) { + if (this->mUnk_A4) { + return -1; + } + + if (data_027e0ce0->mUnk_2C->mKeyAmount == 0) { + return -1; + } + + switch (this->mUnk_16) { + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + return -1; + default: + this->vfunc_5C(3, 0); + break; + } + + return 0; +} + +ARM bool MapObjectUnkDRKY::vfunc_64(void) { + return this->func_ov000_0209d668(); +} + +ARM bool MapObjectUnkDRKY::vfunc_68(void) { + return false; +} + +ARM bool MapObjectUnkDRKY::vfunc_6C(void) { + return false; +} + +ARM void MapObjectUnkDRKY::vfunc_74(void) { + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x89E, &this->mPos, 4); + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_A0, 0x89E, &this->mPos, 4); +} + +ARM void MapObjectUnkDRKY::vfunc_7C(void) { + this->MapObjectDoorBase::vfunc_7C(); + + if (this->mUnk_A0.mUnk_00 != NULL) { + this->mUnk_A0.func_ov000_020a0334(); + } +} + +ARM void MapObjectUnkDRKY::vfunc_78(void) { + Vec3p local_24; + Vec3p local_30; + Vec3p VStack_3c; + Vec3p VStack_48; + Mat4x3p m; + Vec3p local_84; + Vec3p local_90; + + Vec3p temp; + temp.x = this->mPos.x; + temp.z = this->mPos.z; + temp.y = this->mPos.y; + + local_24.x = temp.x - FLOAT_TO_Q20(0.999f); + local_24.y = temp.y; + local_24.z = temp.z; + + local_30.x = temp.x + FLOAT_TO_Q20(0.999f); + local_30.y = temp.y; + local_30.z = temp.z; + + f32 div = func_02039f04(this->mUnk_6C) / 4096.0f; + s16 angle = 16384.0f * div; + + Mat4x3p_InitYRotation(&m, SIN((u16) angle), COS((u16) angle)); + + local_84.x = FLOAT_TO_Q20(1.0f); + local_84.y = 0; + local_84.z = 0; + + local_90.x = 0; + local_90.y = 0; + local_90.z = FLOAT_TO_Q20(0.3299f); + + func_01ffaf74(&local_90, &m, &local_90); + func_01ffaf74(&local_84, &m, &local_84); + + Vec3p_Add(&local_24, &local_90, &local_24); + Vec3p_Add(&local_24, &local_84, &VStack_3c); + + local_90.x = -local_90.x; + local_84.x = -local_84.x; + Vec3p_Add(&local_30, &local_90, &local_30); + Vec3p_Add(&local_30, &local_84, &VStack_48); + + if (this->mUnk_68.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00->func_ov000_02052c48(&VStack_3c, &local_24); + } + + if (this->mUnk_A0.mUnk_00 != NULL) { + this->mUnk_A0.mUnk_00->func_ov000_02052c48(&VStack_48, &local_30); + } +} + +ARM void MapObjectUnkDRKY::vfunc_40(void) { + data_027e09a8->func_ov000_02071b30(0x136, &this->mPos, 0); +} + +ARM void MapObjectUnkDRKY::vfunc_44(void) { + unk32 stack = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&stack, 0x135, &this->mPos, 0); +} + +ARM void MapObjectUnkDRKY::vfunc_48(void) {} + +ARM void MapObjectUnkDRKY::vfunc_4C(void) {} ARM MapObjectUnkDRKY::~MapObjectUnkDRKY() {} ARM MapObjectProfileUnkDRKY::~MapObjectProfileUnkDRKY() {} diff --git a/src/031_Land/MapObject/MapObjectUnkDRSW.cpp b/src/031_Land/MapObject/MapObjectUnkDRSW.cpp index e15a72c8..c9a4126c 100644 --- a/src/031_Land/MapObject/MapObjectUnkDRSW.cpp +++ b/src/031_Land/MapObject/MapObjectUnkDRSW.cpp @@ -1,35 +1,338 @@ -//! TODO: This file was generated automatically and might contain errors - #include "MapObject/MapObjectUnkDRSW.hpp" #include "System/SysNew.hpp" +#include "Unknown/UnkStruct_027e09a8.hpp" +#include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e0cec.hpp" +#include "versions.h" + +extern "C" void func_01ffaf74(Vec3p *, Mat4x3p *, Vec3p *); +extern "C" q20 func_01ffb464(q20); +extern "C" void func_01ff9218(q20 *, q20, q20); + +const UnkStruct_ov031_021150b0 data_ov031_02115254(0x1E66); ARM DECL_PROFILE(MapObjectProfileUnkDRSW); ARM MapObject *MapObjectProfileUnkDRSW::Create() { - return new(HeapIndex_2) MapObjectUnkDRSW(); + return new(HeapIndex_ITCM) MapObjectUnkDRSW(); } ARM MapObjectProfileUnkDRSW::MapObjectProfileUnkDRSW() : - MapObjectProfile(MapObjectId_DRSW) {} + MapObjectProfile_Derived2(MapObjectId_DRSW, MapObjectId_DRSW) { + this->mUnk_06 = -1; + this->mUnk_1E &= ~0x01; +} -ARM MapObjectUnkDRSW::MapObjectUnkDRSW() {} +ARM MapObjectUnkDRSW::MapObjectUnkDRSW() : + mUnk_094(0) { + this->mUnkPos = FLOAT_TO_Q20(0.0f); -ARM void MapObjectUnkDRSW::func_ov031_020feee4(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020fefac(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff07c(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff100(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff110(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff130(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff1b0(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff1bc(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff288(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff2d8(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff318(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff38c(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff3d0(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff3fc(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff43c(void) {} -ARM void MapObjectUnkDRSW::func_ov031_020ff468(void) {} +#if IS_JP + this->mUnk_140 = false; + this->mUnk_141 = false; +#endif + + this->mUnk_8E = true; + this->mUnk_8F = true; + this->mUnk_89 = true; +} + +ARM bool MapObjectUnkDRSW::vfunc_00(void) { + this->mUnk_094.vfunc_08(this->vfunc2_10()); + this->func_ov031_020fbf10(true, true); + + if (this->mUnk_20.mUnk_00[3] == 1) { + this->mUnk_8F = false; + } + +#if IS_JP + if (this->mUnk_20.mUnk_00[2] == 1) { + this->mUnk_141 = true; + } +#endif + + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = -FLOAT_TO_Q20(1.35f); + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); + + this->mUnk_0F4.mUnk_04 &= ~0x01; + this->mUnk_0F4.mUnk_08 = 0x7009; + +#if IS_JP + this->mUnk_118.mUnk_0C.x = -FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_118.mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_18.x = FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_118.mUnk_18.z = FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_04 &= ~0x01; + this->mUnk_118.mUnk_08 = 0x7009; + + if (!this->IsOrientedVertically()) { + this->mUnk_10 = &this->mUnk_0F4; + this->mUnk_140 = true; + } else if (this->mUnk_141) { + this->mUnk_10 = &this->mUnk_118; + this->mUnk_140 = true; + } +#else + if (!this->IsOrientedVertically()) { + this->mUnk_10 = &this->mUnk_0F4; + } +#endif + + return true; +} + +ARM void MapObjectUnkDRSW::vfunc_08(void) { + if (this->mUnk_20.mUnk_00[3] == 2 && data_027e09b8->func_01ffd420()) { + this->MapObjectDoorBase::vfunc_08(); + } else if (this->mUnk_16 == 5 && this->vfunc_6C()) { + this->vfunc_5C(0, 0); + } else { + this->MapObjectDoorBase::vfunc_08(); + } +} + +ARM bool MapObjectUnkDRSW::vfunc_64(void) { + return this->func_ov000_0209d29c(0); +} + +ARM bool MapObjectUnkDRSW::vfunc_6C(void) { + if (this->func_ov000_0209d29c(0)) { + return false; + } + + return true; +} + +ARM void MapObjectUnkDRSW::vfunc_14(void) { + u16 angle = this->mUnk_14; + Mat3p m; + + Mat3p_InitYRotation(&m, SIN(angle), COS(angle)); + + Vec3p local_40(this->mPos); + local_40.y -= this->mUnk_6C * 2; + this->mUnk_094.vfunc_14(&m, &local_40); +} + +ARM void MapObjectUnkDRSW::vfunc_18(s8 *param1, s8 param2) { + this->func_ov031_020fcb78(param1, param2); +} + +ARM void MapObjectUnkDRSW::vfunc_74(void) { + Vec3p local_20(this->mPos); + Vec3p local_2c(0, 0, 0x666); + Mat4x3p m; + u16 angle = this->mUnk_14; + + Mat4x3p_InitYRotation(&m, SIN(angle), COS(angle)); + func_01ffaf74(&local_2c, &m, &local_2c); + Vec3p_Add(&local_20, &local_2c, &local_20); + + data_027e0cec->func_ov000_0209ff8c(&this->mUnk_68, 0x8CF, &local_20, 4); + + if (this->mUnk_68.mUnk_00 != NULL) { + this->mUnk_68.mUnk_00->mUnk_A4 = this->mUnk_14; + } +} + +ARM void *MapObjectUnkDRSW::vfunc2_10(void) { + return GetUnkPointer1(); +} + +ARM void MapObjectUnkDRSW::vfunc_50(void) { +#if IS_JP + if (!this->mUnk_140) { + return; + } + + u16 uVar1 = this->GetDirection(); + + if (!this->IsOrientedVertically()) { + this->mUnkPos = FLOAT_TO_Q20(0.35f); + + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = FLOAT_TO_Q20(0.35f); + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); + return; + } + + if (!this->mUnk_141) { + return; + } + + if (uVar1 == 3) { + this->mUnkPos = FLOAT_TO_Q20(0.35f); + + this->mUnk_118.mUnk_0C.x = FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_118.mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_18.x = FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_118.mUnk_18.z = FLOAT_TO_Q20(1.0f); + } else { + this->mUnkPos = -FLOAT_TO_Q20(0.35f); + + this->mUnk_118.mUnk_0C.x = -FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_118.mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_18.x = -FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_118.mUnk_18.z = FLOAT_TO_Q20(1.0f); + } +#else + this->mUnkPos = FLOAT_TO_Q20(0.35f); + + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = FLOAT_TO_Q20(0.35f); + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); +#endif +} + +ARM void MapObjectUnkDRSW::vfunc_54(void) { + this->func_ov031_020fcf0c(1); + +#if IS_JP + if (!this->mUnk_140) { + return; + } + + u16 uVar1 = this->GetDirection(); + + if (!this->IsOrientedVertically()) { + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnkPos, -FLOAT_TO_Q20(1.35f), func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + q20 temp_118 = this->mUnkPos; + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = temp_118; + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); + return; + } + + if (!this->mUnk_141) { + return; + } + + s16 cond_80 = this->mUnk_80; + + if (uVar1 == 3) { + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnkPos, -FLOAT_TO_Q20(0.35f), func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + this->mUnk_118.mUnk_0C.x = this->mUnkPos; + this->mUnk_118.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_118.mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_18.x = FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_118.mUnk_18.z = FLOAT_TO_Q20(1.0f); + } else { + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnkPos, FLOAT_TO_Q20(0.35f), func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + this->mUnk_118.mUnk_0C.x = -FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_118.mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_18.x = this->mUnkPos; + this->mUnk_118.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_118.mUnk_18.z = FLOAT_TO_Q20(1.0f); + } +#else + if (this->mUnk_80 > 0) { + func_01ff9218(&this->mUnkPos, -FLOAT_TO_Q20(1.35f), func_01ffb464(INT_TO_Q20(this->mUnk_80))); + } + + q20 temp_118 = this->mUnkPos; + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = temp_118; + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); +#endif +} + +ARM void MapObjectUnkDRSW::vfunc_58(void) { +#if IS_JP + if (!this->mUnk_140) { + return; + } + + if (!this->IsOrientedVertically()) { + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = -FLOAT_TO_Q20(1.35f); + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); + } else { + if (this->mUnk_141) { + this->mUnk_118.mUnk_0C.x = -FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_118.mUnk_0C.z = -FLOAT_TO_Q20(1.0f); + + this->mUnk_118.mUnk_18.x = FLOAT_TO_Q20(0.35f); + this->mUnk_118.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_118.mUnk_18.z = FLOAT_TO_Q20(1.0f); + } + } +#else + this->mUnk_0F4.mUnk_0C.x = -FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_0C.y = FLOAT_TO_Q20(0.0f); + this->mUnk_0F4.mUnk_0C.z = -FLOAT_TO_Q20(1.35f); + + this->mUnk_0F4.mUnk_18.x = FLOAT_TO_Q20(1.0f); + this->mUnk_0F4.mUnk_18.y = FLOAT_TO_Q20(2.4f); + this->mUnk_0F4.mUnk_18.z = FLOAT_TO_Q20(0.35f); +#endif +} + +ARM void MapObjectUnkDRSW::vfunc_40(void) { + data_027e09a8->func_ov000_02071b30(0x131, &this->mPos, 0); +} + +ARM void MapObjectUnkDRSW::vfunc_44(void) { + unk32 local_c = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&local_c, 0x130, &this->mPos, 0); +} + +ARM void MapObjectUnkDRSW::vfunc_48(void) { + data_027e09a8->func_ov000_02071b30(0x133, &this->mPos, 0); +} + +ARM void MapObjectUnkDRSW::vfunc_4C(void) { + unk32 local_c = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&local_c, 0x132, &this->mPos, 0); +} ARM MapObjectUnkDRSW::~MapObjectUnkDRSW() {} ARM MapObjectProfileUnkDRSW::~MapObjectProfileUnkDRSW() {} diff --git a/src/031_Land/MapObject/MapObjectUnkDRTC.cpp b/src/031_Land/MapObject/MapObjectUnkDRTC.cpp index 76f426c6..f6209495 100644 --- a/src/031_Land/MapObject/MapObjectUnkDRTC.cpp +++ b/src/031_Land/MapObject/MapObjectUnkDRTC.cpp @@ -1,26 +1,55 @@ -//! TODO: This file was generated automatically and might contain errors - #include "MapObject/MapObjectUnkDRTC.hpp" #include "System/SysNew.hpp" +#include "Unknown/Common.hpp" +#include "Unknown/UnkStruct_027e09a8.hpp" + +extern u32 data_ov031_02110c3c[]; ARM DECL_PROFILE(MapObjectProfileUnkDRTC); ARM MapObject *MapObjectProfileUnkDRTC::Create() { - return new(HeapIndex_2) MapObjectUnkDRTC(); + return new(HeapIndex_ITCM) MapObjectUnkDRTC(); } ARM MapObjectProfileUnkDRTC::MapObjectProfileUnkDRTC() : - MapObjectProfile(MapObjectId_DRTC) {} + MapObjectProfile_Derived1(MapObjectId_DRTC, -1, 0) { + this->mUnk_06 = -1; + this->mUnk_1E &= ~0x01; +} -ARM MapObjectUnkDRTC::MapObjectUnkDRTC() {} +ARM MapObjectUnkDRTC::MapObjectUnkDRTC() { + this->mUnk_18[0] = 0x0F; +} -ARM void MapObjectUnkDRTC::func_ov031_021002fc(void) {} -ARM void MapObjectUnkDRTC::func_ov031_02100314(void) {} -ARM void MapObjectUnkDRTC::func_ov031_021003a0(void) {} -ARM void MapObjectUnkDRTC::func_ov031_021003c8(void) {} -ARM void MapObjectUnkDRTC::func_ov031_0210040c(void) {} -ARM void MapObjectUnkDRTC::func_ov031_02100410(void) {} -ARM void MapObjectUnkDRTC::func_ov031_02100414(void) {} +ARM bool MapObjectUnkDRTC::vfunc_00(void) { + this->MapObjectUnkDRCK::vfunc_00(); + this->mUnk_88 = true; + return true; +} + +ARM void MapObjectUnkDRTC::vfunc2_10(void) { + MapObjectProfileUnkDRTC *p = GET_PROFILE(MapObjectProfileUnkDRTC); + unk32 index = this->mUnk_20.mUnk_00[0]; + this->mUnk_94.vfunc_08(GetUnkPointer2(index, data_ov031_02110c3c[index])); +} + +ARM void MapObjectUnkDRTC::vfunc_40(void) { + data_027e09a8->func_ov000_02071b30(0x148, &this->mPos, 0); +} + +ARM void MapObjectUnkDRTC::vfunc_44(void) { + unk32 local_c = *(u32 *) &this->mUnk_38; + data_027e09a8->func_ov000_02071d34(&local_c, 0x147, &this->mPos, 0); +} + +ARM void MapObjectUnkDRTC::vfunc_48(void) {} + +ARM void MapObjectUnkDRTC::vfunc_4C(void) {} + +ARM void MapObjectUnkDRTC::vfunc2_18(void) { + data_027e09a8->func_ov000_02071b30(0x146, &this->mPos, 0); +} ARM MapObjectUnkDRTC::~MapObjectUnkDRTC() {} + ARM MapObjectProfileUnkDRTC::~MapObjectProfileUnkDRTC() {} diff --git a/src/110_PlayerGet/PlayerGet.cpp b/src/110_PlayerGet/PlayerGet.cpp index 7e412935..ed168a2b 100644 --- a/src/110_PlayerGet/PlayerGet.cpp +++ b/src/110_PlayerGet/PlayerGet.cpp @@ -6,6 +6,7 @@ #include "MapObject/MapObjectManager.hpp" #include "Player/PlayerGet.hpp" #include "System/OverlayManager.hpp" +#include "Unknown/Common.hpp" #include "Unknown/UnkStruct_020d8698.hpp" #include "Unknown/UnkStruct_027e09a4.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" @@ -42,18 +43,8 @@ extern "C" void func_02015664(char *, unk32); extern "C" void func_020156c8(char *, char *, unk32); extern "C" void func_020156f4(char *); extern "C" void func_02015644(char *); -struct func_ov000_0205abcc_ret { - unk32 mUnk_00; - unk32 mUnk_04; - unk8 mUnk_08; - unk8 mUnk_09; - unk8 mUnk_0A; - unk8 mUnk_0B; - unk8 mUnk_0C; - unk8 mUnk_0D; - unk8 mUnk_0E; -}; -extern "C" func_ov000_0205abcc_ret *func_ov000_0205abcc(char *, char *, unk32, unk32, unk32); + +extern "C" UnkResourceStruct *func_ov000_0205abcc(char *, char *, unk32, unk32, unk32); extern "C" unk32 func_ov000_02077590(unk32); static const unk32 data_ov110_02185dc4[1] = {8}; @@ -387,36 +378,20 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) { auStack_64[1] = 0; strncpy((char *) acStack_a6, (char *) acStack_e0, 0x3f); len = strlen((char *) acStack_a6); - // strncpy((char *) acStack_a6 + len, ".nsbmd", 0x3f - len); + strncpy((char *) acStack_a6 + len, ".nsbmd", 0x3f - len); func_02015628((char *) auStack_64, (char *) acStack_a6, 0, &data_ov110_02186240, sizeof(UnkStruct_02186240)); func_02015664((char *) auStack_64, 0x10); strncpy((char *) acStack_a6, (char *) acStack_e0, 0x3f); len = strlen((char *) acStack_a6); - // strncpy((char *) acStack_a6 + len, ".nsbtx", 0x3f - len); + strncpy((char *) acStack_a6 + len, ".nsbtx", 0x3f - len); func_020156c8((char *) auStack_48, (char *) acStack_a6, 0); - void *var_r1_3; unk32 var_r1_2; - func_ov000_0205abcc_ret *ret = + UnkResourceStruct *ret = func_ov000_0205abcc((char *) auStack_64, (char *) auStack_48, 0, 1, this->mUnk_30->mUnk_24); - if (ret != NULL) { - if (ret->mUnk_08 != 0 && ret->mUnk_09 > 0) { - var_r1_2 = ret->mUnk_08 + ret->mUnk_0E + 4; - } else { - var_r1_2 = 0; - } - if (var_r1_2 != 0) { - var_r1_3 = ret + var_r1_2; - } else { - var_r1_3 = NULL; - } - } else { - var_r1_3 = NULL; - } - - this->mUnk_8C.vfunc_08((unk32) var_r1_3); + this->mUnk_8C.vfunc_08(GetUnkPointer1_Impl(ret)); func_020156f4((char *) auStack_48); func_02015644((char *) auStack_64); } @@ -494,7 +469,7 @@ ARM void PlayerGet::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) { } } -const UnkStruct_ov110_021861ec data_ov110_021861ec = UnkStruct_ov110_021861ec(0x5E3, 0x152D, 0xCD); +const UnkStruct_ov110_021861ec data_ov110_021861ec(0x5E3, 0x152D, 0xCD); ARM void PlayerGet::vfunc_10(unk32 param1, unk32 param2) { unk32 var_r1; @@ -790,9 +765,8 @@ ARM void PlayerGet::vfunc_18(unk32 param1, unk32 param2, unk32 param3) { } } -ARM UnkStruct_PlayerGet_ec::UnkStruct_PlayerGet_ec() { - this->mUnk_00 = 0; -} +ARM UnkStruct_PlayerGet_ec::UnkStruct_PlayerGet_ec() : + UnkSystem7(NULL) {} // non-matching THUMB void UnkStruct_027e0ce0_34::func_ov110_02185d3c(ItemId itemId) { diff --git a/src/112_PlayerSceneChange/PlayerSceneChange.cpp b/src/112_PlayerSceneChange/PlayerSceneChange.cpp index 5a8446c1..9f30dc4e 100644 --- a/src/112_PlayerSceneChange/PlayerSceneChange.cpp +++ b/src/112_PlayerSceneChange/PlayerSceneChange.cpp @@ -71,7 +71,6 @@ extern q4 data_0203feb0[]; extern "C" void func_01ffb714(Vec3p *, Vec3p *, void *); extern "C" void func_01ff9638(void *, s16); extern "C" void func_01ff9770(void *); -extern "C" void func_ov000_02072fd0(void *); extern unk32 data_ov000_020b3000; extern "C" bool func_ov000_02080998(Vec3p *); extern "C" void func_01ff930c(UnkStruct_ov000_0208f820_40 *, unk16, unk32); @@ -79,6 +78,10 @@ extern "C" void func_01ff930c(UnkStruct_ov000_0208f820_40 *, unk16, unk32); // https://decomp.me/scratch/c7PhN ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1) { q4 *pSinCosTable = gSinCosTable; + UnkStruct_func_01fff498 stack4; + s16 stack3; + UnkStruct_func_01fff498 stack2; + UnkStackStruct1 stack; switch (param1->mUnk_04) { case 0x3C: { @@ -144,11 +147,10 @@ ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1 break; default: if (this->mUnk_2C->mUnk_150 == 0x1000) { - UnkStruct_func_01fff498 stack; - stack.ptrIndex = this->mUnk_2C->mUnk_150 >> 0x10; - stack.valueIndex = 0; + stack2.ptrIndex = this->mUnk_2C->mUnk_150 >> 0x10; + stack2.valueIndex = 0; - MapObjectUnkDRTY *pDRTY = (MapObjectUnkDRTY *) gpMapObjManager->func_01fff498(stack); + MapObjectUnkDRTY *pDRTY = (MapObjectUnkDRTY *) gpMapObjManager->func_01fff498(stack2); if (pDRTY != NULL) { pDRTY->func_ov000_0209d6ac((Vec3p *) &this->mUnk_70); @@ -193,9 +195,8 @@ ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1 break; } - s16 stack; - func_ov000_0205d65c(&stack, this->mUnk_34, (Vec3p *) &this->mUnk_70, this->mUnk_40->mUnk_00); - this->mUnk_40->mUnk_00 = stack; + func_ov000_0205d65c(&stack3, this->mUnk_34, (Vec3p *) &this->mUnk_70, this->mUnk_40->mUnk_00); + this->mUnk_40->mUnk_00 = stack3; switch (this->mUnk_68) { case 0x11: @@ -286,11 +287,10 @@ ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1 return; } - UnkStruct_func_01fff498 stack; - stack.ptrIndex = this->mUnk_8C >> 16; - stack.valueIndex = 0; + stack4.ptrIndex = this->mUnk_8C >> 16; + stack4.valueIndex = 0; - MapObject *target = gpMapObjManager->func_01fff498(stack); + MapObject *target = gpMapObjManager->func_01fff498(stack4); if (target != NULL && target->GetMapObjectId() == MapObjectId_WPHL) { func_ov034_02121de4(target); } @@ -332,20 +332,12 @@ ARM void PlayerSceneChange::vfunc_0c(UnkStruct_PlayerGet_vfunc_0c_param1 *param1 Actor **ppAVar12 = gpActorManager->func_01fff350(&local_9c, gpActorManager->mActorTable); if (ppAVar12 == gpActorManager->mUnk_08) { - struct { - unk8 mUnk_04; - unk8 pad[4]; - unk32 mUnk_00; - unk8 pad2[38]; - unk8 mUnk_05; - unk8 mUnk_06; - } stack; func_ov000_02072fd0(&stack); - stack.mUnk_00 = -1; - stack.mUnk_04 = 0x6C; - stack.mUnk_05 = 0; - stack.mUnk_06 = 0; - this->mUnk_98 = data_027e09b8->func_ov000_02073388(&stack); + stack.mUnk_08 = -1; + stack.mUnk_00 = 0x6C; + stack.mUnk_3A = 0; + stack.mUnk_3B = 0; + this->mUnk_98 = data_027e09b8->func_ov000_02073388(&stack, 0); } } diff --git a/src/ITCM/ITCM_MapObjectManager.cpp b/src/ITCM/ITCM_MapObjectManager.cpp index ce130268..a18d3ad2 100644 --- a/src/ITCM/ITCM_MapObjectManager.cpp +++ b/src/ITCM/ITCM_MapObjectManager.cpp @@ -29,15 +29,16 @@ void MapObjectManager::func_01fff4cc(UnkCallback_func_01fff4cc param1, void *par } } +// non-matching MapObject **MapObjectManager::func_01fff520(UnkStruct_ov000_020b34c4 *param1, MapObject **param2) { MapObject **ptr = param2; while (ptr != this->mUnk_08) { MapObject *ptr2 = *ptr; if (ptr2 != NULL && GET_FLAG((ptr2)->mFlags, MapObjFlag_Alive)) { + UnkStruct_ov000_020b34c4_Callback cb = *param1->mUnk_00; - //! TODO: fake match - if (param1->vfunc_00(ptr2)) { + if ((*cb)(param1, ptr2)) { break; } } diff --git a/tools/configure.py b/tools/configure.py index 921667e6..3c8cf544 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -394,6 +394,7 @@ config.libs = [ Object("031_Land/Actor/ActorUnkTGTZ.cpp"), Object("031_Land/Actor/ActorUnkTLKT.cpp"), Object("031_Land/Actor/ActorUnkZLSL_ZSRS.cpp"), + Object("031_Land/MapObject/MapObjectDoorBase.cpp"), Object("031_Land/MapObject/MapObjectUnkBLCC.cpp"), Object("031_Land/MapObject/MapObjectUnkBMFL.cpp"), Object("031_Land/MapObject/MapObjectUnkBREX.cpp"),