mirror of
https://github.com/zeldaret/st
synced 2026-08-26 08:02:50 -04:00
Decompiling MapObjectUnkLTRW (#142)
* feat: Start decompiling MapObjectUnkLTRW * fix: Remove unused code in ActorUnkCANS * feat: Match LTRW vfuncs * feat: Match LTRW functions * fix: Update MapObject vfunc_28 with new signature, and symbols * feat: Update a class with parent * feat: Create hollow parent class * feat: Complete sinit (non-matching) * feat: Match all of LTRW * feat: Sync jp * feat: Improve constants for their own type * Update src/063_Shrine/MapObject/MapObjectUnkLTRW.cpp Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com> * fix: Update some vfunc_28 with new signature * fix: Broken data * fix: More data * fix: Update vfunc 28 🤡 --------- Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
This commit is contained in:
@@ -85,6 +85,7 @@ src/063_Shrine/MapObject/MapObjectUnkLTRW.cpp:
|
||||
.text start:0x02160ad0 end:0x02160e98
|
||||
.init start:0x02162d20 end:0x02162da0
|
||||
.ctor start:0x02162e6c end:0x02162e70
|
||||
.data start:0x021639c4 end:0x02163a94
|
||||
.bss start:0x021646f8 end:0x02164800
|
||||
|
||||
src/063_Shrine/MapObject/MapObjectUnkMTJR.cpp:
|
||||
|
||||
@@ -1180,17 +1180,17 @@ from:0x02160aec kind:arm_call to:0x02011f3c module:main
|
||||
from:0x02160af8 kind:arm_call to:0x02160bd0 module:overlay(63)
|
||||
from:0x02160b10 kind:arm_call to:0x0209c9a8 module:overlay(0)
|
||||
from:0x02160b20 kind:arm_call to:0x0207c018 module:overlay(0)
|
||||
from:0x02160bb4 kind:load to:0x021639fc module:overlay(63)
|
||||
from:0x02160bb8 kind:load to:0x02163a34 module:overlay(63)
|
||||
from:0x02160bbc kind:load to:0x02163a18 module:overlay(63)
|
||||
from:0x02160bb4 kind:load to:0x021639f4 module:overlay(63) add:0x8
|
||||
from:0x02160bb8 kind:load to:0x02163a2c module:overlay(63) add:0x8
|
||||
from:0x02160bbc kind:load to:0x02163a10 module:overlay(63) add:0x8
|
||||
from:0x02160bc8 kind:load to:0x021639c4 module:overlay(63)
|
||||
from:0x02160bd8 kind:arm_call to:0x0209cfe0 module:overlay(0)
|
||||
from:0x02160c30 kind:arm_call_thumb to:0x02057b70 module:overlay(0)
|
||||
from:0x02160c60 kind:load to:0x02163a5c module:overlay(63)
|
||||
from:0x02160c60 kind:load to:0x02163a54 module:overlay(63) add:0x8
|
||||
from:0x02160c64 kind:load to:0x02164708 module:overlay(63)
|
||||
from:0x02160c68 kind:load to:0x021639e4 module:overlay(63)
|
||||
from:0x02160c68 kind:load to:0x021639dc module:overlay(63) add:0x8
|
||||
from:0x02160cb8 kind:arm_call to:0x02160d18 module:overlay(63)
|
||||
from:0x02160cc4 kind:load to:0x021647dc module:overlay(63)
|
||||
from:0x02160cc4 kind:load to:0x02164708 add:0xd4 module:overlay(63)
|
||||
from:0x02160d04 kind:arm_call to:0x020e0f30 module:overlay(31)
|
||||
from:0x02160d50 kind:arm_call to:0x0209d22c module:overlay(0)
|
||||
from:0x02160d5c kind:arm_call to:0x020730ac module:overlay(0)
|
||||
@@ -1212,7 +1212,7 @@ from:0x02160ed8 kind:arm_call to:0x0209c9a8 module:overlay(0)
|
||||
from:0x02160ee8 kind:arm_call to:0x0207c018 module:overlay(0)
|
||||
from:0x02160f48 kind:load to:0x02163820 module:overlay(63) add:0x8
|
||||
from:0x02160f4c kind:load to:0x02163858 module:overlay(63) add:0x8
|
||||
from:0x02160f50 kind:load to:0x02163a9c module:overlay(63)
|
||||
from:0x02160f50 kind:load to:0x02163a94 module:overlay(63) add:0x8
|
||||
from:0x02160f6c kind:arm_call to:0x0209cfe0 module:overlay(0)
|
||||
from:0x02160fc4 kind:arm_call_thumb to:0x02057b70 module:overlay(0)
|
||||
from:0x02160ff4 kind:load to:0x02163ab8 module:overlay(63)
|
||||
|
||||
@@ -308,13 +308,13 @@ _ZN23MapObjectProfileUnkLTRW10GetProfileEv kind:function(arm,size=0xc) addr:0x02
|
||||
_ZN23MapObjectProfileUnkLTRW6CreateEv kind:function(arm,size=0x24) addr:0x02160adc
|
||||
_ZN23MapObjectProfileUnkLTRWC1Ev kind:function(arm,size=0xd0) addr:0x02160b00
|
||||
_ZN16MapObjectUnkLTRWC1Ev kind:function(arm,size=0x9c) addr:0x02160bd0
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160c6cEv kind:function(arm,size=0x5c) addr:0x02160c6c
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160cc8Ev kind:function(arm,size=0x1c) addr:0x02160cc8
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160ce4Ev kind:function(arm,size=0x34) addr:0x02160ce4
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160d18Ev kind:function(arm,size=0x1c) addr:0x02160d18
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160d34Ev kind:function(arm,size=0xc4) addr:0x02160d34
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160df8Ev kind:function(arm,size=0x20) addr:0x02160df8
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160e18Ev kind:function(arm,size=0x24) addr:0x02160e18
|
||||
_ZN16MapObjectUnkLTRW8vfunc_00Ev kind:function(arm,size=0x5c) addr:0x02160c6c
|
||||
_ZN16MapObjectUnkLTRW8vfunc_08Ev kind:function(arm,size=0x1c) addr:0x02160cc8
|
||||
_ZN16MapObjectUnkLTRW8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x34) addr:0x02160ce4
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160d18Ei kind:function(arm,size=0x1c) addr:0x02160d18
|
||||
_ZN16MapObjectUnkLTRW8vfunc_28Eiii kind:function(arm,size=0xc4) addr:0x02160d34
|
||||
_ZN16MapObjectUnkLTRW8vfunc_14Ev kind:function(arm,size=0x20) addr:0x02160df8
|
||||
_ZN24UnkStruct_ov063_021639e49vfunc2_04Ev kind:function(arm,size=0x24) addr:0x02160e18
|
||||
_ZN16MapObjectUnkLTRWD1Ev kind:function(arm,size=0x20) addr:0x02160e3c
|
||||
_ZN16MapObjectUnkLTRWD0Ev kind:function(arm,size=0x28) addr:0x02160e5c
|
||||
_ZN23MapObjectProfileUnkLTRWD1Ev kind:function(arm,size=0x14) addr:0x02160e84
|
||||
@@ -395,7 +395,7 @@ __sinit_ov063_021629c4 kind:function(arm,size=0x168) addr:0x021629c4
|
||||
__sinit_ActorUnkRBLS.cpp kind:function(arm,size=0x50) addr:0x02162b2c
|
||||
__sinit_MapObjectUnkSTAT.cpp kind:function(arm,size=0x50) addr:0x02162b7c
|
||||
__sinit_MapObjectUnkWLMS.cpp kind:function(arm,size=0x154) addr:0x02162bcc
|
||||
__sinit_MapObjectUnkLTRW.cpp kind:function(arm,size=0x80) addr:0x02162d20
|
||||
__sinit_MapObjectUnkLTRW.cpp kind:function(arm,size=0x80) addr:0x02162d20 local
|
||||
__sinit_MapObjectUnkMTJR.cpp kind:function(arm,size=0x50) addr:0x02162da0
|
||||
__sinit_MapObjectUnkSWCR.cpp kind:function(arm,size=0x50) addr:0x02162df0
|
||||
.p__sinit_ActorUnkCANS.cpp kind:data(word) addr:0x02162e40
|
||||
@@ -409,7 +409,7 @@ __sinit_MapObjectUnkSWCR.cpp kind:function(arm,size=0x50) addr:0x02162df0
|
||||
.p__sinit_ActorUnkRBLS.cpp kind:data(word) addr:0x02162e60
|
||||
.p__sinit_MapObjectUnkSTAT.cpp kind:data(word) addr:0x02162e64
|
||||
.p__sinit_MapObjectUnkWLMS.cpp kind:data(word) addr:0x02162e68
|
||||
.p__sinit_MapObjectUnkLTRW.cpp kind:data(word) addr:0x02162e6c
|
||||
.p__sinit_MapObjectUnkLTRW.cpp kind:data(word) addr:0x02162e6c local
|
||||
.p__sinit_MapObjectUnkMTJR.cpp kind:data(word) addr:0x02162e70
|
||||
.p__sinit_MapObjectUnkSWCR.cpp kind:data(word) addr:0x02162e74
|
||||
_ZTV24UnkStruct_ov063_02162e88 kind:data(any) addr:0x02162e80
|
||||
@@ -484,13 +484,13 @@ data_ov063_02163910 kind:data(any) addr:0x02163910
|
||||
data_ov063_02163928 kind:data(any) addr:0x02163928
|
||||
data_ov063_02163944 kind:data(any) addr:0x02163944
|
||||
_ZTV19data_ov063_02163980 kind:data(any) addr:0x02163980
|
||||
data_ov063_021639c4 kind:data(any) addr:0x021639c4
|
||||
data_ov063_021639e4 kind:data(any) addr:0x021639e4
|
||||
data_ov063_021639fc kind:data(any) addr:0x021639fc
|
||||
data_ov063_02163a18 kind:data(any) addr:0x02163a18
|
||||
data_ov063_02163a34 kind:data(any) addr:0x02163a34
|
||||
data_ov063_02163a5c kind:data(any) addr:0x02163a5c
|
||||
data_ov063_02163a9c kind:data(any) addr:0x02163a9c
|
||||
data_ov063_021639c4 kind:data(any) addr:0x021639c4 local
|
||||
_ZTV24UnkStruct_ov063_021639e4 kind:data(any) addr:0x021639dc
|
||||
_ZTV28MapObjectProfileUnkLTRW_Base kind:data(any) addr:0x021639f4
|
||||
_ZTV23MapObjectProfileUnkLTRW kind:data(any) addr:0x02163a10
|
||||
_ZTV31MapObjectProfileUnkLTRW_Base_D4 kind:data(any) addr:0x02163a2c
|
||||
_ZTV16MapObjectUnkLTRW kind:data(any) addr:0x02163a54
|
||||
data_ov063_02163a9c kind:data(any) addr:0x02163a94
|
||||
data_ov063_02163ab8 kind:data(any) addr:0x02163ab8
|
||||
data_ov063_02163af8 kind:data(any) addr:0x02163af8
|
||||
data_ov063_02163b0c kind:data(any) addr:0x02163b0c
|
||||
@@ -536,7 +536,6 @@ data_ov063_021646d8 kind:bss addr:0x021646d8
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkLTRWE8sProfileE kind:bss addr:0x021646f8
|
||||
@12257 kind:bss addr:0x021646fc
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkLTRWE8sProfileE kind:bss addr:0x02164708
|
||||
data_ov063_021647dc kind:bss addr:0x021647dc
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02164800
|
||||
@12263 kind:bss addr:0x02164804
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02164810
|
||||
|
||||
@@ -85,6 +85,7 @@ src/063_Shrine/MapObject/MapObjectUnkLTRW.cpp:
|
||||
.text start:0x021628e8 end:0x02162cb0
|
||||
.init start:0x02164b38 end:0x02164bb8
|
||||
.ctor start:0x02164c84 end:0x02164c88
|
||||
.data start:0x021657e4 end:0x021658b4
|
||||
.bss start:0x02166518 end:0x02166620
|
||||
|
||||
src/063_Shrine/MapObject/MapObjectUnkMTJR.cpp:
|
||||
|
||||
@@ -1188,17 +1188,17 @@ from:0x02162904 kind:arm_call to:0x02011f3c module:main
|
||||
from:0x02162910 kind:arm_call to:0x021629e8 module:overlay(63)
|
||||
from:0x02162928 kind:arm_call to:0x0209e16c module:overlay(0)
|
||||
from:0x02162938 kind:arm_call to:0x0207d6d0 module:overlay(0)
|
||||
from:0x021629cc kind:load to:0x0216581c module:overlay(63)
|
||||
from:0x021629d0 kind:load to:0x02165854 module:overlay(63)
|
||||
from:0x021629d4 kind:load to:0x02165838 module:overlay(63)
|
||||
from:0x021629cc kind:load to:0x02165814 module:overlay(63) add:0x8
|
||||
from:0x021629d0 kind:load to:0x0216584c module:overlay(63) add:0x8
|
||||
from:0x021629d4 kind:load to:0x02165830 module:overlay(63) add:0x8
|
||||
from:0x021629e0 kind:load to:0x021657e4 module:overlay(63)
|
||||
from:0x021629f0 kind:arm_call to:0x0209e7a4 module:overlay(0)
|
||||
from:0x02162a48 kind:arm_call_thumb to:0x020590f0 module:overlay(0)
|
||||
from:0x02162a78 kind:load to:0x0216587c module:overlay(63)
|
||||
from:0x02162a78 kind:load to:0x02165874 module:overlay(63) add:0x8
|
||||
from:0x02162a7c kind:load to:0x02166528 module:overlay(63)
|
||||
from:0x02162a80 kind:load to:0x02165804 module:overlay(63)
|
||||
from:0x02162a80 kind:load to:0x021657fc module:overlay(63) add:0x8
|
||||
from:0x02162ad0 kind:arm_call to:0x02162b30 module:overlay(63)
|
||||
from:0x02162adc kind:load to:0x021665fc module:overlay(63)
|
||||
from:0x02162adc kind:load to:0x02166528 add:0xd4 module:overlay(63)
|
||||
from:0x02162b1c kind:arm_call to:0x020e2900 module:overlay(31)
|
||||
from:0x02162b68 kind:arm_call to:0x0209e9f0 module:overlay(0)
|
||||
from:0x02162b74 kind:arm_call to:0x02074764 module:overlay(0)
|
||||
@@ -1220,7 +1220,7 @@ from:0x02162cf0 kind:arm_call to:0x0209e16c module:overlay(0)
|
||||
from:0x02162d00 kind:arm_call to:0x0207d6d0 module:overlay(0)
|
||||
from:0x02162d60 kind:load to:0x02165640 module:overlay(63) add:0x8
|
||||
from:0x02162d64 kind:load to:0x02165678 module:overlay(63) add:0x8
|
||||
from:0x02162d68 kind:load to:0x021658bc module:overlay(63)
|
||||
from:0x02162d68 kind:load to:0x021658b4 module:overlay(63) add:0x8
|
||||
from:0x02162d84 kind:arm_call to:0x0209e7a4 module:overlay(0)
|
||||
from:0x02162ddc kind:arm_call_thumb to:0x020590f0 module:overlay(0)
|
||||
from:0x02162e0c kind:load to:0x021658d8 module:overlay(63)
|
||||
|
||||
@@ -310,13 +310,13 @@ _ZN23MapObjectProfileUnkLTRW10GetProfileEv kind:function(arm,size=0xc) addr:0x02
|
||||
_ZN23MapObjectProfileUnkLTRW6CreateEv kind:function(arm,size=0x24) addr:0x021628f4
|
||||
_ZN23MapObjectProfileUnkLTRWC1Ev kind:function(arm,size=0xd0) addr:0x02162918
|
||||
_ZN16MapObjectUnkLTRWC1Ev kind:function(arm,size=0x9c) addr:0x021629e8
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160c6cEv kind:function(arm,size=0x5c) addr:0x02162a84
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160cc8Ev kind:function(arm,size=0x1c) addr:0x02162ae0
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160ce4Ev kind:function(arm,size=0x34) addr:0x02162afc
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160d18Ev kind:function(arm,size=0x1c) addr:0x02162b30
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160d34Ev kind:function(arm,size=0xc4) addr:0x02162b4c
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160df8Ev kind:function(arm,size=0x20) addr:0x02162c10
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160e18Ev kind:function(arm,size=0x24) addr:0x02162c30
|
||||
_ZN16MapObjectUnkLTRW8vfunc_00Ev kind:function(arm,size=0x5c) addr:0x02162a84
|
||||
_ZN16MapObjectUnkLTRW8vfunc_08Ev kind:function(arm,size=0x1c) addr:0x02162ae0
|
||||
_ZN16MapObjectUnkLTRW8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x34) addr:0x02162afc
|
||||
_ZN16MapObjectUnkLTRW19func_ov063_02160d18Ei kind:function(arm,size=0x1c) addr:0x02162b30
|
||||
_ZN16MapObjectUnkLTRW8vfunc_28Eiii kind:function(arm,size=0xc4) addr:0x02162b4c
|
||||
_ZN16MapObjectUnkLTRW8vfunc_14Ev kind:function(arm,size=0x20) addr:0x02162c10
|
||||
_ZN24UnkStruct_ov063_021639e49vfunc2_04Ev kind:function(arm,size=0x24) addr:0x02162c30
|
||||
_ZN16MapObjectUnkLTRWD1Ev kind:function(arm,size=0x20) addr:0x02162c54
|
||||
_ZN16MapObjectUnkLTRWD0Ev kind:function(arm,size=0x28) addr:0x02162c74
|
||||
_ZN23MapObjectProfileUnkLTRWD1Ev kind:function(arm,size=0x14) addr:0x02162c9c
|
||||
@@ -397,7 +397,7 @@ __sinit_ov063_021647dc kind:function(arm,size=0x168) addr:0x021647dc
|
||||
__sinit_ActorUnkRBLS.cpp kind:function(arm,size=0x50) addr:0x02164944
|
||||
__sinit_MapObjectUnkSTAT.cpp kind:function(arm,size=0x50) addr:0x02164994
|
||||
__sinit_MapObjectUnkWLMS.cpp kind:function(arm,size=0x154) addr:0x021649e4
|
||||
__sinit_MapObjectUnkLTRW.cpp kind:function(arm,size=0x80) addr:0x02164b38
|
||||
__sinit_MapObjectUnkLTRW.cpp kind:function(arm,size=0x80) addr:0x02164b38 local
|
||||
__sinit_MapObjectUnkMTJR.cpp kind:function(arm,size=0x50) addr:0x02164bb8
|
||||
__sinit_MapObjectUnkSWCR.cpp kind:function(arm,size=0x50) addr:0x02164c08
|
||||
.p__sinit_ActorUnkCANS.cpp kind:data(word) addr:0x02164c58
|
||||
@@ -411,7 +411,7 @@ __sinit_MapObjectUnkSWCR.cpp kind:function(arm,size=0x50) addr:0x02164c08
|
||||
.p__sinit_ActorUnkRBLS.cpp kind:data(word) addr:0x02164c78
|
||||
.p__sinit_MapObjectUnkSTAT.cpp kind:data(word) addr:0x02164c7c
|
||||
.p__sinit_MapObjectUnkWLMS.cpp kind:data(word) addr:0x02164c80
|
||||
.p__sinit_MapObjectUnkLTRW.cpp kind:data(word) addr:0x02164c84
|
||||
.p__sinit_MapObjectUnkLTRW.cpp kind:data(word) addr:0x02164c84 local
|
||||
.p__sinit_MapObjectUnkMTJR.cpp kind:data(word) addr:0x02164c88
|
||||
.p__sinit_MapObjectUnkSWCR.cpp kind:data(word) addr:0x02164c8c
|
||||
_ZTV24UnkStruct_ov063_02162e88 kind:data(any) addr:0x02164ca0
|
||||
@@ -487,13 +487,13 @@ data_ov063_02165730 kind:data(any) addr:0x02165730
|
||||
data_ov063_02165748 kind:data(any) addr:0x02165748
|
||||
data_ov063_02165764 kind:data(any) addr:0x02165764
|
||||
_ZTV19data_ov063_021657a0 kind:data(any) addr:0x021657a0
|
||||
data_ov063_021657e4 kind:data(any) addr:0x021657e4
|
||||
data_ov063_02165804 kind:data(any) addr:0x02165804
|
||||
data_ov063_0216581c kind:data(any) addr:0x0216581c
|
||||
data_ov063_02165838 kind:data(any) addr:0x02165838
|
||||
data_ov063_02165854 kind:data(any) addr:0x02165854
|
||||
data_ov063_0216587c kind:data(any) addr:0x0216587c
|
||||
data_ov063_021658bc kind:data(any) addr:0x021658bc
|
||||
data_ov063_021639c4 kind:data(any) addr:0x021657e4 local
|
||||
_ZTV24UnkStruct_ov063_021639e4 kind:data(any) addr:0x021657fc
|
||||
_ZTV28MapObjectProfileUnkLTRW_Base kind:data(any) addr:0x02165814
|
||||
_ZTV23MapObjectProfileUnkLTRW kind:data(any) addr:0x02165830
|
||||
_ZTV31MapObjectProfileUnkLTRW_Base_D4 kind:data(any) addr:0x0216584c
|
||||
_ZTV16MapObjectUnkLTRW kind:data(any) addr:0x02165874
|
||||
data_ov063_021658bc kind:data(any) addr:0x021658b4
|
||||
data_ov063_021658d8 kind:data(any) addr:0x021658d8
|
||||
data_ov063_02165918 kind:data(any) addr:0x02165918
|
||||
data_ov063_0216592c kind:data(any) addr:0x0216592c
|
||||
@@ -541,7 +541,6 @@ data_ov063_021664f8 kind:bss addr:0x021664f8
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkLTRWE8sProfileE kind:bss addr:0x02166518
|
||||
@32263 kind:bss addr:0x0216651c
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkLTRWE8sProfileE kind:bss addr:0x02166528
|
||||
data_ov063_021665fc kind:bss addr:0x021665fc
|
||||
_ZGVN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02166620
|
||||
@32269 kind:bss addr:0x02166624
|
||||
_ZN15ProfileInstanceI23MapObjectProfileUnkMTJRE8sProfileE kind:bss addr:0x02166630
|
||||
|
||||
@@ -94,6 +94,11 @@ public:
|
||||
/* 20 */
|
||||
};
|
||||
|
||||
class MapObject_10_Derived1 : public MapObject_10 {
|
||||
public:
|
||||
MapObject_10_Derived1() {}
|
||||
};
|
||||
|
||||
class MapObject_20 {
|
||||
public:
|
||||
/* 00 */ u16 mParams[4]; // parameters
|
||||
|
||||
@@ -1,36 +1,64 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Actor/ActorUnkTLKT.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Render/ModelRender.hpp"
|
||||
#include "global.h"
|
||||
#include "types.h"
|
||||
|
||||
class UnkStruct_ov063_021639e4 : public ActorUnkTLKT_9C_Base {
|
||||
public:
|
||||
/* 00 (vtable) */
|
||||
/* 08 */
|
||||
|
||||
UnkStruct_ov063_021639e4() {
|
||||
mUnk_04h = 0;
|
||||
mUnk_06 = 0;
|
||||
};
|
||||
|
||||
/* 04 */ virtual void vfunc2_04() override;
|
||||
};
|
||||
|
||||
class MapObjectUnkLTRW : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
/* 40 */ ModelRender mUnk_40;
|
||||
/* A0 */ unk32 mUnk_A0;
|
||||
/* A4 */ volatile u16 mUnk_A4;
|
||||
/* A6 */ u16 mUnk_A6;
|
||||
/* A8 */ UnkStruct_ov063_021639e4 mUnk_A8;
|
||||
|
||||
MapObjectUnkLTRW();
|
||||
|
||||
/* 30 */ virtual ~MapObjectUnkLTRW() override;
|
||||
/* 00 */ virtual bool vfunc_00() override;
|
||||
/* 08 */ virtual void vfunc_08() override;
|
||||
/* 14 */ virtual void vfunc_14() override;
|
||||
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
|
||||
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
|
||||
|
||||
void func_ov063_02160c6c(void);
|
||||
void func_ov063_02160cc8(void);
|
||||
void func_ov063_02160ce4(void);
|
||||
void func_ov063_02160d18(void);
|
||||
void func_ov063_02160d34(void);
|
||||
void func_ov063_02160df8(void);
|
||||
void func_ov063_02160e18(void);
|
||||
void func_ov063_02160d18(unk32 param1);
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkLTRW : public MapObjectProfile {
|
||||
class MapObjectProfileUnkLTRW_Base_D4 : public MapObject_10 {
|
||||
public:
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkLTRW_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObjectProfileUnkLTRW_Base_D4 mUnk_D4;
|
||||
/* F8 */
|
||||
|
||||
MapObjectProfileUnkLTRW_Base(MapObjectId mapObjId1, MapObjectId mapObjId2) :
|
||||
MapObjectProfile_Derived2(mapObjId1, mapObjId2),
|
||||
mUnk_D4() {};
|
||||
};
|
||||
|
||||
class MapObjectProfileUnkLTRW : public MapObjectProfileUnkLTRW_Base {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
|
||||
MapObjectProfileUnkLTRW();
|
||||
~MapObjectProfileUnkLTRW();
|
||||
|
||||
/* 0C */ virtual MapObject *Create();
|
||||
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "MapObject/MapObject.hpp"
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
#pragma once
|
||||
|
||||
class MapObjectPot_Base : public MapObject {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 40 */
|
||||
|
||||
MapObjectPot_Base();
|
||||
|
||||
// data_ov000_020b35d0
|
||||
|
||||
/* 00 */ virtual bool vfunc_00(); // func_ov000_0209d780
|
||||
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov000_0209d8e8
|
||||
/* 28 */ virtual unk32 vfunc_28(unk32 param1) override; // func_ov000_0209d9f8
|
||||
/* 30 */ virtual ~MapObjectPot_Base() = 0 override;
|
||||
/* 38 */ virtual void vfunc_38() override; // func_ov000_0209d9ac
|
||||
/* 3C */ virtual bool vfunc_3C() override; // func_ov000_0209db74
|
||||
/* 40 */ virtual bool vfunc_40() override; // func_ov000_0209db7c
|
||||
/* 44 */ virtual void vfunc_44(unk32, unk32) override; // func_ov000_0209d7a4
|
||||
/* 48 */ virtual void vfunc_48() override; // func_ov000_0209da60
|
||||
/* 4C */ virtual void vfunc_4C() override; // func_ov000_0209da70
|
||||
/* 50 */ virtual void vfunc_50() override; // func_ov000_0209dac0
|
||||
/* 54 */ virtual unk32 vfunc_54() override; // func_ov000_0209da64
|
||||
|
||||
// overlay 0
|
||||
void func_ov000_0209d8e8(MapObjectPot_Base *param1, fx32 param2);
|
||||
unk32 func_ov000_0209da64();
|
||||
};
|
||||
|
||||
class MapObject_10_Pot : public MapObject_10 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* 24 */
|
||||
|
||||
MapObject_10_Pot() {}
|
||||
};
|
||||
|
||||
class MapObjectProfilePot_Base : public MapObjectProfile_Derived2 {
|
||||
public:
|
||||
/* 00 (base) */
|
||||
/* D4 */ MapObject_10_Pot mUnk_D4;
|
||||
|
||||
MapObjectProfilePot_Base(MapObjectId param1, MapObjectId param2) :
|
||||
MapObjectProfile_Derived2(param1, param2) {}
|
||||
};
|
||||
@@ -894,6 +894,10 @@ public:
|
||||
bool mUnk_04b;
|
||||
bool mUnk_05;
|
||||
};
|
||||
struct {
|
||||
unk16 mUnk_04h;
|
||||
unk16 mUnk_06;
|
||||
};
|
||||
unk32 mUnk_04;
|
||||
};
|
||||
/* 08 */
|
||||
|
||||
@@ -10,8 +10,6 @@ extern char data_ov063_021625e8[0x10]; // = "RMSD";
|
||||
|
||||
ActorUnkZLSL_AnimationTag data_ov063_021634b0 = {0, "RMSD"};
|
||||
|
||||
extern "C" void func_ov000_02099ff8(unk32 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8);
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkRMSD);
|
||||
|
||||
Actor *ActorProfileUnkRMSD::Create() {
|
||||
|
||||
@@ -10,7 +10,6 @@ extern char data_ov063_02162578[0x10]; // = "RMSV";
|
||||
extern char data_ov063_02162588[0x10]; // = "RMSV_wall";
|
||||
|
||||
// Overlay 0
|
||||
extern "C" void func_ov000_02099ff8(unk32 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8);
|
||||
extern "C" void func_ov000_02099e58(UnkStruct_ov063_021632e4 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8);
|
||||
|
||||
// Overlay 31
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
#include "Actor/ActorUnkRMSW.hpp"
|
||||
#include "Actor/ActorId.hpp"
|
||||
#include "Actor/ActorUnkZLSL_ZSRS.hpp"
|
||||
#include "Actor/Actor_Derived1.hpp"
|
||||
#include "nns/g3d/g3d.h"
|
||||
#include "profile.hpp"
|
||||
@@ -11,8 +10,6 @@ extern char data_ov063_021625a8[0x10]; // = "RMSW";
|
||||
|
||||
struct ActorUnkZLSL_AnimationTag data_ov063_02163388 = {0, "RMSW"};
|
||||
|
||||
extern "C" void func_ov000_02099ff8(unk32 *param1, struct UnkStruct_data_ov063_02163388 param2, unk32 param8);
|
||||
|
||||
DECL_PROFILE(ActorProfileUnkRMSW);
|
||||
|
||||
Actor *ActorProfileUnkRMSW::Create() {
|
||||
@@ -27,7 +24,7 @@ ActorUnkRMSW::ActorUnkRMSW() :
|
||||
|
||||
bool ActorUnkRMSW::vfunc_18(unk32 param1) {
|
||||
bool res = ActorUnkRMSBase::vfunc_18(param1);
|
||||
((UnkStruct_ov000_020b31a8 *) &this->mUnk_158)->func_ov000_02099ff8(data_ov063_02163388, 0x1000);
|
||||
this->mUnk_158.func_ov000_02099ff8(data_ov063_02163388, 0x1000);
|
||||
return res;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,26 +1,122 @@
|
||||
//! TODO: This file was generated automatically and might contain errors
|
||||
|
||||
#include "MapObject/MapObjectUnkLTRW.hpp"
|
||||
#include "System/SysNew.hpp"
|
||||
#include "Actor/Actor_Derived1.hpp"
|
||||
#include "MapObject/MapObject.hpp"
|
||||
#include "MapObject/MapObjectProfile.hpp"
|
||||
#include "Unknown/Common.hpp"
|
||||
#include "Unknown/UnkStruct_027e09b8.hpp"
|
||||
#include "Unknown/UnkStruct_027e0cd8.hpp"
|
||||
#include "flags.h"
|
||||
#include "nitro/fx.h"
|
||||
#include "nitro/math.h"
|
||||
#include "nns/g3d/g3d.h"
|
||||
#include "profile.hpp"
|
||||
|
||||
// Overlay 31
|
||||
extern "C" void func_ov031_020e0f30(ActorRef);
|
||||
|
||||
struct UnkStruct_data_ov063_021639c4 {
|
||||
/* 00 */ unk32 mUnk_00;
|
||||
/* 04 */ unk32 mUnk_04;
|
||||
/* 08 */ unk32 mUnk_08;
|
||||
/* 0C */ VecFx32 vec;
|
||||
|
||||
UnkStruct_data_ov063_021639c4(unk32 param) {
|
||||
mUnk_08 = param;
|
||||
mUnk_04 = param + 4;
|
||||
mUnk_00 = param + 7;
|
||||
VecFx32_Init(0, 0, 0, &vec);
|
||||
}
|
||||
};
|
||||
|
||||
const UnkStruct_data_ov063_021639c4 data_ov063_021639c4(0x10002);
|
||||
|
||||
DECL_PROFILE(MapObjectProfileUnkLTRW);
|
||||
|
||||
MapObject *MapObjectProfileUnkLTRW::Create() {
|
||||
return new(HeapIndex_2) MapObjectUnkLTRW();
|
||||
return new(HeapIndex_ITCM) MapObjectUnkLTRW();
|
||||
}
|
||||
|
||||
MapObjectProfileUnkLTRW::MapObjectProfileUnkLTRW() :
|
||||
MapObjectProfile(MapObjectId_LTRW) {}
|
||||
MapObjectProfileUnkLTRW_Base(MapObjectId_LTRW, MapObjectId_LTRW) {
|
||||
mUnk_D4.mUnk_08 = 0x04007007;
|
||||
VecFx32_Init(data_ov063_021639c4.vec.x - FLOAT_TO_FX32(.6f), data_ov063_021639c4.vec.y,
|
||||
data_ov063_021639c4.vec.z - FLOAT_TO_FX32(.4f), &mUnk_D4.mUnk_0C);
|
||||
VecFx32_Init(data_ov063_021639c4.vec.x + FLOAT_TO_FX32(.6f), data_ov063_021639c4.vec.y + FLOAT_TO_FX32(1.2f),
|
||||
data_ov063_021639c4.vec.z + FLOAT_TO_FX32(.4f), &mUnk_D4.mUnk_18);
|
||||
mUnk_06 = 1;
|
||||
mUnk_0C = 0x1333;
|
||||
}
|
||||
|
||||
MapObjectUnkLTRW::MapObjectUnkLTRW() {}
|
||||
MapObjectUnkLTRW::MapObjectUnkLTRW() :
|
||||
mUnk_40(G3d_GetModelPtr(GET_PROFILE(MapObjectProfileUnkLTRW)->mUnk_20.mUnk_50)),
|
||||
mUnk_A0(1),
|
||||
mUnk_A4(0),
|
||||
mUnk_A6(0),
|
||||
mUnk_A8() {}
|
||||
|
||||
void MapObjectUnkLTRW::func_ov063_02160c6c(void) {}
|
||||
void MapObjectUnkLTRW::func_ov063_02160cc8(void) {}
|
||||
void MapObjectUnkLTRW::func_ov063_02160ce4(void) {}
|
||||
void MapObjectUnkLTRW::func_ov063_02160d18(void) {}
|
||||
void MapObjectUnkLTRW::func_ov063_02160d34(void) {}
|
||||
void MapObjectUnkLTRW::func_ov063_02160df8(void) {}
|
||||
void MapObjectUnkLTRW::func_ov063_02160e18(void) {}
|
||||
bool MapObjectUnkLTRW::vfunc_00() {
|
||||
mPos.x -= FLOAT_TO_FX32(.5f);
|
||||
mPos.z -= FLOAT_TO_FX32(.5f);
|
||||
mUnk_10 = &GET_PROFILE(MapObjectProfileUnkLTRW)->mUnk_D4;
|
||||
SET_FLAG(mFlags, MapObjFlag_9);
|
||||
mUnk_18[0] = 0x10;
|
||||
mUnk_A8.mUnk_04h = mUnk_20.mUnk_08[0];
|
||||
mUnk_A8.mUnk_06 = mUnk_20.mUnk_0A[0];
|
||||
this->func_ov063_02160d18(0);
|
||||
return true;
|
||||
}
|
||||
|
||||
MapObjectUnkLTRW::~MapObjectUnkLTRW() {}
|
||||
MapObjectProfileUnkLTRW::~MapObjectProfileUnkLTRW() {}
|
||||
void MapObjectUnkLTRW::vfunc_08() {
|
||||
if (mUnk_A4 < mUnk_A6) {
|
||||
mUnk_A4++;
|
||||
}
|
||||
}
|
||||
|
||||
void MapObjectUnkLTRW::vfunc_14() {
|
||||
mUnk_40.vfunc_18(&mPos);
|
||||
}
|
||||
|
||||
bool MapObjectUnkLTRW::vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) {
|
||||
if (param2 == 0xD) {
|
||||
func_ov031_020e0f30(param1);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
unk32 MapObjectUnkLTRW::vfunc_28(unk32 param1, unk32 param2, unk32 param3) {
|
||||
unk16 *plocal_60;
|
||||
unk16 local_60;
|
||||
plocal_60 = (unk16 *) &local_60;
|
||||
|
||||
MapObject::func_ov000_0209d22c(plocal_60, this, param1);
|
||||
|
||||
unk16 angle = plocal_60[0];
|
||||
|
||||
ActorUnk_vfunc_B0 varActor = ActorUnk_vfunc_B0();
|
||||
|
||||
if ((angle <= DEG_TO_ANG(90)) && (angle >= -DEG_TO_ANG(90))) {
|
||||
varActor.mUnk_0C = mUnk_20.mUnk_10;
|
||||
varActor.mUnk_14 = 2;
|
||||
varActor.mUnk_28 = (uintptr_t) this;
|
||||
varActor.mUnk_32 = 3;
|
||||
VecFx32_Copy(&mPos, &varActor.mUnk_34);
|
||||
varActor.mUnk_04 = &mUnk_A8;
|
||||
} else {
|
||||
varActor.mUnk_0C = data_ov063_021639c4.mUnk_08;
|
||||
varActor.mUnk_14 = 0;
|
||||
}
|
||||
|
||||
data_027e09b8->func_ov000_02073470(&varActor, 0);
|
||||
return 0;
|
||||
}
|
||||
|
||||
void MapObjectUnkLTRW::func_ov063_02160d18(unk32 param1) {
|
||||
mUnk_A0 = param1;
|
||||
mUnk_A6 = -1;
|
||||
mUnk_A4 = 0;
|
||||
}
|
||||
|
||||
void UnkStruct_ov063_021639e4::vfunc2_04() {
|
||||
data_027e0cd8->func_ov000_02081d7c(mUnk_06, mUnk_04h, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user