Decompile MapObjectProfile (#52)

* delink mapobj profile

* match base mapobjectprofile classes

* match other sections (+ accidental mapobject ctor match)
This commit is contained in:
Yanis
2026-04-16 20:57:17 +02:00
committed by GitHub
parent 754eb10308
commit 34ef65d030
28 changed files with 716 additions and 346 deletions
@@ -57,6 +57,19 @@ src/000_Second/Actor/ActorUnkEFIK.cpp:
.data start:0x020b342c end:0x020b34b0
.bss start:0x020b5ce4 end:0x020b5d30
src/000_Second/MapObject/MapObjectProfile.cpp:
complete
.text start:0x0209c790 end:0x0209ce08
.init start:0x020b0928 end:0x020b0950
.ctor start:0x020b1918 end:0x020b191c
.data start:0x020b34c8 end:0x020b3560
.bss start:0x020b5d30 end:0x020b6114
src/000_Second/MapObject/MapObjectProfile_Derived2_20.cpp:
complete
.text start:0x0209ce08 end:0x0209cfe0
.data start:0x020b3560 end:0x020b3588
src/000_Second/MapObject/MapObject.cpp:
.text start:0x0209cfe0 end:0x0209d700
.data start:0x020b3588 end:0x020b35c8
+14 -14
View File
@@ -7079,11 +7079,11 @@ from:0x0209c7e8 kind:arm_call to:0x02028c4c module:main
from:0x0209c7f8 kind:arm_call to:0x02028c18 module:main
from:0x0209c80c kind:arm_call to:0x02028c18 module:main
from:0x0209c89c kind:arm_call to:0x0209c790 module:overlay(0)
from:0x0209c8ac kind:load to:0x020b3524 module:overlay(0)
from:0x0209c8ac kind:load to:0x020b351c add:0x8 module:overlay(0)
from:0x0209c8b0 kind:load to:0x020af4d4 module:overlay(0)
from:0x0209c8c4 kind:arm_call to:0x0209c970 module:overlay(0)
from:0x0209c8cc kind:arm_call to:0x0209c7ac module:overlay(0)
from:0x0209c8d8 kind:load to:0x020b3524 module:overlay(0)
from:0x0209c8d8 kind:load to:0x020b351c add:0x8 module:overlay(0)
from:0x0209c910 kind:arm_call to:0x0209c6b8 module:overlay(0)
from:0x0209c914 kind:arm_call to:0x0209c8ec module:overlay(0)
from:0x0209c928 kind:arm_call to:0x020974dc module:overlay(0)
@@ -7091,33 +7091,33 @@ from:0x0209c954 kind:load to:0x020b5d34 module:overlay(0)
from:0x0209c958 kind:load to:0x020b539c module:overlay(0)
from:0x0209c9b4 kind:arm_call to:0x0209c828 module:overlay(0)
from:0x0209c9c8 kind:arm_call to:0x0209ce08 module:overlay(0)
from:0x0209c9d4 kind:load to:0x020b3508 module:overlay(0)
from:0x0209c9d4 kind:load to:0x020b3500 add:0x8 module:overlay(0)
from:0x0209c9f8 kind:arm_call to:0x0209ce78 module:overlay(0)
from:0x0209ca00 kind:arm_call to:0x0209c8b4 module:overlay(0)
from:0x0209ca0c kind:load to:0x020b3508 module:overlay(0)
from:0x0209ca0c kind:load to:0x020b3500 add:0x8 module:overlay(0)
from:0x0209ca30 kind:arm_call to:0x0209cfdc module:overlay(0)
from:0x0209ca48 kind:arm_call_thumb to:0x020586b4 module:overlay(0)
from:0x0209ca50 kind:arm_call to:0x02058ab0 module:overlay(0)
from:0x0209ca70 kind:arm_call_thumb to:0x02058914 module:overlay(0)
from:0x0209ca84 kind:load to:0x020589e5 module:overlay(0)
from:0x0209ca94 kind:arm_call to:0x0209c828 module:overlay(0)
from:0x0209cab4 kind:load to:0x020b34ec module:overlay(0)
from:0x0209cab4 kind:load to:0x020b34e4 add:0x8 module:overlay(0)
from:0x0209cad0 kind:arm_call to:0x0209c6b8 module:overlay(0)
from:0x0209cae8 kind:load to:0x020b5d34 module:overlay(0)
from:0x0209caf4 kind:arm_call to:0x0209c9a8 module:overlay(0)
from:0x0209cb08 kind:load to:0x020b34d0 module:overlay(0)
from:0x0209cb08 kind:load to:0x020b34c8 add:0x8 module:overlay(0)
from:0x0209cb2c kind:arm_call_thumb to:0x020589e4 module:overlay(0)
from:0x0209cb34 kind:arm_call to:0x0209c9d8 module:overlay(0)
from:0x0209cb40 kind:load to:0x020b34d0 module:overlay(0)
from:0x0209cb40 kind:load to:0x020b34c8 add:0x8 module:overlay(0)
from:0x0209cb5c kind:arm_call to:0x0209c828 module:overlay(0)
from:0x0209cb98 kind:load to:0x020b3540 module:overlay(0)
from:0x0209cb98 kind:load to:0x020b3538 add:0x8 module:overlay(0)
from:0x0209cc10 kind:arm_call to:0x0209c8b4 module:overlay(0)
from:0x0209cc1c kind:load to:0x020b3540 module:overlay(0)
from:0x0209cc1c kind:load to:0x020b3538 add:0x8 module:overlay(0)
from:0x0209cc68 kind:arm_call to:0x0209c8b4 module:overlay(0)
from:0x0209cc70 kind:arm_call to:0x02011ff4 module:main
from:0x0209cc7c kind:load to:0x020b3540 module:overlay(0)
from:0x0209cc7c kind:load to:0x020b3538 add:0x8 module:overlay(0)
from:0x0209ccc8 kind:arm_call to:0x0209c8b4 module:overlay(0)
from:0x0209ccd4 kind:load to:0x020b3540 module:overlay(0)
from:0x0209ccd4 kind:load to:0x020b3538 add:0x8 module:overlay(0)
from:0x0209cd0c kind:arm_call to:0x02011f3c module:main
from:0x0209cd1c kind:arm_call to:0x0209ce08 module:overlay(0)
from:0x0209cd34 kind:arm_call to:0x0209cfdc module:overlay(0)
@@ -7129,18 +7129,18 @@ from:0x0209ce34 kind:arm_call_thumb to:0x02058540 module:overlay(0)
from:0x0209ce4c kind:arm_call_thumb to:0x02015538 module:main
from:0x0209ce60 kind:arm_call to:0x02015ea8 module:main
from:0x0209ce70 kind:load to:0x020b3570 module:overlay(0)
from:0x0209ce74 kind:load to:0x020b3568 module:overlay(0)
from:0x0209ce74 kind:load to:0x020b3560 add:0x8 module:overlay(0)
from:0x0209ce88 kind:arm_call_thumb to:0x020589e4 module:overlay(0)
from:0x0209ce90 kind:arm_call to:0x0209cfac module:overlay(0)
from:0x0209ce98 kind:arm_call_thumb to:0x0201556c module:main
from:0x0209cea0 kind:arm_call_thumb to:0x0205866c module:overlay(0)
from:0x0209ceac kind:load to:0x020b3568 module:overlay(0)
from:0x0209ceac kind:load to:0x020b3560 add:0x8 module:overlay(0)
from:0x0209cec0 kind:arm_call_thumb to:0x020589e4 module:overlay(0)
from:0x0209cec8 kind:arm_call to:0x0209cfac module:overlay(0)
from:0x0209ced0 kind:arm_call_thumb to:0x0201556c module:main
from:0x0209ced8 kind:arm_call_thumb to:0x0205866c module:overlay(0)
from:0x0209cee0 kind:arm_call to:0x02011ff4 module:main
from:0x0209ceec kind:load to:0x020b3568 module:overlay(0)
from:0x0209ceec kind:load to:0x020b3560 add:0x8 module:overlay(0)
from:0x0209cf14 kind:arm_call to:0x02034060 module:main
from:0x0209cf1c kind:arm_call to:0x02033f7c module:main
from:0x0209cf30 kind:arm_call to:0x02034060 module:main
+61 -61
View File
@@ -144,20 +144,20 @@ _ZN19func_ov000_02058390D0Ev kind:function(arm,size=0x1c) addr:0x02058390
_ZN19func_ov000_020583acD2Ev kind:function(arm,size=0x14) addr:0x020583ac
func_ov000_020583c0 kind:function(arm,size=0x138) addr:0x020583c0
func_ov000_020584f8 kind:function(arm,size=0x48) addr:0x020584f8
func_ov000_02058540 kind:function(thumb,size=0x84) addr:0x02058540
_ZN33MapObjectProfile_Derived2_20_BaseC2EPKcPvS2_S2_ii kind:function(thumb,size=0x84) addr:0x02058540
func_ov000_020585c4 kind:function(thumb,size=0x14) addr:0x020585c4
func_ov000_020585d8 kind:function(thumb,size=0x48) addr:0x020585d8
_ZN19func_ov000_02058620D0Ev kind:function(thumb,size=0x4c) addr:0x02058620
func_ov000_0205866c kind:function(thumb,size=0x48) addr:0x0205866c
func_ov000_020586b4 kind:function(thumb,size=0x23c) addr:0x020586b4
func_ov000_020588f0 kind:function(thumb,size=0x10) addr:0x020588f0
func_ov000_02058900 kind:function(thumb,size=0x12) addr:0x02058900
func_ov000_02058914 kind:function(thumb,size=0xd0) addr:0x02058914
func_ov000_020589e4 kind:function(thumb,size=0x40) addr:0x020589e4
_ZN28MapObjectProfile_Derived2_2019func_ov000_02058a24Ev kind:function(arm,size=0x34) addr:0x02058a24
func_ov000_02058a58 kind:function(arm,size=0x2c) addr:0x02058a58
_ZN28MapObjectProfile_Derived2_2019func_ov000_02058a84EiPKc kind:function(arm,size=0x2c) addr:0x02058a84
func_ov000_02058ab0 kind:function(arm,size=0xe8) addr:0x02058ab0
_ZN33MapObjectProfile_Derived2_20_BaseD1Ev kind:function(thumb,size=0x48) addr:0x020585d8
_ZN33MapObjectProfile_Derived2_20_BaseD0Ev kind:function(thumb,size=0x4c) addr:0x02058620
_ZN33MapObjectProfile_Derived2_20_BaseD2Ev kind:function(thumb,size=0x48) addr:0x0205866c
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_020586b4Eiiii kind:function(thumb,size=0x23c) addr:0x020586b4
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_020588f0Ev kind:function(thumb,size=0x10) addr:0x020588f0
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058900Ev kind:function(thumb,size=0x12) addr:0x02058900
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058914Ei kind:function(thumb,size=0xd0) addr:0x02058914
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_020589e4Ev kind:function(thumb,size=0x40) addr:0x020589e4
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058a24Ev kind:function(arm,size=0x34) addr:0x02058a24
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058a58Ev kind:function(arm,size=0x2c) addr:0x02058a58
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058a84EiPKc kind:function(arm,size=0x2c) addr:0x02058a84
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058ab0Ev kind:function(arm,size=0xe8) addr:0x02058ab0
func_ov000_02058b98 kind:function(thumb,size=0x1c) addr:0x02058b98
func_ov000_02058bb4 kind:function(arm,size=0x34) addr:0x02058bb4
func_ov000_02058be8 kind:function(arm,size=0x14) addr:0x02058be8
@@ -2494,43 +2494,43 @@ _ZN12ActorUnkEFIKD0Ev kind:function(arm,size=0x28) addr:0x0209c30c
_ZN19ActorProfileUnkEFIKD1Ev kind:function(arm,size=0x14) addr:0x0209c334
func_ov000_0209c348 kind:function(arm,size=0x24) addr:0x0209c348
func_ov000_0209c36c kind:function(arm,size=0x3c) addr:0x0209c36c
func_ov000_0209c3a8 kind:function(arm,size=0x40) addr:0x0209c3a8
func_ov000_0209c3e8 kind:function(arm,size=0x5c) addr:0x0209c3e8
func_ov000_0209c444 kind:function(arm,size=0x4c) addr:0x0209c444
func_ov000_0209c490 kind:function(arm,size=0x94) addr:0x0209c490
func_ov000_0209c524 kind:function(arm,size=0x17c) addr:0x0209c524
_ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0x0209c3a8
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209c3e8
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209c444
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209c490
_ZN16MapObjectManager19func_ov000_0209c524Ev kind:function(arm,size=0x17c) addr:0x0209c524
func_ov000_0209c6a0 kind:function(arm,size=0xc) addr:0x0209c6a0
func_ov000_0209c6ac kind:function(arm,size=0xc) addr:0x0209c6ac
func_ov000_0209c6b8 kind:function(arm,size=0x38) addr:0x0209c6b8
func_ov000_0209c6f0 kind:function(arm,size=0x28) addr:0x0209c6f0
func_ov000_0209c718 kind:function(arm,size=0x78) addr:0x0209c718
func_ov000_0209c790 kind:function(arm,size=0x1c) addr:0x0209c790
func_ov000_0209c7ac kind:function(arm,size=0x1c) addr:0x0209c7ac
func_ov000_0209c7c8 kind:function(arm,size=0x58) addr:0x0209c7c8
func_ov000_0209c820 kind:function(arm,size=0x8) addr:0x0209c820
func_ov000_0209c828 kind:function(arm,size=0x8c) addr:0x0209c828
func_ov000_0209c8b4 kind:function(arm,size=0x28) addr:0x0209c8b4
func_ov000_0209c8dc kind:function(arm,size=0x8) addr:0x0209c8dc
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6b8Ei kind:function(arm,size=0x38) addr:0x0209c6b8
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6f0Ev kind:function(arm,size=0x28) addr:0x0209c6f0
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209c718
_ZN12MapObject_2019func_ov000_0209c790EjP16MapObjectProfile kind:function(arm,size=0x1c) addr:0x0209c790
_ZN12MapObject_2019func_ov000_0209c7acEj kind:function(arm,size=0x1c) addr:0x0209c7ac
_ZN12MapObject_2019func_ov000_0209c7c8Ev kind:function(arm,size=0x58) addr:0x0209c7c8
_ZN16MapObjectProfile19func_ov000_0209c820Ev kind:function(arm,size=0x8) addr:0x0209c820
_ZN16MapObjectProfileC2Ej kind:function(arm,size=0x8c) addr:0x0209c828
_ZN16MapObjectProfileD2Ev kind:function(arm,size=0x28) addr:0x0209c8b4
_ZN16MapObjectProfile8vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209c8dc
_ZN16MapObjectProfile19func_ov000_0209c8e4EP12MapObject_20 kind:function(arm,size=0x8) addr:0x0209c8e4
func_ov000_0209c8ec kind:function(arm,size=0x70) addr:0x0209c8ec
func_ov000_0209c95c kind:function(arm,size=0x14) addr:0x0209c95c
func_ov000_0209c970 kind:function(arm,size=0x2c) addr:0x0209c970
func_ov000_0209c99c kind:function(arm,size=0x4) addr:0x0209c99c
func_ov000_0209c9a0 kind:function(arm,size=0x4) addr:0x0209c9a0
func_ov000_0209c9a4 kind:function(arm,size=0x4) addr:0x0209c9a4
_ZN16MapObjectProfile19func_ov000_0209c8ecEPS_ kind:function(arm,size=0x70) addr:0x0209c8ec
_ZN16MapObjectProfile19func_ov000_0209c95cEv kind:function(arm,size=0x14) addr:0x0209c95c
_ZN16MapObjectProfile19func_ov000_0209c970Ev kind:function(arm,size=0x2c) addr:0x0209c970
_ZN16MapObjectProfile8vfunc_08Ev kind:function(arm,size=0x4) addr:0x0209c99c
_ZN16MapObjectProfile8vfunc_0CEv kind:function(arm,size=0x4) addr:0x0209c9a0
_ZN16MapObjectProfile8vfunc_10Ev kind:function(arm,size=0x4) addr:0x0209c9a4
_ZN25MapObjectProfile_Derived2C2Ejj kind:function(arm,size=0x30) addr:0x0209c9a8
_ZN25MapObjectProfile_Derived2D2Ev kind:function(arm,size=0x38) addr:0x0209c9d8
_ZN25MapObjectProfile_Derived28vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209ca10
_ZN25MapObjectProfile_Derived28vfunc_08Ev kind:function(arm,size=0x40) addr:0x0209ca18
_ZN25MapObjectProfile_Derived28vfunc_0CEv kind:function(arm,size=0x20) addr:0x0209ca58
_ZN25MapObjectProfile_Derived28vfunc_10Ev kind:function(arm,size=0x10) addr:0x0209ca78
func_ov000_0209ca88 kind:function(arm,size=0x30) addr:0x0209ca88
func_ov000_0209cab8 kind:function(arm,size=0x8) addr:0x0209cab8
func_ov000_0209cac0 kind:function(arm,size=0x2c) addr:0x0209cac0
func_ov000_0209caec kind:function(arm,size=0x20) addr:0x0209caec
func_ov000_0209cb0c kind:function(arm,size=0x38) addr:0x0209cb0c
func_ov000_0209cb44 kind:function(arm,size=0x4) addr:0x0209cb44
func_ov000_0209cb48 kind:function(arm,size=0x4) addr:0x0209cb48
_ZN25MapObjectProfile_Derived3C2Ejj kind:function(arm,size=0x30) addr:0x0209ca88
_ZN25MapObjectProfile_Derived38vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209cab8
_ZN25MapObjectProfile_Derived38vfunc_08Ev kind:function(arm,size=0x2c) addr:0x0209cac0
_ZN25MapObjectProfile_Derived4C2Ejj kind:function(arm,size=0x20) addr:0x0209caec
_ZN25MapObjectProfile_Derived4D2Ev kind:function(arm,size=0x38) addr:0x0209cb0c
_ZN25MapObjectProfile_Derived48vfunc_08Ev kind:function(arm,size=0x4) addr:0x0209cb44
_ZN25MapObjectProfile_Derived48vfunc_0CEv kind:function(arm,size=0x4) addr:0x0209cb48
_ZN25MapObjectProfile_Derived1C2Ejii kind:function(arm,size=0x50) addr:0x0209cb4c
_ZN25MapObjectProfile_Derived18vfunc_04Ev kind:function(arm,size=0x18) addr:0x0209cb9c
_ZN25MapObjectProfile_Derived18vfunc_1CEi kind:function(arm,size=0x14) addr:0x0209cbb4
@@ -2541,12 +2541,12 @@ _ZN25MapObjectProfile_Derived119func_ov000_0209ccd8Eij kind:function(arm,size=0x
_ZN25MapObjectProfile_Derived18vfunc_08Ev kind:function(arm,size=0x1c) addr:0x0209cd60
_ZN25MapObjectProfile_Derived18vfunc_0CEv kind:function(arm,size=0x44) addr:0x0209cd7c
_ZN25MapObjectProfile_Derived18vfunc_10Ev kind:function(arm,size=0x48) addr:0x0209cdc0
func_ov000_0209ce08 kind:function(arm,size=0x70) addr:0x0209ce08
_ZN19func_ov000_0209ce78D1Ev kind:function(arm,size=0x38) addr:0x0209ce78
_ZN19func_ov000_0209ceb0D0Ev kind:function(arm,size=0x40) addr:0x0209ceb0
func_ov000_0209cef0 kind:function(arm,size=0xbc) addr:0x0209cef0
func_ov000_0209cfac kind:function(arm,size=0x30) addr:0x0209cfac
func_ov000_0209cfdc kind:function(arm,size=0x4) addr:0x0209cfdc
_ZN28MapObjectProfile_Derived2_20C1Ej kind:function(arm,size=0x70) addr:0x0209ce08
_ZN28MapObjectProfile_Derived2_20D1Ev kind:function(arm,size=0x38) addr:0x0209ce78
_ZN28MapObjectProfile_Derived2_20D0Ev kind:function(arm,size=0x40) addr:0x0209ceb0
_ZN28MapObjectProfile_Derived2_2019func_ov000_0209cef0Ev kind:function(arm,size=0xbc) addr:0x0209cef0
_ZN28MapObjectProfile_Derived2_2019func_ov000_0209cfacEv kind:function(arm,size=0x30) addr:0x0209cfac
_ZN28MapObjectProfile_Derived2_2019func_ov000_0209cfdcEii kind:function(arm,size=0x4) addr:0x0209cfdc
_ZN9MapObjectC2Ev kind:function(arm,size=0xb4) addr:0x0209cfe0
_ZN9MapObjectD1Ev kind:function(arm,size=0x4) addr:0x0209d094
_ZN9MapObjectD0Ev kind:function(arm,size=0x14) addr:0x0209d098
@@ -3351,7 +3351,7 @@ __sinit_ActorUnkSWOB.cpp kind:function(arm,size=0x50) addr:0x020b07e8
__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_ov000_020b0928 kind:function(arm,size=0x28) addr:0x020b0928
__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_ov000_020b09fc kind:function(arm,size=0x9e8) addr:0x020b09fc
@@ -3386,7 +3386,7 @@ __sinit_ov000_020b18a0 kind:function(arm,size=0x14) addr:0x020b18a0
.p__sinit_ActorUnkSWTM.cpp kind:data(word) addr:0x020b190c
.p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020b1910 local
.p__sinit_ActorUnkEFIK.cpp kind:data(word) addr:0x020b1914 local
.p__sinit_ov000_020b0928 kind:data(word) addr:0x020b1918
.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_ov000_020b09fc kind:data(word) addr:0x020b1924
@@ -3685,15 +3685,15 @@ _ZTV19ActorProfileUnkEFIK kind:data(any) addr:0x020b342c
_ZTV12ActorUnkEFIK kind:data(any) addr:0x020b3450
data_ov000_020b34b8 kind:data(any) addr:0x020b34b0
data_ov000_020b34c4 kind:data(any) addr:0x020b34c4
data_ov000_020b34d0 kind:data(any) addr:0x020b34d0
data_ov000_020b34ec kind:data(any) addr:0x020b34ec
data_ov000_020b3508 kind:data(any) addr:0x020b3508
data_ov000_020b3524 kind:data(any) addr:0x020b3524
data_ov000_020b3540 kind:data(any) addr:0x020b3540
data_ov000_020b3568 kind:data(any) addr:0x020b3568
data_ov000_020b3570 kind:data(any) addr:0x020b3570
data_ov000_020b3578 kind:data(any) addr:0x020b3578
data_ov000_020b3580 kind:data(any) addr:0x020b3580
_ZTV25MapObjectProfile_Derived4 kind:data(any) addr:0x020b34c8
_ZTV25MapObjectProfile_Derived3 kind:data(any) addr:0x020b34e4
_ZTV25MapObjectProfile_Derived2 kind:data(any) addr:0x020b3500
_ZTV16MapObjectProfile kind:data(any) addr:0x020b351c
_ZTV25MapObjectProfile_Derived1 kind:data(any) addr:0x020b3538
_ZTV28MapObjectProfile_Derived2_20 kind:data(any) addr:0x020b3560
@1608 kind:data(byte[7]) addr:0x020b3570 local
@1626 kind:data(byte[8]) addr:0x020b3578 local
@1627 kind:data(byte[5]) addr:0x020b3580 local
_ZTV9MapObject kind:data(any) addr:0x020b3588
data_ov000_020b35d0 kind:data(any) addr:0x020b35c8
data_ov000_020b3630 kind:data(any) addr:0x020b3630
@@ -4044,7 +4044,7 @@ data_ov000_020b5380 kind:bss addr:0x020b5380
data_ov000_020b5388 kind:bss addr:0x020b5388
data_ov000_020b5390 kind:bss addr:0x020b5390
data_ov000_020b5398 kind:bss addr:0x020b5398
data_ov000_020b539c kind:bss addr:0x020b539c
data_ov000_020b539c_eur kind:bss addr:0x020b539c
data_ov000_020b53d0 kind:bss addr:0x020b53d0
_ZGVN15ProfileInstanceI19ActorProfileUnkSWOBE8sProfileE kind:bss addr:0x020b5bfc
@10033 kind:bss addr:0x020b5c00
@@ -4059,8 +4059,8 @@ _ZN15ProfileInstanceI21ActorProfileEventIconE8sProfileE kind:bss addr:0x020b5ca8
_ZGVN15ProfileInstanceI19ActorProfileUnkEFIKE8sProfileE kind:bss addr:0x020b5ce4
@10051 kind:bss addr:0x020b5ce8 local
_ZN15ProfileInstanceI19ActorProfileUnkEFIKE8sProfileE kind:bss addr:0x020b5cf4
data_ov000_020b5d30 kind:bss addr:0x020b5d30
data_ov000_020b5d34 kind:bss addr:0x020b5d34
_ZGVN33UnkStruct_ov000_020b5d34_InstanceI24UnkStruct_ov000_020b5d34E19data_ov000_020b5d34E kind:bss addr:0x020b5d30
_ZN33UnkStruct_ov000_020b5d34_InstanceI24UnkStruct_ov000_020b5d34E19data_ov000_020b5d34E kind:bss addr:0x020b5d34
data_ov000_020b5d3c kind:bss addr:0x020b5d3c
_ZGVN15ProfileInstanceI26MapObjectProfileSwitchStepE8sProfileE kind:bss addr:0x020b6114
MapObjectSwitchStep_data_020b6118 kind:bss(size=0x8) addr:0x020b6118
+3 -3
View File
@@ -768,20 +768,20 @@ _ZN14UnkFileSystem1D2Ev kind:function(thumb,size=0x2) addr:0x02015528
_ZN14UnkFileSystem18vfunc_0CEv kind:function(thumb,size=0x8) addr:0x0201552c
_ZN14UnkFileSystem18vfunc_10Ei kind:function(thumb,size=0x4) addr:0x02015534
_ZN14UnkFileSystem5C1Ev kind:function(thumb,size=0x18) addr:0x02015538
_ZN14UnkFileSystem5C1EPviih kind:function(thumb,size=0x1c) addr:0x02015550
_ZN14UnkFileSystem5C1EPKciih kind:function(thumb,size=0x1c) addr:0x02015550
_ZN14UnkFileSystem5D1Ev kind:function(thumb,size=0x1c) addr:0x0201556c
_ZN14UnkFileSystem5D0Ev kind:function(thumb,size=0x24) addr:0x02015588
_ZN14UnkFileSystem58vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x020155ac
_ZN14UnkFileSystem58vfunc_0CEv kind:function(thumb,size=0x18) addr:0x020155d8
_ZN14UnkFileSystem58vfunc_10Ei kind:function(thumb,size=0x38) addr:0x020155f0
_ZN14UnkFileSystem4C1EPviii kind:function(thumb,size=0x1c) addr:0x02015628
_ZN14UnkFileSystem4C1EPKciii kind:function(thumb,size=0x1c) addr:0x02015628
_ZN14UnkFileSystem4D1Ev kind:function(thumb,size=0xc) addr:0x02015644
_ZN14UnkFileSystem4D0Ev kind:function(thumb,size=0x12) addr:0x02015650
_ZN14UnkFileSystem48vfunc_08Ei kind:function(thumb,size=0x26) addr:0x02015664
_ZN14UnkFileSystem3D1Ev kind:function(thumb,size=0xc) addr:0x0201568c
_ZN14UnkFileSystem3D0Ev kind:function(thumb,size=0x12) addr:0x02015698
_ZN14UnkFileSystem38vfunc_08Ei kind:function(thumb,size=0x1a) addr:0x020156ac
_ZN14UnkFileSystem2C1EPvi kind:function(thumb,size=0x2c) addr:0x020156c8
_ZN14UnkFileSystem2C1EPKci kind:function(thumb,size=0x2c) addr:0x020156c8
_ZN14UnkFileSystem2D1Ev kind:function(thumb,size=0x14) addr:0x020156f4
_ZN14UnkFileSystem2D0Ev kind:function(thumb,size=0x1a) addr:0x02015708
_ZN14UnkFileSystem28vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x02015724
+13
View File
@@ -56,6 +56,19 @@ src/000_Second/Actor/ActorUnkEFIK.cpp:
.data start:0x020b4c2c end:0x020b4cb0
.bss start:0x020b74f4 end:0x020b7540
src/000_Second/MapObject/MapObjectProfile.cpp:
complete
.text start:0x0209df5c end:0x0209e5cc
.init start:0x020b2138 end:0x020b2160
.ctor start:0x020b3128 end:0x020b312c
.data start:0x020b4cc8 end:0x020b4d60
.bss start:0x020b7540 end:0x020b7924
src/000_Second/MapObject/MapObjectProfile_Derived2_20.cpp:
complete
.text start:0x0209e5cc end:0x0209e7a4
.data start:0x020b4d60 end:0x020b4d88
src/000_Second/MapObject/MapObject.cpp:
.text start:0x0209e7a4 end:0x0209eec4
.data start:0x020b4d88 end:0x020b4dc8
+14 -14
View File
@@ -7080,11 +7080,11 @@ from:0x0209dfb4 kind:arm_call to:0x0202a17c module:main
from:0x0209dfc4 kind:arm_call to:0x0202a148 module:main
from:0x0209dfd8 kind:arm_call to:0x0202a148 module:main
from:0x0209e060 kind:arm_call to:0x0209df5c module:overlay(0)
from:0x0209e070 kind:load to:0x020b4d24 module:overlay(0)
from:0x0209e070 kind:load to:0x020b4d1c add:0x8 module:overlay(0)
from:0x0209e074 kind:load to:0x020af4cc module:overlay(0)
from:0x0209e088 kind:arm_call to:0x0209e134 module:overlay(0)
from:0x0209e090 kind:arm_call to:0x0209df78 module:overlay(0)
from:0x0209e09c kind:load to:0x020b4d24 module:overlay(0)
from:0x0209e09c kind:load to:0x020b4d1c add:0x8 module:overlay(0)
from:0x0209e0d4 kind:arm_call to:0x0209de84 module:overlay(0)
from:0x0209e0d8 kind:arm_call to:0x0209e0b0 module:overlay(0)
from:0x0209e0ec kind:arm_call to:0x02098c90 module:overlay(0)
@@ -7092,33 +7092,33 @@ from:0x0209e118 kind:load to:0x020b7544 module:overlay(0)
from:0x0209e11c kind:load to:0x020b6ba4 module:overlay(0)
from:0x0209e178 kind:arm_call to:0x0209dfec module:overlay(0)
from:0x0209e18c kind:arm_call to:0x0209e5cc module:overlay(0)
from:0x0209e198 kind:load to:0x020b4d08 module:overlay(0)
from:0x0209e198 kind:load to:0x020b4d00 add:0x8 module:overlay(0)
from:0x0209e1bc kind:arm_call to:0x0209e63c module:overlay(0)
from:0x0209e1c4 kind:arm_call to:0x0209e078 module:overlay(0)
from:0x0209e1d0 kind:load to:0x020b4d08 module:overlay(0)
from:0x0209e1d0 kind:load to:0x020b4d00 add:0x8 module:overlay(0)
from:0x0209e1f4 kind:arm_call to:0x0209e7a0 module:overlay(0)
from:0x0209e20c kind:arm_call_thumb to:0x02059c34 module:overlay(0)
from:0x0209e214 kind:arm_call to:0x0205a030 module:overlay(0)
from:0x0209e234 kind:arm_call_thumb to:0x02059e94 module:overlay(0)
from:0x0209e248 kind:load to:0x02059f65 module:overlay(0)
from:0x0209e258 kind:arm_call to:0x0209dfec module:overlay(0)
from:0x0209e278 kind:load to:0x020b4cec module:overlay(0)
from:0x0209e278 kind:load to:0x020b4ce4 add:0x8 module:overlay(0)
from:0x0209e294 kind:arm_call to:0x0209de84 module:overlay(0)
from:0x0209e2ac kind:load to:0x020b7544 module:overlay(0)
from:0x0209e2b8 kind:arm_call to:0x0209e16c module:overlay(0)
from:0x0209e2cc kind:load to:0x020b4cd0 module:overlay(0)
from:0x0209e2cc kind:load to:0x020b4cc8 add:0x8 module:overlay(0)
from:0x0209e2f0 kind:arm_call_thumb to:0x02059f64 module:overlay(0)
from:0x0209e2f8 kind:arm_call to:0x0209e19c module:overlay(0)
from:0x0209e304 kind:load to:0x020b4cd0 module:overlay(0)
from:0x0209e304 kind:load to:0x020b4cc8 add:0x8 module:overlay(0)
from:0x0209e320 kind:arm_call to:0x0209dfec module:overlay(0)
from:0x0209e35c kind:load to:0x020b4d40 module:overlay(0)
from:0x0209e35c kind:load to:0x020b4d38 add:0x8 module:overlay(0)
from:0x0209e3d4 kind:arm_call to:0x0209e078 module:overlay(0)
from:0x0209e3e0 kind:load to:0x020b4d40 module:overlay(0)
from:0x0209e3e0 kind:load to:0x020b4d38 add:0x8 module:overlay(0)
from:0x0209e42c kind:arm_call to:0x0209e078 module:overlay(0)
from:0x0209e434 kind:arm_call to:0x02011ff4 module:main
from:0x0209e440 kind:load to:0x020b4d40 module:overlay(0)
from:0x0209e440 kind:load to:0x020b4d38 add:0x8 module:overlay(0)
from:0x0209e48c kind:arm_call to:0x0209e078 module:overlay(0)
from:0x0209e498 kind:load to:0x020b4d40 module:overlay(0)
from:0x0209e498 kind:load to:0x020b4d38 add:0x8 module:overlay(0)
from:0x0209e4d0 kind:arm_call to:0x02011f3c module:main
from:0x0209e4e0 kind:arm_call to:0x0209e5cc module:overlay(0)
from:0x0209e4f8 kind:arm_call to:0x0209e7a0 module:overlay(0)
@@ -7130,18 +7130,18 @@ from:0x0209e5f8 kind:arm_call_thumb to:0x02059ac0 module:overlay(0)
from:0x0209e610 kind:arm_call_thumb to:0x020154d0 module:main
from:0x0209e624 kind:arm_call to:0x02015e40 module:main
from:0x0209e634 kind:load to:0x020b4d70 module:overlay(0)
from:0x0209e638 kind:load to:0x020b4d68 module:overlay(0)
from:0x0209e638 kind:load to:0x020b4d60 add:0x8 module:overlay(0)
from:0x0209e64c kind:arm_call_thumb to:0x02059f64 module:overlay(0)
from:0x0209e654 kind:arm_call to:0x0209e770 module:overlay(0)
from:0x0209e65c kind:arm_call_thumb to:0x02015504 module:main
from:0x0209e664 kind:arm_call_thumb to:0x02059bec module:overlay(0)
from:0x0209e670 kind:load to:0x020b4d68 module:overlay(0)
from:0x0209e670 kind:load to:0x020b4d60 add:0x8 module:overlay(0)
from:0x0209e684 kind:arm_call_thumb to:0x02059f64 module:overlay(0)
from:0x0209e68c kind:arm_call to:0x0209e770 module:overlay(0)
from:0x0209e694 kind:arm_call_thumb to:0x02015504 module:main
from:0x0209e69c kind:arm_call_thumb to:0x02059bec module:overlay(0)
from:0x0209e6a4 kind:arm_call to:0x02011ff4 module:main
from:0x0209e6b0 kind:load to:0x020b4d68 module:overlay(0)
from:0x0209e6b0 kind:load to:0x020b4d60 add:0x8 module:overlay(0)
from:0x0209e6d8 kind:arm_call to:0x02035590 module:main
from:0x0209e6e0 kind:arm_call to:0x020354ac module:main
from:0x0209e6f4 kind:arm_call to:0x02035590 module:main
+63 -63
View File
@@ -144,20 +144,20 @@ _ZN19func_ov000_02059910D0Ev kind:function(arm,size=0x1c) addr:0x02059910
_ZN19func_ov000_0205992cD2Ev kind:function(arm,size=0x14) addr:0x0205992c
func_ov000_02059940 kind:function(arm,size=0x138) addr:0x02059940
func_ov000_02059a78 kind:function(arm,size=0x48) addr:0x02059a78
func_ov000_02059ac0 kind:function(thumb,size=0x84) addr:0x02059ac0
_ZN33MapObjectProfile_Derived2_20_BaseC2EPKcPvS2_S2_ii kind:function(thumb,size=0x84) addr:0x02059ac0
func_ov000_02059b44 kind:function(thumb,size=0x14) addr:0x02059b44
func_ov000_02059b58 kind:function(thumb,size=0x48) addr:0x02059b58
_ZN19func_ov000_02059ba0D0Ev kind:function(thumb,size=0x4c) addr:0x02059ba0
func_ov000_02059bec kind:function(thumb,size=0x48) addr:0x02059bec
func_ov000_02059c34 kind:function(thumb,size=0x23c) addr:0x02059c34
func_ov000_02059e70 kind:function(thumb,size=0x10) addr:0x02059e70
func_ov000_02059e80 kind:function(thumb,size=0x12) addr:0x02059e80
func_ov000_02059e94 kind:function(thumb,size=0xd0) addr:0x02059e94
func_ov000_02059f64 kind:function(thumb,size=0x40) addr:0x02059f64
_ZN28MapObjectProfile_Derived2_2019func_ov000_02058a24Ev kind:function(arm,size=0x34) addr:0x02059fa4
func_ov000_02059fd8 kind:function(arm,size=0x2c) addr:0x02059fd8
_ZN28MapObjectProfile_Derived2_2019func_ov000_02058a84EiPKc kind:function(arm,size=0x2c) addr:0x0205a004
func_ov000_0205a030 kind:function(arm,size=0xe8) addr:0x0205a030
_ZN33MapObjectProfile_Derived2_20_BaseD1Ev kind:function(thumb,size=0x48) addr:0x02059b58
_ZN33MapObjectProfile_Derived2_20_BaseD0Ev kind:function(thumb,size=0x4c) addr:0x02059ba0
_ZN33MapObjectProfile_Derived2_20_BaseD2Ev kind:function(thumb,size=0x48) addr:0x02059bec
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_020586b4Eiiii kind:function(thumb,size=0x23c) addr:0x02059c34
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_020588f0Ev kind:function(thumb,size=0x10) addr:0x02059e70
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058900Ev kind:function(thumb,size=0x12) addr:0x02059e80
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058914Ei kind:function(thumb,size=0xd0) addr:0x02059e94
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_020589e4Ev kind:function(thumb,size=0x40) addr:0x02059f64
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058a24Ev kind:function(arm,size=0x34) addr:0x02059fa4
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058a58Ev kind:function(arm,size=0x2c) addr:0x02059fd8
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058a84EiPKc kind:function(arm,size=0x2c) addr:0x0205a004
_ZN33MapObjectProfile_Derived2_20_Base19func_ov000_02058ab0Ev kind:function(arm,size=0xe8) addr:0x0205a030
func_ov000_0205a118 kind:function(thumb,size=0x1c) addr:0x0205a118
func_ov000_0205a134 kind:function(arm,size=0x34) addr:0x0205a134
func_ov000_0205a168 kind:function(arm,size=0x14) addr:0x0205a168
@@ -2491,42 +2491,42 @@ _ZN12ActorUnkEFIKD0Ev kind:function(arm,size=0x28) addr:0x0209dad8
_ZN19ActorProfileUnkEFIKD1Ev kind:function(arm,size=0x14) addr:0x0209db00
func_ov000_0209db14 kind:function(arm,size=0x24) addr:0x0209db14
func_ov000_0209db38 kind:function(arm,size=0x3c) addr:0x0209db38
func_ov000_0209db74 kind:function(arm,size=0x40) addr:0x0209db74
func_ov000_0209dbb4 kind:function(arm,size=0x5c) addr:0x0209dbb4
func_ov000_0209dc10 kind:function(arm,size=0x4c) addr:0x0209dc10
func_ov000_0209dc5c kind:function(arm,size=0x94) addr:0x0209dc5c
func_ov000_0209dcf0 kind:function(arm,size=0x17c) addr:0x0209dcf0
_ZN16MapObjectManager19func_ov000_0209c3a8Ev kind:function(arm,size=0x40) addr:0x0209db74
_ZN16MapObjectManager19func_ov000_0209c3e8Ev kind:function(arm,size=0x5c) addr:0x0209dbb4
_ZN16MapObjectManager19func_ov000_0209c444Ev kind:function(arm,size=0x4c) addr:0x0209dc10
_ZN16MapObjectManager19func_ov000_0209c490Ev kind:function(arm,size=0x94) addr:0x0209dc5c
_ZN16MapObjectManager19func_ov000_0209c524Ev kind:function(arm,size=0x17c) addr:0x0209dcf0
func_ov000_0209de6c kind:function(arm,size=0xc) addr:0x0209de6c
func_ov000_0209de78 kind:function(arm,size=0xc) addr:0x0209de78
func_ov000_0209de84 kind:function(arm,size=0x38) addr:0x0209de84
func_ov000_0209debc kind:function(arm,size=0x28) addr:0x0209debc
func_ov000_0209dee4 kind:function(arm,size=0x78) addr:0x0209dee4
func_ov000_0209df5c kind:function(arm,size=0x1c) addr:0x0209df5c
func_ov000_0209df78 kind:function(arm,size=0x1c) addr:0x0209df78
func_ov000_0209df94 kind:function(arm,size=0x58) addr:0x0209df94
func_ov000_0209dfec kind:function(arm,size=0x8c) addr:0x0209dfec
func_ov000_0209e078 kind:function(arm,size=0x28) addr:0x0209e078
func_ov000_0209e0a0 kind:function(arm,size=0x8) addr:0x0209e0a0
func_ov000_0209e0a8 kind:function(arm,size=0x8) addr:0x0209e0a8
func_ov000_0209e0b0 kind:function(arm,size=0x70) addr:0x0209e0b0
func_ov000_0209e120 kind:function(arm,size=0x14) addr:0x0209e120
func_ov000_0209e134 kind:function(arm,size=0x2c) addr:0x0209e134
func_ov000_0209e160 kind:function(arm,size=0x4) addr:0x0209e160
func_ov000_0209e164 kind:function(arm,size=0x4) addr:0x0209e164
func_ov000_0209e168 kind:function(arm,size=0x4) addr:0x0209e168
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6b8Ei kind:function(arm,size=0x38) addr:0x0209de84
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c6f0Ev kind:function(arm,size=0x28) addr:0x0209debc
_ZN24UnkStruct_ov000_020b5d3419func_ov000_0209c718Ej kind:function(arm,size=0x78) addr:0x0209dee4
_ZN12MapObject_2019func_ov000_0209c790EjP16MapObjectProfile kind:function(arm,size=0x1c) addr:0x0209df5c
_ZN12MapObject_2019func_ov000_0209c7acEj kind:function(arm,size=0x1c) addr:0x0209df78
_ZN12MapObject_2019func_ov000_0209c7c8Ev kind:function(arm,size=0x58) addr:0x0209df94
_ZN16MapObjectProfileC2Ej kind:function(arm,size=0x8c) addr:0x0209dfec
_ZN16MapObjectProfileD2Ev kind:function(arm,size=0x28) addr:0x0209e078
_ZN16MapObjectProfile8vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209e0a0
_ZN16MapObjectProfile19func_ov000_0209c8e4EP12MapObject_20 kind:function(arm,size=0x8) addr:0x0209e0a8
_ZN16MapObjectProfile19func_ov000_0209c8ecEPS_ kind:function(arm,size=0x70) addr:0x0209e0b0
_ZN16MapObjectProfile19func_ov000_0209c95cEv kind:function(arm,size=0x14) addr:0x0209e120
_ZN16MapObjectProfile19func_ov000_0209c970Ev kind:function(arm,size=0x2c) addr:0x0209e134
_ZN16MapObjectProfile8vfunc_08Ev kind:function(arm,size=0x4) addr:0x0209e160
_ZN16MapObjectProfile8vfunc_0CEv kind:function(arm,size=0x4) addr:0x0209e164
_ZN16MapObjectProfile8vfunc_10Ev kind:function(arm,size=0x4) addr:0x0209e168
_ZN25MapObjectProfile_Derived2C2Ejj kind:function(arm,size=0x30) addr:0x0209e16c
_ZN25MapObjectProfile_Derived2D2Ev kind:function(arm,size=0x38) addr:0x0209e19c
_ZN25MapObjectProfile_Derived28vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209e1d4
_ZN25MapObjectProfile_Derived28vfunc_08Ev kind:function(arm,size=0x40) addr:0x0209e1dc
_ZN25MapObjectProfile_Derived28vfunc_0CEv kind:function(arm,size=0x20) addr:0x0209e21c
_ZN25MapObjectProfile_Derived28vfunc_10Ev kind:function(arm,size=0x10) addr:0x0209e23c
func_ov000_0209e24c kind:function(arm,size=0x30) addr:0x0209e24c
func_ov000_0209e27c kind:function(arm,size=0x8) addr:0x0209e27c
func_ov000_0209e284 kind:function(arm,size=0x2c) addr:0x0209e284
func_ov000_0209e2b0 kind:function(arm,size=0x20) addr:0x0209e2b0
func_ov000_0209e2d0 kind:function(arm,size=0x38) addr:0x0209e2d0
func_ov000_0209e308 kind:function(arm,size=0x4) addr:0x0209e308
func_ov000_0209e30c kind:function(arm,size=0x4) addr:0x0209e30c
_ZN25MapObjectProfile_Derived3C2Ejj kind:function(arm,size=0x30) addr:0x0209e24c
_ZN25MapObjectProfile_Derived38vfunc_04Ev kind:function(arm,size=0x8) addr:0x0209e27c
_ZN25MapObjectProfile_Derived38vfunc_08Ev kind:function(arm,size=0x2c) addr:0x0209e284
_ZN25MapObjectProfile_Derived4C2Ejj kind:function(arm,size=0x20) addr:0x0209e2b0
_ZN25MapObjectProfile_Derived4D2Ev kind:function(arm,size=0x38) addr:0x0209e2d0
_ZN25MapObjectProfile_Derived48vfunc_08Ev kind:function(arm,size=0x4) addr:0x0209e308
_ZN25MapObjectProfile_Derived48vfunc_0CEv kind:function(arm,size=0x4) addr:0x0209e30c
_ZN25MapObjectProfile_Derived1C2Ejii kind:function(arm,size=0x50) addr:0x0209e310
_ZN25MapObjectProfile_Derived18vfunc_04Ev kind:function(arm,size=0x18) addr:0x0209e360
_ZN25MapObjectProfile_Derived18vfunc_1CEi kind:function(arm,size=0x14) addr:0x0209e378
@@ -2537,12 +2537,12 @@ _ZN25MapObjectProfile_Derived119func_ov000_0209ccd8Eij kind:function(arm,size=0x
_ZN25MapObjectProfile_Derived18vfunc_08Ev kind:function(arm,size=0x1c) addr:0x0209e524
_ZN25MapObjectProfile_Derived18vfunc_0CEv kind:function(arm,size=0x44) addr:0x0209e540
_ZN25MapObjectProfile_Derived18vfunc_10Ev kind:function(arm,size=0x48) addr:0x0209e584
func_ov000_0209e5cc kind:function(arm,size=0x70) addr:0x0209e5cc
_ZN19func_ov000_0209e63cD1Ev kind:function(arm,size=0x38) addr:0x0209e63c
_ZN19func_ov000_0209e674D0Ev kind:function(arm,size=0x40) addr:0x0209e674
func_ov000_0209e6b4 kind:function(arm,size=0xbc) addr:0x0209e6b4
func_ov000_0209e770 kind:function(arm,size=0x30) addr:0x0209e770
func_ov000_0209e7a0 kind:function(arm,size=0x4) addr:0x0209e7a0
_ZN28MapObjectProfile_Derived2_20C1Ej kind:function(arm,size=0x70) addr:0x0209e5cc
_ZN28MapObjectProfile_Derived2_20D1Ev kind:function(arm,size=0x38) addr:0x0209e63c
_ZN28MapObjectProfile_Derived2_20D0Ev kind:function(arm,size=0x40) addr:0x0209e674
_ZN28MapObjectProfile_Derived2_2019func_ov000_0209cef0Ev kind:function(arm,size=0xbc) addr:0x0209e6b4
_ZN28MapObjectProfile_Derived2_2019func_ov000_0209cfacEv kind:function(arm,size=0x30) addr:0x0209e770
_ZN28MapObjectProfile_Derived2_2019func_ov000_0209cfdcEii kind:function(arm,size=0x4) addr:0x0209e7a0
_ZN9MapObjectC2Ev kind:function(arm,size=0xb4) addr:0x0209e7a4
_ZN9MapObjectD1Ev kind:function(arm,size=0x4) addr:0x0209e858
_ZN9MapObjectD0Ev kind:function(arm,size=0x14) addr:0x0209e85c
@@ -3257,7 +3257,7 @@ data_ov000_020af4ac kind:data(any) addr:0x020af4ac
data_ov000_020af4b0 kind:data(any) addr:0x020af4b0
data_ov000_020af4b4 kind:data(any) addr:0x020af4b4
data_ov000_020aed1c kind:data(any) addr:0x020af4c4
data_ov000_020af4cc kind:data(any) addr:0x020af4cc
data_ov000_020af4d4 kind:data(any) addr:0x020af4cc
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
@@ -3351,7 +3351,7 @@ __sinit_ActorUnkSWOB.cpp kind:function(arm,size=0x50) addr:0x020b1ff8
__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_ov000_020b2138 kind:function(arm,size=0x28) addr:0x020b2138
__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_ov000_020b220c kind:function(arm,size=0x9e8) addr:0x020b220c
@@ -3386,7 +3386,7 @@ __sinit_ov000_020b30b0 kind:function(arm,size=0x14) addr:0x020b30b0
.p__sinit_ActorUnkSWTM.cpp kind:data(word) addr:0x020b311c
.p__sinit_ActorEventIcon.cpp kind:data(word) addr:0x020b3120 local
.p__sinit_ActorUnkEFIK.cpp kind:data(word) addr:0x020b3124 local
.p__sinit_ov000_020b2138 kind:data(word) addr:0x020b3128
.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_ov000_020b220c kind:data(word) addr:0x020b3134
@@ -3685,15 +3685,15 @@ _ZTV19ActorProfileUnkEFIK kind:data(any) addr:0x020b4c2c
_ZTV12ActorUnkEFIK kind:data(any) addr:0x020b4c50
data_ov000_020b4cb8 kind:data(any) addr:0x020b4cb0
data_ov000_020b4cc4 kind:data(any) addr:0x020b4cc4
data_ov000_020b4cd0 kind:data(any) addr:0x020b4cd0
data_ov000_020b4cec kind:data(any) addr:0x020b4cec
data_ov000_020b4d08 kind:data(any) addr:0x020b4d08
data_ov000_020b4d24 kind:data(any) addr:0x020b4d24
data_ov000_020b4d40 kind:data(any) addr:0x020b4d40
data_ov000_020b4d68 kind:data(any) addr:0x020b4d68
data_ov000_020b4d70 kind:data(any) addr:0x020b4d70
data_ov000_020b4d78 kind:data(any) addr:0x020b4d78
data_ov000_020b4d80 kind:data(any) addr:0x020b4d80
_ZTV25MapObjectProfile_Derived4 kind:data(any) addr:0x020b4cc8
_ZTV25MapObjectProfile_Derived3 kind:data(any) addr:0x020b4ce4
_ZTV25MapObjectProfile_Derived2 kind:data(any) addr:0x020b4d00
_ZTV16MapObjectProfile kind:data(any) addr:0x020b4d1c
_ZTV25MapObjectProfile_Derived1 kind:data(any) addr:0x020b4d38
_ZTV28MapObjectProfile_Derived2_20 kind:data(any) addr:0x020b4d60
@1608 kind:data(byte[7]) addr:0x020b4d70 local
@1626 kind:data(byte[8]) addr:0x020b4d78 local
@1627 kind:data(byte[5]) addr:0x020b4d80 local
_ZTV9MapObject kind:data(any) addr:0x020b4d88
data_ov000_020b4dd0 kind:data(any) addr:0x020b4dc8
data_ov000_020b4e30 kind:data(any) addr:0x020b4e30
@@ -4044,7 +4044,7 @@ data_ov000_020b6b88 kind:bss addr:0x020b6b88
data_ov000_020b6b90 kind:bss addr:0x020b6b90
data_ov000_020b6b98 kind:bss addr:0x020b6b98
data_ov000_020b6ba0 kind:bss addr:0x020b6ba0
data_ov000_020b6ba4 kind:bss addr:0x020b6ba4
data_ov000_020b539c_eur kind:bss addr:0x020b6ba4
data_ov000_020b6bd8 kind:bss addr:0x020b6bd8
_ZGVN15ProfileInstanceI19ActorProfileUnkSWOBE8sProfileE kind:bss addr:0x020b740c
@30032 kind:bss addr:0x020b7410
@@ -4059,9 +4059,9 @@ _ZN15ProfileInstanceI21ActorProfileEventIconE8sProfileE kind:bss addr:0x020b74b8
_ZGVN15ProfileInstanceI19ActorProfileUnkEFIKE8sProfileE kind:bss addr:0x020b74f4
@30050 kind:bss addr:0x020b74f8 local
_ZN15ProfileInstanceI19ActorProfileUnkEFIKE8sProfileE kind:bss addr:0x020b7504
data_ov000_020b7540 kind:bss addr:0x020b7540
data_ov000_020b7544 kind:bss addr:0x020b7544
data_ov000_020b754c kind:bss addr:0x020b754c
_ZGVN33UnkStruct_ov000_020b5d34_InstanceI24UnkStruct_ov000_020b5d34E19data_ov000_020b5d34E kind:bss addr:0x020b7540
_ZN33UnkStruct_ov000_020b5d34_InstanceI24UnkStruct_ov000_020b5d34E19data_ov000_020b5d34E kind:bss addr:0x020b7544
data_ov000_020b5d3c kind:bss addr:0x020b754c
_ZGVN15ProfileInstanceI26MapObjectProfileSwitchStepE8sProfileE kind:bss addr:0x020b7924
MapObjectSwitchStep_data_020b6118 kind:bss(size=0x8) addr:0x020b7928
@1056 kind:bss addr:0x020b7934 local
+5 -5
View File
@@ -750,7 +750,7 @@ func_020152d0 kind:function(arm,size=0x10) addr:0x020152d0
_ZN18SomeSaveFileStructC1Ei kind:function(arm,size=0x38) addr:0x020152e0
func_02015318 kind:function(arm,size=0x24) addr:0x02015318
_ZN18SomeSaveFileStructD1Ev kind:function(arm,size=0x20) addr:0x0201533c
func_0201535c kind:function(arm,size=0x20) addr:0x0201535c
_ZN17UnkFileSystem2_10D1Ev kind:function(arm,size=0x20) addr:0x0201535c
func_0201537c kind:function(arm,size=0x18) addr:0x0201537c
func_02015394 kind:function(thumb,size=0x12) addr:0x02015394
_ZN10UnkSystem313func_02015410EPKci kind:function(thumb,size=0xc) addr:0x020153a8
@@ -768,20 +768,20 @@ _ZN14UnkFileSystem1D2Ev kind:function(thumb,size=0x2) addr:0x020154c0
_ZN14UnkFileSystem18vfunc_0CEv kind:function(thumb,size=0x8) addr:0x020154c4
_ZN14UnkFileSystem18vfunc_10Ei kind:function(thumb,size=0x4) addr:0x020154cc
_ZN14UnkFileSystem5C1Ev kind:function(thumb,size=0x18) addr:0x020154d0
_ZN14UnkFileSystem5C1EPviih kind:function(thumb,size=0x1c) addr:0x020154e8
_ZN14UnkFileSystem5C1EPKciih kind:function(thumb,size=0x1c) addr:0x020154e8
_ZN14UnkFileSystem5D1Ev kind:function(thumb,size=0x1c) addr:0x02015504
_ZN14UnkFileSystem5D0Ev kind:function(thumb,size=0x24) addr:0x02015520
_ZN14UnkFileSystem58vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x02015544
_ZN14UnkFileSystem58vfunc_0CEv kind:function(thumb,size=0x18) addr:0x02015570
_ZN14UnkFileSystem58vfunc_10Ei kind:function(thumb,size=0x38) addr:0x02015588
_ZN14UnkFileSystem4C1EPviii kind:function(thumb,size=0x1c) addr:0x020155c0
_ZN14UnkFileSystem4C1EPKciii kind:function(thumb,size=0x1c) addr:0x020155c0
_ZN14UnkFileSystem4D1Ev kind:function(thumb,size=0xc) addr:0x020155dc
_ZN14UnkFileSystem4D0Ev kind:function(thumb,size=0x12) addr:0x020155e8
_ZN14UnkFileSystem48vfunc_08Ei kind:function(thumb,size=0x26) addr:0x020155fc
_ZN14UnkFileSystem3D1Ev kind:function(thumb,size=0xc) addr:0x02015624
_ZN14UnkFileSystem3D0Ev kind:function(thumb,size=0x12) addr:0x02015630
_ZN14UnkFileSystem38vfunc_08Ei kind:function(thumb,size=0x1a) addr:0x02015644
_ZN14UnkFileSystem2C1EPvi kind:function(thumb,size=0x2c) addr:0x02015660
_ZN14UnkFileSystem2C1EPKci kind:function(thumb,size=0x2c) addr:0x02015660
_ZN14UnkFileSystem2D1Ev kind:function(thumb,size=0x14) addr:0x0201568c
_ZN14UnkFileSystem2D0Ev kind:function(thumb,size=0x1a) addr:0x020156a0
_ZN14UnkFileSystem28vfunc_08Ei kind:function(thumb,size=0x2a) addr:0x020156bc
@@ -800,7 +800,7 @@ func_02015bb4 kind:function(arm,size=0x68) addr:0x02015bb4
func_02015c1c kind:function(arm,size=0x94) addr:0x02015c1c
func_02015cb0 kind:function(arm,size=0xd4) addr:0x02015cb0
func_02015d84 kind:function(arm,size=0xbc) addr:0x02015d84
func_02015e40 kind:function(arm,size=0x50) addr:0x02015e40
func_02015ea8 kind:function(arm,size=0x50) addr:0x02015e40
func_02015e90 kind:function(arm,size=0x7c) addr:0x02015e90
func_02015f0c kind:function(arm,size=0x90) addr:0x02015f0c
func_02015f9c kind:function(arm,size=0x24) addr:0x02015f9c
+1 -1
View File
@@ -242,4 +242,4 @@ public:
Actor_c4_Base(&param1->mRef, 0) {}
};
extern UnkStruct_ov000_020b539c data_ov000_020b539c;
extern UnkStruct_ov000_020b539c data_ov000_020b539c_eur;
+8
View File
@@ -9,3 +9,11 @@ enum MapObjectId_ {
#include "Map/MapObjectTable.inl"
#undef DEFINE_MAP_OBJECT_TYPE
};
typedef u32 MapObjectIndex;
enum MapObjectIndex_ {
#define DEFINE_MAP_OBJECT_TYPE(id, name) MapObjectIndex_##name,
#include "Map/MapObjectTable.inl"
#undef DEFINE_MAP_OBJECT_TYPE
MapObjectIndex_Max,
};
+8 -4
View File
@@ -94,18 +94,22 @@ public:
class MapObject_20 {
public:
/* 00 */ u16 mUnk_00;
/* 02 */ u16 mUnk_02;
/* 04 */ unk32 mUnk_04;
/* 00 */ u16 mUnk_00[4];
/* 08 */ u8 mUnk_08[2];
/* 0A */ u16 mUnk_0A[2];
/* 0E */ unk16 mUnk_0E;
/* 10 */ unk32 mUnk_10;
/* 14 */ s16 mUnk_14;
/* 16 */ unk16 mUnk_16;
/* 16 */ unk8 mUnk_16;
/* 16 */ unk8 mUnk_17;
/* 18 */
MapObject_20() {}
void func_ov000_0209c7c8();
static void func_ov000_0209c790(MapObjectId mapObjId, MapObjectProfile *pProfile);
static void func_ov000_0209c7ac(MapObjectId mapObjId);
};
class MapObject : public SysObject {
+6
View File
@@ -24,6 +24,12 @@ public:
MapObject **func_01fff520(UnkStruct_ov000_020b34c4 *param1, void *);
MapObject *func_01fff498(unk32 param1, unk32 param2);
void func_ov000_0209c3a8();
void func_ov000_0209c3e8();
void func_ov000_0209c444();
static void func_ov000_0209c490();
};
extern MapObjectManager *gpMapObjManager;
+37 -114
View File
@@ -1,6 +1,7 @@
#pragma once
#include "Map/MapObjectId.hpp"
#include "MapObject/MapObjectProfile_Derived2_20.hpp"
#include "Physics/Cylinder.hpp"
#include "System/SysNew.hpp"
#include "Unknown/Common.hpp"
@@ -10,6 +11,7 @@
class MapObject;
class MapObject_20;
class MapObjectProfile_Derived2_20;
class MapObjectProfile : public SysObject {
public:
@@ -20,7 +22,7 @@ public:
/* 08 */ unk32 mUnk_08;
/* 0C */ unk16 mUnk_0C;
/* 0E */ unk8 mUnk_0E;
/* 0F */ unk8 mUnk_0F;
/* 0F */ u8 mUnk_0F;
/* 10 */ MapObjectId mMapObjId;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
@@ -34,30 +36,24 @@ public:
// data_ov000_020b3524
/* 00 */ virtual MapObject *Create() = 0;
/* 04 */ virtual void vfunc_04();
/* 04 */ virtual MapObjectProfile_Derived2_20 *vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
/* 14 */
unk32 func_ov000_0209c8e4(MapObject_20 *param1);
};
void func_ov000_0209c95c();
void func_ov000_0209c970();
class MapObjectProfile_Derived2_20;
class MapObjectProfile_Derived1_20 {
public:
/* 00 */ MapObjectProfile_Derived2_20 *mUnk_00;
MapObjectProfile_Derived1_20() {
this->mUnk_00 = NULL;
}
static unk32 func_ov000_0209c820();
static void func_ov000_0209c8ec(MapObjectProfile *thisx);
};
class MapObjectProfile_Derived1 : public MapObjectProfile {
public:
/* 00 (base) */
/* 20 */ MapObjectProfile_Derived1_20 mUnk_20[16];
/* 20 */ MapObjectProfile_Derived2_20 *mUnk_20[16];
/* 60 */ unk32 mUnk_60;
/* 64 */ unk16 mUnk_64;
/* 66 */ unk16 mUnk_66;
@@ -66,7 +62,7 @@ public:
MapObjectProfile_Derived1(MapObjectId mapObjId, unk32 param2, unk32 param3); // func_ov000_0209cb4c
// data_ov000_020b3540
/* 04 */ virtual void vfunc_04();
/* 04 */ virtual MapObjectProfile_Derived2_20 *vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
@@ -76,105 +72,6 @@ public:
void func_ov000_0209ccd8(unk32 param1, u32 param2);
};
class MapObjectProfile_Derived2_20_Base_18 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
MapObjectProfile_Derived2_20_Base_18(); // func_02016620
};
class MapObjectProfile_Derived2_20_Base_20 {
public:
/* 00 */ void *mUnk_00;
/* 04 */ void *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
MapObjectProfile_Derived2_20_Base_20(unk32 param1, unk32 param2, unk32 param3, unk32 param4,
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;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */
MapObjectProfile_Derived2_20_Base_54();
~MapObjectProfile_Derived2_20_Base_54();
};
class MapObjectProfile_Derived2_20_Base {
public:
/* 00 (vtable) */
/* 04 */ const char *mUnk_04;
/* 08 */ void *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?
/* 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;
/* 54 */ MapObjectProfile_Derived2_20_Base_54 mUnk_54[4];
/* 94 */
MapObjectProfile_Derived2_20_Base(const char *directory, void *param2, void *param3, void *param4, unk32 param5,
unk32 param6); // func_ov000_02058540
// data_ov000_020b1b14
/* 00 */ virtual ~MapObjectProfile_Derived2_20_Base();
/* 08 */
};
class MapObjectProfile_Derived2_20 : public MapObjectProfile_Derived2_20_Base {
public:
/* 00 (base) */
/* 94 */ unk16 mUnk_94;
/* 96 */ unk16 mUnk_96;
/* 98 */ unk16 mUnk_98;
/* 9A */ unk16 mUnk_9A;
/* 9C */ UnkFileSystem5 mUnk_9C;
/* B0 */ unk8 mUnk_B0; // bool?
/* B1 */ unk8 mUnk_B1; // bool?
/* B2 */ unk8 mUnk_B2; // pad?
/* B3 */ unk8 mUnk_B3; // pad?
/* B4 */
MapObjectProfile_Derived2_20(MapObjectId mapObjId2); // func_ov000_0209ce08
// data_ov000_020b3568
/* 00 */ virtual ~MapObjectProfile_Derived2_20() override;
unk32 func_ov000_02058a24();
unk32 func_ov000_02058a84(unk32 param1, const char *param2);
};
class MapObjectProfile_Derived2 : public MapObjectProfile {
public:
/* 00 (base) */
@@ -185,10 +82,36 @@ public:
~MapObjectProfile_Derived2();
// data_ov000_020b3508
/* 04 */ virtual void vfunc_04() override;
/* 04 */ virtual MapObjectProfile_Derived2_20 *vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 10 */ virtual void vfunc_10() override;
};
class MapObjectProfile_Derived3 : public MapObjectProfile {
public:
/* 00 (base) */
/* 20 */ MapObjectProfile_Derived2_20 *mUnk_20;
/* 24 */
MapObjectProfile_Derived3(MapObjectId mapObjId1, MapObjectId mapObjId2); // func_ov000_0209ca88
~MapObjectProfile_Derived3() {}
// data_ov000_020b34ec
/* 04 */ virtual MapObjectProfile_Derived2_20 *vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
};
class MapObjectProfile_Derived4 : public MapObjectProfile_Derived2 {
/* 00 (base) */
/* D4 */
MapObjectProfile_Derived4(MapObjectId mapObjId1, MapObjectId mapObjId2); // func_ov000_0209c9a8
~MapObjectProfile_Derived4();
// data_ov000_020b34d0
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
};
typedef MapObjectProfile *(*GetMapObjectProfile)();
@@ -0,0 +1,116 @@
#pragma once
#include "Map/MapObjectId.hpp"
#include "Unknown/Common.hpp"
#include "types.h"
class MapObjectProfile_Derived2_20_Base_18 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */
MapObjectProfile_Derived2_20_Base_18(); // func_02016620
};
class MapObjectProfile_Derived2_20_Base_20 {
public:
/* 00 */ void *mUnk_00;
/* 04 */ void *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
MapObjectProfile_Derived2_20_Base_20(unk32 param1, unk32 param2, unk32 param3, unk32 param4,
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;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */
MapObjectProfile_Derived2_20_Base_54();
~MapObjectProfile_Derived2_20_Base_54();
};
class MapObjectProfile_Derived2_20_Base {
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?
/* 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;
/* 54 */ MapObjectProfile_Derived2_20_Base_54 mUnk_54[4];
/* 94 */
MapObjectProfile_Derived2_20_Base(const char *directory, void *param2, void *param3, void *param4, unk32 param5,
unk32 param6); // func_ov000_02058540
// data_ov000_020b1b14
/* 00 */ virtual ~MapObjectProfile_Derived2_20_Base();
/* 08 */
void func_ov000_020586b4(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
void func_ov000_020588f0(void);
void func_ov000_02058900(void);
void func_ov000_02058914(unk32 param1);
void func_ov000_020589e4(void);
unk32 func_ov000_02058a24();
void unc_ov000_02058a58(void);
unk32 func_ov000_02058a84(unk32 param1, const char *param2);
void func_ov000_02058ab0(void);
};
class MapObjectProfile_Derived2_20 : public MapObjectProfile_Derived2_20_Base {
public:
/* 00 (base) */
/* 94 */ unk16 mUnk_94;
/* 96 */ unk16 mUnk_96;
/* 98 */ unk16 mUnk_98;
/* 9A */ unk16 mUnk_9A;
/* 9C */ UnkFileSystem5 mUnk_9C;
/* B0 */ bool mUnk_B0;
/* B1 */ unk8 mUnk_B1; // bool?
/* B2 */ unk8 mUnk_B2; // pad?
/* B3 */ unk8 mUnk_B3; // pad?
/* B4 */
MapObjectProfile_Derived2_20();
MapObjectProfile_Derived2_20(MapObjectId mapObjId2); // func_ov000_0209ce08
// data_ov000_020b3568
/* 00 */ virtual ~MapObjectProfile_Derived2_20() override;
void func_ov000_0209cef0();
void func_ov000_0209cfac();
void func_ov000_0209cfdc(unk32 param1, unk32 param2);
};
+6 -6
View File
@@ -6,7 +6,7 @@
class UnkFileSystem1 {
public:
/* 00 (vtable) */
/* 04 */ void *mUnk_04;
/* 04 */ const char *mUnk_04;
/* 08 */ union {
void *mpFile;
void *volatile mpFile2;
@@ -14,7 +14,7 @@ public:
/* 0C */ size_t mFileSize;
/* 10 */
UnkFileSystem1(void *param1) :
UnkFileSystem1(const char *param1) :
mUnk_04(param1),
mpFile(NULL),
mFileSize(0) {}
@@ -36,7 +36,7 @@ public:
/* 14 */
UnkFileSystem5();
UnkFileSystem5(void *param1, unk32 param2, unk32 param3, u8 param4);
UnkFileSystem5(const char *param1, unk32 param2, unk32 param3, u8 param4);
// data_02043f08
/* 00 */ virtual ~UnkFileSystem5() override;
@@ -61,7 +61,7 @@ public:
/* 18 */ u8 mUnk_18;
/* 1C */
UnkFileSystem4(void *param1, unk32 param2, unk32 param3, unk32 param4); // func_02015628
UnkFileSystem4(const char *param1, unk32 param2, unk32 param3, unk32 param4); // func_02015628
// data_02043f24
/* 00 */ virtual ~UnkFileSystem4() override; // func_02015644 && func_02015650
@@ -73,7 +73,7 @@ public:
/* 00 (base) */
/* 10 */
UnkFileSystem3(void *param1) :
UnkFileSystem3(const char *param1) :
UnkFileSystem1(param1) {}
// data_02043f40
@@ -87,7 +87,7 @@ public:
/* 10 */ UnkFileSystem2_10 mUnk_10;
/* 14 */ unk8 mUnk_14;
UnkFileSystem2(void *param1, unk32 param2); // func_020156c8
UnkFileSystem2(const char *param1, unk32 param2); // func_020156c8
// data_02043f5c
/* 00 */ virtual ~UnkFileSystem2() override; // func_020156f4 && func_02015708
+3 -3
View File
@@ -5,8 +5,8 @@
//! TODO: temporary place until this is documented properly
extern "C" {
void MI_CpuFill16(int value, u16 *dst, size_t size);
void MI_CpuCopy16(u16 *src, u16 *dest, size_t size);
void MI_CpuFill16(int value, void *dst, size_t size);
void MI_CpuCopy16(void *src, void *dest, size_t size);
void MI_CpuFill32(int value, void *dest, size_t size);
// MI_CpuCopy32
// Stream32
@@ -16,7 +16,7 @@ void _MI_CpuCopy(void *src, void *dest, size_t size);
// CopySingle288
// CopySingle384
// CopySingle512
void MI_CpuFill8(u8 *dst, int value, size_t size);
void MI_CpuFill8(void *dst, int value, size_t size);
// Copy
// Zero288
// Swap32
+23 -13
View File
@@ -4,29 +4,39 @@
#include "types.h"
class MapObject_20;
class MapObjectProfile;
class UnkStruct_ov000_020b5d34_00 {
public:
unk32 *mUnk_00;
MapObject_20 *mUnk_04;
Vec3p *mUnk_08;
unk16 mUnk_0C;
};
class UnkStruct_ov000_020b5d34_0C {
public:
unk16 mUnk_00;
/* 00 */ unk32 *mUnk_00;
/* 04 */ MapObject_20 *mUnk_04;
/* 08 */ Vec3p *mUnk_08;
/* 0C */ s16 *mUnk_0C;
/* 10 */
};
class UnkStruct_ov000_020b5d34 {
public:
/* 00 */ UnkStruct_ov000_020b5d34_00 *mUnk_00;
/* 04 */ MapObjectProfile *mpProfile;
/* 08 */ unk32 mUnk_08;
UnkStruct_ov000_020b5d34_0C *mUnk_0C;
/* 08 */
UnkStruct_ov000_020b5d34();
~UnkStruct_ov000_020b5d34();
UnkStruct_ov000_020b5d34() {
this->mUnk_00 = NULL;
this->mpProfile = NULL;
}
~UnkStruct_ov000_020b5d34() {}
MapObjectProfile *func_ov000_0209c6b8(unk32 param1);
void func_ov000_0209c6f0();
static unk32 func_ov000_0209c718(u32 param1);
};
template <typename T> struct UnkStruct_ov000_020b5d34_Instance {
static T data_ov000_020b5d34;
};
#define data_ov000_020b5d34 UnkStruct_ov000_020b5d34_Instance<UnkStruct_ov000_020b5d34>::data_ov000_020b5d34
extern UnkStruct_ov000_020b5d34 data_ov000_020b5d34;
+7
View File
@@ -51,4 +51,11 @@
#define ALIGN_NEXT(X, N) ALIGN_PREV(((X) + (N) - 1), N)
#define ALIGN(X, N) ((X + N) & ~N)
#define VTABLE_PAD(name) \
class _VTABLE_PAD_##name { \
public: \
virtual void dummy(); \
}; \
void _VTABLE_PAD_##name::dummy() {}
#endif
+2 -2
View File
@@ -21,7 +21,7 @@ ARM Actor::Actor() {
this->mUnk_5c.func_ov000_020975f8();
this->mRef.Reset();
this->mType = NULL;
_MI_CpuCopy(&data_ov000_020b539c.mUnk_00, &this->mUnk_5c, sizeof(data_ov000_020b539c.mUnk_00));
_MI_CpuCopy(&data_ov000_020b539c_eur.mUnk_00, &this->mUnk_5c, sizeof(data_ov000_020b539c_eur.mUnk_00));
this->mPos = this->mUnk_5c.mUnk_00;
this->mPrevPos = this->mUnk_5c.mUnk_00;
this->mAngle = this->mUnk_5c.mUnk_0c;
@@ -29,7 +29,7 @@ ARM Actor::Actor() {
this->mUnk_44 = 0xFF;
this->mUnk_46 = 0;
this->func_ov000_0209862c(0);
this->func_ov000_0209848c(data_ov000_020b539c.mUnk_30);
this->func_ov000_0209848c(data_ov000_020b539c_eur.mUnk_30);
}
ARM Actor::~Actor() {}
+4 -12
View File
@@ -10,7 +10,6 @@
#include "Unknown/UnkStruct_027e0ce0.hpp"
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
extern "C" void func_ov000_0209c7c8(void *);
extern "C" void func_01ffb714(Vec3p *, Vec3p *, void *);
extern "C" void func_01ffb9cc(Vec3p *, Vec3p *);
extern "C" u16 func_01ffbbe0(q20 x, q20 z);
@@ -19,24 +18,17 @@ extern "C" bool func_01ffd768(unk32, void *, void *, unk8);
extern "C" void func_ov000_020973f4(void *, void *, u32, void *, int); //! TODO: solve oddity
struct UnkStruct {
u32 *mUnk_00;
MapObject_20 *mUnk_04;
Vec3p *mUnk_08;
};
// https://decomp.me/scratch/4do9S
ARM MapObject::MapObject() {
this->mUnk_10 = NULL;
this->mUnk_16 = -1;
this->mFlags[0] = 0;
func_ov000_0209c7c8(&this->mUnk_20);
this->mUnk_20.func_ov000_0209c7c8();
*(u32 *) &this->mUnk_38 = 0;
UnkStruct_ov000_020b5d34 *ptr1 = &data_ov000_020b5d34;
this->mpProfile = ptr1->mpProfile;
UnkStruct *ptr2 = (UnkStruct *) ptr1->mUnk_00;
UnkStruct_ov000_020b5d34_00 *ptr2 = ptr1->mUnk_00;
*(u32 *) &this->mUnk_38 = *ptr2->mUnk_00;
@@ -45,7 +37,7 @@ ARM MapObject::MapObject() {
this->mPos.y = ptr->y;
this->mPos.z = ptr->z;
this->mUnk_14 = ptr1->mUnk_0C->mUnk_00;
this->mUnk_14 = *ptr2->mUnk_0C;
_MI_CpuCopy(ptr2->mUnk_04, &this->mUnk_20, sizeof(MapObject_20));
for (int i = 0; i < ARRAY_LEN(this->mUnk_18); i++) {
@@ -257,7 +249,7 @@ ARM void MapObject::func_ov000_0209d54c(unk32 param1, u16 param2, Vec3p *param3,
local_4c.param_r2 = param2;
local_4c.extra_s16 = param4;
local_4c.extra_u16 = param5;
func_ov000_020973f4(this, &data_ov000_020b539c, ActorId_EventIcon, &local_4c, 0);
func_ov000_020973f4(this, &data_ov000_020b539c_eur, ActorId_EventIcon, &local_4c, 0);
}
ARM void MapObject::func_ov000_0209d5c8(ActorRef ref) {
@@ -38,11 +38,11 @@ ARM MapObjectMiniBlocks::MapObjectMiniBlocks() :
ARM bool MapObjectMiniBlocks::vfunc_00(void) {
GET_PROFILE(MapObjectProfileMiniBlocks)
->func_ov000_0209ccd8(this->mUnk_20.mUnk_02, data_ov000_020af574[this->mUnk_20.mUnk_02]);
->func_ov000_0209ccd8(this->mUnk_20.mUnk_00[1], data_ov000_020af574[this->mUnk_20.mUnk_00[1]]);
UnkStruct_027e0cd8_0c *pUnkStruct_027e0cd8_0c = data_027e0cd8->mUnk_0c;
u8 uVar6;
if (this->mUnk_20.mUnk_02 != MiniBlocksVariant_BLKF) {
if (this->mUnk_20.mUnk_00[1] != MiniBlocksVariant_BLKF) {
Vec2b vec(this->mUnk_3A.x, this->mUnk_3A.y);
this->mPos.y = pUnkStruct_027e0cd8_0c->func_01ffedf4(&vec);
}
@@ -50,7 +50,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
Vec3p vec(FLOAT_TO_Q20(0.0f), FLOAT_TO_Q20(0.0f), FLOAT_TO_Q20(0.0f));
uVar6 = 0;
switch (this->mUnk_20.mUnk_00) {
switch (this->mUnk_20.mUnk_00[0]) {
case 4:
case 5:
case 6:
@@ -64,7 +64,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
uVar6 = 2;
break;
default:
if (this->mUnk_20.mUnk_02 == MiniBlocksVariant_BLKF) {
if (this->mUnk_20.mUnk_00[1] == MiniBlocksVariant_BLKF) {
vec.x = FLOAT_TO_Q20(0.0f);
vec.y = FLOAT_TO_Q20(0.0f);
vec.z = -FLOAT_TO_Q20(0.375f);
@@ -77,7 +77,7 @@ ARM bool MapObjectMiniBlocks::vfunc_00(void) {
}
MapObjectProfile_Derived2_20_Base_50 *ptr =
GET_PROFILE(MapObjectProfileMiniBlocks)->vfunc_1C(this->mUnk_20.mUnk_02)->mUnk_50;
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);
@@ -104,7 +104,7 @@ next:
unk32 var_r0_2;
unk32 var_r0;
switch (this->mUnk_20.mUnk_00) {
switch (this->mUnk_20.mUnk_00[0]) {
case 1:
case 6:
case 8:
@@ -0,0 +1,218 @@
#include "MapObject/MapObjectProfile.hpp"
#include "Actor/Actor.hpp"
#include "MapObject/MapObject.hpp"
#include "Unknown/UnkMemFuncs.h"
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
extern unk8 data_ov000_020af4d4[];
MapObjectProfile *data_ov000_020b5d3c[MapObjectIndex_Max];
UnkStruct_ov000_020b5d34 data_ov000_020b5d34;
ARM void MapObject_20::func_ov000_0209c790(MapObjectId mapObjId, MapObjectProfile *pProfile) {
data_ov000_020b5d3c[UnkStruct_ov000_020b5d34::func_ov000_0209c718(mapObjId)] = pProfile;
}
ARM void MapObject_20::func_ov000_0209c7ac(MapObjectId mapObjId) {
data_ov000_020b5d3c[UnkStruct_ov000_020b5d34::func_ov000_0209c718(mapObjId)] = NULL;
}
ARM void MapObject_20::func_ov000_0209c7c8() {
this->mUnk_16 = 0;
this->mUnk_10 = 0;
MI_CpuFill32(0, this->mUnk_00, sizeof(this->mUnk_00));
MI_CpuFill16(0, this->mUnk_08, sizeof(this->mUnk_08));
MI_CpuFill16(0, this->mUnk_0A, sizeof(this->mUnk_0A));
this->mUnk_14 = -1;
this->mUnk_17 = 0;
}
ARM unk32 MapObjectProfile::func_ov000_0209c820() {
return MapObjectIndex_Max;
}
ARM MapObjectProfile::MapObjectProfile(MapObjectId mapObjId) {
this->mUnk_06 = 1;
this->mUnk_08 = 0x800;
this->mUnk_0C = 0x1333;
this->mUnk_0E = -1;
this->mUnk_0F = 0;
this->mMapObjId = mapObjId;
this->mUnk_14 = 0;
this->mUnk_18 = 0;
this->mUnk_1C = 0;
this->mUnk_1D = 0;
this->mUnk_1E = 1;
for (int i = 0; i < ARRAY_LEN(this->mUnk_04); i++) {
this->mUnk_04[i] = data_ov000_020af4d4[i];
}
MapObject_20::func_ov000_0209c790(this->mMapObjId, this);
}
ARM MapObjectProfile::~MapObjectProfile() {
this->func_ov000_0209c970();
MapObject_20::func_ov000_0209c7ac(this->mMapObjId);
}
ARM MapObjectProfile_Derived2_20 *MapObjectProfile::vfunc_04() {
return NULL;
}
ARM unk32 MapObjectProfile::func_ov000_0209c8e4(MapObject_20 *param1) {
return this->mUnk_0E;
}
ARM void MapObjectProfile::func_ov000_0209c8ec(MapObjectProfile *thisx) {
if (thisx->mUnk_0F == 0) {
if (thisx->mUnk_14 != 0) {
thisx->func_ov000_0209c8ec(data_ov000_020b5d34.func_ov000_0209c6b8(thisx->mUnk_14));
}
if (thisx->mUnk_18 != 0) {
data_ov000_020b539c_eur.func_ov000_020974dc(thisx->mUnk_18)->vfunc_08();
}
thisx->vfunc_08();
thisx->mUnk_0F = 2;
}
}
ARM void MapObjectProfile::func_ov000_0209c95c() {
this->vfunc_0C();
}
ARM void MapObjectProfile::func_ov000_0209c970() {
if (this->mUnk_0F == 2) {
this->vfunc_10();
this->mUnk_0F = 0;
}
}
ARM void MapObjectProfile::vfunc_08() {}
ARM void MapObjectProfile::vfunc_0C() {}
ARM void MapObjectProfile::vfunc_10() {}
ARM MapObjectProfile_Derived2::MapObjectProfile_Derived2(MapObjectId mapObjId1, MapObjectId mapObjId2) :
MapObjectProfile(mapObjId1),
mUnk_20(mapObjId2) {}
ARM MapObjectProfile_Derived2::~MapObjectProfile_Derived2() {
this->vfunc_10();
}
ARM MapObjectProfile_Derived2_20 *MapObjectProfile_Derived2::vfunc_04() {
return &this->mUnk_20;
}
ARM void MapObjectProfile_Derived2::vfunc_08() {
this->mUnk_20.func_ov000_0209cfdc(0, 0);
this->mUnk_20.func_ov000_020586b4(0, 0, 0, 0);
this->mUnk_20.func_ov000_02058ab0();
}
ARM void MapObjectProfile_Derived2::vfunc_0C() {
if (this->mUnk_20.mUnk_20.mUnk_04 != 0) {
this->mUnk_20.func_ov000_02058914(0);
}
}
ARM void MapObjectProfile_Derived2::vfunc_10() {
this->mUnk_20.func_ov000_020589e4();
}
ARM MapObjectProfile_Derived3::MapObjectProfile_Derived3(MapObjectId mapObjId1, MapObjectId mapObjId2) :
MapObjectProfile(mapObjId1) {
this->mUnk_20 = NULL;
this->mUnk_14 = mapObjId2;
}
ARM MapObjectProfile_Derived2_20 *MapObjectProfile_Derived3::vfunc_04() {
return this->mUnk_20;
}
ARM void MapObjectProfile_Derived3::vfunc_08() {
this->mUnk_20 = data_ov000_020b5d34.func_ov000_0209c6b8(this->mUnk_14)->vfunc_04();
}
ARM MapObjectProfile_Derived4::MapObjectProfile_Derived4(MapObjectId mapObjId1, MapObjectId mapObjId2) :
MapObjectProfile_Derived2(mapObjId1, mapObjId2) {}
ARM MapObjectProfile_Derived4::~MapObjectProfile_Derived4() {
if (this->mUnk_20.mUnk_20.mUnk_04 != 0) {
this->mUnk_20.func_ov000_020589e4();
}
}
ARM void MapObjectProfile_Derived4::vfunc_08() {}
ARM void MapObjectProfile_Derived4::vfunc_0C() {}
ARM MapObjectProfile_Derived1::MapObjectProfile_Derived1(MapObjectId mapObjId, unk32 param2, unk32 param3) :
MapObjectProfile(mapObjId),
mUnk_60(param3),
mUnk_64(param2) {
for (MapObjectProfile_Derived2_20 **ptr = this->mUnk_20; ptr != &this->mUnk_20[ARRAY_LEN(this->mUnk_20)]; ptr++) {
*ptr = NULL;
}
}
ARM MapObjectProfile_Derived2_20 *MapObjectProfile_Derived1::vfunc_04() {
if (this->mUnk_64 >= 0) {
return this->mUnk_20[this->mUnk_64];
}
return NULL;
}
ARM MapObjectProfile_Derived2_20 *MapObjectProfile_Derived1::vfunc_1C(unk32 param1) {
if (param1 >= 0) {
return this->mUnk_20[param1];
}
return NULL;
}
ARM MapObjectProfile_Derived1::~MapObjectProfile_Derived1() {
for (MapObjectProfile_Derived2_20 **ptr = this->mUnk_20; ptr != &this->mUnk_20[ARRAY_LEN(this->mUnk_20)]; ptr++) {
delete *ptr;
}
}
ARM void MapObjectProfile_Derived1::func_ov000_0209ccd8(unk32 param1, u32 param2) {
if (this->mUnk_20[param1] == NULL) {
MapObjectProfile_Derived2_20 *ptr = new(HeapIndex_1) MapObjectProfile_Derived2_20(param2);
MapObjectProfile_Derived2_20 **ppUnk_20 = this->mUnk_20;
ppUnk_20[param1] = ptr;
ppUnk_20[param1]->func_ov000_0209cfdc(0, 0);
ppUnk_20[param1]->func_ov000_020586b4(0, 0, 0, 0);
ppUnk_20[param1]->func_ov000_02058ab0();
}
}
ARM void MapObjectProfile_Derived1::vfunc_08() {
if (this->mUnk_64 >= 0) {
this->func_ov000_0209ccd8(this->mUnk_64, this->mUnk_60);
}
}
ARM void MapObjectProfile_Derived1::vfunc_0C() {
for (MapObjectProfile_Derived2_20 **ptr = this->mUnk_20; ptr != &this->mUnk_20[ARRAY_LEN(this->mUnk_20)]; ptr++) {
if (*ptr != NULL && (*ptr)->mUnk_20.mUnk_04 != NULL) {
(*ptr)->func_ov000_02058914(0);
}
}
}
ARM void MapObjectProfile_Derived1::vfunc_10() {
for (MapObjectProfile_Derived2_20 **ptr = this->mUnk_20; ptr != &this->mUnk_20[ARRAY_LEN(this->mUnk_20)]; ptr++) {
if (*ptr != NULL) {
delete *ptr;
*ptr = NULL;
}
}
}
@@ -0,0 +1,58 @@
#include "MapObject/MapObjectProfile_Derived2_20.hpp"
#include <string.h>
extern "C" {
void func_02015ea8(u32 resourceId, void *);
unk32 func_02012fa8(const char *);
}
ARM MapObjectProfile_Derived2_20::MapObjectProfile_Derived2_20(MapObjectId mapObjId2) :
MapObjectProfile_Derived2_20_Base("MapObj", &mUnk_94, &mUnk_94, &mUnk_94, 0, 0),
mUnk_94(0),
mUnk_98(0),
mUnk_B0(false),
mUnk_B1(0) {
func_02015ea8(mapObjId2, &this->mUnk_94);
}
ARM MapObjectProfile_Derived2_20::~MapObjectProfile_Derived2_20() {
this->func_ov000_020589e4();
this->func_ov000_0209cfac();
}
ARM void MapObjectProfile_Derived2_20::func_ov000_0209cef0() {
char path[32 + 1];
size_t curLength;
((wchar_t *) &path)[(sizeof(path) - 1) / 2] = L'\0';
// path = "MapObj/RESID/filename.zcb"
strncpy(&path[0], "MapObj/", sizeof(path) - 1);
curLength = strlen(path);
strncpy(&path[curLength], this->mUnk_08, sizeof(path) - 1 - curLength);
const char *ext = ".zcb";
curLength = strlen(path);
strncpy(&path[curLength], ext, sizeof(path) - 1 - curLength);
this->mUnk_9C.vfunc_0C();
this->mUnk_9C.mUnk_04 = path;
if (func_02012fa8(path) != 0) {
this->mUnk_9C.vfunc_08(0x10);
this->mUnk_B0 = true;
} else {
this->mUnk_B0 = false;
}
}
ARM void MapObjectProfile_Derived2_20::func_ov000_0209cfac() {
if (this->mUnk_B0) {
this->mUnk_9C.vfunc_0C();
this->mUnk_B0 = false;
}
}
ARM void MapObjectProfile_Derived2_20::func_ov000_0209cfdc(unk32 param1, unk32 param2) {}
@@ -121,7 +121,7 @@ end:
}
ARM MapObjectSwitchStep::~MapObjectSwitchStep() {
if (this->mUnk_20.mUnk_00 == 2) {
if (this->mUnk_20.mUnk_00[0] == 2) {
this->func_ov000_0209e11c(0, 1);
this->func_ov000_0209d2c4(0, 0);
}
@@ -182,8 +182,8 @@ ARM void MapObjectSwitchStep::func_ov000_0209e11c(unk32 param1, unk32 param2) {
this->mUnk_EA = 1;
}
if (this->mUnk_20.mUnk_00 == 2) {
this->mUnk_E6 = this->mUnk_20.mUnk_02;
if (this->mUnk_20.mUnk_00[0] == 2) {
this->mUnk_E6 = this->mUnk_20.mUnk_00[1];
this->mUnk_E4 = 0;
}
+10 -10
View File
@@ -279,8 +279,8 @@ THUMB void ActorManager::func_ov001_020bb548() {
}
THUMB void ActorManager::func_ov001_020bb630() {
ActorProfile **piVar2 = data_ov000_020b539c.func_ov000_02073dc();
ActorProfile **piVar3 = data_ov000_020b539c.func_ov000_02073e8();
ActorProfile **piVar2 = data_ov000_020b539c_eur.func_ov000_02073dc();
ActorProfile **piVar3 = data_ov000_020b539c_eur.func_ov000_02073e8();
while (piVar2 != piVar3) {
ActorProfile *iVar4 = *piVar2;
@@ -302,7 +302,7 @@ THUMB void ActorManager::func_ov001_020bb630() {
}
piVar2++;
piVar3 = data_ov000_020b539c.func_ov000_02073e8();
piVar3 = data_ov000_020b539c_eur.func_ov000_02073e8();
}
if (data_027e09a4->mUnk_60 == 1) {
@@ -311,8 +311,8 @@ THUMB void ActorManager::func_ov001_020bb630() {
}
THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) {
ActorProfile **piVar1 = data_ov000_020b539c.func_ov000_02073dc();
ActorProfile **piVar2 = data_ov000_020b539c.func_ov000_02073e8();
ActorProfile **piVar1 = data_ov000_020b539c_eur.func_ov000_02073dc();
ActorProfile **piVar2 = data_ov000_020b539c_eur.func_ov000_02073e8();
while (piVar1 != piVar2) {
ActorProfile *iVar5 = *piVar1;
@@ -330,7 +330,7 @@ THUMB void ActorManager::func_ov001_020bb6b0(s32 *param1) {
}
piVar1++;
piVar2 = data_ov000_020b539c.func_ov000_02073e8();
piVar2 = data_ov000_020b539c_eur.func_ov000_02073e8();
}
}
@@ -368,7 +368,7 @@ THUMB bool ActorManager::func_ov001_020bb728(s32 param1) {
THUMB void ActorManager::func_ov001_020bb7b0(ZeldaObjectList *pObjList) {
for (s32 i = 0; i < pObjList->nEntries; i++) {
u32 id = pObjList->aIdList[i];
ActorProfile *pActorProfile = data_ov000_020b539c.func_ov000_020974dc(id);
ActorProfile *pActorProfile = data_ov000_020b539c_eur.func_ov000_020974dc(id);
if (!this->func_ov001_020bb728(id) && pActorProfile != NULL) {
pActorProfile->vfunc_08();
@@ -377,8 +377,8 @@ THUMB void ActorManager::func_ov001_020bb7b0(ZeldaObjectList *pObjList) {
}
THUMB void ActorManager::func_ov001_020bb7f0() {
ActorProfile **ptr1 = data_ov000_020b539c.func_ov000_02073dc();
ActorProfile **ptr2 = data_ov000_020b539c.func_ov000_02073e8();
ActorProfile **ptr1 = data_ov000_020b539c_eur.func_ov000_02073dc();
ActorProfile **ptr2 = data_ov000_020b539c_eur.func_ov000_02073e8();
while (ptr1 != ptr2) {
if (*ptr1 != NULL) {
@@ -386,7 +386,7 @@ THUMB void ActorManager::func_ov001_020bb7f0() {
}
ptr1++;
ptr2 = data_ov000_020b539c.func_ov000_02073e8();
ptr2 = data_ov000_020b539c_eur.func_ov000_02073e8();
}
}
+1 -1
View File
@@ -55,7 +55,7 @@ ARM void ActorRupee::func_ov031_020e8d2c(Vec3p *param1, u8 param2, unk32 param3,
stack.sp4.z = param1->z;
stack.sp2C = param4;
stack.sp30 = param3;
this->func_ov000_020973f4(&data_ov000_020b539c, ActorId_Rupee, (Actor_5c *) &stack, 0);
this->func_ov000_020973f4(&data_ov000_020b539c_eur, ActorId_Rupee, (Actor_5c *) &stack, 0);
}
ARM ActorRupee::ActorRupee() :
+6 -6
View File
@@ -2,9 +2,9 @@
#include "Unknown/UnkStruct_ov000_020b4f84.hpp"
extern "C" size_t func_020010e0(UnkStruct_02011e10_Sub1 *heapID, void *pFile, unk32 param3);
extern "C" void *func_02012ec8(unk32, unk16, void *, size_t *, unk32, u8);
extern "C" void *func_02012ee4(void *, unk32, unk32, size_t *, u8);
extern "C" void *func_02012f6c(void *, size_t *);
extern "C" void *func_02012ec8(unk32, unk16, const char *, size_t *, unk32, u8);
extern "C" void *func_02012ee4(const char *, unk32, unk32, size_t *, u8);
extern "C" void *func_02012f6c(const char *, size_t *);
extern "C" HeapIndex16 func_02015338();
THUMB UnkFileSystem1::~UnkFileSystem1() {}
@@ -27,7 +27,7 @@ THUMB UnkFileSystem5::UnkFileSystem5() :
this->mUnk_12 = 0;
}
THUMB UnkFileSystem5::UnkFileSystem5(void *param1, unk32 param2, unk32 param3, u8 param4) :
THUMB UnkFileSystem5::UnkFileSystem5(const char *param1, unk32 param2, unk32 param3, u8 param4) :
UnkFileSystem1(param1) {
this->mHeapIndex = param3;
this->mUnk_12 = param4;
@@ -64,7 +64,7 @@ THUMB size_t UnkFileSystem5::vfunc_10(unk32 param1) {
return prevFileSize;
}
THUMB UnkFileSystem4::UnkFileSystem4(void *param1, unk32 param2, unk32 param3, unk32 param4) :
THUMB UnkFileSystem4::UnkFileSystem4(const char *param1, unk32 param2, unk32 param3, unk32 param4) :
UnkFileSystem1(param1) {
this->mUnk_18 = param2;
this->mUnk_10 = param3;
@@ -92,7 +92,7 @@ THUMB void *UnkFileSystem3::vfunc_08(unk32 param1) {
}
// https://decomp.me/scratch/Y2SB8
THUMB UnkFileSystem2::UnkFileSystem2(void *param1, unk32 param2) :
THUMB UnkFileSystem2::UnkFileSystem2(const char *param1, unk32 param2) :
UnkFileSystem1(param1) {
this->mUnk_14 = param2;
}
+7 -5
View File
@@ -148,16 +148,18 @@ config.libs = [
Object("000_Second/UnkSystem1_Derived1.cpp"),
Object("000_Second/Actor/Actor.cpp"),
Object("000_Second/Actor/ActorManager.cpp"),
Object("000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp"),
Object("000_Second/Item/ItemManager.cpp"),
Object("000_Second/Item/TreasureManager.cpp"),
Object("000_Second/Actor/ActorUnkEFIK.cpp"),
Object("000_Second/Actor/ActorEventIcon.cpp"),
Object("000_Second/Actor/ActorUnkSWOB.cpp"),
Object("000_Second/Actor/ActorUnkSWTM.cpp"),
Object("000_Second/Actor/ActorEventIcon.cpp"),
Object("000_Second/Actor/ActorUnkEFIK.cpp"),
Object("000_Second/MapObject/MapObjectProfile.cpp"),
Object("000_Second/MapObject/MapObjectProfile_Derived2_20.cpp"),
Object("000_Second/MapObject/MapObject.cpp"),
Object("000_Second/MapObject/MapObjectSwitchStep.cpp"),
Object("000_Second/MapObject/MapObjectMiniBlocks.cpp"),
Object("000_Second/Item/ItemManager.cpp"),
Object("000_Second/Actor/ActorUnk_ov000_020a8bb0.cpp"),
Object("000_Second/Item/TreasureManager.cpp"),
]
),
GameLib(