diff --git a/config/eur/arm9/itcm/symbols.txt b/config/eur/arm9/itcm/symbols.txt index 7101dd4d..4553694c 100644 --- a/config/eur/arm9/itcm/symbols.txt +++ b/config/eur/arm9/itcm/symbols.txt @@ -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 diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index 17b2719f..4d1ba562 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -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 diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt index 07e0a134..39c72636 100644 --- a/config/eur/arm9/overlays/ov031/delinks.txt +++ b/config/eur/arm9/overlays/ov031/delinks.txt @@ -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: diff --git a/config/eur/arm9/overlays/ov031/relocs.txt b/config/eur/arm9/overlays/ov031/relocs.txt index 65a09c63..ece1e764 100644 --- a/config/eur/arm9/overlays/ov031/relocs.txt +++ b/config/eur/arm9/overlays/ov031/relocs.txt @@ -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) diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 235a146e..2486ed79 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -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 diff --git a/config/jp/arm9/itcm/symbols.txt b/config/jp/arm9/itcm/symbols.txt index 7101dd4d..4553694c 100644 --- a/config/jp/arm9/itcm/symbols.txt +++ b/config/jp/arm9/itcm/symbols.txt @@ -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 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index a3257129..d76808c8 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -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 diff --git a/config/jp/arm9/overlays/ov031/delinks.txt b/config/jp/arm9/overlays/ov031/delinks.txt index cfa6888b..15d19f29 100644 --- a/config/jp/arm9/overlays/ov031/delinks.txt +++ b/config/jp/arm9/overlays/ov031/delinks.txt @@ -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 diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index c2dbc0b5..48a5aec9 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -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 diff --git a/include/MapObject/MapObject.hpp b/include/MapObject/MapObject.hpp index d9552597..ac0c927e 100644 --- a/include/MapObject/MapObject.hpp +++ b/include/MapObject/MapObject.hpp @@ -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(); diff --git a/include/MapObject/MapObjectPot.hpp b/include/MapObject/MapObjectPot.hpp new file mode 100644 index 00000000..5ddc0064 --- /dev/null +++ b/include/MapObject/MapObjectPot.hpp @@ -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(); +}; diff --git a/include/MapObject/MapObjectUnkTSUB.hpp b/include/MapObject/MapObjectUnkTSUB.hpp deleted file mode 100644 index a7a703af..00000000 --- a/include/MapObject/MapObjectUnkTSUB.hpp +++ /dev/null @@ -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(); -}; diff --git a/include/MapObject/MapObject_ov031.hpp b/include/MapObject/MapObject_ov031.hpp new file mode 100644 index 00000000..81cde5c0 --- /dev/null +++ b/include/MapObject/MapObject_ov031.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() 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) {} +}; diff --git a/include/Render/ModelRender.hpp b/include/Render/ModelRender.hpp index 0faf0843..c751a70a 100644 --- a/include/Render/ModelRender.hpp +++ b/include/Render/ModelRender.hpp @@ -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; diff --git a/include/Unknown/UnkStruct_027e09b4.hpp b/include/Unknown/UnkStruct_027e09b4.hpp index 59a9414e..7b7874bc 100644 --- a/include/Unknown/UnkStruct_027e09b4.hpp +++ b/include/Unknown/UnkStruct_027e09b4.hpp @@ -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); }; diff --git a/include/Unknown/UnkStruct_027e0d38.hpp b/include/Unknown/UnkStruct_027e0d38.hpp index 9f4a4601..8f5a073c 100644 --- a/include/Unknown/UnkStruct_027e0d38.hpp +++ b/include/Unknown/UnkStruct_027e0d38.hpp @@ -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); }; diff --git a/src/000_Second/MapObject/MapObject.cpp b/src/000_Second/MapObject/MapObject.cpp index b43f823d..ece9577f 100644 --- a/src/000_Second/MapObject/MapObject.cpp +++ b/src/000_Second/MapObject/MapObject.cpp @@ -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); } diff --git a/src/031_Land/MapObject/MapObjectPot.cpp b/src/031_Land/MapObject/MapObjectPot.cpp new file mode 100644 index 00000000..2b799879 --- /dev/null +++ b/src/031_Land/MapObject/MapObjectPot.cpp @@ -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() {} diff --git a/src/031_Land/MapObject/MapObjectUnkTSUB.cpp b/src/031_Land/MapObject/MapObjectUnkTSUB.cpp deleted file mode 100644 index d7df4a0b..00000000 --- a/src/031_Land/MapObject/MapObjectUnkTSUB.cpp +++ /dev/null @@ -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() {} diff --git a/tools/configure.py b/tools/configure.py index 4b5359b8..705e3270 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -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(