diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index c8455d4f..0610b2b0 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -1118,7 +1118,7 @@ _ZN26UnkStruct_027e09b8_04_Base8vfunc_20Ev kind:function(arm,size=0xc) addr:0x02 _ZN20MapObject_UnkStruct19vfunc2_00Ev kind:function(arm,size=0x4) addr:0x02073184 _ZN20MapObject_UnkStruct19vfunc2_04Ev kind:function(arm,size=0x4) addr:0x02073188 _ZN20MapObject_UnkStruct19vfunc2_08Ev kind:function(arm,size=0x4) addr:0x0207318c -func_ov000_02073190 kind:function(arm,size=0x4) addr:0x02073190 +_ZN20ActorUnkTLKT_9C_Base9vfunc2_0CEv kind:function(arm,size=0x4) addr:0x02073190 _ZN20MapObject_UnkStruct1C2Ev kind:function(arm,size=0x30) addr:0x02073194 _ZN20MapObject_UnkStruct1C1Ev kind:function(arm,size=0x30) addr:0x020731c4 _ZN20MapObject_UnkStruct19vfunc2_0CEv kind:function(arm,size=0x40) addr:0x020731f4 diff --git a/config/eur/arm9/overlays/ov031/delinks.txt b/config/eur/arm9/overlays/ov031/delinks.txt index 54e5aedf..8150bc3f 100644 --- a/config/eur/arm9/overlays/ov031/delinks.txt +++ b/config/eur/arm9/overlays/ov031/delinks.txt @@ -23,10 +23,11 @@ src/031_Land/Actor/ActorBlast.cpp: .bss start:0x02116450 end:0x0211649c src/031_Land/Actor/ActorUnkTLKT.cpp: + complete .text start:0x020e40d8 end:0x020e4584 .init start:0x02111098 end:0x021110e8 .ctor start:0x021127a4 end:0x021127a8 - .data start:0x02112de0 end:0x02112efc + .data start:0x02112e4c end:0x02112efc .bss start:0x0211649c end:0x021164e8 src/031_Land/Actor/ActorItemBoomerang.cpp: @@ -195,6 +196,7 @@ src/031_Land/Actor/ActorUnkCLLT.cpp: .text start:0x020fb30c end:0x020fb4ac .init start:0x021119fc end:0x02111a4c .ctor start:0x02112804 end:0x02112808 + .data start:0x02114e1c end:0x02114eac .bss start:0x02116fe8 end:0x02117034 src/031_Land/Actor/ActorUnkEFSB.cpp: diff --git a/config/eur/arm9/overlays/ov031/relocs.txt b/config/eur/arm9/overlays/ov031/relocs.txt index ff3e7aa4..d9363e15 100644 --- a/config/eur/arm9/overlays/ov031/relocs.txt +++ b/config/eur/arm9/overlays/ov031/relocs.txt @@ -1236,16 +1236,16 @@ from:0x020e4114 kind:arm_call to:0x0209767c module:overlay(0) from:0x020e412c kind:load to:0x02112e4c add:0x8 module:overlay(31) from:0x020e4138 kind:arm_call to:0x020e3da0 module:overlay(31) from:0x020e415c kind:load to:0x02112e70 add:0x8 module:overlay(31) -from:0x020e4160 kind:load to:0x02112ee4 add:0x8 module:overlay(31) +from:0x020e4160 kind:load to:0x02112e70 add:0x7c module:overlay(31) from:0x020e4188 kind:arm_call to:0x020e4514 module:overlay(31) from:0x020e4190 kind:arm_call to:0x02098488 module:overlay(0) from:0x020e419c kind:load to:0x02112e70 add:0x8 module:overlay(31) -from:0x020e41a0 kind:load to:0x02112ee4 add:0x8 module:overlay(31) +from:0x020e41a0 kind:load to:0x02112e70 add:0x7c module:overlay(31) from:0x020e41c8 kind:arm_call to:0x020e4514 module:overlay(31) from:0x020e41d0 kind:arm_call to:0x02098488 module:overlay(0) from:0x020e41d8 kind:arm_call to:0x02011ff4 module:main from:0x020e41e4 kind:load to:0x02112e70 add:0x8 module:overlay(31) -from:0x020e41e8 kind:load to:0x02112ee4 add:0x8 module:overlay(31) +from:0x020e41e8 kind:load to:0x02112e70 add:0x7c module:overlay(31) from:0x020e4230 kind:arm_call to:0x020e4274 module:overlay(31) from:0x020e424c kind:arm_call to:0x020732ec module:overlay(0) from:0x020e4270 kind:load to:0x027e09b8 module:dtcm diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 13abffec..b4605b21 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -67,7 +67,7 @@ func_ov031_020d9814 kind:function(arm,size=0x10) addr:0x020d9814 func_ov031_020d9824 kind:function(arm,size=0x10) addr:0x020d9824 _ZN18UnkStruct_027e0d3411TryItemGiveEi kind:function(arm,size=0x10) addr:0x020d9834 _ZN18UnkStruct_027e0d3419func_ov031_020d9844Ev kind:function(arm,size=0x10) addr:0x020d9844 -func_ov031_020d9854 kind:function(arm,size=0x34) addr:0x020d9854 +_ZN18UnkStruct_027e0d3419func_ov031_020d9854EP7VecFx32i kind:function(arm,size=0x34) addr:0x020d9854 func_ov031_020d9888 kind:function(arm,size=0x34) addr:0x020d9888 func_ov031_020d98bc kind:function(arm,size=0x1c) addr:0x020d98bc func_ov031_020d98d8 kind:function(arm,size=0x1c) addr:0x020d98d8 @@ -388,22 +388,22 @@ _ZN17ActorProfileBlastD1Ev kind:function(arm,size=0x14) addr:0x020e3c90 func_ov031_020e3ca4 kind:function(arm,size=0x24) addr:0x020e3ca4 func_ov031_020e3cc8 kind:function(arm,size=0x48) addr:0x020e3cc8 func_ov031_020e3d10 kind:function(arm,size=0x90) addr:0x020e3d10 -_ZN17ActorUnkTLKT_BaseC2Ev kind:function(arm,size=0x30) addr:0x020e3da0 +_ZN22ActorUnkTLKTnCLLT_BaseC2Ev kind:function(arm,size=0x30) addr:0x020e3da0 func_ov031_020e3dd0 kind:function(arm,size=0x28) addr:0x020e3dd0 -func_ov031_020e3df8 kind:function(arm,size=0x20) addr:0x020e3df8 -_ZN17ActorUnkTLKT_Base8vfunc_18Ei kind:function(arm,size=0x2c) addr:0x020e3e18 -_ZN17ActorUnkTLKT_Base8vfunc_1CEv kind:function(arm,size=0x28) addr:0x020e3e44 -_ZN17ActorUnkTLKT_Base19func_ov031_020e3e6cEv kind:function(arm,size=0x18) addr:0x020e3e6c -_ZN17ActorUnkTLKT_Base8vfunc_20Ev kind:function(arm,size=0x54) addr:0x020e3e84 -func_ov031_020e3ed8 kind:function(arm,size=0x28) addr:0x020e3ed8 +_ZN22ActorUnkTLKTnCLLT_Base19func_ov031_020e3df8Ev kind:function(arm,size=0x20) addr:0x020e3df8 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_18Ei kind:function(arm,size=0x2c) addr:0x020e3e18 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_1CEv kind:function(arm,size=0x28) addr:0x020e3e44 +_ZN22ActorUnkTLKTnCLLT_Base19func_ov031_020e3e6cEv kind:function(arm,size=0x18) addr:0x020e3e6c +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_20Ev kind:function(arm,size=0x54) addr:0x020e3e84 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_24Ev kind:function(arm,size=0x28) addr:0x020e3ed8 func_ov031_020e3f00 kind:function(arm,size=0x50) addr:0x020e3f00 -_ZN17ActorUnkTLKT_Base8vfunc_54Ev kind:function(arm,size=0x124) addr:0x020e3f50 -func_ov031_020e4074 kind:function(arm,size=0x4) addr:0x020e4074 -_ZN17ActorUnkTLKT_Base8vfunc_5CEv kind:function(arm,size=0x4) addr:0x020e4078 -func_ov031_020e407c kind:function(arm,size=0x8) addr:0x020e407c +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_54Ev kind:function(arm,size=0x124) addr:0x020e3f50 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_58Ev kind:function(arm,size=0x4) addr:0x020e4074 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_5CEv kind:function(arm,size=0x4) addr:0x020e4078 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_60Es kind:function(arm,size=0x8) addr:0x020e407c func_ov031_020e4084 kind:function(arm,size=0x24) addr:0x020e4084 -_ZN19func_ov031_020e40a8D1Ev kind:function(arm,size=0x14) addr:0x020e40a8 -_ZN19func_ov031_020e40bcD0Ev kind:function(arm,size=0x1c) addr:0x020e40bc +_ZN22ActorUnkTLKTnCLLT_BaseD1Ev kind:function(arm,size=0x14) addr:0x020e40a8 +_ZN22ActorUnkTLKTnCLLT_BaseD0Ev kind:function(arm,size=0x1c) addr:0x020e40bc _ZN19ActorProfileUnkTLKT10GetProfileEv kind:function(arm,size=0xc) addr:0x020e40d8 _ZN19ActorProfileUnkTLKT6CreateEv kind:function(arm,size=0x24) addr:0x020e40e4 _ZN19ActorProfileUnkTLKTC1Ev kind:function(arm,size=0x28) addr:0x020e4108 @@ -418,8 +418,8 @@ _ZN12ActorUnkTLKT8vfunc_68Ev kind:function(arm,size=0x30) addr:0x020e42f0 _ZN12ActorUnkTLKT8vfunc_60Es kind:function(arm,size=0x1f4) addr:0x020e4320 _ZN12ActorUnkTLKT19func_ov031_020e4514Ev kind:function(arm,size=0x5c) addr:0x020e4514 _ZN19ActorProfileUnkTLKTD1Ev kind:function(arm,size=0x14) addr:0x020e4570 -func_ov031_020e4584 kind:function(arm,size=0x10) addr:0x020e4584 -func_ov031_020e4594 kind:function(arm,size=0x10) addr:0x020e4594 +_ZN15ActorUnkTLKT_9C9vfunc2_08Ev kind:function(arm,size=0x10) addr:0x020e4584 +_ZN15ActorUnkTLKT_9C9vfunc2_00Ev kind:function(arm,size=0x10) addr:0x020e4594 _ZN25ActorProfileItemBoomerang10GetProfileEv kind:function(arm,size=0xc) addr:0x020e45a4 _ZN25ActorProfileItemBoomerang6CreateEv kind:function(arm,size=0x24) addr:0x020e45b0 _ZN25ActorProfileItemBoomerangC1Ev kind:function(arm,size=0x28) addr:0x020e45d4 @@ -1224,7 +1224,7 @@ _ZN15ActorUnkMLCK_D89vfunc2_04Ev kind:function(arm,size=0x1c) addr:0x020fb1cc _ZN12ActorUnkMLCK19func_ov031_020fb1e8EP18ActorUnkMLCK_B4_00 kind:function(arm,size=0x1c) addr:0x020fb1e8 _ZN12ActorUnkMLCK19func_ov031_020fb204Ei kind:function(arm,size=0x4c) addr:0x020fb204 _ZN12ActorUnkMLCKD0Ev kind:function(arm,size=0x28) addr:0x020fb250 -_ZN12ActorUnkMLCKD2Ev kind:function(arm,size=0x20) addr:0x020fb278 +_ZN12ActorUnkMLCKD1Ev kind:function(arm,size=0x20) addr:0x020fb278 _ZN19ActorProfileUnkMLCKD1Ev kind:function(arm,size=0x14) addr:0x020fb298 func_ov031_020fb2ac kind:function(arm,size=0x10) addr:0x020fb2ac func_ov031_020fb2bc kind:function(arm,size=0x10) addr:0x020fb2bc @@ -1236,9 +1236,9 @@ _ZN19ActorProfileUnkCLLT10GetProfileEv kind:function(arm,size=0xc) addr:0x020fb3 _ZN19ActorProfileUnkCLLT6CreateEv kind:function(arm,size=0x24) addr:0x020fb318 _ZN19ActorProfileUnkCLLTC1Ev kind:function(arm,size=0x28) addr:0x020fb33c _ZN12ActorUnkCLLTC1Ev kind:function(arm,size=0x28) addr:0x020fb364 -_ZN12ActorUnkCLLT19func_ov031_020fb38cEv kind:function(arm,size=0x3c) addr:0x020fb38c -_ZN12ActorUnkCLLT19func_ov031_020fb3c8Ev kind:function(arm,size=0x44) addr:0x020fb3c8 -_ZN12ActorUnkCLLT19func_ov031_020fb40cEv kind:function(arm,size=0x44) addr:0x020fb40c +_ZN12ActorUnkCLLT8vfunc_58Ev kind:function(arm,size=0x3c) addr:0x020fb38c +_ZN12ActorUnkCLLT8vfunc_5CEv kind:function(arm,size=0x44) addr:0x020fb3c8 +_ZN12ActorUnkCLLT8vfunc_60Es kind:function(arm,size=0x44) addr:0x020fb40c _ZN12ActorUnkCLLTD1Ev kind:function(arm,size=0x20) addr:0x020fb450 _ZN12ActorUnkCLLTD0Ev kind:function(arm,size=0x28) addr:0x020fb470 _ZN19ActorProfileUnkCLLTD1Ev kind:function(arm,size=0x14) addr:0x020fb498 @@ -2072,7 +2072,7 @@ __sinit_ov031_02110fd0 kind:function(arm,size=0x18) addr:0x02110fd0 __sinit_ov031_02110fe8 kind:function(arm,size=0x10) addr:0x02110fe8 __sinit_ActorUnkBOMB.cpp kind:function(arm,size=0x50) addr:0x02110ff8 __sinit_ActorBlast.cpp kind:function(arm,size=0x50) addr:0x02111048 -__sinit_ActorUnkTLKT.cpp kind:function(arm,size=0x50) addr:0x02111098 +__sinit_ActorUnkTLKT.cpp kind:function(arm,size=0x50) addr:0x02111098 local __sinit_ActorItemBoomerang.cpp kind:function(arm,size=0x50) addr:0x021110e8 __sinit_ActorItemTornado.cpp kind:function(arm,size=0x74) addr:0x02111138 __sinit_ActorUnkSWBM.cpp kind:function(arm,size=0x74) addr:0x021111ac @@ -2136,7 +2136,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x02112724 .p__sinit_ov031_02110fe8 kind:data(word) addr:0x02112798 .p__sinit_ActorUnkBOMB.cpp kind:data(word) addr:0x0211279c .p__sinit_ActorBlast.cpp kind:data(word) addr:0x021127a0 -.p__sinit_ActorUnkTLKT.cpp kind:data(word) addr:0x021127a4 +.p__sinit_ActorUnkTLKT.cpp kind:data(word) addr:0x021127a4 local .p__sinit_ActorItemBoomerang.cpp kind:data(word) addr:0x021127a8 .p__sinit_ActorItemTornado.cpp kind:data(word) addr:0x021127ac .p__sinit_ActorUnkSWBM.cpp kind:data(word) addr:0x021127b0 @@ -2255,8 +2255,7 @@ _ZTV17ActorProfileBlast kind:data(any) addr:0x02112d60 _ZTV10ActorBlast kind:data(any) addr:0x02112d84 _ZTV19data_ov031_02112de0 kind:data(any) addr:0x02112de0 _ZTV19ActorProfileUnkTLKT kind:data(any) addr:0x02112e4c -_ZTV12ActorUnkTLKT kind:data(any) addr:0x02112e70 -_ZTV15ActorUnkTLKT_9C kind:data(any) addr:0x02112ee4 +_ZTV12ActorUnkTLKT kind:data(byte[0x8c]) addr:0x02112e70 _ZTV21ActorItemBoomerang_A0 kind:data(any) addr:0x02112efc _ZTV22ActorItemBoomerang_11C kind:data(any) addr:0x02112f18 _ZTV21ActorItemBoomerang_CC kind:data(any) addr:0x02112f34 @@ -2405,8 +2404,8 @@ _ZTV15ActorUnkMLCK_D8 kind:data(any) addr:0x02114d34 _ZTV19ActorProfileUnkMLCK kind:data(any) addr:0x02114d4c _ZTV12ActorUnkMLCK kind:data(any) addr:0x02114d70 _ZTV15ActorUnkMLCK_94 kind:data(any) addr:0x02114dec -_ZTV19data_ov031_02114e1c kind:data(any) addr:0x02114e1c -_ZTV19data_ov031_02114e40 kind:data(any) addr:0x02114e40 +_ZTV19ActorProfileUnkCLLT kind:data(any) addr:0x02114e1c +_ZTV12ActorUnkCLLT kind:data(any) addr:0x02114e40 _ZTV19ActorProfileUnkEFSB kind:data(any) addr:0x02114eac data_ov031_02114ed0 kind:data(any) addr:0x02114ed0 local _ZTV12ActorUnkEFSB kind:data(any) addr:0x02114f00 @@ -2527,7 +2526,7 @@ _ZGVN15ProfileInstanceI17ActorProfileBlastE8sProfileE kind:bss addr:0x02116450 @10781 kind:bss addr:0x02116454 _ZN15ProfileInstanceI17ActorProfileBlastE8sProfileE kind:bss addr:0x02116460 _ZGVN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x0211649c -@10787 kind:bss addr:0x021164a0 +@10787 kind:bss addr:0x021164a0 local _ZN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x021164ac _ZGVN15ProfileInstanceI25ActorProfileItemBoomerangE8sProfileE kind:bss addr:0x021164e8 @10793 kind:bss addr:0x021164ec diff --git a/config/eur/arm9/overlays/ov102/symbols.txt b/config/eur/arm9/overlays/ov102/symbols.txt index 7efcf5b9..e026bbb9 100644 --- a/config/eur/arm9/overlays/ov102/symbols.txt +++ b/config/eur/arm9/overlays/ov102/symbols.txt @@ -25,8 +25,8 @@ func_ov102_0218419c kind:function(arm,size=0x218) addr:0x0218419c func_ov102_021843b4 kind:function(arm,size=0x214) addr:0x021843b4 func_ov102_021845c8 kind:function(arm,size=0x60) addr:0x021845c8 func_ov102_02184628 kind:function(arm,size=0x1c) addr:0x02184628 -func_ov102_02184644 kind:function(arm,size=0x190) addr:0x02184644 -func_ov102_021847d4 kind:function(arm,size=0x14) addr:0x021847d4 +_ZN20Actor_ov102_021849508vfunc_20Ev kind:function(arm,size=0x190) addr:0x02184644 +_ZN20Actor_ov102_021849508vfunc_24Ev kind:function(arm,size=0x14) addr:0x021847d4 func_ov102_021847e8 kind:function(arm,size=0x78) addr:0x021847e8 func_ov102_02184860 kind:function(arm,size=0x50) addr:0x02184860 data_ov102_021848b0 kind:data(any) addr:0x021848b0 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index b2e74c43..b427f54b 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -1119,7 +1119,7 @@ _ZN26UnkStruct_027e09b8_04_Base8vfunc_20Ev kind:function(arm,size=0xc) addr:0x02 _ZN20MapObject_UnkStruct19vfunc2_00Ev kind:function(arm,size=0x4) addr:0x0207483c _ZN20MapObject_UnkStruct19vfunc2_04Ev kind:function(arm,size=0x4) addr:0x02074840 _ZN20MapObject_UnkStruct19vfunc2_08Ev kind:function(arm,size=0x4) addr:0x02074844 -func_ov000_02074848 kind:function(arm,size=0x4) addr:0x02074848 +_ZN20ActorUnkTLKT_9C_Base9vfunc2_0CEv kind:function(arm,size=0x4) addr:0x02074848 _ZN20MapObject_UnkStruct1C2Ev kind:function(arm,size=0x30) addr:0x0207484c _ZN20MapObject_UnkStruct1C1Ev kind:function(arm,size=0x30) addr:0x0207487c _ZN20MapObject_UnkStruct19vfunc2_0CEv kind:function(arm,size=0x40) addr:0x020748ac diff --git a/config/jp/arm9/overlays/ov031/delinks.txt b/config/jp/arm9/overlays/ov031/delinks.txt index 492ad219..28d50066 100644 --- a/config/jp/arm9/overlays/ov031/delinks.txt +++ b/config/jp/arm9/overlays/ov031/delinks.txt @@ -22,17 +22,18 @@ src/031_Land/Actor/ActorBlast.cpp: .bss start:0x021181f0 end:0x0211823c src/031_Land/Actor/ActorUnkTLKT.cpp: + complete .text start:0x020e5ac4 end:0x020e5f70 .init start:0x02112e08 end:0x02112e58 .ctor start:0x02114530 end:0x02114534 - .data start:0x02114b80 end:0x02114c84 + .data start:0x02114bec end:0x02114c9c .bss start:0x0211823c end:0x02118288 src/031_Land/Actor/ActorItemBoomerang.cpp: .text start:0x020e5f90 end:0x020e7148 .init start:0x02112e58 end:0x02112ea8 .ctor start:0x02114534 end:0x02114538 - .data start:0x02114c84 end:0x02114d70 + .data start:0x02114c9c end:0x02114d70 .bss start:0x02118288 end:0x021182d4 src/031_Land/Actor/ActorItemTornado.cpp: diff --git a/config/jp/arm9/overlays/ov031/relocs.txt b/config/jp/arm9/overlays/ov031/relocs.txt index 1d87abc3..60bd891e 100644 --- a/config/jp/arm9/overlays/ov031/relocs.txt +++ b/config/jp/arm9/overlays/ov031/relocs.txt @@ -1237,16 +1237,16 @@ from:0x020e5b00 kind:arm_call to:0x02098e24 module:overlay(0) from:0x020e5b18 kind:load to:0x02114bec add:0x8 module:overlay(31) from:0x020e5b24 kind:arm_call to:0x020e578c module:overlay(31) from:0x020e5b48 kind:load to:0x02114c10 add:0x8 module:overlay(31) -from:0x020e5b4c kind:load to:0x02114c84 module:overlay(31) add:0x8 +from:0x020e5b4c kind:load to:0x02114c10 add:0x7C module:overlay(31) from:0x020e5b74 kind:arm_call to:0x020e5f00 module:overlay(31) from:0x020e5b7c kind:arm_call to:0x02099c30 module:overlay(0) from:0x020e5b88 kind:load to:0x02114c10 add:0x8 module:overlay(31) -from:0x020e5b8c kind:load to:0x02114c84 module:overlay(31) add:0x8 +from:0x020e5b8c kind:load to:0x02114c10 add:0x7C module:overlay(31) from:0x020e5bb4 kind:arm_call to:0x020e5f00 module:overlay(31) from:0x020e5bbc kind:arm_call to:0x02099c30 module:overlay(0) from:0x020e5bc4 kind:arm_call to:0x02011ff4 module:main from:0x020e5bd0 kind:load to:0x02114c10 add:0x8 module:overlay(31) -from:0x020e5bd4 kind:load to:0x02114c84 module:overlay(31) add:0x8 +from:0x020e5bd4 kind:load to:0x02114c10 add:0x7C module:overlay(31) from:0x020e5c1c kind:arm_call to:0x020e5c60 module:overlay(31) from:0x020e5c38 kind:arm_call to:0x020749a4 module:overlay(0) from:0x020e5c5c kind:load to:0x027e09b8 module:dtcm @@ -1283,7 +1283,7 @@ from:0x020e6110 kind:arm_call to:0x020da790 module:overlay(31) from:0x020e612c kind:load to:0x02114d14 add:0x8 module:overlay(31) from:0x020e6130 kind:load to:0x027e0ce0 module:dtcm from:0x020e6134 kind:load to:0x020b3160 add:0x8 module:overlay(0) -from:0x020e6138 kind:load to:0x02114ca4 module:overlay(31) +from:0x020e6138 kind:load to:0x02114c9c module:overlay(31) add:0x8 from:0x020e613c kind:load to:0x02114cdc module:overlay(31) from:0x020e6140 kind:load to:0x020a1aac module:overlay(0) from:0x020e6144 kind:load to:0x020e70f0 module:overlay(31) diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 1a3e8fa4..6ef7e5df 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -53,7 +53,7 @@ func_ov031_020db0a4 kind:function(arm,size=0x10) addr:0x020db0a4 func_ov031_020db0b4 kind:function(arm,size=0x1c) addr:0x020db0b4 func_ov031_020db0d0 kind:function(arm,size=0x18) addr:0x020db0d0 func_ov031_020db0e8 kind:function(arm,size=0x10) addr:0x020db0e8 -func_ov031_020db0f8 kind:function(arm,size=0x18) addr:0x020db0f8 +_ZN18UnkStruct_027e0d3419func_ov031_020d9758Ev kind:function(arm,size=0x18) addr:0x020db0f8 func_ov031_020db110 kind:function(arm,size=0x18) addr:0x020db110 func_ov031_020db128 kind:function(arm,size=0x1c) addr:0x020db128 func_ov031_020db144 kind:function(arm,size=0x10) addr:0x020db144 @@ -67,7 +67,7 @@ func_ov031_020db1b4 kind:function(arm,size=0x10) addr:0x020db1b4 func_ov031_020db1c4 kind:function(arm,size=0x10) addr:0x020db1c4 _ZN18UnkStruct_027e0d3411TryItemGiveEi kind:function(arm,size=0x10) addr:0x020db1d4 _ZN18UnkStruct_027e0d3419func_ov031_020d9844Ev kind:function(arm,size=0x10) addr:0x020db1e4 -func_ov031_020db1f4 kind:function(arm,size=0x34) addr:0x020db1f4 +_ZN18UnkStruct_027e0d3419func_ov031_020d9854EP7VecFx32i kind:function(arm,size=0x34) addr:0x020db1f4 func_ov031_020db228 kind:function(arm,size=0x34) addr:0x020db228 func_ov031_020db25c kind:function(arm,size=0x1c) addr:0x020db25c func_ov031_020db278 kind:function(arm,size=0x1c) addr:0x020db278 @@ -388,18 +388,18 @@ _ZN17ActorProfileBlastD1Ev kind:function(arm,size=0x14) addr:0x020e567c func_ov031_020e5690 kind:function(arm,size=0x24) addr:0x020e5690 func_ov031_020e56b4 kind:function(arm,size=0x48) addr:0x020e56b4 func_ov031_020e56fc kind:function(arm,size=0x90) addr:0x020e56fc -func_ov031_020e578c kind:function(arm,size=0x30) addr:0x020e578c -func_ov031_020e57bc kind:function(arm,size=0x28) addr:0x020e57bc -func_ov031_020e57e4 kind:function(arm,size=0x20) addr:0x020e57e4 -func_ov031_020e5804 kind:function(arm,size=0x2c) addr:0x020e5804 -func_ov031_020e5830 kind:function(arm,size=0x28) addr:0x020e5830 -func_ov031_020e5858 kind:function(arm,size=0x18) addr:0x020e5858 -func_ov031_020e5870 kind:function(arm,size=0x54) addr:0x020e5870 +_ZN22ActorUnkTLKTnCLLT_BaseC2Ev kind:function(arm,size=0x30) addr:0x020e578c +func_ov031_020e3dd0 kind:function(arm,size=0x28) addr:0x020e57bc +_ZN22ActorUnkTLKTnCLLT_Base19func_ov031_020e3df8Ev kind:function(arm,size=0x20) addr:0x020e57e4 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_18Ei kind:function(arm,size=0x2c) addr:0x020e5804 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_1CEv kind:function(arm,size=0x28) addr:0x020e5830 +_ZN22ActorUnkTLKTnCLLT_Base19func_ov031_020e3e6cEv kind:function(arm,size=0x18) addr:0x020e5858 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_20Ev kind:function(arm,size=0x54) addr:0x020e5870 func_ov031_020e58c4 kind:function(arm,size=0x28) addr:0x020e58c4 func_ov031_020e58ec kind:function(arm,size=0x50) addr:0x020e58ec -func_ov031_020e593c kind:function(arm,size=0x124) addr:0x020e593c +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_54Ev kind:function(arm,size=0x124) addr:0x020e593c func_ov031_020e5a60 kind:function(arm,size=0x4) addr:0x020e5a60 -func_ov031_020e5a64 kind:function(arm,size=0x4) addr:0x020e5a64 +_ZN22ActorUnkTLKTnCLLT_Base8vfunc_5CEv kind:function(arm,size=0x4) addr:0x020e5a64 func_ov031_020e5a68 kind:function(arm,size=0x8) addr:0x020e5a68 func_ov031_020e5a70 kind:function(arm,size=0x24) addr:0x020e5a70 _ZN19func_ov031_020e40a8D1Ev kind:function(arm,size=0x14) addr:0x020e5a94 @@ -418,8 +418,8 @@ _ZN12ActorUnkTLKT8vfunc_68Ev kind:function(arm,size=0x30) addr:0x020e5cdc _ZN12ActorUnkTLKT8vfunc_60Es kind:function(arm,size=0x1f4) addr:0x020e5d0c _ZN12ActorUnkTLKT19func_ov031_020e4514Ev kind:function(arm,size=0x5c) addr:0x020e5f00 _ZN19ActorProfileUnkTLKTD1Ev kind:function(arm,size=0x14) addr:0x020e5f5c -func_ov031_020e5f70 kind:function(arm,size=0x10) addr:0x020e5f70 -func_ov031_020e5f80 kind:function(arm,size=0x10) addr:0x020e5f80 +_ZN15ActorUnkTLKT_9C9vfunc2_08Ev kind:function(arm,size=0x10) addr:0x020e5f70 +_ZN15ActorUnkTLKT_9C9vfunc2_00Ev kind:function(arm,size=0x10) addr:0x020e5f80 _ZN25ActorProfileItemBoomerang10GetProfileEv kind:function(arm,size=0xc) addr:0x020e5f90 _ZN25ActorProfileItemBoomerang6CreateEv kind:function(arm,size=0x24) addr:0x020e5f9c _ZN25ActorProfileItemBoomerangC1Ev kind:function(arm,size=0x28) addr:0x020e5fc0 @@ -1223,7 +1223,7 @@ _ZN15ActorUnkMLCK_D89vfunc2_04Ev kind:function(arm,size=0x1c) addr:0x020fcc24 _ZN12ActorUnkMLCK19func_ov031_020fb1e8EP18ActorUnkMLCK_B4_00 kind:function(arm,size=0x1c) addr:0x020fcc40 _ZN12ActorUnkMLCK19func_ov031_020fb204Ei kind:function(arm,size=0x4c) addr:0x020fcc5c _ZN12ActorUnkMLCKD0Ev kind:function(arm,size=0x28) addr:0x020fcca8 -_ZN12ActorUnkMLCKD2Ev kind:function(arm,size=0x20) addr:0x020fccd0 +_ZN12ActorUnkMLCKD1Ev kind:function(arm,size=0x20) addr:0x020fccd0 _ZN19ActorProfileUnkMLCKD1Ev kind:function(arm,size=0x14) addr:0x020fccf0 func_ov031_020fcd04 kind:function(arm,size=0x10) addr:0x020fcd04 func_ov031_020fcd14 kind:function(arm,size=0x10) addr:0x020fcd14 @@ -1235,9 +1235,9 @@ _ZN19ActorProfileUnkCLLT10GetProfileEv kind:function(arm,size=0xc) addr:0x020fcd _ZN19ActorProfileUnkCLLT6CreateEv kind:function(arm,size=0x24) addr:0x020fcd70 _ZN19ActorProfileUnkCLLTC1Ev kind:function(arm,size=0x28) addr:0x020fcd94 _ZN12ActorUnkCLLTC1Ev kind:function(arm,size=0x28) addr:0x020fcdbc -_ZN12ActorUnkCLLT19func_ov031_020fb38cEv kind:function(arm,size=0x3c) addr:0x020fcde4 -_ZN12ActorUnkCLLT19func_ov031_020fb3c8Ev kind:function(arm,size=0x44) addr:0x020fce20 -_ZN12ActorUnkCLLT19func_ov031_020fb40cEv kind:function(arm,size=0x44) addr:0x020fce64 +_ZN12ActorUnkCLLT8vfunc_58Ev kind:function(arm,size=0x3c) addr:0x020fcde4 +_ZN12ActorUnkCLLT8vfunc_5CEv kind:function(arm,size=0x44) addr:0x020fce20 +_ZN12ActorUnkCLLT8vfunc_60Es kind:function(arm,size=0x44) addr:0x020fce64 _ZN12ActorUnkCLLTD1Ev kind:function(arm,size=0x20) addr:0x020fcea8 _ZN12ActorUnkCLLTD0Ev kind:function(arm,size=0x28) addr:0x020fcec8 _ZN19ActorProfileUnkCLLTD1Ev kind:function(arm,size=0x14) addr:0x020fcef0 @@ -2069,7 +2069,7 @@ __sinit_ov031_02112d40 kind:function(arm,size=0x18) addr:0x02112d40 __sinit_ov031_02112d58 kind:function(arm,size=0x10) addr:0x02112d58 __sinit_ActorUnkBOMB.cpp kind:function(arm,size=0x50) addr:0x02112d68 __sinit_ActorBlast.cpp kind:function(arm,size=0x50) addr:0x02112db8 -__sinit_ActorUnkTLKT.cpp kind:function(arm,size=0x50) addr:0x02112e08 +__sinit_ActorUnkTLKT.cpp kind:function(arm,size=0x50) addr:0x02112e08 local __sinit_ActorItemBoomerang.cpp kind:function(arm,size=0x50) addr:0x02112e58 __sinit_ActorItemTornado.cpp kind:function(arm,size=0x74) addr:0x02112ea8 __sinit_ActorUnkSWBM.cpp kind:function(arm,size=0x74) addr:0x02112f1c @@ -2133,7 +2133,7 @@ __sinit_MapObjectUnkSWFS.cpp kind:function(arm,size=0x70) addr:0x021144b0 .p__sinit_ov031_02112d58 kind:data(word) addr:0x02114524 .p__sinit_ActorUnkBOMB.cpp kind:data(word) addr:0x02114528 .p__sinit_ActorBlast.cpp kind:data(word) addr:0x0211452c -.p__sinit_ActorUnkTLKT.cpp kind:data(word) addr:0x02114530 +.p__sinit_ActorUnkTLKT.cpp kind:data(word) addr:0x02114530 local .p__sinit_ActorItemBoomerang.cpp kind:data(word) addr:0x02114534 .p__sinit_ActorItemTornado.cpp kind:data(word) addr:0x02114538 .p__sinit_ActorUnkSWBM.cpp kind:data(word) addr:0x0211453c @@ -2251,10 +2251,9 @@ _ZTV13ActorBlast_E8 kind:data(any) addr:0x02114ae4 _ZTV17ActorProfileBlast kind:data(any) addr:0x02114b00 _ZTV10ActorBlast kind:data(any) addr:0x02114b24 _ZTV19data_ov031_02114b80 kind:data(any) addr:0x02114b80 -_ZTV19data_ov031_02114bec kind:data(any) addr:0x02114bec -_ZTV19data_ov031_02114c10 kind:data(any) addr:0x02114c10 -_ZTV19data_ov031_02114c8c kind:data(any) addr:0x02114c84 -data_ov031_02114ca4 kind:data(any) addr:0x02114ca4 +_ZTV19ActorProfileUnkTLKT kind:data(any) addr:0x02114bec +_ZTV12ActorUnkTLKT kind:data(byte[0x8c]) addr:0x02114c10 +_ZTV19data_ov031_02114ca4 kind:data(any) addr:0x02114c9c data_ov031_02114cc0 kind:data(any) addr:0x02114cc0 data_ov031_02114cdc kind:data(any) addr:0x02114cdc _ZTV19data_ov031_02114cf0 kind:data(any) addr:0x02114cf0 @@ -2522,7 +2521,7 @@ _ZGVN15ProfileInstanceI17ActorProfileBlastE8sProfileE kind:bss addr:0x021181f0 @30781 kind:bss addr:0x021181f4 _ZN15ProfileInstanceI17ActorProfileBlastE8sProfileE kind:bss addr:0x02118200 _ZGVN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x0211823c -@30787 kind:bss addr:0x02118240 +@30787 kind:bss addr:0x02118240 local _ZN15ProfileInstanceI19ActorProfileUnkTLKTE8sProfileE kind:bss addr:0x0211824c _ZGVN15ProfileInstanceI25ActorProfileItemBoomerangE8sProfileE kind:bss addr:0x02118288 @30793 kind:bss addr:0x0211828c diff --git a/include/Actor/ActorUnkCLLT.hpp b/include/Actor/ActorUnkCLLT.hpp index 8d942831..a71c3121 100644 --- a/include/Actor/ActorUnkCLLT.hpp +++ b/include/Actor/ActorUnkCLLT.hpp @@ -1,34 +1,31 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" +#include "ActorUnkTLKT.hpp" #include "global.h" -#include "types.h" -class ActorUnkCLLT_C4 : public Actor_C4 { -public: - ActorUnkCLLT_C4(Actor *param1); - - /* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override; - /* 04 */ virtual bool vfunc_04() override; - /* 08 */ virtual void vfunc_08() override; - /* 0C */ virtual void vfunc_0C(unk32 param1) override; +enum ActorUnkCLLTState_ { + ActorUnkCLLTState_0 = 0, + ActorUnkCLLTState_1 = 1, + ActorUnkCLLTState_2 = 2, + ActorUnkCLLTState_3 = 3, + ActorUnkCLLTState_4 = 4, + ActorUnkCLLTState_5 = 5, + ActorUnkCLLTState_Max, }; -class ActorUnkCLLT : public Actor { +class ActorUnkCLLT : public ActorUnkTLKTnCLLT_Base { public: /* 00 (base) */ - /* 94 */ + /* 9C */ UnkSystem1_ov000_Derived2 mUnk_9C; + /* D0 */ ActorUnkCLLT(); - /* 4C */ virtual ~ActorUnkCLLT() override; - - void func_ov031_020fb38c(void); - void func_ov031_020fb3c8(void); - void func_ov031_020fb40c(void); + /* 58 */ virtual void vfunc_58() override; + /* 5C */ virtual void vfunc_5C() override; + /* 60 */ virtual void vfunc_60(ActorState state) override; }; class ActorProfileUnkCLLT : public ActorProfile { @@ -36,7 +33,6 @@ public: /* 00 (base) */ ActorProfileUnkCLLT(); - ~ActorProfileUnkCLLT(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkMLCK.hpp b/include/Actor/ActorUnkMLCK.hpp index 67c2ac0f..2821667f 100644 --- a/include/Actor/ActorUnkMLCK.hpp +++ b/include/Actor/ActorUnkMLCK.hpp @@ -2,6 +2,7 @@ #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" +#include "ActorUnkTLKT.hpp" #include "FileSelect/FileSelectUnkDraw.hpp" #include "global.h" #include "types.h" @@ -20,18 +21,17 @@ public: /* 24 */ virtual void vfunc_24() override; // func_ov031_020fb2bc }; -class ActorUnkMLCK_D8 { +class ActorUnkMLCK_D8 : public ActorUnkTLKT_9C_Base { public: /* 00 (vtable) */ - /* 04 */ bool mUnk_04; - /* 05 */ bool mUnk_05; /* 08 */ ActorUnkMLCK *mUnk_08; /* 0C */ - ActorUnkMLCK_D8(ActorUnkMLCK *actor) : - mUnk_04(true), - mUnk_05(true), - mUnk_08(actor) {} + ActorUnkMLCK_D8(ActorUnkMLCK *actor) { + this->mUnk_04b = true; + this->mUnk_05 = true; + this->mUnk_08 = actor; + } /* 00 */ virtual void vfunc2_00() override; // func_ov031_020fb1b0 /* 04 */ virtual void vfunc2_04() override; // func_ov031_020fb1cc @@ -79,6 +79,8 @@ public: /* 70 */ virtual void vfunc_70() override; }; +// multiple inheritance ? +// ActorUnkMLCK_D8 ? class ActorUnkMLCK : public Actor_ov102_02184950 { public: /* 00 (base) */ diff --git a/include/Actor/ActorUnkTLKT.hpp b/include/Actor/ActorUnkTLKT.hpp index 40b93cab..e588fb00 100644 --- a/include/Actor/ActorUnkTLKT.hpp +++ b/include/Actor/ActorUnkTLKT.hpp @@ -12,57 +12,63 @@ enum ActorUnkTLKTState_ { ActorUnkTLKTState_2 = 2, ActorUnkTLKTState_3 = 3, ActorUnkTLKTState_4 = 4, - ActorUnkTLKTState_MAX + ActorUnkTLKTState_5 = 5, + ActorUnkTLKTState_Max }; -class ActorUnkTLKT_Base : public Actor { +class ActorUnkTLKTnCLLT_Base : public Actor { public: /* 00 (base) */ - /* 94 */ + /* 94 */ STRUCT_PAD(0x94, 0x9C); + /* 9C */ - ActorUnkTLKT_Base(); // func_ov031_020e3da0 + ActorUnkTLKTnCLLT_Base(); - /* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020e3e18 - /* 1C */ virtual void vfunc_1C() override; // func_ov031_020e3e44 - /* 20 */ virtual void vfunc_20() override; // func_ov031_020e3e84 - /* 24 */ virtual void vfunc_24() override; // func_ov031_020e3ed8 - // /* 4C */ virtual ~ActorUnkTLKT_Base() override; // func_ov031_020e40a8 & func_ov031_020e40bc - /* 54 */ virtual void vfunc_54(); // func_ov031_020e3f50 - /* 58 */ virtual void vfunc_58(); // func_ov031_020e4074 - /* 5C */ virtual void vfunc_5C(); // func_ov031_020e4078 - /* 60 */ virtual void vfunc_60(ActorState state); // func_ov031_020e407c + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 1C */ virtual void vfunc_1C() override; + /* 20 */ virtual void vfunc_20() override; + /* 24 */ virtual void vfunc_24() override; + /* 54 */ virtual void vfunc_54(); + /* 58 */ virtual void vfunc_58(); + /* 5C */ virtual void vfunc_5C(); + /* 60 */ virtual void vfunc_60(ActorState state); + Actor *func_ov031_020e3df8(); void func_ov031_020e3e6c(); }; -class ActorUnkTLKT_9C : public MapObject_UnkStruct1 { +class ActorUnkTLKT_9C_Base : public MapObject_UnkStruct1 { public: /* 00 (base) */ /* 08 */ - ActorUnkTLKT_9C() { - this->mUnk_04 = 0xFFFFFFFF; - } + /* 00 */ virtual void vfunc2_0C() override; +}; + +class ActorUnkTLKT_9C : public ActorUnkTLKT_9C_Base { +public: + /* 00 (base) */ + /* 08 */ // data_ov031_02112eec /* 00 */ virtual void vfunc2_00() override; + /* 00 */ virtual void vfunc2_08() override; }; -class ActorUnkTLKT : public ActorUnkTLKT_Base { +class ActorUnkTLKT : public ActorUnkTLKTnCLLT_Base, public ActorUnkTLKT_9C { public: - /* 00 (base) */ - /* 94 */ STRUCT_PAD(0x94, 0x9C); - /* 9C */ ActorUnkTLKT_9C mUnk_9C; + /* 00 (base ActorUnkTLKTnCLLT_Base) */ + /* 9C (base ActorUnkTLKT_9C) */ /* A4 */ ActorUnkTLKT(); - /* 24 */ virtual void vfunc_24() override; // func_ov031_020e41ec + /* 24 */ virtual void vfunc_24() override; /* 4C */ virtual ~ActorUnkTLKT() override; - /* 58 */ virtual void vfunc_58() override; // func_ov031_020e4238 - /* 60 */ virtual void vfunc_60(ActorState state) override; // func_ov031_020e4320 - /* 64 */ virtual void vfunc_64(); // func_ov031_020e42ac - /* 68 */ virtual void vfunc_68(); // func_ov031_020e42f0 + /* 58 */ virtual void vfunc_58() override; + /* 60 */ virtual void vfunc_60(ActorState state) override; + /* 64 */ virtual void vfunc_64(); + /* 68 */ virtual void vfunc_68(); void func_ov031_020e4274(); void func_ov031_020e4514(); diff --git a/include/Actor/Actor_Derived1.hpp b/include/Actor/Actor_Derived1.hpp index 11715874..1820b00c 100644 --- a/include/Actor/Actor_Derived1.hpp +++ b/include/Actor/Actor_Derived1.hpp @@ -9,8 +9,8 @@ class ActorUnk_vfunc_B0 { public: /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; + /* 04 */ MapObject_UnkStruct1 *mUnk_04; + /* 08 */ u16 mUnk_08; /* 0C */ unk32 mUnk_0C; /* 10 */ unk32 mUnk_10; /* 14 */ unk16 mUnk_14; @@ -23,7 +23,7 @@ public: /* 23 */ unk8 mUnk_23; /* 24 */ Actor *mpActor; /* 28 */ unk32 mUnk_28; - /* 2C */ unk32 mUnk_2C; + /* 2C */ Actor *mUnk_2C; /* 30 */ unk16 mUnk_30; /* 32 */ unk16 mUnk_32; /* 34 */ VecFx32 mUnk_34; diff --git a/include/MapObject/MapObjectDoorBase.hpp b/include/MapObject/MapObjectDoorBase.hpp index 28d2cc96..992a93eb 100644 --- a/include/MapObject/MapObjectDoorBase.hpp +++ b/include/MapObject/MapObjectDoorBase.hpp @@ -3,49 +3,6 @@ #include "MapObject/MapObject.hpp" #include "Player/PlayerGet.hpp" -class MapObject_UnkStruct1 { -public: - /* 00 (vtable) */ - /* 04 */ unk32 mUnk_04; - /* 08 */ - - // MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4 - - // data_ov000_020b2290 - /* 00 */ virtual void vfunc2_00(); - /* 04 */ virtual void vfunc2_04(); - /* 08 */ virtual void vfunc2_08(); - /* 0C */ virtual void vfunc2_0C(); -}; - -class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 { -public: - /* 00 (base) */ - /* 08 */ unk16 mUnk_48; - /* 0A */ s16 mUnk_4A; - /* 0C */ VecFx32 mUnk_4C; - /* 18 */ bool mUnk_58; - /* 19 */ unk8 mUnk_59; - /* 1A */ s16 mUnk_5A; - /* 1C */ VecFx32 mUnk_5C; - /* 28 */ - - MapObject_UnkStruct1_Derived1(); // func_ov000_02073234 - - // data_ov000_020b22a8 - /* 0C */ virtual void vfunc2_0C() override; -}; - -class MapObject_UnkStruct1_Derived2 : public MapObject_UnkStruct1_Derived1 { -public: - /* 00 (base) */ - /* 28 */ - - // data_ov031_021150a0 - /* 04 */ virtual void vfunc2_04() override; - /* 08 */ virtual void vfunc2_08() override; -}; - enum MapObjectDoorBaseState { MapObjDoorBaseState_0 = 0, MapObjDoorBaseState_1 = 1, diff --git a/include/Unknown/Common.hpp b/include/Unknown/Common.hpp index 511d4aed..fe6d484a 100644 --- a/include/Unknown/Common.hpp +++ b/include/Unknown/Common.hpp @@ -3,7 +3,6 @@ #include "Animation/CellAnimObject.hpp" #include "Game/GameModeManager.hpp" #include "LinkList.hpp" -#include "System/SysNew.hpp" #include "Unknown/UnkFileSystem.hpp" #include "global.h" #include "math.hpp" @@ -11,7 +10,6 @@ #include "types.h" #include -#include #include class UnkDataStruct2; @@ -888,12 +886,61 @@ struct UnkStruct_StackTitleScreen { class MapObject; +class MapObject_UnkStruct1 { +public: + /* 00 (vtable) */ + /* 04 */ union { + struct { + bool mUnk_04b; + bool mUnk_05; + }; + unk32 mUnk_04; + }; + /* 08 */ + + // MapObject_UnkStruct1(); // func_ov000_02073194 & func_ov000_020731c4 + + // data_ov000_020b2290 + /* 00 */ virtual void vfunc2_00(); + /* 04 */ virtual void vfunc2_04(); + /* 08 */ virtual void vfunc2_08(); + /* 0C */ virtual void vfunc2_0C(); +}; + +class MapObject_UnkStruct1_Derived1 : public MapObject_UnkStruct1 { +public: + /* 00 (base) */ + /* 08 */ unk16 mUnk_48; + /* 0A */ s16 mUnk_4A; + /* 0C */ VecFx32 mUnk_4C; + /* 18 */ bool mUnk_58; + /* 19 */ unk8 mUnk_59; + /* 1A */ s16 mUnk_5A; + /* 1C */ VecFx32 mUnk_5C; + /* 28 */ + + MapObject_UnkStruct1_Derived1(); // func_ov000_02073234 + + // data_ov000_020b22a8 + /* 0C */ virtual void vfunc2_0C() override; +}; + +class MapObject_UnkStruct1_Derived2 : public MapObject_UnkStruct1_Derived1 { +public: + /* 00 (base) */ + /* 28 */ + + // data_ov031_021150a0 + /* 04 */ virtual void vfunc2_04() override; + /* 08 */ virtual void vfunc2_08() override; +}; + struct UnkStackStruct1 { /* 00 */ u8 mUnk_00; /* 01 */ unk8 mUnk_01; /* 02 */ unk8 mUnk_02; /* 03 */ unk8 mUnk_03; - /* 04 */ void *mUnk_04; + /* 04 */ MapObject_UnkStruct1 *mUnk_04; /* 08 */ unk32 mUnk_08; /* 0C */ VecFx32 mUnk_0C; /* 18 */ unk16 mUnk_18; diff --git a/include/Unknown/UnkStruct_027e0d34.hpp b/include/Unknown/UnkStruct_027e0d34.hpp index f50b1c9f..56e7d435 100644 --- a/include/Unknown/UnkStruct_027e0d34.hpp +++ b/include/Unknown/UnkStruct_027e0d34.hpp @@ -2,6 +2,7 @@ #include "Item/Item.hpp" #include "global.h" +#include "nitro/fx.h" #include "types.h" class UnkStruct_027e0d34_04 { @@ -24,6 +25,7 @@ public: bool func_ov031_020d97e4(); bool func_ov031_020d97f4(); void func_ov031_020d9844(); + void func_ov031_020d9854(VecFx32 *param1, fx32 param2); void func_ov031_020d994c(); void func_ov031_020d996c(); bool TryItemGive(ItemId itemId); diff --git a/include/Unknown/UnkSystem1.hpp b/include/Unknown/UnkSystem1.hpp index 02cc4671..cae69a63 100644 --- a/include/Unknown/UnkSystem1.hpp +++ b/include/Unknown/UnkSystem1.hpp @@ -1,7 +1,7 @@ #pragma once +#include "Actor/ActorRef.hpp" #include "Message/BMG.hpp" -#include "System/SysNew.hpp" #include "global.h" #include "types.h" @@ -75,8 +75,8 @@ public: /* 20 */ unk32 mUnk_20; /* 24 */ unk32 mUnk_24; /* 28 */ unk8 mUnk_28; - /* 2C */ unk32 mUnk_2C; - /* 30 */ unk32 mUnk_30; + /* 2C */ ActorRef mUnk_2C; + /* 30 */ ActorRef mUnk_30; /* 34 */ UnkSystem1_ov000_Derived2(unk32 param1); diff --git a/src/031_Land/Actor/ActorUnkCLLT.cpp b/src/031_Land/Actor/ActorUnkCLLT.cpp index eaaaf2ef..449a4e2a 100644 --- a/src/031_Land/Actor/ActorUnkCLLT.cpp +++ b/src/031_Land/Actor/ActorUnkCLLT.cpp @@ -1,5 +1,3 @@ -//! TODO: This file was generated automatically and might contain errors - #include "Actor/ActorUnkCLLT.hpp" #include "System/SysNew.hpp" @@ -12,11 +10,36 @@ Actor *ActorProfileUnkCLLT::Create() { ActorProfileUnkCLLT::ActorProfileUnkCLLT() : ActorProfile(ActorId_CLLT) {} -ActorUnkCLLT::ActorUnkCLLT() {} +ActorUnkCLLT::ActorUnkCLLT() : + mUnk_9C(*(unk32 *) this) {} -void ActorUnkCLLT::func_ov031_020fb38c(void) {} -void ActorUnkCLLT::func_ov031_020fb3c8(void) {} -void ActorUnkCLLT::func_ov031_020fb40c(void) {} +void ActorUnkCLLT::vfunc_58() { + if (!data_ov000_020b504c.func_ov000_0206807c(this->mUnk_5C.mUnk_20, &this->mUnk_9C)) { + return; + } + this->vfunc_60(ActorUnkCLLTState_2); +} -ActorUnkCLLT::~ActorUnkCLLT() {} -ActorProfileUnkCLLT::~ActorProfileUnkCLLT() {} +void ActorUnkCLLT::vfunc_5C() { + if ((u16) this->mUnk_9C.mUnk_08 != 0xFFFF) { + this->mUnk_9C.vfunc_04(); + return; + } + this->vfunc_60(ActorUnkCLLTState_5); +} + +// non-matching +void ActorUnkCLLT::vfunc_60(ActorState state) { + if (state == ActorUnkCLLTState_1) { + Actor *actor = func_ov031_020e3df8(); + if (actor != NULL) { + this->mUnk_9C.mUnk_2C = actor->mRef; + this->mUnk_9C.mUnk_30 = this->mRef; + } else { + this->mUnk_9C.mUnk_28 = 0; + this->mUnk_9C.mUnk_2C = 0; + this->mUnk_9C.mUnk_30 = 0; + } + } + this->mState = state; +} diff --git a/src/031_Land/Actor/ActorUnkMLCK.cpp b/src/031_Land/Actor/ActorUnkMLCK.cpp index 5b60f652..3da0a5bf 100644 --- a/src/031_Land/Actor/ActorUnkMLCK.cpp +++ b/src/031_Land/Actor/ActorUnkMLCK.cpp @@ -81,6 +81,20 @@ bool ActorUnkMLCK::vfunc_18(unk32 param1) { return true; } +// non-matching +void ActorUnkMLCK::vfunc_64(unk32 param1) { + this->mUnk_BC = param1; + this->mUnk_C2 = 0xFFFF; + this->mUnk_C0 = 0x0; + if (param1 != 0x1) { + return; + } + + this->mUnk_F1 = false; + this->mUnk_C4 = data_ov000_020b52e8.func_ov000_0206f980(this->mUnk_B8); + this->mUnk_C4->func_ov031_020fb184(); +} + void ActorUnkMLCK::vfunc_54(unk32 param1, unk32 param2) { if (param2 == 0) { return; @@ -105,20 +119,6 @@ void ActorUnkMLCK::vfunc_60() { this->vfunc_64(0x0); } -// non-matching -void ActorUnkMLCK::vfunc_64(unk32 param1) { - this->mUnk_BC = param1; - this->mUnk_C2 = 0xFFFF; - this->mUnk_C0 = 0x0; - if (param1 != 0x1) { - return; - } - - this->mUnk_F1 = false; - this->mUnk_C4 = data_ov000_020b52e8.func_ov000_0206f980(this->mUnk_B8); - this->mUnk_C4->func_ov031_020fb184(); -} - void ActorUnkMLCK::vfunc_68() { if (data_0204a088->mUnk_04 != -1 || data_0204a088->mUnk_08 != -1) { return; @@ -185,7 +185,7 @@ void ActorUnkMLCK::func_ov031_020faf24() { actor.mUnk_32 = 0x0; VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &actor.mUnk_34); - actor.mUnk_04 = (unk32) & this->mUnk_D8; + actor.mUnk_04 = &this->mUnk_D8; data_027e09b8->func_ov000_02073470(&actor, 0x0); @@ -202,7 +202,7 @@ void ActorUnkMLCK::func_ov031_020faf24() { actor2.mUnk_32 = 0x0; VecFx32_Copy(data_027e0ce0->func_01fff148(0x0), &actor2.mUnk_34); - actor2.mUnk_04 = (unk32) & this->mUnk_E4; + actor2.mUnk_04 = &this->mUnk_E4; data_027e09b8->func_ov000_02073470(&actor2, 0x0); } @@ -234,7 +234,7 @@ void ActorUnkMLCK_B4_00::func_ov031_020fb184() { } void ActorUnkMLCK_D8::vfunc2_00() { - if (!this->mUnk_04) { + if (!this->mUnk_04b) { return; } this->mUnk_08->func_ov031_020fb104(); diff --git a/src/031_Land/Actor/ActorUnkTLKT.cpp b/src/031_Land/Actor/ActorUnkTLKT.cpp index 116f9890..61c96ec5 100644 --- a/src/031_Land/Actor/ActorUnkTLKT.cpp +++ b/src/031_Land/Actor/ActorUnkTLKT.cpp @@ -1,8 +1,14 @@ #include "Actor/ActorUnkTLKT.hpp" + +#include "Actor/Actor_Derived1.hpp" #include "System/SysNew.hpp" #include "Unknown/UnkStruct_027e09b8.hpp" +#include "Unknown/UnkStruct_027e0ce0.hpp" #include "Unknown/UnkStruct_027e0d34.hpp" +extern "C" void func_ov000_02072fd0(UnkStackStruct1 *param0); +extern "C" unk16 func_ov031_020e3dd0(Actor *param0); + DECL_PROFILE(ActorProfileUnkTLKT); Actor *ActorProfileUnkTLKT::Create() { @@ -12,9 +18,10 @@ Actor *ActorProfileUnkTLKT::Create() { ActorProfileUnkTLKT::ActorProfileUnkTLKT() : ActorProfile(ActorId_TLKT) {} -ActorUnkTLKT::ActorUnkTLKT() {} +ActorUnkTLKT::ActorUnkTLKT() { + this->mUnk_04 = 0xFFFFFFFF; +} -// non-matching ActorUnkTLKT::~ActorUnkTLKT() { if (this->mState == ActorUnkTLKTState_2) { this->func_ov031_020e4514(); @@ -38,7 +45,7 @@ void ActorUnkTLKT::vfunc_24() { } void ActorUnkTLKT::vfunc_58() { - if (!data_027e09b8->func_ov000_020732ec(this->mUnk_9C.mUnk_04)) { + if (!data_027e09b8->func_ov000_020732ec(this->mUnk_04)) { return; } this->vfunc_60(ActorUnkTLKTState_2); @@ -48,7 +55,7 @@ void ActorUnkTLKT::func_ov031_020e4274() { if (data_027e0d34->func_ov031_020d9758()) { return; } - data_027e09b8->func_ov000_020732fc(this->mUnk_9C.mUnk_04); + data_027e09b8->func_ov000_020732fc(this->mUnk_04); } void ActorUnkTLKT::vfunc_64() { @@ -64,7 +71,6 @@ void ActorUnkTLKT::vfunc_64() { } } -// non-matching void ActorUnkTLKT::vfunc_68() { if (this->mState == ActorUnkTLKTState_2) { this->func_ov031_020e4514(); @@ -75,13 +81,78 @@ void ActorUnkTLKT::vfunc_68() { this->func_ov031_020e3e6c(); } -// non-matching -void ActorUnkTLKT::vfunc_60(ActorState state) {} +void ActorUnkTLKT::vfunc_60(ActorState state) { + switch (state) { + case ActorUnkTLKTState_1: + Actor *actor = this->func_ov031_020e3df8(); + if (this->mUnk_5C.mParams[0] == 0x0 && actor == NULL) { + this->vfunc_60(ActorUnkTLKTState_5); + return; + } + ActorUnk_vfunc_B0 actorUnkSp40 = ActorUnk_vfunc_B0(); + actorUnkSp40.mUnk_04 = this; + actorUnkSp40.mUnk_0C = this->mUnk_5C.mUnk_20; + actorUnkSp40.mUnk_14 = 0x0; + actorUnkSp40.mUnk_18 = -1; + actorUnkSp40.mUnk_1C = -1; + actorUnkSp40.mUnk_20 = false; + actorUnkSp40.mUnk_21 = false; + + switch (this->mUnk_5C.mParams[1]) { + case 0x0: { + actorUnkSp40.mUnk_32 = 0x5; + VecFx32 *pos = data_027e0ce0->func_01fff148(0x0); + VecFx32_Copy(pos, &actorUnkSp40.mUnk_34); + actorUnkSp40.mUnk_08 |= 0x1; + actorUnkSp40.mUnk_08 |= 0x1; + break; + } + case 0x1: + actorUnkSp40.mUnk_32 = 0x1; + break; + case 0x2: + actorUnkSp40.mUnk_32 = 0x4; + VecFx32_Copy(&this->mPos, &actorUnkSp40.mUnk_34); + actorUnkSp40.mUnk_08 |= 0x1; + break; + case 0x3: + actorUnkSp40.mUnk_08 |= 0x1; + break; + case 0x4: + actorUnkSp40.mUnk_08 &= 0xFFFE; + break; + case 0x5: + actorUnkSp40.mUnk_32 = 0x2; + break; + default: + break; + } + + actorUnkSp40.mpActor = actor; + actorUnkSp40.mUnk_2C = this; + actorUnkSp40.mUnk_30 = func_ov031_020e3dd0(this); + this->mUnk_04 = data_027e09b8->func_ov000_02073470(&actorUnkSp40, 0x0); + break; + case ActorUnkTLKTState_3: + UnkStackStruct1 unkSp00; + func_ov000_02072fd0(&unkSp00); + unkSp00.mUnk_04 = static_cast(static_cast(this)); + + unkSp00.mUnk_3A = 0x0; + unkSp00.mUnk_3B = 0x0; + this->mUnk_04 = data_027e09b8->func_ov000_02073388(&unkSp00, 0x0); + break; + case ActorUnkTLKTState_4: + data_027e0d34->func_ov031_020d9854(&this->mPos, FLOAT_TO_FX32(0.5f)); + break; + default: + break; + } + this->mState = state; +} -// non-matching void ActorUnkTLKT::func_ov031_020e4514() { - u16 param = this->mUnk_5C.mParams[2]; - switch (param - (0xA * ((param >> 0x1F) + (param / 10)))) { + switch (this->mUnk_5C.mParams[2] % 10) { case 0: this->func_ov000_02098a88(0x1, 0x1); return; diff --git a/src/031_Land/MapObject/MapObjectDoorBase.cpp b/src/031_Land/MapObject/MapObjectDoorBase.cpp index 43a9d576..7c7ab3cc 100644 --- a/src/031_Land/MapObject/MapObjectDoorBase.cpp +++ b/src/031_Land/MapObject/MapObjectDoorBase.cpp @@ -339,13 +339,8 @@ void MapObjectDoorBase::vfunc_5C(MapObjState state, unk32 param2) { if (this->mUnk_86 && param2 == 0) { func_ov000_02072fd0(&auStack_5c); - void *var_r0 = this; - if (this != NULL) { - var_r0 = (u8 *) this + 0x40; - } - - auStack_5c.mUnk_04 = var_r0; + auStack_5c.mUnk_04 = this; auStack_5c.mUnk_00 = 0x7B; auStack_5c.mUnk_0C.x = this->mPos.x; auStack_5c.mUnk_0C.y = this->mPos.y; @@ -420,13 +415,8 @@ void MapObjectDoorBase::vfunc_5C(MapObjState state, unk32 param2) { if (this->mUnk_86 && param2 == 0) { func_ov000_02072fd0(&auStack_9c); - void *var_r1 = this; - if (this != NULL) { - var_r1 = (u8 *) this + 0x40; - } - - auStack_9c.mUnk_04 = var_r1; + auStack_9c.mUnk_04 = this; auStack_9c.mUnk_00 = 0x76; auStack_9c.mUnk_0C.x = this->mPos.x; auStack_9c.mUnk_0C.y = this->mPos.y;