Decompiling MapObject UnkTSUB (aka Pot) (#101)

* feat: begin decompilation of UnkTsub

* refactor: rename mapobject

* feat: delink

* feat: introduce virtual functions

* fix: rename map object in jp delink

* feat: match 91% of the mapobject

* feat: increate .data match

* refactor: rename ModelRender2 with its vtable address

* style: remove empty lines

* refactor: change magic value
This commit is contained in:
Alessevan
2026-07-05 13:35:40 +02:00
committed by GitHub
parent 33299ac188
commit 9987fee73a
20 changed files with 362 additions and 151 deletions
+1 -1
View File
@@ -210,7 +210,7 @@ _ZN16MapObjectManager13func_01fff520EP24UnkStruct_ov000_020b34c4PP9MapObject kin
_ZN9MapObject14GetMapObjectIdEv kind:function(arm,size=0xc) addr:0x01fff584
_ZN9MapObject13func_01fff590Ei kind:function(arm,size=0x40) addr:0x01fff590
_ZN5Actor13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
_ZN18UnkStruct_027e09b413func_01fff60cEiiihii kind:function(arm,size=0x8c) addr:0x01fff60c
_ZN18UnkStruct_027e09b413func_01fff60cEP7VecFx32iihii kind:function(arm,size=0x8c) addr:0x01fff60c
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
func_01fff6d0 kind:function(arm,size=0x74) addr:0x01fff6d0
func_01fff744 kind:function(arm,size=0x20) addr:0x01fff744
+13 -13
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
func_ov000_020578e8 kind:function(thumb,size=0x20) addr:0x020578e8
_ZN12ModelRender2C1EP10G3d_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
@@ -2559,7 +2559,7 @@ _ZN9MapObject19func_ov000_0209d12cEv kind:function(arm,size=0x18) addr:0x0209d12
_ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0x0209d144
_ZN9MapObject8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x8) addr:0x0209d1cc
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209d1d4
_ZN9MapObject8vfunc_24Ev kind:function(arm,size=0xc) addr:0x0209d1d8
_ZN9MapObject8vfunc_24EPS_7VecFx32 kind:function(arm,size=0xc) addr:0x0209d1d8
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209d1e4
_ZN9MapObject8vfunc_2CEP7VecFx32 kind:function(arm,size=0x40) addr:0x0209d1ec
_ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x0209d22c
@@ -2569,25 +2569,25 @@ _ZN9MapObject19func_ov000_0209d2c4Eib kind:function(arm,size=0x2c) addr:0x0209d2
_ZN9MapObject19func_ov000_0209d2f0EiiP8Vec2bCpp kind:function(arm,size=0xc4) addr:0x0209d2f0
_ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209d3b4
_ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209d434
_ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209d518
_ZN9MapObject19func_ov000_0209d518EP7VecFx32iih kind:function(arm,size=0x34) addr:0x0209d518
_ZN9MapObject19func_ov000_0209d54cEP8ActorRefPS_tPK7VecFx32st kind:function(arm,size=0x7c) addr:0x0209d54c
_ZN9MapObject19func_ov000_0209d5c8E8ActorRef kind:function(arm,size=0x4c) addr:0x0209d5c8
_ZN9MapObject19func_ov000_0209d614Ei kind:function(arm,size=0x54) addr:0x0209d614
_ZN9MapObject19func_ov000_0209d668Ev kind:function(arm,size=0x44) addr:0x0209d668
_ZN9MapObject19func_ov000_0209d6acEP7VecFx32 kind:function(arm,size=0x54) addr:0x0209d6ac
func_ov000_0209d700 kind:function(arm,size=0x50) addr:0x0209d700
_ZN17MapObjectPot_BaseC2Ev kind:function(arm,size=0x50) addr:0x0209d700
_ZN19func_ov000_0209d750D0Ev kind:function(arm,size=0x1c) addr:0x0209d750
_ZN19func_ov000_0209d76cD2Ev kind:function(arm,size=0x14) addr:0x0209d76c
func_ov000_0209d780 kind:function(arm,size=0x24) addr:0x0209d780
func_ov000_0209d7a4 kind:function(arm,size=0x144) addr:0x0209d7a4
func_ov000_0209d8e8 kind:function(arm,size=0xc4) addr:0x0209d8e8
func_ov000_0209d9ac kind:function(arm,size=0x4c) addr:0x0209d9ac
func_ov000_0209d9f8 kind:function(arm,size=0x68) addr:0x0209d9f8
_ZN17MapObjectPot_BaseD2Ev kind:function(arm,size=0x14) addr:0x0209d76c
_ZN17MapObjectPot_Base8vfunc_00Ev kind:function(arm,size=0x24) addr:0x0209d780
_ZN17MapObjectPot_Base8vfunc_44Eii kind:function(arm,size=0x144) addr:0x0209d7a4
_ZN17MapObjectPot_Base19func_ov000_0209d8e8EPS_i kind:function(arm,size=0xc4) addr:0x0209d8e8
_ZN17MapObjectPot_Base8vfunc_38Ev kind:function(arm,size=0x4c) addr:0x0209d9ac
_ZN17MapObjectPot_Base8vfunc_28Ev kind:function(arm,size=0x68) addr:0x0209d9f8
func_ov000_0209da60 kind:function(arm,size=0x4) addr:0x0209da60
func_ov000_0209da64 kind:function(arm,size=0xc) addr:0x0209da64
func_ov000_0209da70 kind:function(arm,size=0x8) addr:0x0209da70
_ZN17MapObjectPot_Base19func_ov000_0209da64Ev kind:function(arm,size=0xc) addr:0x0209da64
_ZN17MapObjectPot_Base8vfunc_4CEv kind:function(arm,size=0x8) addr:0x0209da70
func_ov000_0209da78 kind:function(arm,size=0x48) addr:0x0209da78
func_ov000_0209dac0 kind:function(arm,size=0xb4) addr:0x0209dac0
_ZN17MapObjectPot_Base8vfunc_50Ev kind:function(arm,size=0xb4) addr:0x0209dac0
func_ov000_0209db74 kind:function(arm,size=0x8) addr:0x0209db74
func_ov000_0209db7c kind:function(arm,size=0x8) addr:0x0209db7c
func_ov000_0209db84 kind:function(arm,size=0x8c) addr:0x0209db84
+2 -1
View File
@@ -308,10 +308,11 @@ src/031_Land/MapObject/MapObjectUnkTRWS.cpp:
.ctor start:0x02112854 end:0x02112858
.bss start:0x02117e48 end:0x02117f2c
src/031_Land/MapObject/MapObjectUnkTSUB.cpp:
src/031_Land/MapObject/MapObjectPot.cpp:
.text start:0x02104f30 end:0x0210549c
.init start:0x02112178 end:0x021121c8
.ctor start:0x02112858 end:0x0211285c
.data start:0x02115ae4 end:0x02115b60
.bss start:0x02117f2c end:0x02118030
src/031_Land/MapObject/MapObjectUnkSKBN.cpp:
+17 -17
View File
@@ -51,13 +51,13 @@ from:0x020d8d60 kind:load to:0x027e0ce4 module:dtcm
from:0x020d8d94 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x020d8db4 kind:arm_call to:0x0207ec68 module:overlay(0)
from:0x020d8dc8 kind:arm_call to:0x020d8f24 module:overlay(31)
from:0x020d8dd4 kind:load to:0x02112a78 module:overlay(31)
from:0x020d8dd4 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x020d8dd8 kind:load to:0x02112a64 module:overlay(31)
from:0x020d8de4 kind:arm_call to:0x0207ed10 module:overlay(0)
from:0x020d8e24 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x020d8e44 kind:arm_call to:0x0207ec68 module:overlay(0)
from:0x020d8e58 kind:arm_call to:0x020d8f24 module:overlay(31)
from:0x020d8e64 kind:load to:0x02112a78 module:overlay(31)
from:0x020d8e64 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x020d8e68 kind:load to:0x02112a64 module:overlay(31)
from:0x020d8e74 kind:arm_call to:0x020d8f98 module:overlay(31)
from:0x020d8e7c kind:arm_call to:0x0207ed10 module:overlay(0)
@@ -1724,7 +1724,7 @@ from:0x020e884c kind:arm_call to:0x020e88e0 module:overlay(31)
from:0x020e8860 kind:arm_call to:0x02097898 module:overlay(0)
from:0x020e8870 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x020e88c8 kind:load to:0x021133cc module:overlay(31)
from:0x020e88cc kind:load to:0x02112a78 module:overlay(31)
from:0x020e88cc kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x020e88d0 kind:load to:0x021133e8 add:0x8 module:overlay(31)
from:0x020e88e8 kind:arm_call to:0x02098388 module:overlay(0)
from:0x020e8954 kind:arm_call to:0x0207ec88 module:overlay(0)
@@ -4479,8 +4479,8 @@ from:0x02101028 kind:arm_call to:0x02011f3c module:main
from:0x02101034 kind:arm_call to:0x02101128 module:overlay(31)
from:0x0210104c kind:arm_call to:0x0209c9a8 module:overlay(0)
from:0x0210105c kind:arm_call to:0x0207c018 module:overlay(0)
from:0x021010c8 kind:load to:0x02115624 module:overlay(31)
from:0x021010cc kind:load to:0x02112a78 module:overlay(31)
from:0x021010c8 kind:load to:0x0211561c module:overlay(31) add:0x8
from:0x021010cc kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x021010d0 kind:load to:0x02115640 module:overlay(31)
from:0x021010e8 kind:arm_call to:0x0209cfe0 module:overlay(0)
from:0x02101124 kind:load to:0x0211565c module:overlay(31)
@@ -4544,8 +4544,8 @@ from:0x02101a30 kind:arm_call to:0x02011f3c module:main
from:0x02101a3c kind:arm_call to:0x02101ad4 module:overlay(31)
from:0x02101a54 kind:arm_call to:0x0209c9a8 module:overlay(0)
from:0x02101a64 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x02101abc kind:load to:0x02115624 module:overlay(31)
from:0x02101ac4 kind:load to:0x02112a78 module:overlay(31)
from:0x02101abc kind:load to:0x0211561c module:overlay(31) add:0x8
from:0x02101ac4 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x02101ac8 kind:load to:0x021156b0 module:overlay(31)
from:0x02101adc kind:arm_call to:0x0209cfe0 module:overlay(0)
from:0x02101af4 kind:arm_call_thumb to:0x02057b70 module:overlay(0)
@@ -4628,7 +4628,7 @@ from:0x02102518 kind:arm_call to:0x02102bc0 module:overlay(31)
from:0x02102538 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x021025ac kind:load to:0x02115728 module:overlay(31)
from:0x021025b0 kind:load to:0x02117acc module:overlay(31)
from:0x021025b4 kind:load to:0x02112a78 module:overlay(31)
from:0x021025b4 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x02102638 kind:arm_call to:0x020e0f30 module:overlay(31)
from:0x021026b0 kind:arm_call to:0x020d9c04 module:overlay(31)
from:0x02102704 kind:load to:0x027e0d38 module:dtcm
@@ -4942,12 +4942,12 @@ from:0x02104f4c kind:arm_call to:0x02011f3c module:main
from:0x02104f58 kind:arm_call to:0x02104fec module:overlay(31)
from:0x02104f70 kind:arm_call to:0x0209c9a8 module:overlay(0)
from:0x02104f80 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x02104fd8 kind:load to:0x02115624 module:overlay(31)
from:0x02104fdc kind:load to:0x02112a78 module:overlay(31)
from:0x02104fe0 kind:load to:0x02115aec module:overlay(31)
from:0x02104fd8 kind:load to:0x0211561c module:overlay(31) add:0x8
from:0x02104fdc kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x02104fe0 kind:load to:0x02115ae4 module:overlay(31) add:0x8
from:0x02104ff4 kind:arm_call to:0x0209d700 module:overlay(0)
from:0x02105050 kind:arm_call_thumb to:0x020578e8 module:overlay(0)
from:0x02105078 kind:load to:0x02115b08 module:overlay(31)
from:0x02105078 kind:load to:0x02115b00 module:overlay(31) add:0x8
from:0x0210507c kind:load to:0x02117f3c module:overlay(31)
from:0x02105084 kind:load to:0x02118010 module:overlay(31)
from:0x021050a4 kind:arm_call to:0x01ffe868 module:itcm
@@ -5028,7 +5028,7 @@ from:0x02105924 kind:arm_call to:0x02102bc0 module:overlay(31)
from:0x02105940 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x021059a0 kind:load to:0x02115c20 module:overlay(31)
from:0x021059a4 kind:load to:0x02118148 module:overlay(31)
from:0x021059a8 kind:load to:0x02112a78 module:overlay(31)
from:0x021059a8 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x021059f0 kind:arm_call to:0x01fff3b4 module:itcm
from:0x021059fc kind:arm_call to:0x01fff458 module:itcm
from:0x02105ad4 kind:arm_call to:0x020e0f30 module:overlay(31)
@@ -5634,8 +5634,8 @@ from:0x0210b3a4 kind:arm_call to:0x02011f3c module:main
from:0x0210b3b0 kind:arm_call to:0x0210b440 module:overlay(31)
from:0x0210b3c8 kind:arm_call to:0x0209c9a8 module:overlay(0)
from:0x0210b3d8 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x0210b42c kind:load to:0x02115624 module:overlay(31)
from:0x0210b434 kind:load to:0x02112a78 module:overlay(31)
from:0x0210b42c kind:load to:0x0211561c module:overlay(31) add:0x8
from:0x0210b434 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x0210b438 kind:load to:0x02116068 module:overlay(31)
from:0x0210b448 kind:arm_call to:0x0209cfe0 module:overlay(0)
from:0x0210b450 kind:arm_call to:0x02061648 module:overlay(0)
@@ -5702,8 +5702,8 @@ from:0x0210bad0 kind:arm_call to:0x02011f3c module:main
from:0x0210badc kind:arm_call to:0x0210bb84 module:overlay(31)
from:0x0210baf4 kind:arm_call to:0x0209c9a8 module:overlay(0)
from:0x0210bb04 kind:arm_call to:0x0207c018 module:overlay(0)
from:0x0210bb6c kind:load to:0x02115624 module:overlay(31)
from:0x0210bb70 kind:load to:0x02112a78 module:overlay(31)
from:0x0210bb6c kind:load to:0x0211561c module:overlay(31) add:0x8
from:0x0210bb70 kind:load to:0x02112a70 module:overlay(31) add:0x8
from:0x0210bb74 kind:load to:0x02116118 module:overlay(31)
from:0x0210bb8c kind:arm_call to:0x0209cfe0 module:overlay(0)
from:0x0210bbec kind:arm_call_thumb to:0x02057b70 module:overlay(0)
+24 -24
View File
@@ -101,7 +101,7 @@ func_ov031_020d9bb4 kind:function(thumb,size=0xc) addr:0x020d9bb4
func_ov031_020d9bc0 kind:function(arm,size=0x10) addr:0x020d9bc0
func_ov031_020d9bd0 kind:function(thumb,size=0x1a) addr:0x020d9bd0
func_ov031_020d9bec kind:function(arm,size=0x18) addr:0x020d9bec
func_ov031_020d9c04 kind:function(arm,size=0x10) addr:0x020d9c04
_ZN18UnkStruct_027e0d3819func_ov031_020d9c04Eiii kind:function(arm,size=0x10) addr:0x020d9c04
func_ov031_020d9c14 kind:function(arm,size=0x20) addr:0x020d9c14
func_ov031_020d9c34 kind:function(arm,size=0x10) addr:0x020d9c34
_ZN18UnkStruct_027e0d3819func_ov031_020d9c44Ei kind:function(arm,size=0x10) addr:0x020d9c44
@@ -1621,21 +1621,21 @@ _ZN23MapObjectProfileUnkTRWSD1Ev kind:function(arm,size=0x14) addr:0x02104eec
func_ov031_02104f00 kind:function(arm,size=0x10) addr:0x02104f00
func_ov031_02104f10 kind:function(arm,size=0x10) addr:0x02104f10
func_ov031_02104f20 kind:function(arm,size=0x10) addr:0x02104f20
_ZN23MapObjectProfileUnkTSUB10GetProfileEv kind:function(arm,size=0xc) addr:0x02104f30
_ZN23MapObjectProfileUnkTSUB6CreateEv kind:function(arm,size=0x24) addr:0x02104f3c
_ZN23MapObjectProfileUnkTSUBC1Ev kind:function(arm,size=0x8c) addr:0x02104f60
_ZN16MapObjectUnkTSUBC1Ev kind:function(arm,size=0x9c) addr:0x02104fec
_ZN16MapObjectUnkTSUB19func_ov031_02105088Ev kind:function(arm,size=0x2c) addr:0x02105088
_ZN16MapObjectUnkTSUB19func_ov031_021050b4Ev kind:function(arm,size=0x120) addr:0x021050b4
_ZN16MapObjectUnkTSUB19func_ov031_021051d4Ev kind:function(arm,size=0xf8) addr:0x021051d4
_ZN16MapObjectUnkTSUB19func_ov031_021052ccEv kind:function(arm,size=0x44) addr:0x021052cc
_ZN16MapObjectUnkTSUB19func_ov031_02105310Ev kind:function(arm,size=0x38) addr:0x02105310
_ZN16MapObjectUnkTSUB19func_ov031_02105348Ev kind:function(arm,size=0x6c) addr:0x02105348
_ZN16MapObjectUnkTSUB19func_ov031_021053b4Ev kind:function(arm,size=0x48) addr:0x021053b4
_ZN16MapObjectUnkTSUB19func_ov031_021053fcEv kind:function(arm,size=0x44) addr:0x021053fc
_ZN16MapObjectUnkTSUBD1Ev kind:function(arm,size=0x20) addr:0x02105440
_ZN16MapObjectUnkTSUBD0Ev kind:function(arm,size=0x28) addr:0x02105460
_ZN23MapObjectProfileUnkTSUBD1Ev kind:function(arm,size=0x14) addr:0x02105488
_ZN19MapObjectProfilePot10GetProfileEv kind:function(arm,size=0xc) addr:0x02104f30
_ZN19MapObjectProfilePot6CreateEv kind:function(arm,size=0x24) addr:0x02104f3c
_ZN19MapObjectProfilePotC1Ev kind:function(arm,size=0x8c) addr:0x02104f60
_ZN12MapObjectPotC1Ev kind:function(arm,size=0x9c) addr:0x02104fec
_ZN12MapObjectPot8vfunc_04Ev kind:function(arm,size=0x2c) addr:0x02105088
_ZN12MapObjectPot8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x120) addr:0x021050b4
_ZN12MapObjectPot8vfunc_48Ev kind:function(arm,size=0xf8) addr:0x021051d4
_ZN12MapObjectPot8vfunc_14Ev kind:function(arm,size=0x44) addr:0x021052cc
_ZN12MapObjectPot8vfunc_54Ev kind:function(arm,size=0x38) addr:0x02105310
_ZN12MapObjectPot8vfunc_24EP9MapObject7VecFx32 kind:function(arm,size=0x6c) addr:0x02105348
_ZN12MapObjectPot8vfunc_3CEv kind:function(arm,size=0x48) addr:0x021053b4
_ZN12MapObjectPot8vfunc_40Ev kind:function(arm,size=0x44) addr:0x021053fc
_ZN12MapObjectPotD1Ev kind:function(arm,size=0x20) addr:0x02105440
_ZN12MapObjectPotD0Ev kind:function(arm,size=0x28) addr:0x02105460
_ZN19MapObjectProfilePotD1Ev kind:function(arm,size=0x14) addr:0x02105488
_ZN23MapObjectProfileUnkSKBN10GetProfileEv kind:function(arm,size=0xc) addr:0x0210549c
_ZN23MapObjectProfileUnkSKBN6CreateEv kind:function(arm,size=0x24) addr:0x021054a8
_ZN23MapObjectProfileUnkSKBNC1Ev kind:function(arm,size=0xa0) addr:0x021054cc
@@ -2117,7 +2117,7 @@ __sinit_MapObjectUnkTRED.cpp kind:function(arm,size=0x6c) addr:0x02111fe4
__sinit_MapObjectUnkTREW.cpp kind:function(arm,size=0x6c) addr:0x02112050
__sinit_MapObjectUnkTREN.cpp kind:function(arm,size=0x6c) addr:0x021120bc
__sinit_MapObjectUnkTRWS.cpp kind:function(arm,size=0x50) addr:0x02112128
__sinit_MapObjectUnkTSUB.cpp kind:function(arm,size=0x50) addr:0x02112178
__sinit_MapObjectPot.cpp kind:function(arm,size=0x50) addr:0x02112178
__sinit_MapObjectUnkSKBN.cpp kind:function(arm,size=0x74) addr:0x021121c8
__sinit_MapObjectUnkITFL.cpp kind:function(arm,size=0x50) addr:0x0211223c
__sinit_MapObjectUnkSKDI.cpp kind:function(arm,size=0x50) addr:0x0211228c
@@ -2181,7 +2181,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724
.p__sinit_MapObjectUnkTREW.cpp kind:data(word) addr:0x0211284c
.p__sinit_MapObjectUnkTREN.cpp kind:data(word) addr:0x02112850
.p__sinit_MapObjectUnkTRWS.cpp kind:data(word) addr:0x02112854
.p__sinit_MapObjectUnkTSUB.cpp kind:data(word) addr:0x02112858
.p__sinit_MapObjectPot.cpp kind:data(word) addr:0x02112858
.p__sinit_MapObjectUnkSKBN.cpp kind:data(word) addr:0x0211285c
.p__sinit_MapObjectUnkITFL.cpp kind:data(word) addr:0x02112860
.p__sinit_MapObjectUnkSKDI.cpp kind:data(word) addr:0x02112864
@@ -2227,7 +2227,7 @@ data_ov031_021129ec kind:data(any) addr:0x021129ec
data_ov031_02112a0c kind:data(any) addr:0x02112a0c ambiguous
data_ov031_02112a50 kind:data(any) addr:0x02112a50
data_ov031_02112a64 kind:data(any) addr:0x02112a64
data_ov031_02112a78 kind:data(any) addr:0x02112a78
_ZTV16MapObject_10_Pot kind:data(any) addr:0x02112a70
data_ov031_02112aa0 kind:data(any) addr:0x02112aa0
data_ov031_02112ad4 kind:data(any) addr:0x02112ad4
data_ov031_02112ae0 kind:data(any) addr:0x02112ae0
@@ -2435,7 +2435,7 @@ data_ov031_02115560 kind:data(any) addr:0x02115560
data_ov031_02115588 kind:data(any) addr:0x02115588
data_ov031_021155c8 kind:data(any) addr:0x021155c8
data_ov031_021155e4 kind:data(any) addr:0x021155e4
data_ov031_02115624 kind:data(any) addr:0x02115624
_ZTV24MapObjectProfilePot_Base kind:data(any) addr:0x0211561c
data_ov031_02115640 kind:data(any) addr:0x02115640
data_ov031_0211565c kind:data(any) addr:0x0211565c
data_ov031_0211569c kind:data(any) addr:0x0211569c
@@ -2463,8 +2463,8 @@ data_ov031_021159f4 kind:data(any) addr:0x021159f4
data_ov031_02115a50 kind:data(any) addr:0x02115a50
data_ov031_02115a6c kind:data(any) addr:0x02115a6c
data_ov031_02115ad8 kind:data(any) addr:0x02115ad8
data_ov031_02115aec kind:data(any) addr:0x02115aec
data_ov031_02115b08 kind:data(any) addr:0x02115b08
_ZTV19MapObjectProfilePot kind:data(any) addr:0x02115ae4
_ZTV12MapObjectPot kind:data(any) addr:0x02115b00
data_ov031_02115b60 kind:data(any) addr:0x02115b60
data_ov031_02115b74 kind:data(any) addr:0x02115b74
data_ov031_02115b8c kind:data(any) addr:0x02115b8c
@@ -2677,9 +2677,9 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkTRENE8sProfileE kind:bss addr:0x02117d
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTRWSE8sProfileE kind:bss addr:0x02117e48
@11023 kind:bss addr:0x02117e4c
_ZN15ProfileInstanceI23MapObjectProfileUnkTRWSE8sProfileE kind:bss addr:0x02117e58
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTSUBE8sProfileE kind:bss addr:0x02117f2c
_ZGVN15ProfileInstanceI19MapObjectProfilePotE8sProfileE kind:bss addr:0x02117f2c
@11029 kind:bss addr:0x02117f30
_ZN15ProfileInstanceI23MapObjectProfileUnkTSUBE8sProfileE kind:bss addr:0x02117f3c
_ZN15ProfileInstanceI19MapObjectProfilePotE8sProfileE kind:bss addr:0x02117f3c
data_ov031_02118010 kind:bss addr:0x02118010
_ZGVN15ProfileInstanceI23MapObjectProfileUnkSKBNE8sProfileE kind:bss addr:0x02118030
@11035 kind:bss addr:0x02118034
+1 -1
View File
@@ -210,7 +210,7 @@ _ZN16MapObjectManager13func_01fff520EP24UnkStruct_ov000_020b34c4PP9MapObject kin
_ZN9MapObject14GetMapObjectIdEv kind:function(arm,size=0xc) addr:0x01fff584
_ZN9MapObject13func_01fff590Ei kind:function(arm,size=0x40) addr:0x01fff590
_ZN5Actor13func_01fff5d0Eii kind:function(arm,size=0x3c) addr:0x01fff5d0
_ZN18UnkStruct_027e09b413func_01fff60cEiiihii kind:function(arm,size=0x8c) addr:0x01fff60c
_ZN18UnkStruct_027e09b413func_01fff60cEP7VecFx32iihii kind:function(arm,size=0x8c) addr:0x01fff60c
func_01fff698 kind:function(arm,size=0x38) addr:0x01fff698
func_01fff6d0 kind:function(arm,size=0x74) addr:0x01fff6d0
func_01fff744 kind:function(arm,size=0x20) addr:0x01fff744
+2 -2
View File
@@ -2555,7 +2555,7 @@ _ZN9MapObject19func_ov000_0209d12cEv kind:function(arm,size=0x18) addr:0x0209e8f
_ZN9MapObject19func_ov000_0209d144EP5Vec2sii kind:function(arm,size=0x88) addr:0x0209e908
_ZN9MapObject8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x8) addr:0x0209e990
_ZN9MapObject8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0209e998
_ZN9MapObject8vfunc_24Ev kind:function(arm,size=0xc) addr:0x0209e99c
_ZN9MapObject8vfunc_24EPS_7VecFx32 kind:function(arm,size=0xc) addr:0x0209e99c
_ZN9MapObject8vfunc_28Ev kind:function(arm,size=0x8) addr:0x0209e9a8
_ZN9MapObject8vfunc_2CEP7VecFx32 kind:function(arm,size=0x40) addr:0x0209e9b0
_ZN9MapObject19func_ov000_0209d22cEPsPS_i kind:function(arm,size=0x48) addr:0x0209e9f0
@@ -2565,7 +2565,7 @@ _ZN9MapObject19func_ov000_0209d2c4Eib kind:function(arm,size=0x2c) addr:0x0209ea
_ZN9MapObject19func_ov000_0209d2f0EiiP8Vec2bCpp kind:function(arm,size=0xc4) addr:0x0209eab4
_ZN9MapObject19func_ov000_0209d3b4Eii kind:function(arm,size=0x80) addr:0x0209eb78
_ZN9MapObject19func_ov000_0209d434EPcP34UnkStruct_ov019_020d24c8_28_258_00i kind:function(arm,size=0xe4) addr:0x0209ebf8
_ZN9MapObject19func_ov000_0209d518Eiiih kind:function(arm,size=0x34) addr:0x0209ecdc
_ZN9MapObject19func_ov000_0209d518EP7VecFx32iih kind:function(arm,size=0x34) addr:0x0209ecdc
_ZN9MapObject19func_ov000_0209d54cEP8ActorRefPS_tPK7VecFx32st kind:function(arm,size=0x7c) addr:0x0209ed10
_ZN9MapObject19func_ov000_0209d5c8E8ActorRef kind:function(arm,size=0x4c) addr:0x0209ed8c
_ZN9MapObject19func_ov000_0209d614Ei kind:function(arm,size=0x54) addr:0x0209edd8
+1 -1
View File
@@ -304,7 +304,7 @@ src/031_Land/MapObject/MapObjectUnkTRWS.cpp:
.ctor start:0x021145e0 end:0x021145e4
.bss start:0x02119be8 end:0x02119ccc
src/031_Land/MapObject/MapObjectUnkTSUB.cpp:
src/031_Land/MapObject/MapObjectPot.cpp:
.text start:0x02106c8c end:0x021071f8
.init start:0x02113f04 end:0x02113f54
.ctor start:0x021145e4 end:0x021145e8
+19 -19
View File
@@ -1620,21 +1620,21 @@ _ZN23MapObjectProfileUnkTRWSD1Ev kind:function(arm,size=0x14) addr:0x02106c48
func_ov031_02104f00 kind:function(arm,size=0x10) addr:0x02106c5c
func_ov031_02104f10 kind:function(arm,size=0x10) addr:0x02106c6c
func_ov031_02104f20 kind:function(arm,size=0x10) addr:0x02106c7c
_ZN23MapObjectProfileUnkTSUB10GetProfileEv kind:function(arm,size=0xc) addr:0x02106c8c
_ZN23MapObjectProfileUnkTSUB6CreateEv kind:function(arm,size=0x24) addr:0x02106c98
_ZN23MapObjectProfileUnkTSUBC1Ev kind:function(arm,size=0x8c) addr:0x02106cbc
_ZN16MapObjectUnkTSUBC1Ev kind:function(arm,size=0x9c) addr:0x02106d48
_ZN16MapObjectUnkTSUB19func_ov031_02105088Ev kind:function(arm,size=0x2c) addr:0x02106de4
_ZN16MapObjectUnkTSUB19func_ov031_021050b4Ev kind:function(arm,size=0x120) addr:0x02106e10
_ZN16MapObjectUnkTSUB19func_ov031_021051d4Ev kind:function(arm,size=0xf8) addr:0x02106f30
_ZN16MapObjectUnkTSUB19func_ov031_021052ccEv kind:function(arm,size=0x44) addr:0x02107028
_ZN16MapObjectUnkTSUB19func_ov031_02105310Ev kind:function(arm,size=0x38) addr:0x0210706c
_ZN16MapObjectUnkTSUB19func_ov031_02105348Ev kind:function(arm,size=0x6c) addr:0x021070a4
_ZN16MapObjectUnkTSUB19func_ov031_021053b4Ev kind:function(arm,size=0x48) addr:0x02107110
_ZN16MapObjectUnkTSUB19func_ov031_021053fcEv kind:function(arm,size=0x44) addr:0x02107158
_ZN16MapObjectUnkTSUBD1Ev kind:function(arm,size=0x20) addr:0x0210719c
_ZN16MapObjectUnkTSUBD0Ev kind:function(arm,size=0x28) addr:0x021071bc
_ZN23MapObjectProfileUnkTSUBD1Ev kind:function(arm,size=0x14) addr:0x021071e4
_ZN19MapObjectProfilePot10GetProfileEv kind:function(arm,size=0xc) addr:0x02106c8c
_ZN19MapObjectProfilePot6CreateEv kind:function(arm,size=0x24) addr:0x02106c98
_ZN19MapObjectProfilePotC1Ev kind:function(arm,size=0x8c) addr:0x02106cbc
_ZN12MapObjectPotC1Ev kind:function(arm,size=0x9c) addr:0x02106d48
_ZN12MapObjectPot8vfunc_04Ev kind:function(arm,size=0x2c) addr:0x02106de4
_ZN12MapObjectPot8vfunc_1CE8ActorRefiP7VecFx32 kind:function(arm,size=0x120) addr:0x02106e10
_ZN12MapObjectPot8vfunc_48Ev kind:function(arm,size=0xf8) addr:0x02106f30
_ZN12MapObjectPot8vfunc_14Ev kind:function(arm,size=0x44) addr:0x02107028
_ZN12MapObjectPot8vfunc_54Ev kind:function(arm,size=0x38) addr:0x0210706c
_ZN12MapObjectPot8vfunc_24EP9MapObject7VecFx32 kind:function(arm,size=0x6c) addr:0x021070a4
_ZN12MapObjectPot8vfunc_3CEv kind:function(arm,size=0x48) addr:0x02107110
_ZN12MapObjectPot8vfunc_40Ev kind:function(arm,size=0x44) addr:0x02107158
_ZN12MapObjectPotD1Ev kind:function(arm,size=0x20) addr:0x0210719c
_ZN12MapObjectPotD0Ev kind:function(arm,size=0x28) addr:0x021071bc
_ZN19MapObjectProfilePotD1Ev kind:function(arm,size=0x14) addr:0x021071e4
_ZN23MapObjectProfileUnkSKBN10GetProfileEv kind:function(arm,size=0xc) addr:0x021071f8
_ZN23MapObjectProfileUnkSKBN6CreateEv kind:function(arm,size=0x24) addr:0x02107204
_ZN23MapObjectProfileUnkSKBNC1Ev kind:function(arm,size=0xa0) addr:0x02107228
@@ -2114,7 +2114,7 @@ __sinit_MapObjectUnkTRED.cpp kind:function(arm,size=0x6c) addr:0x02113d70
__sinit_MapObjectUnkTREW.cpp kind:function(arm,size=0x6c) addr:0x02113ddc
__sinit_MapObjectUnkTREN.cpp kind:function(arm,size=0x6c) addr:0x02113e48
__sinit_MapObjectUnkTRWS.cpp kind:function(arm,size=0x50) addr:0x02113eb4
__sinit_MapObjectUnkTSUB.cpp kind:function(arm,size=0x50) addr:0x02113f04
__sinit_MapObjectPot.cpp kind:function(arm,size=0x50) addr:0x02113f04
__sinit_MapObjectUnkSKBN.cpp kind:function(arm,size=0x74) addr:0x02113f54
__sinit_MapObjectUnkITFL.cpp kind:function(arm,size=0x50) addr:0x02113fc8
__sinit_MapObjectUnkSKDI.cpp kind:function(arm,size=0x50) addr:0x02114018
@@ -2178,7 +2178,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0
.p__sinit_MapObjectUnkTREW.cpp kind:data(word) addr:0x021145d8
.p__sinit_MapObjectUnkTREN.cpp kind:data(word) addr:0x021145dc
.p__sinit_MapObjectUnkTRWS.cpp kind:data(word) addr:0x021145e0
.p__sinit_MapObjectUnkTSUB.cpp kind:data(word) addr:0x021145e4
.p__sinit_MapObjectPot.cpp kind:data(word) addr:0x021145e4
.p__sinit_MapObjectUnkSKBN.cpp kind:data(word) addr:0x021145e8
.p__sinit_MapObjectUnkITFL.cpp kind:data(word) addr:0x021145ec
.p__sinit_MapObjectUnkSKDI.cpp kind:data(word) addr:0x021145f0
@@ -2673,9 +2673,9 @@ _ZN15ProfileInstanceI23MapObjectProfileUnkTRENE8sProfileE kind:bss addr:0x02119b
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTRWSE8sProfileE kind:bss addr:0x02119be8
@31023 kind:bss addr:0x02119bec
_ZN15ProfileInstanceI23MapObjectProfileUnkTRWSE8sProfileE kind:bss addr:0x02119bf8
_ZGVN15ProfileInstanceI23MapObjectProfileUnkTSUBE8sProfileE kind:bss addr:0x02119ccc
_ZGVN15ProfileInstanceI19MapObjectProfilePotE8sProfileE kind:bss addr:0x02119ccc
@31029 kind:bss addr:0x02119cd0
_ZN15ProfileInstanceI23MapObjectProfileUnkTSUBE8sProfileE kind:bss addr:0x02119cdc
_ZN15ProfileInstanceI19MapObjectProfilePotE8sProfileE kind:bss addr:0x02119cdc
data_ov031_02119db0 kind:bss addr:0x02119db0
_ZGVN15ProfileInstanceI23MapObjectProfileUnkSKBNE8sProfileE kind:bss addr:0x02119dd0
@31035 kind:bss addr:0x02119dd4
+2 -2
View File
@@ -141,7 +141,7 @@ public:
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2);
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3);
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2);
/* 28 */ virtual unk32 vfunc_28();
/* 2C */ virtual bool vfunc_2C(VecFx32 *param1);
/* 30 */ virtual ~MapObject();
@@ -176,7 +176,7 @@ public:
void func_ov000_0209d2f0(unk32 param1, unk32 param2, Vec2bCpp *param3);
void func_ov000_0209d3b4(unk32 param1, fx32 size);
void func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_00 *param2, unk32 param3);
void func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3, u8 param4);
void func_ov000_0209d518(VecFx32 *param1, unk32 param2, unk32 param3, u8 param4);
void func_ov000_0209d5c8(ActorRef ref);
void func_ov000_0209d614(unk32 param1);
bool func_ov000_0209d668();
+40
View File
@@ -0,0 +1,40 @@
#pragma once
#include "Actor/ActorId.hpp"
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "MapObject_ov031.hpp"
#include "global.h"
#include "types.h"
class MapObjectPot : public MapObjectPot_Base {
public:
/* 00 (base) */
/* 40 */ ActorId mUnk_40;
/* 44 */ STRUCT_PAD(0x44, 0x48);
/* 48 */ ModelRender_ov000_020b198c mUnk_48;
MapObjectPot();
/* 04 */ virtual void vfunc_04() override; // func_ov031_02105088
/* 14 */ virtual void vfunc_14() override; // func_ov031_021052cc
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3); // func_ov031_021050b4
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov031_02105348
/* 30 */ virtual ~MapObjectPot() override;
/* 3C */ virtual bool vfunc_3C() override; // func_ov031_021053b4
/* 40 */ virtual bool vfunc_40() override; // func_ov031_021053fc
/* 48 */ virtual void vfunc_48() override; // func_ov031_021051d4
/* 54 */ virtual unk32 vfunc_54() override; // func_ov031_02105310
};
class MapObjectProfilePot : public MapObjectProfilePot_Base {
public:
/* 00 (base) */
MapObjectProfilePot();
~MapObjectProfilePot();
/* 0C */ virtual MapObject *Create();
static MapObjectProfilePot *GetProfile();
};
-39
View File
@@ -1,39 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "MapObject/MapObject.hpp"
#include "MapObject/MapObjectProfile.hpp"
#include "global.h"
#include "types.h"
class MapObjectUnkTSUB : public MapObject {
public:
/* 00 (base) */
/* 40 */
MapObjectUnkTSUB();
/* 30 */ virtual ~MapObjectUnkTSUB() override;
void func_ov031_02105088(void);
void func_ov031_021050b4(void);
void func_ov031_021051d4(void);
void func_ov031_021052cc(void);
void func_ov031_02105310(void);
void func_ov031_02105348(void);
void func_ov031_021053b4(void);
void func_ov031_021053fc(void);
};
class MapObjectProfileUnkTSUB : public MapObjectProfile {
public:
/* 00 (base) */
MapObjectProfileUnkTSUB();
~MapObjectProfileUnkTSUB();
/* 0C */ virtual MapObject *Create();
static MapObjectProfileUnkTSUB *GetProfile();
};
+45
View File
@@ -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() 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) {}
};
+24
View File
@@ -101,6 +101,30 @@ public:
void func_01ffc6d4(u16 angle, VecFx32 *pos);
};
class ModelRender_ov000_020b198c : public ModelRenderBase {
public:
/* 00 (base) */
/* 08 */ unk8 mUnk_08;
/* 09 */ STRUCT_PAD(0x09, 0x0A);
/* 0A */ unk16 mUnk_0A;
/* 0C */ unk16 mUnk_0C;
/* 0E */
// func_ov000_020578e8
ModelRender_ov000_020b198c(G3d_Model *pModel, unk8 param2);
// data_ov000_020b198c
/* 00 */ virtual ~ModelRender_ov000_020b198c() override {}
/* 08 */ virtual void vfunc_08(G3d_Model *pModel) override; // func_ov000_02057908
/* 0C */ virtual void vfunc_0C() override; // func_ov000_0205793c
/* 10 */ virtual void vfunc_10(VecFx32 *param1, Mat3p *param2, VecFx32 *param3) override;
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) override;
/* 18 */ virtual void vfunc_18(VecFx32 *param1) override;
void func_ov000_02057ed8(G3d_Model *pModel);
unk32 func_ov000_02057ef4();
};
class UnkSystem5 {
public:
/* 00 */ G3d_Model *mpModel;
+1 -1
View File
@@ -10,7 +10,7 @@ public:
UnkStruct_027e09b4();
~UnkStruct_027e09b4();
void func_01fff60c(unk32 param1, unk32 param2, unk32 param3, u8 param4, unk32 param5, unk32 param6);
void func_01fff60c(VecFx32 *param1, unk32 param2, unk32 param3, u8 param4, unk32 param5, unk32 param6);
void func_ov017_020c08c4(VecFx32 *param1, unk32 param2, unk32 param3, s32 param4, s32 param5, s32 param6);
};
+1
View File
@@ -10,6 +10,7 @@ public:
UnkStruct_027e0d38();
~UnkStruct_027e0d38();
bool func_ov031_020d9c04(unk32 param1, unk32 param2, unk32 param3);
void func_ov031_020d9c44(unk32 param1);
};
+2 -2
View File
@@ -109,7 +109,7 @@ bool MapObject::vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) {
void MapObject::vfunc_20() {}
void MapObject::vfunc_24() {
void MapObject::vfunc_24(MapObject *param1, VecFx32 param2) {
*(u32 *) this = 0; // ????
}
@@ -223,7 +223,7 @@ void MapObject::func_ov000_0209d434(s8 *param1, UnkStruct_ov019_020d24c8_28_258_
}
}
void MapObject::func_ov000_0209d518(unk32 param1, unk32 param2, unk32 param3, u8 param4) {
void MapObject::func_ov000_0209d518(VecFx32 *param1, unk32 param2, unk32 param3, u8 param4) {
data_027e09b4->func_01fff60c(param1, param2, param3, param4, 0, 0);
}
+166
View File
@@ -0,0 +1,166 @@
#include "MapObject/MapObjectPot.hpp"
#include "Actor/ActorId.hpp"
#include "Actor/ActorManager.hpp"
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_027e09a8.hpp"
#include "Unknown/UnkStruct_027e0cec.hpp"
#include "Unknown/UnkStruct_027e0d38.hpp"
#include "limits.h"
extern "C" MapObject_10 data_ov031_02118010;
extern "C" fx32 func_01ffe868(VecFx32 *, unk32, unk32);
extern "C" void func_ov031_020e0f30(ActorRef);
DECL_PROFILE(MapObjectProfilePot);
MapObject *MapObjectProfilePot::Create() {
return new(HeapIndex_ITCM) MapObjectPot();
}
MapObjectProfilePot::MapObjectProfilePot() :
MapObjectProfilePot_Base(MapObjectId_TSUB, MapObjectId_TSUB) {
this->mUnk_0E = 0x0;
this->mUnk_D4.mUnk_08 = 0x7007;
this->mUnk_D4.mUnk_0C.x = FLOAT_TO_FX32(0.0f);
this->mUnk_D4.mUnk_0C.y = FLOAT_TO_FX32(0.0f);
this->mUnk_D4.mUnk_0C.z = FLOAT_TO_FX32(0.0f);
this->mUnk_D4.mUnk_18.x = FLOAT_TO_FX32(0.5f);
this->mUnk_D4.mUnk_18.y = FLOAT_TO_FX32(1.2f);
this->mUnk_06 = 0x0;
this->mUnk_0C = 0x1000;
}
ModelRender_ov000_020b198c::ModelRender_ov000_020b198c(G3d_Model *pModel, unk8 param2) :
ModelRenderBase(pModel),
mUnk_08(param2),
mUnk_0A(0x0),
mUnk_0C(0x0) {
this->vfunc_08(pModel);
}
// non-matching
MapObjectPot::MapObjectPot() :
mUnk_48(NULL, 0x1) {
this->mUnk_40 = ActorId_NTUB;
this->mUnk_10 = &data_ov031_02118010;
SET_FLAG(this->mFlags, MapObjFlag_8);
}
void MapObjectPot::vfunc_04() {
this->mPos.y = INT_MAX - FLOAT_TO_FX32(1.0f);
this->mPos.y = func_01ffe868(&this->mPos, 0x1, 0x0);
}
void MapObjectPot::vfunc_14() {
this->func_ov000_0209d518(&this->mPos, 0x5A7, 0x5A7, 0x1F);
this->mUnk_48.vfunc_18(&this->mPos);
}
// non-matching
bool MapObjectPot::vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) {
switch (param2) {
case 0xD:
this->vfunc_44(0x1, 0x0);
func_ov031_020e0f30(param1);
return true;
case 0x0:
case 0x1:
case 0x7:
case 0x8:
case 0xA:
case 0xB:
this->vfunc_44(0x1, 0x0);
return true;
case 0x3:
case 0xC:
this->vfunc_44(0x1, 0x0);
return false;
case 0x4:
if (data_027e0d38->func_ov031_020d9c04(0x1, 0x0, 0x0)) {
Actor *actor = gpActorManager->func_01fff3b4(param1);
if (actor != NULL) {
this->mUnk_14 = actor->mAngle;
this->vfunc_44(0x3, 0x0);
}
}
default:
return true;
}
}
void MapObjectPot::vfunc_24(MapObject *param1, VecFx32 param2) {
this->func_ov000_0209d8e8((MapObjectPot_Base *) param1, param2.x);
param1->func_ov000_0209d614(0x1);
if (((MapObjectPot_Base *) param1)->func_ov000_0209da64() != 0x65) {
return;
}
if (param1->mUnk_20.mUnk_0A[0] == 0x0) {
return;
}
param1->func_ov000_0209d2c4(0x0, true);
}
bool MapObjectPot::vfunc_3C() {
if (this->func_ov000_0209da64() == 0x65) {
return false;
}
if (this->func_ov000_0209da64() == 0x0) {
return this->func_ov000_0209d668() == 0x0;
}
return false;
}
bool MapObjectPot::vfunc_40() {
if (this->func_ov000_0209da64() == 0x65) {
if (!this->func_ov000_0209d29c(0x0)) {
return true;
}
if (this->mUnk_20.mUnk_0A[0] == 0x0) {
return true;
}
}
return false;
}
void MapObjectPot::vfunc_48() {
data_027e09a8->func_ov000_02071b30(0x100, &this->mPos, 0x0);
data_027e09a8->func_ov000_02071eac(&this->mPos);
VecFx32 stack_09;
VecFx32_Init(this->mPos.x, this->mPos.y + this->mUnk_48.mUnk_0C, this->mPos.z, &stack_09);
data_027e0cec->func_ov000_0209feac(0x8FF, &stack_09, 0x4, 0x0, 0x0);
data_027e0cec->func_ov000_0209feac(0x900, &stack_09, 0x4, 0x0, 0x0);
data_027e0cec->func_ov000_0209feac(0x822, &stack_09, 0x4, 0x0, 0x0);
if (this->func_ov000_0209da64() != 0x65) {
return;
}
if (this->mUnk_20.mUnk_0A[0] == 0x0) {
return;
}
this->func_ov000_0209d2c4(0x0, true);
}
unk32 MapObjectPot::vfunc_54() {
if (this->func_ov000_0209da64() == 0x65) {
return 0x1;
}
if (this->func_ov000_0209d668()) {
return 0x1;
}
return this->func_ov000_0209da64();
}
MapObjectPot::~MapObjectPot() {}
MapObjectProfilePot::~MapObjectProfilePot() {}
@@ -1,27 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#include "MapObject/MapObjectUnkTSUB.hpp"
#include "System/SysNew.hpp"
DECL_PROFILE(MapObjectProfileUnkTSUB);
MapObject *MapObjectProfileUnkTSUB::Create() {
return new(HeapIndex_2) MapObjectUnkTSUB();
}
MapObjectProfileUnkTSUB::MapObjectProfileUnkTSUB() :
MapObjectProfile(MapObjectId_TSUB) {}
MapObjectUnkTSUB::MapObjectUnkTSUB() {}
void MapObjectUnkTSUB::func_ov031_02105088(void) {}
void MapObjectUnkTSUB::func_ov031_021050b4(void) {}
void MapObjectUnkTSUB::func_ov031_021051d4(void) {}
void MapObjectUnkTSUB::func_ov031_021052cc(void) {}
void MapObjectUnkTSUB::func_ov031_02105310(void) {}
void MapObjectUnkTSUB::func_ov031_02105348(void) {}
void MapObjectUnkTSUB::func_ov031_021053b4(void) {}
void MapObjectUnkTSUB::func_ov031_021053fc(void) {}
MapObjectUnkTSUB::~MapObjectUnkTSUB() {}
MapObjectProfileUnkTSUB::~MapObjectProfileUnkTSUB() {}
+1 -1
View File
@@ -510,7 +510,7 @@ config.libs = [
Object("031_Land/MapObject/MapObjectChestBase.cpp"),
Object("031_Land/MapObject/MapObjectUnkTREW.cpp"),
Object("031_Land/MapObject/MapObjectUnkTRWS.cpp"),
Object("031_Land/MapObject/MapObjectUnkTSUB.cpp"),
Object("031_Land/MapObject/MapObjectPot.cpp"),
]
),
GameLib(