Decompiling pot actor (#102)

* refactor: rename actor

* feat: delink

* feat: prepare decompiling

* feat: improvements

* feat: few more changes

* feat: match constructor of mapobjectpot

* feat: match 100%

* style: remove blank lines

* refactor: remove implicit destructors
This commit is contained in:
Alessevan
2026-07-06 00:39:57 +02:00
committed by GitHub
parent bf559e183d
commit 5bfa30d5a1
12 changed files with 338 additions and 185 deletions
+2 -2
View File
@@ -73,7 +73,7 @@ func_ov000_02057830 kind:function(arm,size=0x3c) addr:0x02057830
func_ov000_0205786c kind:function(arm,size=0x38) addr:0x0205786c
func_ov000_020578a4 kind:function(arm,size=0x20) addr:0x020578a4
func_ov000_020578c4 kind:function(arm,size=0x24) addr:0x020578c4
_ZN12ModelRender2C1EP10G3d_Model_c kind:function(thumb,size=0x20) addr:0x020578e8
_ZN26ModelRender_ov000_020b198cC1EP10G3d_Model_c kind:function(thumb,size=0x20) addr:0x020578e8
func_ov000_02057908 kind:function(arm,size=0x34) addr:0x02057908
func_ov000_0205793c kind:function(arm,size=0xa4) addr:0x0205793c
_ZN19func_ov000_020579e0D1Ev kind:function(arm,size=0x14) addr:0x020579e0
@@ -1381,7 +1381,7 @@ _ZN19func_ov000_0207b628D1Ev kind:function(arm,size=0x14) addr:0x0207b628
_ZN19func_ov000_0207b63cD0Ev kind:function(arm,size=0x1c) addr:0x0207b63c
_ZN19func_ov000_0207b658D1Ev kind:function(arm,size=0x30) addr:0x0207b658
_ZN19func_ov000_0207b688D0Ev kind:function(arm,size=0x38) addr:0x0207b688
_ZN24UnkStruct_ov031_Items_01D2Ev kind:function(arm,size=0x30) addr:0x0207b6c0
_ZN24UnkStruct_ov031_Items_01D1Ev kind:function(arm,size=0x30) addr:0x0207b6c0
func_ov000_0207b6f0 kind:function(arm,size=0x1c) addr:0x0207b6f0
func_ov000_0207b70c kind:function(arm,size=0x10) addr:0x0207b70c
_ZN24UnkStruct_ov031_Items_018vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207b71c
+2 -1
View File
@@ -83,10 +83,11 @@ src/031_Land/Actor/ActorUnkSCCN.cpp:
.ctor start:0x021127c8 end:0x021127cc
.bss start:0x0211698c end:0x021169d8
src/031_Land/Actor/ActorUnkNTUB.cpp:
src/031_Land/Actor/ActorPot.cpp:
.text start:0x020f0c00 end:0x020f0fcc
.init start:0x021114a8 end:0x021114f8
.ctor start:0x021127cc end:0x021127d0
.data start:0x0211403c end:0x02114150
.bss start:0x021169d8 end:0x02116a24
src/031_Land/Actor/ActorUnkNITF.cpp:
+55 -55
View File
@@ -780,41 +780,41 @@ _ZN12ActorUnkSCCN19func_ov031_020efaa0Ev kind:function(arm,size=0x1d8) addr:0x02
_ZN12ActorUnkSCCND1Ev kind:function(arm,size=0x20) addr:0x020efc78
_ZN12ActorUnkSCCND0Ev kind:function(arm,size=0x28) addr:0x020efc98
_ZN19ActorProfileUnkSCCND1Ev kind:function(arm,size=0x14) addr:0x020efcc0
func_ov031_020efcd4 kind:function(arm,size=0x98) addr:0x020efcd4
func_ov031_020efd6c kind:function(arm,size=0x60) addr:0x020efd6c
func_ov031_020efdcc kind:function(arm,size=0x3c) addr:0x020efdcc
func_ov031_020efe08 kind:function(arm,size=0xb8) addr:0x020efe08
_ZN20Actor_ov031_02113fd4C2Ev kind:function(arm,size=0x98) addr:0x020efcd4
_ZN20Actor_ov031_02113fd48vfunc_18Ei kind:function(arm,size=0x60) addr:0x020efd6c
_ZN20Actor_ov031_02113fd44GrabE15ActorGrabParams kind:function(arm,size=0x3c) addr:0x020efdcc
_ZN20Actor_ov031_02113fd44DropE15ActorGrabParamsPK7VecFx32 kind:function(arm,size=0xb8) addr:0x020efe08
func_ov031_020efec0 kind:function(arm,size=0x18) addr:0x020efec0
func_ov031_020efed8 kind:function(arm,size=0x2c) addr:0x020efed8
func_ov031_020eff04 kind:function(arm,size=0xb8) addr:0x020eff04
func_ov031_020effbc kind:function(arm,size=0xa0) addr:0x020effbc
func_ov031_020f005c kind:function(arm,size=0x4) addr:0x020f005c
func_ov031_020f0060 kind:function(arm,size=0x30) addr:0x020f0060
func_ov031_020f0090 kind:function(arm,size=0x4) addr:0x020f0090
func_ov031_020f0094 kind:function(arm,size=0x4) addr:0x020f0094
func_ov031_020f0098 kind:function(arm,size=0x4) addr:0x020f0098
func_ov031_020f009c kind:function(arm,size=0x4) addr:0x020f009c
func_ov031_020f00a0 kind:function(arm,size=0x24) addr:0x020f00a0
func_ov031_020f00c4 kind:function(arm,size=0xd4) addr:0x020f00c4
func_ov031_020f0198 kind:function(arm,size=0x14) addr:0x020f0198
func_ov031_020f01ac kind:function(arm,size=0x74) addr:0x020f01ac
func_ov031_020f0220 kind:function(arm,size=0x24) addr:0x020f0220
func_ov031_020f0244 kind:function(arm,size=0x64) addr:0x020f0244
func_ov031_020f02a8 kind:function(arm,size=0x20) addr:0x020f02a8
func_ov031_020f02c8 kind:function(arm,size=0x188) addr:0x020f02c8
func_ov031_020f0450 kind:function(arm,size=0x58) addr:0x020f0450
func_ov031_020f04a8 kind:function(arm,size=0x34) addr:0x020f04a8
func_ov031_020f04dc kind:function(arm,size=0x38) addr:0x020f04dc
func_ov031_020f0514 kind:function(arm,size=0x124) addr:0x020f0514
_ZN20Actor_ov031_02113fd48vfunc_24Ev kind:function(arm,size=0x30) addr:0x020f0060
_ZN20Actor_ov031_02113fd48vfunc_60Ev kind:function(arm,size=0x4) addr:0x020f0090
_ZN20Actor_ov031_02113fd419func_ov031_020f0094Ev kind:function(arm,size=0x4) addr:0x020f0094
_ZN20Actor_ov031_02113fd419func_ov031_020f0098Ev kind:function(arm,size=0x4) addr:0x020f0098
_ZN20Actor_ov031_02113fd419func_ov031_020f009cEv kind:function(arm,size=0x4) addr:0x020f009c
_ZN20Actor_ov031_02113fd419func_ov031_020f00a0Ev kind:function(arm,size=0x24) addr:0x020f00a0
_ZN20Actor_ov031_02113fd419func_ov031_020f00c4Ev kind:function(arm,size=0xd4) addr:0x020f00c4
_ZN20Actor_ov031_02113fd419func_ov031_020f0198Ev kind:function(arm,size=0x14) addr:0x020f0198
_ZN20Actor_ov031_02113fd419func_ov031_020f01acEv kind:function(arm,size=0x74) addr:0x020f01ac
_ZN20Actor_ov031_02113fd419func_ov031_020f0220Ev kind:function(arm,size=0x24) addr:0x020f0220
_ZN20Actor_ov031_02113fd419func_ov031_020f0244Ev kind:function(arm,size=0x64) addr:0x020f0244
_ZN20Actor_ov031_02113fd48vfunc_40Ev kind:function(arm,size=0x20) addr:0x020f02a8
_ZN20Actor_ov031_02113fd48vfunc_44Ev kind:function(arm,size=0x188) addr:0x020f02c8
_ZN20Actor_ov031_02113fd419func_ov031_020f0450Ei kind:function(arm,size=0x58) addr:0x020f0450
_ZN20Actor_ov031_02113fd419func_ov031_020f04a8Ev kind:function(arm,size=0x34) addr:0x020f04a8
_ZN20Actor_ov031_02113fd419func_ov031_020f04dcEv kind:function(arm,size=0x38) addr:0x020f04dc
_ZN20Actor_ov031_02113fd419func_ov031_020f0514Ev kind:function(arm,size=0x124) addr:0x020f0514
func_ov031_020f0638 kind:function(arm,size=0x14) addr:0x020f0638
func_ov031_020f064c kind:function(arm,size=0x8) addr:0x020f064c
func_ov031_020f0654 kind:function(arm,size=0x8) addr:0x020f0654
func_ov031_020f065c kind:function(arm,size=0x24) addr:0x020f065c
_ZN20Actor_ov031_02113fd48vfunc_54Ev kind:function(arm,size=0x8) addr:0x020f064c
_ZN20Actor_ov031_02113fd48vfunc_58Ev kind:function(arm,size=0x8) addr:0x020f0654
_ZN20Actor_ov031_02113fd48vfunc_64Ev kind:function(arm,size=0x24) addr:0x020f065c
func_ov031_020f0680 kind:function(arm,size=0xc0) addr:0x020f0680
func_ov031_020f0740 kind:function(arm,size=0xe0) addr:0x020f0740
func_ov031_020f0820 kind:function(arm,size=0x1b0) addr:0x020f0820
func_ov031_020f09d0 kind:function(arm,size=0x28) addr:0x020f09d0
_ZN19func_ov031_020f09f8D1Ev kind:function(arm,size=0x1c) addr:0x020f09f8
_ZN24UnkStruct_ov031_02113fb8D1Ev kind:function(arm,size=0x1c) addr:0x020f09f8
_ZN19func_ov031_020f0a14D0Ev kind:function(arm,size=0x24) addr:0x020f0a14
func_ov031_020f0a38 kind:function(arm,size=0x70) addr:0x020f0a38
func_ov031_020f0aa8 kind:function(arm,size=0xb4) addr:0x020f0aa8
@@ -822,30 +822,30 @@ func_ov031_020f0b5c kind:function(arm,size=0x30) addr:0x020f0b5c
_ZN19func_ov031_020f0b8cD0Ev kind:function(arm,size=0x1c) addr:0x020f0b8c
_ZN19func_ov031_020f0ba8D1Ev kind:function(arm,size=0x28) addr:0x020f0ba8
_ZN19func_ov031_020f0bd0D0Ev kind:function(arm,size=0x30) addr:0x020f0bd0
_ZN19ActorProfileUnkNTUB10GetProfileEv kind:function(arm,size=0xc) addr:0x020f0c00
_ZN19ActorProfileUnkNTUB6CreateEv kind:function(arm,size=0x24) addr:0x020f0c0c
_ZN19ActorProfileUnkNTUBC1Ev kind:function(arm,size=0x30) addr:0x020f0c30
_ZN12ActorUnkNTUBC1Ev kind:function(arm,size=0x90) addr:0x020f0c60
_ZN12ActorUnkNTUB19func_ov031_020f0cf0Ev kind:function(arm,size=0x14) addr:0x020f0cf0
_ZN12ActorUnkNTUB19func_ov031_020f0d04Ev kind:function(arm,size=0x28) addr:0x020f0d04
_ZN12ActorUnkNTUB19func_ov031_020f0d2cEv kind:function(arm,size=0x54) addr:0x020f0d2c
_ZN12ActorUnkNTUB19func_ov031_020f0d80Ev kind:function(arm,size=0x38) addr:0x020f0d80
_ZN12ActorUnkNTUB19func_ov031_020f0db8Ev kind:function(arm,size=0x30) addr:0x020f0db8
_ZN12ActorUnkNTUB19func_ov031_020f0de8Ev kind:function(arm,size=0xc) addr:0x020f0de8
_ZN12ActorUnkNTUB19func_ov031_020f0df4Ev kind:function(arm,size=0xc) addr:0x020f0df4
_ZN12ActorUnkNTUB19func_ov031_020f0e00Ev kind:function(arm,size=0xc) addr:0x020f0e00
_ZN12ActorUnkNTUB19func_ov031_020f0e0cEv kind:function(arm,size=0xc) addr:0x020f0e0c
_ZN12ActorUnkNTUB19func_ov031_020f0e18Ev kind:function(arm,size=0xc) addr:0x020f0e18
_ZN12ActorUnkNTUB19func_ov031_020f0e24Ev kind:function(arm,size=0xc) addr:0x020f0e24
_ZN12ActorUnkNTUB19func_ov031_020f0e30Ev kind:function(arm,size=0xc) addr:0x020f0e30
_ZN12ActorUnkNTUB19func_ov031_020f0e3cEv kind:function(arm,size=0xc) addr:0x020f0e3c
_ZN12ActorUnkNTUB19func_ov031_020f0e48Ev kind:function(arm,size=0x14) addr:0x020f0e48
_ZN12ActorUnkNTUB19func_ov031_020f0e5cEv kind:function(arm,size=0x14) addr:0x020f0e5c
_ZN12ActorUnkNTUB19func_ov031_020f0e70Ev kind:function(arm,size=0xd4) addr:0x020f0e70
_ZN12ActorUnkNTUB19func_ov031_020f0f44Ev kind:function(arm,size=0xc) addr:0x020f0f44
_ZN12ActorUnkNTUBD1Ev kind:function(arm,size=0x30) addr:0x020f0f50
_ZN12ActorUnkNTUBD0Ev kind:function(arm,size=0x38) addr:0x020f0f80
_ZN19ActorProfileUnkNTUBD1Ev kind:function(arm,size=0x14) addr:0x020f0fb8
_ZN15ActorProfilePot10GetProfileEv kind:function(arm,size=0xc) addr:0x020f0c00
_ZN15ActorProfilePot6CreateEv kind:function(arm,size=0x24) addr:0x020f0c0c
_ZN15ActorProfilePotC1Ev kind:function(arm,size=0x30) addr:0x020f0c30
_ZN8ActorPotC1Ev kind:function(arm,size=0x90) addr:0x020f0c60
_ZN26ModelRender_ov000_020b198cD1Ev kind:function(arm,size=0x14) addr:0x020f0cf0
_ZN8ActorPot8vfunc_18Ei kind:function(arm,size=0x28) addr:0x020f0d04
_ZN8ActorPot8vfunc_5CEs kind:function(arm,size=0x54) addr:0x020f0d2c
_ZN8ActorPot8vfunc_20Ev kind:function(arm,size=0x38) addr:0x020f0d80
_ZN8ActorPot8vfunc_2CEi kind:function(arm,size=0x30) addr:0x020f0db8
_ZN8ActorPot19func_ov031_020f0de8Ev kind:function(arm,size=0xc) addr:0x020f0de8
_ZN8ActorPot19func_ov031_020f0df4Ev kind:function(arm,size=0xc) addr:0x020f0df4
_ZN8ActorPot19func_ov031_020f0e00Ev kind:function(arm,size=0xc) addr:0x020f0e00
_ZN8ActorPot19func_ov031_020f0e0cEv kind:function(arm,size=0xc) addr:0x020f0e0c
_ZN8ActorPot19func_ov031_020f0e18Ev kind:function(arm,size=0xc) addr:0x020f0e18
_ZN8ActorPot19func_ov031_020f0e24Ev kind:function(arm,size=0xc) addr:0x020f0e24
_ZN8ActorPot19func_ov031_020f0e30Ev kind:function(arm,size=0xc) addr:0x020f0e30
_ZN8ActorPot19func_ov031_020f0e3cEv kind:function(arm,size=0xc) addr:0x020f0e3c
_ZN8ActorPot19func_ov031_020f0e48Ev kind:function(arm,size=0x14) addr:0x020f0e48
_ZN8ActorPot19func_ov031_020f0e5cEv kind:function(arm,size=0x14) addr:0x020f0e5c
_ZN8ActorPot19func_ov031_020f0e70Ev kind:function(arm,size=0xd4) addr:0x020f0e70
_ZN8ActorPot19func_ov031_020f0f44Ev kind:function(arm,size=0xc) addr:0x020f0f44
_ZN8ActorPotD1Ev kind:function(arm,size=0x30) addr:0x020f0f50
_ZN8ActorPotD0Ev kind:function(arm,size=0x38) addr:0x020f0f80
_ZN15ActorProfilePotD1Ev kind:function(arm,size=0x14) addr:0x020f0fb8
_ZN19ActorProfileUnkNITF10GetProfileEv kind:function(arm,size=0xc) addr:0x020f0fcc
_ZN19ActorProfileUnkNITF6CreateEv kind:function(arm,size=0x24) addr:0x020f0fd8
_ZN19ActorProfileUnkNITFC1Ev kind:function(arm,size=0x30) addr:0x020f0ffc
@@ -2082,7 +2082,7 @@ __sinit_ActorUnkZLSL_ZSRS.cpp kind:function(arm,size=0x94) addr:0x02111308
__sinit_ActorHeart.cpp kind:function(arm,size=0x6c) addr:0x0211139c
__sinit_ActorUnkRMTG.cpp kind:function(arm,size=0x50) addr:0x02111408
__sinit_ActorUnkSCCN.cpp kind:function(arm,size=0x50) addr:0x02111458
__sinit_ActorUnkNTUB.cpp kind:function(arm,size=0x50) addr:0x021114a8
__sinit_ActorPot.cpp kind:function(arm,size=0x50) addr:0x021114a8
__sinit_ActorUnkNITF.cpp kind:function(arm,size=0x50) addr:0x021114f8
__sinit_ActorShotArrow.cpp kind:function(arm,size=0x50) addr:0x02111548
__sinit_ActorUnkATTG.cpp kind:function(arm,size=0x50) addr:0x02111598
@@ -2146,7 +2146,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724
.p__sinit_ActorHeart.cpp kind:data(word) addr:0x021127c0
.p__sinit_ActorUnkRMTG.cpp kind:data(word) addr:0x021127c4
.p__sinit_ActorUnkSCCN.cpp kind:data(word) addr:0x021127c8
.p__sinit_ActorUnkNTUB.cpp kind:data(word) addr:0x021127cc
.p__sinit_ActorPot.cpp kind:data(word) addr:0x021127cc
.p__sinit_ActorUnkNITF.cpp kind:data(word) addr:0x021127d0
.p__sinit_ActorShotArrow.cpp kind:data(word) addr:0x021127d4
.p__sinit_ActorUnkATTG.cpp kind:data(word) addr:0x021127d8
@@ -2339,10 +2339,10 @@ _ZTV19data_ov031_02113f38 kind:data(any) addr:0x02113f38
data_ov031_02113f9c kind:data(any) addr:0x02113f9c
data_ov031_02113fb8 kind:data(any) addr:0x02113fb8
_ZTV19data_ov031_02113fcc kind:data(any) addr:0x02113fcc
_ZTV19data_ov031_0211403c kind:data(any) addr:0x0211403c
_ZTV15ActorProfilePot kind:data(any) addr:0x0211403c
data_ov031_02114060 kind:data(any) addr:0x02114060
data_ov031_021140a0 kind:data(any) addr:0x021140a0
_ZTV19data_ov031_021140e0 kind:data(any) addr:0x021140e0
_ZTV8ActorPot kind:data(any) addr:0x021140e0
_ZTV19data_ov031_02114150 kind:data(any) addr:0x02114150
data_ov031_02114174 kind:data(any) addr:0x02114174
data_ov031_021141b4 kind:data(any) addr:0x021141b4
@@ -2561,9 +2561,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkRMTGE8sProfileE kind:bss addr:0x021168b4
_ZGVN15ProfileInstanceI19ActorProfileUnkSCCNE8sProfileE kind:bss addr:0x0211698c
@10842 kind:bss addr:0x02116990
_ZN15ProfileInstanceI19ActorProfileUnkSCCNE8sProfileE kind:bss addr:0x0211699c
_ZGVN15ProfileInstanceI19ActorProfileUnkNTUBE8sProfileE kind:bss addr:0x021169d8
_ZGVN15ProfileInstanceI15ActorProfilePotE8sProfileE kind:bss addr:0x021169d8
@10848 kind:bss addr:0x021169dc
_ZN15ProfileInstanceI19ActorProfileUnkNTUBE8sProfileE kind:bss addr:0x021169e8
_ZN15ProfileInstanceI15ActorProfilePotE8sProfileE kind:bss addr:0x021169e8
_ZGVN15ProfileInstanceI19ActorProfileUnkNITFE8sProfileE kind:bss addr:0x02116a24
@10854 kind:bss addr:0x02116a28
_ZN15ProfileInstanceI19ActorProfileUnkNITFE8sProfileE kind:bss addr:0x02116a34
+1 -1
View File
@@ -1379,7 +1379,7 @@ _ZN19func_ov000_0207cce0D1Ev kind:function(arm,size=0x14) addr:0x0207cce0
_ZN19func_ov000_0207ccf4D0Ev kind:function(arm,size=0x1c) addr:0x0207ccf4
_ZN19func_ov000_0207cd10D1Ev kind:function(arm,size=0x30) addr:0x0207cd10
_ZN19func_ov000_0207cd40D0Ev kind:function(arm,size=0x38) addr:0x0207cd40
_ZN24UnkStruct_ov031_Items_01D2Ev kind:function(arm,size=0x30) addr:0x0207cd78
_ZN24UnkStruct_ov031_Items_01D1Ev kind:function(arm,size=0x30) addr:0x0207cd78
func_ov000_0207cda8 kind:function(arm,size=0x1c) addr:0x0207cda8
func_ov000_0207cdc4 kind:function(arm,size=0x10) addr:0x0207cdc4
_ZN24UnkStruct_ov031_Items_018vfunc_08Ev kind:function(arm,size=0x38) addr:0x0207cdd4
+1 -1
View File
@@ -82,7 +82,7 @@ src/031_Land/Actor/ActorUnkSCCN.cpp:
.ctor start:0x02114554 end:0x02114558
.bss start:0x0211872c end:0x02118778
src/031_Land/Actor/ActorUnkNTUB.cpp:
src/031_Land/Actor/ActorPot.cpp:
.text start:0x020f25fc end:0x020f29c8
.init start:0x02113218 end:0x02113268
.ctor start:0x02114558 end:0x0211455c
+29 -29
View File
@@ -699,7 +699,7 @@ func_ov031_020ef9ec kind:function(arm,size=0x1f4) addr:0x020ef9ec
func_ov031_020efbe0 kind:function(arm,size=0xd4) addr:0x020efbe0
func_ov031_020efcb4 kind:function(arm,size=0x120) addr:0x020efcb4
func_ov031_020efdd4 kind:function(arm,size=0x34) addr:0x020efdd4
func_ov031_020efe08 kind:function(arm,size=0xa8) addr:0x020efe08
_ZN20Actor_ov031_02113fd44DropE15ActorGrabParamsPK7VecFx32 kind:function(arm,size=0xa8) addr:0x020efe08
func_ov031_020efeb0 kind:function(arm,size=0x190) addr:0x020efeb0
func_ov031_020f0040 kind:function(arm,size=0x7c) addr:0x020f0040
func_ov031_020f00bc kind:function(arm,size=0x54) addr:0x020f00bc
@@ -822,30 +822,30 @@ func_ov031_020f2558 kind:function(arm,size=0x30) addr:0x020f2558
_ZN19func_ov031_020f2588D0Ev kind:function(arm,size=0x1c) addr:0x020f2588
_ZN19func_ov031_020f25a4D1Ev kind:function(arm,size=0x28) addr:0x020f25a4
_ZN19func_ov031_020f25ccD0Ev kind:function(arm,size=0x30) addr:0x020f25cc
_ZN19ActorProfileUnkNTUB10GetProfileEv kind:function(arm,size=0xc) addr:0x020f25fc
_ZN19ActorProfileUnkNTUB6CreateEv kind:function(arm,size=0x24) addr:0x020f2608
_ZN19ActorProfileUnkNTUBC1Ev kind:function(arm,size=0x30) addr:0x020f262c
_ZN12ActorUnkNTUBC1Ev kind:function(arm,size=0x90) addr:0x020f265c
_ZN12ActorUnkNTUB19func_ov031_020f0cf0Ev kind:function(arm,size=0x14) addr:0x020f26ec
_ZN12ActorUnkNTUB19func_ov031_020f0d04Ev kind:function(arm,size=0x28) addr:0x020f2700
_ZN12ActorUnkNTUB19func_ov031_020f0d2cEv kind:function(arm,size=0x54) addr:0x020f2728
_ZN12ActorUnkNTUB19func_ov031_020f0d80Ev kind:function(arm,size=0x38) addr:0x020f277c
_ZN12ActorUnkNTUB19func_ov031_020f0db8Ev kind:function(arm,size=0x30) addr:0x020f27b4
_ZN12ActorUnkNTUB19func_ov031_020f0de8Ev kind:function(arm,size=0xc) addr:0x020f27e4
_ZN12ActorUnkNTUB19func_ov031_020f0df4Ev kind:function(arm,size=0xc) addr:0x020f27f0
_ZN12ActorUnkNTUB19func_ov031_020f0e00Ev kind:function(arm,size=0xc) addr:0x020f27fc
_ZN12ActorUnkNTUB19func_ov031_020f0e0cEv kind:function(arm,size=0xc) addr:0x020f2808
_ZN12ActorUnkNTUB19func_ov031_020f0e18Ev kind:function(arm,size=0xc) addr:0x020f2814
_ZN12ActorUnkNTUB19func_ov031_020f0e24Ev kind:function(arm,size=0xc) addr:0x020f2820
_ZN12ActorUnkNTUB19func_ov031_020f0e30Ev kind:function(arm,size=0xc) addr:0x020f282c
_ZN12ActorUnkNTUB19func_ov031_020f0e3cEv kind:function(arm,size=0xc) addr:0x020f2838
_ZN12ActorUnkNTUB19func_ov031_020f0e48Ev kind:function(arm,size=0x14) addr:0x020f2844
_ZN12ActorUnkNTUB19func_ov031_020f0e5cEv kind:function(arm,size=0x14) addr:0x020f2858
_ZN12ActorUnkNTUB19func_ov031_020f0e70Ev kind:function(arm,size=0xd4) addr:0x020f286c
_ZN12ActorUnkNTUB19func_ov031_020f0f44Ev kind:function(arm,size=0xc) addr:0x020f2940
_ZN12ActorUnkNTUBD1Ev kind:function(arm,size=0x30) addr:0x020f294c
_ZN12ActorUnkNTUBD0Ev kind:function(arm,size=0x38) addr:0x020f297c
_ZN19ActorProfileUnkNTUBD1Ev kind:function(arm,size=0x14) addr:0x020f29b4
_ZN15ActorProfilePot10GetProfileEv kind:function(arm,size=0xc) addr:0x020f25fc
_ZN15ActorProfilePot6CreateEv kind:function(arm,size=0x24) addr:0x020f2608
_ZN15ActorProfilePotC1Ev kind:function(arm,size=0x30) addr:0x020f262c
_ZN8ActorPotC1Ev kind:function(arm,size=0x90) addr:0x020f265c
_ZN26ModelRender_ov000_020b198cD1Ev kind:function(arm,size=0x14) addr:0x020f26ec
_ZN8ActorPot8vfunc_18Ei kind:function(arm,size=0x28) addr:0x020f2700
_ZN8ActorPot8vfunc_5CEs kind:function(arm,size=0x54) addr:0x020f2728
_ZN8ActorPot8vfunc_20Ev kind:function(arm,size=0x38) addr:0x020f277c
_ZN8ActorPot8vfunc_2CEi kind:function(arm,size=0x30) addr:0x020f27b4
_ZN8ActorPot19func_ov031_020f0de8Ev kind:function(arm,size=0xc) addr:0x020f27e4
_ZN8ActorPot19func_ov031_020f0df4Ev kind:function(arm,size=0xc) addr:0x020f27f0
_ZN8ActorPot19func_ov031_020f0e00Ev kind:function(arm,size=0xc) addr:0x020f27fc
_ZN8ActorPot19func_ov031_020f0e0cEv kind:function(arm,size=0xc) addr:0x020f2808
_ZN8ActorPot19func_ov031_020f0e18Ev kind:function(arm,size=0xc) addr:0x020f2814
_ZN8ActorPot19func_ov031_020f0e24Ev kind:function(arm,size=0xc) addr:0x020f2820
_ZN8ActorPot19func_ov031_020f0e30Ev kind:function(arm,size=0xc) addr:0x020f282c
_ZN8ActorPot19func_ov031_020f0e3cEv kind:function(arm,size=0xc) addr:0x020f2838
_ZN8ActorPot19func_ov031_020f0e48Ev kind:function(arm,size=0x14) addr:0x020f2844
_ZN8ActorPot19func_ov031_020f0e5cEv kind:function(arm,size=0x14) addr:0x020f2858
_ZN8ActorPot19func_ov031_020f0e70Ev kind:function(arm,size=0xd4) addr:0x020f286c
_ZN8ActorPot19func_ov031_020f0f44Ev kind:function(arm,size=0xc) addr:0x020f2940
_ZN8ActorPotD1Ev kind:function(arm,size=0x30) addr:0x020f294c
_ZN8ActorPotD0Ev kind:function(arm,size=0x38) addr:0x020f297c
_ZN15ActorProfilePotD1Ev kind:function(arm,size=0x14) addr:0x020f29b4
_ZN19ActorProfileUnkNITF10GetProfileEv kind:function(arm,size=0xc) addr:0x020f29c8
_ZN19ActorProfileUnkNITF6CreateEv kind:function(arm,size=0x24) addr:0x020f29d4
_ZN19ActorProfileUnkNITFC1Ev kind:function(arm,size=0x30) addr:0x020f29f8
@@ -2079,7 +2079,7 @@ __sinit_ActorUnkZLSL_ZSRS.cpp kind:function(arm,size=0x94) addr:0x02113078
__sinit_ActorHeart.cpp kind:function(arm,size=0x6c) addr:0x0211310c
__sinit_ActorUnkRMTG.cpp kind:function(arm,size=0x50) addr:0x02113178
__sinit_ActorUnkSCCN.cpp kind:function(arm,size=0x50) addr:0x021131c8
__sinit_ActorUnkNTUB.cpp kind:function(arm,size=0x50) addr:0x02113218
__sinit_ActorPot.cpp kind:function(arm,size=0x50) addr:0x02113218
__sinit_ActorUnkNITF.cpp kind:function(arm,size=0x50) addr:0x02113268
__sinit_ActorShotArrow.cpp kind:function(arm,size=0x50) addr:0x021132b8
__sinit_ActorUnkATTG.cpp kind:function(arm,size=0x50) addr:0x02113308
@@ -2143,7 +2143,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0
.p__sinit_ActorHeart.cpp kind:data(word) addr:0x0211454c
.p__sinit_ActorUnkRMTG.cpp kind:data(word) addr:0x02114550
.p__sinit_ActorUnkSCCN.cpp kind:data(word) addr:0x02114554
.p__sinit_ActorUnkNTUB.cpp kind:data(word) addr:0x02114558
.p__sinit_ActorPot.cpp kind:data(word) addr:0x02114558
.p__sinit_ActorUnkNITF.cpp kind:data(word) addr:0x0211455c
.p__sinit_ActorShotArrow.cpp kind:data(word) addr:0x02114560
.p__sinit_ActorUnkATTG.cpp kind:data(word) addr:0x02114564
@@ -2556,9 +2556,9 @@ _ZN15ProfileInstanceI19ActorProfileUnkRMTGE8sProfileE kind:bss addr:0x02118654
_ZGVN15ProfileInstanceI19ActorProfileUnkSCCNE8sProfileE kind:bss addr:0x0211872c
@30842 kind:bss addr:0x02118730
_ZN15ProfileInstanceI19ActorProfileUnkSCCNE8sProfileE kind:bss addr:0x0211873c
_ZGVN15ProfileInstanceI19ActorProfileUnkNTUBE8sProfileE kind:bss addr:0x02118778
_ZGVN15ProfileInstanceI15ActorProfilePotE8sProfileE kind:bss addr:0x02118778
@30848 kind:bss addr:0x0211877c
_ZN15ProfileInstanceI19ActorProfileUnkNTUBE8sProfileE kind:bss addr:0x02118788
_ZN15ProfileInstanceI15ActorProfilePotE8sProfileE kind:bss addr:0x02118788
_ZGVN15ProfileInstanceI19ActorProfileUnkNITFE8sProfileE kind:bss addr:0x021187c4
@30854 kind:bss addr:0x021187c8
_ZN15ProfileInstanceI19ActorProfileUnkNITFE8sProfileE kind:bss addr:0x021187d4
+118
View File
@@ -0,0 +1,118 @@
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "Unknown/UnkStruct_ov031_Items.hpp"
#include "global.h"
#include "types.h"
enum ActorPotState_ {
ActorPotState_0 = 0,
ActorPotState_1 = 1,
ActorPotState_2 = 2,
ActorPotState_3 = 3,
ActorPotState_4 = 4,
ActorPotState_5 = 5,
ActorPotState_6 = 6,
ActorPotState_7 = 7,
ActorPotState_Max,
};
class UnkStruct_ov000_020b2838 {
public:
// data_ov000_020b2838
/* 00 */ virtual void vfunc_00(); // func_ov000_0207bfe4
/* 04 */ virtual ~UnkStruct_ov000_020b2838(); // func_ov000_0207bfe8
/* 08 */ virtual void vfunc_08(); // func_ov000_0207c000
/* 0C */ virtual void vfunc_0C(); // func_ov000_0207c008
};
class UnkStruct_ov031_02113fb8 : UnkStruct_ov000_020b2838 {
public:
// data_ov031_02113fb8
/* 00 */ virtual ~UnkStruct_ov031_02113fb8() override; // func_ov031_020f09f8 & func_ov031_020f0a14
/* 08 */ virtual void vfunc_08() override; // func_ov031_020f0aa8
/* 0C */ virtual void vfunc_0C() override; // func_ov031_020f0a38
};
class Actor_ov031_02113fd4 : public Actor {
public:
/* 000 (base) */
/* 094 */ UnkStruct_ov031_Items_01 mUnk_94;
/* 0C0 */ STRUCT_PAD(0x0C0, 0x0EC);
/* 0EC */ u16 mUnk_EC;
/* 0EE */ STRUCT_PAD(0x0EE, 0xF0);
/* 0F0 */ UnkStruct_ov031_02113fb8 mUnk_F0;
/* 0F4 */ STRUCT_PAD(0xF4, 0x110);
/* 110 */
Actor_ov031_02113fd4();
// data_ov031_02113fd4
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020efd6c
/* 20 */ virtual void vfunc_20() override; // func_ov031_020f005c
/* 24 */ virtual void vfunc_24() override; // func_ov031_020f0060
/* 38 */ virtual bool Grab(ActorGrabParams grabParams) override; // func_ov031_020efdcc
/* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel) override; // func_ov031_020efe08
/* 40 */ virtual void vfunc_40() override; // func_ov031_020f02a8
/* 44 */ virtual void vfunc_44() override; // func_ov031_020f02c
/* 54 */ virtual void vfunc_54(); // func_ov031_020f064c
/* 58 */ virtual void vfunc_58(); // func_ov031_020f0654
/* 5C */ virtual void vfunc_5C(ActorState param1) = 0;
/* 60 */ virtual void vfunc_60(); // func_ov031_020f0090
/* 64 */ virtual void vfunc_64(); // func_ov031_020f065c
void func_ov031_020f0094();
void func_ov031_020f0098();
void func_ov031_020f009c();
void func_ov031_020f00a0();
void func_ov031_020f00c4();
void func_ov031_020f00ac();
void func_ov031_020f0198();
void func_ov031_020f01ac();
void func_ov031_020f0220();
void func_ov031_020f0244();
void func_ov031_020f0450(unk32 param1);
void func_ov031_020f04a8();
void func_ov031_020f04dc();
void func_ov031_020f0514();
};
class ActorPot : public Actor_ov031_02113fd4 {
public:
/* 00 (base) */
/* 110 */ ModelRender_ov000_020b198c mUnk_110;
/* 120 */
ActorPot();
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020f0d04
/* 20 */ virtual void vfunc_20() override; // func_ov031_020f0d80
/* 2C */ virtual void vfunc_2C(unk32 param1) override; // func_ov031_020f0db8
/* 5C */ virtual void vfunc_5C(ActorState param1) override; // func_ov031_020f0d2c
void func_ov031_020f0cf0();
void func_ov031_020f0de8();
void func_ov031_020f0df4();
void func_ov031_020f0e00();
void func_ov031_020f0e0c();
void func_ov031_020f0e18();
void func_ov031_020f0e24();
void func_ov031_020f0e30();
void func_ov031_020f0e3c();
void func_ov031_020f0e48();
void func_ov031_020f0e5c();
void func_ov031_020f0e70();
void func_ov031_020f0f44();
};
class ActorProfilePot : public ActorProfile {
public:
/* 00 (base) */
ActorProfilePot();
/* 0C */ virtual Actor *Create();
static ActorProfilePot *GetProfile();
};
-58
View File
@@ -1,58 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "global.h"
#include "types.h"
class ActorUnkNTUB_C4 : public Actor_C4 {
public:
ActorUnkNTUB_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkNTUB : public Actor {
public:
/* 00 (base) */
/* 94 */
ActorUnkNTUB();
/* 4C */ virtual ~ActorUnkNTUB() override;
void func_ov031_020f0cf0(void);
void func_ov031_020f0d04(void);
void func_ov031_020f0d2c(void);
void func_ov031_020f0d80(void);
void func_ov031_020f0db8(void);
void func_ov031_020f0de8(void);
void func_ov031_020f0df4(void);
void func_ov031_020f0e00(void);
void func_ov031_020f0e0c(void);
void func_ov031_020f0e18(void);
void func_ov031_020f0e24(void);
void func_ov031_020f0e30(void);
void func_ov031_020f0e3c(void);
void func_ov031_020f0e48(void);
void func_ov031_020f0e5c(void);
void func_ov031_020f0e70(void);
void func_ov031_020f0f44(void);
};
class ActorProfileUnkNTUB : public ActorProfile {
public:
/* 00 (base) */
ActorProfileUnkNTUB();
~ActorProfileUnkNTUB();
/* 0C */ virtual Actor *Create();
static ActorProfileUnkNTUB *GetProfile();
};
+128
View File
@@ -0,0 +1,128 @@
#include "Actor/ActorPot.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a8.hpp"
#include "Unknown/UnkStruct_027e0cec.hpp"
#include "Unknown/UnkStruct_ov000_020b5d34.hpp"
static PTMF<ActorPot> data_ov031_021140a0[0x8] = {
ActorPot::func_ov031_020f0df4, // ActorPotState_0
ActorPot::func_ov031_020f0e0c, // ActorPotState_1
ActorPot::func_ov031_020f0e24, // ActorPotState_2
ActorPot::func_ov031_020f0e3c, // ActorPotState_3
ActorPot::func_ov031_020f0e5c, // ActorPotState_4
ActorPot::func_ov031_020f0f44, // ActorPotState_5
ActorPot::func_ov031_020f0244, // ActorPotState_6
ActorPot::func_ov031_020f0514 // ActorPotState_7
};
static PTMF<ActorPot> data_ov031_02114060[0x8] = {
ActorPot::func_ov031_020f0de8, // ActorPotState_0
ActorPot::func_ov031_020f0e00, // ActorPotState_1
ActorPot::func_ov031_020f0e18, // ActorPotState_2
ActorPot::func_ov031_020f0e30, // ActorPotState_3
ActorPot::func_ov031_020f0e48, // ActorPotState_4
ActorPot::func_ov031_020f0e70, // ActorPotState_5
ActorPot::func_ov031_020f0220, // ActorPotState_6
ActorPot::func_ov031_020f04dc // ActorPotState_7
};
DECL_PROFILE(ActorProfilePot);
Actor *ActorProfilePot::Create() {
return new(HeapIndex_2) ActorPot();
}
ActorProfilePot::ActorProfilePot() :
ActorProfile(ActorId_NTUB) {
this->mUnk_04.size = FLOAT_TO_FX32(0.5f);
}
ActorPot::ActorPot() :
mUnk_110(G3d_GetModelPtr(data_ov000_020b5d34.GetProfileFromId(MapObjectId_TSUB)->vfunc_04()->mUnk_50), 0x01) {}
bool ActorPot::vfunc_18(unk32 param1) {
Actor_ov031_02113fd4::vfunc_18(param1);
this->vfunc_5C(ActorPotState_0);
return true;
}
void ActorPot::vfunc_5C(ActorState param1) {
this->mUnk_EC = 0x0;
this->mState = param1;
this->vfunc_60();
CALL_PTMF(PTMF<ActorPot>, data_ov031_02114060[this->mState]);
}
void ActorPot::vfunc_20() {
CALL_PTMF(PTMF<ActorPot>, data_ov031_021140a0[this->mState]);
}
void ActorPot::vfunc_2C(unk32 param1) {
if (!this->func_01fff5d0(param1, 0x0)) {
return;
}
this->mUnk_110.vfunc_18(&this->mPos);
}
void ActorPot::func_ov031_020f0de8() {
this->func_ov031_020f0094();
}
void ActorPot::func_ov031_020f0df4() {
this->func_ov031_020f0098();
}
void ActorPot::func_ov031_020f0e00() {
this->func_ov031_020f009c();
}
void ActorPot::func_ov031_020f0e0c() {
this->func_ov031_020f00a0();
}
void ActorPot::func_ov031_020f0e18() {
this->func_ov031_020f009c();
}
void ActorPot::func_ov031_020f0e24() {
this->func_ov031_020f00c4();
}
void ActorPot::func_ov031_020f0e30() {
this->func_ov031_020f0198();
}
void ActorPot::func_ov031_020f0e3c() {
this->func_ov031_020f01ac();
}
void ActorPot::func_ov031_020f0e48() {
this->vfunc_40();
}
void ActorPot::func_ov031_020f0e5c() {
this->vfunc_44();
}
void ActorPot::func_ov031_020f0e70() {
data_027e09a8->func_ov000_02071b30(0x100, &this->mPos, 0x0);
data_027e09a8->func_ov000_02071eac(&this->mPos);
VecFx32 sp8;
VecFx32_Init(this->mPos.x, this->mPos.y + this->mUnk_110.mUnk_0C, this->mPos.z, &sp8);
data_027e0cec->func_ov000_0209feac(0x8FF, &sp8, 0x4, 0x0, 0x0);
data_027e0cec->func_ov000_0209feac(0x900, &sp8, 0x4, 0x0, 0x0);
data_027e0cec->func_ov000_0209feac(0x822, &sp8, 0x4, 0x0, 0x0);
this->func_ov031_020f0450(0x1);
}
void ActorPot::func_ov031_020f0f44() {
this->func_ov031_020f04a8();
}
-36
View File
@@ -1,36 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#include "Actor/ActorUnkNTUB.hpp"
#include "System/SysNew.hpp"
DECL_PROFILE(ActorProfileUnkNTUB);
Actor *ActorProfileUnkNTUB::Create() {
return new(HeapIndex_2) ActorUnkNTUB();
}
ActorProfileUnkNTUB::ActorProfileUnkNTUB() :
ActorProfile(ActorId_NTUB) {}
ActorUnkNTUB::ActorUnkNTUB() {}
void ActorUnkNTUB::func_ov031_020f0cf0(void) {}
void ActorUnkNTUB::func_ov031_020f0d04(void) {}
void ActorUnkNTUB::func_ov031_020f0d2c(void) {}
void ActorUnkNTUB::func_ov031_020f0d80(void) {}
void ActorUnkNTUB::func_ov031_020f0db8(void) {}
void ActorUnkNTUB::func_ov031_020f0de8(void) {}
void ActorUnkNTUB::func_ov031_020f0df4(void) {}
void ActorUnkNTUB::func_ov031_020f0e00(void) {}
void ActorUnkNTUB::func_ov031_020f0e0c(void) {}
void ActorUnkNTUB::func_ov031_020f0e18(void) {}
void ActorUnkNTUB::func_ov031_020f0e24(void) {}
void ActorUnkNTUB::func_ov031_020f0e30(void) {}
void ActorUnkNTUB::func_ov031_020f0e3c(void) {}
void ActorUnkNTUB::func_ov031_020f0e48(void) {}
void ActorUnkNTUB::func_ov031_020f0e5c(void) {}
void ActorUnkNTUB::func_ov031_020f0e70(void) {}
void ActorUnkNTUB::func_ov031_020f0f44(void) {}
ActorUnkNTUB::~ActorUnkNTUB() {}
ActorProfileUnkNTUB::~ActorProfileUnkNTUB() {}
+1 -1
View File
@@ -43,7 +43,7 @@ ModelRender_ov000_020b198c::ModelRender_ov000_020b198c(G3d_Model *pModel, unk8 p
// non-matching
MapObjectPot::MapObjectPot() :
mUnk_48(NULL, 0x1) {
mUnk_48(G3d_GetModelPtr(GET_PROFILE(MapObjectProfilePot)->mUnk_20.mUnk_50), 0x1) {
this->mUnk_40 = ActorId_NTUB;
this->mUnk_10 = &data_ov031_02118010;
SET_FLAG(this->mFlags, MapObjFlag_8);
+1 -1
View File
@@ -468,7 +468,7 @@ config.libs = [
Object("031_Land/Actor/ActorUnkNITF.cpp"),
Object("031_Land/Actor/ActorUnkNORE.cpp"),
Object("031_Land/Actor/ActorUnkNTTZ.cpp"),
Object("031_Land/Actor/ActorUnkNTUB.cpp"),
Object("031_Land/Actor/ActorPot.cpp"),
Object("031_Land/Actor/ActorUnkRLST.cpp"),
Object("031_Land/Actor/ActorUnkRMTG.cpp"),
Object("031_Land/Actor/ActorUnkROCK.cpp"),