From 2d4deebb8441787af48258057af40289f5b769f9 Mon Sep 17 00:00:00 2001 From: Mityno <84503460+Mityno@users.noreply.github.com> Date: Fri, 21 Aug 2026 14:20:59 +0000 Subject: [PATCH] Delink and match sections of overlay 063 actors (#137) * feat: Add .data to RMSX actors * fix: Fix bad regressions * feat: Add struct and improve RMSD matching * feat: Move RMSX base class to the right file * feat: Delink vtable and update symbols * feat: Match .data and improve ActorUnkRMSBase * feat: Update ActorUnkRSMBase ctor and match ActorUnkRMSW * fix: Fix outdated initialization * feat: Match RMSV ctor * feat: Match more vfunc * feat: Match more vfunc and some cleanup * chore: Clean headers * feat: Reorder funcs, add unk structs * feat: Move RMSBase to a separate file and flag as complete * feat: Complete some actors * feat: Add data to RBLS, almost match the actor * feat: Add eur data for CANS * feat: Reorder CANS functions, sync data for jp * feat: Reorder CASE functions * feat: Update global func call to member func call --- config/eur/arm9/overlays/ov000/symbols.txt | 6 +- config/eur/arm9/overlays/ov031/symbols.txt | 8 +- config/eur/arm9/overlays/ov042/relocs.txt | 2 +- config/eur/arm9/overlays/ov063/delinks.txt | 20 +- config/eur/arm9/overlays/ov063/relocs.txt | 12 +- config/eur/arm9/overlays/ov063/symbols.txt | 92 +++--- config/jp/arm9/overlays/ov000/symbols.txt | 34 +- config/jp/arm9/overlays/ov031/symbols.txt | 8 +- config/jp/arm9/overlays/ov063/delinks.txt | 16 +- config/jp/arm9/overlays/ov063/relocs.txt | 10 +- config/jp/arm9/overlays/ov063/symbols.txt | 83 +++-- include/Actor/ActorUnkCANS.hpp | 19 +- include/Actor/ActorUnkCASE.hpp | 5 - include/Actor/ActorUnkRBLS.hpp | 39 +-- include/Actor/ActorUnkRMSBase.hpp | 25 ++ include/Actor/ActorUnkRMSD.hpp | 34 +- include/Actor/ActorUnkRMSF.hpp | 25 +- include/Actor/ActorUnkRMSS.hpp | 15 +- include/Actor/ActorUnkRMSV.hpp | 59 ++-- include/Actor/ActorUnkRMSW.hpp | 36 +-- include/Actor/ActorUnkZLSL_ZSRS.hpp | 4 +- include/Unknown/UnkStruct_ov031_02114664.hpp | 14 + include/Unknown/UnkStruct_ov031_02114870.hpp | 16 + src/031_Land/Actor/ActorUnkEFSB.cpp | 2 +- src/063_Shrine/Actor/ActorUnkCANS.cpp | 245 +++++++------- src/063_Shrine/Actor/ActorUnkCASE.cpp | 322 +++++++++---------- src/063_Shrine/Actor/ActorUnkRBLS.cpp | 34 +- src/063_Shrine/Actor/ActorUnkRMSBase.cpp | 33 ++ src/063_Shrine/Actor/ActorUnkRMSD.cpp | 35 +- src/063_Shrine/Actor/ActorUnkRMSS.cpp | 2 - src/063_Shrine/Actor/ActorUnkRMSV.cpp | 60 ++-- src/063_Shrine/Actor/ActorUnkRMSW.cpp | 25 +- tools/configure.py | 1 + 33 files changed, 671 insertions(+), 670 deletions(-) create mode 100644 include/Actor/ActorUnkRMSBase.hpp create mode 100644 include/Unknown/UnkStruct_ov031_02114664.hpp create mode 100644 include/Unknown/UnkStruct_ov031_02114870.hpp create mode 100644 src/063_Shrine/Actor/ActorUnkRMSBase.cpp diff --git a/config/eur/arm9/overlays/ov000/symbols.txt b/config/eur/arm9/overlays/ov000/symbols.txt index dd1fedea..6226a817 100644 --- a/config/eur/arm9/overlays/ov000/symbols.txt +++ b/config/eur/arm9/overlays/ov000/symbols.txt @@ -2390,7 +2390,7 @@ func_ov000_02099ddc kind:function(arm,size=0x7c) addr:0x02099ddc func_ov000_02099e58 kind:function(arm,size=0x98) addr:0x02099e58 func_ov000_02099ef0 kind:function(arm,size=0x74) addr:0x02099ef0 func_ov000_02099f64 kind:function(arm,size=0x94) addr:0x02099f64 -_ZN24UnkStruct_ov000_020b31a818func_ov000_02099f8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x02099ff8 +_ZN24UnkStruct_ov000_020b31a819func_ov000_02099ff8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x02099ff8 _ZN24UnkStruct_ov000_020b31a88vfunc_24Ev kind:function(arm,size=0x78) addr:0x0209a06c _ZN24UnkStruct_ov000_020b31a88vfunc_18Ev kind:function(arm,size=0x10) addr:0x0209a0e4 _ZN24UnkStruct_ov000_020b31a88vfunc_28Ev kind:function(arm,size=0x18) addr:0x0209a0f4 @@ -2414,11 +2414,11 @@ _ZN24UnkStruct_ov000_020b31f08vfunc_2CEv kind:function(arm,size=0x18) addr:0x020 _ZN24UnkStruct_ov000_020b31f08vfunc_10Ev kind:function(arm,size=0x14) addr:0x0209a320 _ZN24UnkStruct_ov000_020b31f08vfunc_14Ev kind:function(arm,size=0x14) addr:0x0209a334 _ZN24UnkStruct_ov000_020b31f08vfunc_30Ev kind:function(arm,size=0x14) addr:0x0209a348 -_ZN24UnkStruct_ov000_020b31a88vfunc_1CEv kind:function(arm,size=0x88) addr:0x0209a35c +_ZN24UnkStruct_ov000_020b31f08vfunc_1CE25ActorUnkZLSL_AnimationTagiii kind:function(arm,size=0x88) addr:0x0209a35c _ZN24UnkStruct_ov000_020b31f08vfunc_20Ev kind:function(arm,size=0x238) addr:0x0209a3e4 func_ov000_0209a61c kind:function(arm,size=0xb8) addr:0x0209a61c _ZN24UnkStruct_ov000_020b31f08vfunc_34Ev kind:function(arm,size=0x38) addr:0x0209a6d4 -func_ov000_0209a70c kind:function(arm,size=0x8) addr:0x0209a70c +_ZN24UnkStruct_ov000_020b31f08vfunc_40Ev kind:function(arm,size=0x8) addr:0x0209a70c func_ov000_0209a714 kind:function(arm,size=0x24) addr:0x0209a714 func_ov000_0209a738 kind:function(arm,size=0x2c) addr:0x0209a738 _ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209a764 diff --git a/config/eur/arm9/overlays/ov031/symbols.txt b/config/eur/arm9/overlays/ov031/symbols.txt index 0e40440d..71616682 100644 --- a/config/eur/arm9/overlays/ov031/symbols.txt +++ b/config/eur/arm9/overlays/ov031/symbols.txt @@ -1040,10 +1040,10 @@ _ZN19ActorProfileUnkTGTZD1Ev kind:function(arm,size=0x14) addr:0x020f7460 func_ov031_020f7474 kind:function(arm,size=0x20) addr:0x020f7474 func_ov031_020f7494 kind:function(arm,size=0x40) addr:0x020f7494 func_ov031_020f74d4 kind:function(arm,size=0x38) addr:0x020f74d4 -func_ov031_020f750c kind:function(arm,size=0x2c) addr:0x020f750c -func_ov031_020f7538 kind:function(arm,size=0x3c) addr:0x020f7538 -func_ov031_020f7574 kind:function(arm,size=0x20) addr:0x020f7574 -func_ov031_020f7594 kind:function(arm,size=0x8) addr:0x020f7594 +_ZN24UnkStruct_ov031_02114870C2Ev kind:function(arm,size=0x2c) addr:0x020f750c +_ZN24UnkStruct_ov031_021148708vfunc_18Ei kind:function(arm,size=0x3c) addr:0x020f7538 +_ZN24UnkStruct_ov031_021148708vfunc_2CEi kind:function(arm,size=0x20) addr:0x020f7574 +_ZN24UnkStruct_ov031_021148708vfunc_54Ev kind:function(arm,size=0x8) addr:0x020f7594 func_ov031_020f759c kind:function(arm,size=0x50) addr:0x020f759c func_ov031_020f75ec kind:function(arm,size=0x8) addr:0x020f75ec func_ov031_020f75f4 kind:function(arm,size=0x20) addr:0x020f75f4 diff --git a/config/eur/arm9/overlays/ov042/relocs.txt b/config/eur/arm9/overlays/ov042/relocs.txt index d46c7bae..fe8b7404 100644 --- a/config/eur/arm9/overlays/ov042/relocs.txt +++ b/config/eur/arm9/overlays/ov042/relocs.txt @@ -554,7 +554,7 @@ from:0x02128360 kind:arm_call to:0x0207bffc module:overlay(0) from:0x02128398 kind:arm_call to:0x01ff9258 module:itcm from:0x021283ac kind:arm_call to:0x01ff9258 module:itcm from:0x021283cc kind:arm_call to:0x01ff9258 module:itcm -from:0x02128408 kind:load to:0x02164144 module:overlays(63,68,71,73,84) +from:0x02128408 kind:load to:0x02164144 module:overlays(68,71,73,84) from:0x0212840c kind:load to:0x027e0cd8 module:dtcm from:0x02128434 kind:arm_call to:0x01ff9258 module:itcm from:0x0212844c kind:arm_call to:0x02159a5c module:overlays(71,87) diff --git a/config/eur/arm9/overlays/ov063/delinks.txt b/config/eur/arm9/overlays/ov063/delinks.txt index 6ad77295..eed24631 100644 --- a/config/eur/arm9/overlays/ov063/delinks.txt +++ b/config/eur/arm9/overlays/ov063/delinks.txt @@ -9,6 +9,7 @@ src/063_Shrine/Actor/ActorUnkCANS.cpp: .text start:0x02157ea0 end:0x0215aaf8 .init start:0x02162730 end:0x021627a0 .ctor start:0x02162e40 end:0x02162e44 + .data start:0x02162e80 end:0x02163068 .bss start:0x02163b60 end:0x02163c48 src/063_Shrine/Actor/ActorUnkCASE.cpp: @@ -18,40 +19,53 @@ src/063_Shrine/Actor/ActorUnkCASE.cpp: .data start:0x021630c8 end:0x02163224 .bss start:0x02163c48 end:0x02163d30 +src/063_Shrine/Actor/ActorUnkRMSBase.cpp: + complete + .text start:0x0215bafc end:0x0215bc2c + .data start:0x02163224 end:0x02163288 + src/063_Shrine/Actor/ActorUnkRMSV.cpp: .text start:0x0215bc2c end:0x0215bf90 .init start:0x02162834 end:0x02162884 .ctor start:0x02162e48 end:0x02162e4c + .data start:0x02163288 end:0x02163388 .bss start:0x02163d30 end:0x02163e18 src/063_Shrine/Actor/ActorUnkRMSW.cpp: .text start:0x0215bf90 end:0x0215c1d8 .init start:0x02162884 end:0x021628d4 .ctor start:0x02162e4c end:0x02162e50 + .data start:0x02163388 end:0x02163428 .bss start:0x02163e18 end:0x02163f00 src/063_Shrine/Actor/ActorUnkRMSF.cpp: + complete .text start:0x0215c1d8 end:0x0215c33c .init start:0x021628d4 end:0x02162924 .ctor start:0x02162e50 end:0x02162e54 - .bss start:0x02163f00 end:0x02163fec + .data start:0x02163428 end:0x021634b0 + .bss start:0x02163f00 end:0x02163fe8 src/063_Shrine/Actor/ActorUnkRMSD.cpp: .text start:0x0215c33c end:0x0215c584 .init start:0x02162924 end:0x02162974 .ctor start:0x02162e54 end:0x02162e58 - .bss start:0x02163fec end:0x021640d0 + .data start:0x021634b0 end:0x02163550 + .bss start:0x02163fe8 end:0x021640d0 src/063_Shrine/Actor/ActorUnkRMSS.cpp: + complete .text start:0x0215c584 end:0x0215c6e8 .init start:0x02162974 end:0x021629c4 .ctor start:0x02162e58 end:0x02162e5c - .bss start:0x021640d0 end:0x02164318 + .data start:0x02163550 end:0x021635d8 + .bss start:0x021640d0 end:0x021641b8 src/063_Shrine/Actor/ActorUnkRBLS.cpp: .text start:0x0215f2b8 end:0x0215f544 .init start:0x02162b2c end:0x02162b7c .ctor start:0x02162e60 end:0x02162e64 + .data start:0x02163740 end:0x02163820 .bss start:0x02164318 end:0x02164400 src/063_Shrine/MapObject/MapObjectUnkSTAT.cpp: diff --git a/config/eur/arm9/overlays/ov063/relocs.txt b/config/eur/arm9/overlays/ov063/relocs.txt index 6569529f..1101392f 100644 --- a/config/eur/arm9/overlays/ov063/relocs.txt +++ b/config/eur/arm9/overlays/ov063/relocs.txt @@ -421,7 +421,7 @@ from:0x0215bacc kind:arm_call_thumb to:0x02057bd4 module:overlay(0) from:0x0215bad4 kind:arm_call to:0x02098488 module:overlay(0) from:0x0215badc kind:arm_call to:0x02011ff4 module:main from:0x0215baf0 kind:arm_call to:0x0209790c module:overlay(0) -from:0x0215bb04 kind:arm_call to:0x020f750c module:overlays(26,31) +from:0x0215bb04 kind:arm_call to:0x020f750c module:overlay(31) from:0x0215bb1c kind:arm_call_thumb to:0x02057b70 module:overlay(0) from:0x0215bb30 kind:load to:0x02163224 add:0x8 module:overlay(63) from:0x0215bb3c kind:arm_call to:0x020f7538 module:overlay(31) @@ -446,7 +446,7 @@ from:0x0215bd08 kind:arm_call_thumb to:0x02099a28 module:overlay(0) from:0x0215bd20 kind:arm_call_thumb to:0x0205778c module:overlay(0) from:0x0215bd38 kind:load to:0x02163324 add:0x8 module:overlay(63) from:0x0215bd3c kind:load to:0x02163d40 module:overlay(63) -from:0x0215bd40 kind:load to:0x021632e4 module:overlay(63) +from:0x0215bd40 kind:load to:0x021632dc module:overlay(63) add:0x8 from:0x0215bd4c kind:arm_call_thumb to:0x02099afc module:overlay(0) from:0x0215bd64 kind:arm_call to:0x0215bb34 module:overlay(63) from:0x0215bd98 kind:arm_call to:0x02099ff8 module:overlay(0) @@ -485,7 +485,7 @@ from:0x0215c020 kind:arm_call_thumb to:0x02099a28 module:overlay(0) from:0x0215c038 kind:arm_call_thumb to:0x0205778c module:overlay(0) from:0x0215c050 kind:load to:0x021633c4 add:0x8 module:overlay(63) from:0x0215c054 kind:load to:0x02163e28 module:overlay(63) -from:0x0215c058 kind:load to:0x021632e4 module:overlay(63) +from:0x0215c058 kind:load to:0x021632dc module:overlay(63) add:0x8 from:0x0215c068 kind:arm_call to:0x0215bb34 module:overlay(63) from:0x0215c09c kind:arm_call to:0x02099ff8 module:overlay(0) from:0x0215c0ac kind:load to:0x02163388 module:overlay(63) @@ -536,7 +536,7 @@ from:0x0215c3cc kind:arm_call_thumb to:0x02099a28 module:overlay(0) from:0x0215c3e4 kind:arm_call_thumb to:0x0205778c module:overlay(0) from:0x0215c3fc kind:load to:0x021634ec add:0x8 module:overlay(63) from:0x0215c400 kind:load to:0x02163ff8 module:overlay(63) -from:0x0215c404 kind:load to:0x021632e4 module:overlay(63) +from:0x0215c404 kind:load to:0x021632dc module:overlay(63) add:0x8 from:0x0215c414 kind:arm_call to:0x0215bb34 module:overlay(63) from:0x0215c448 kind:arm_call to:0x02099ff8 module:overlay(0) from:0x0215c458 kind:load to:0x021634b0 module:overlay(63) @@ -973,7 +973,7 @@ from:0x0215f398 kind:arm_call_thumb to:0x02099a28 module:overlay(0) from:0x0215f3b0 kind:arm_call_thumb to:0x0205778c module:overlay(0) from:0x0215f3c8 kind:load to:0x021637c4 add:0x8 module:overlay(63) from:0x0215f3cc kind:load to:0x02164328 module:overlay(63) -from:0x0215f3d0 kind:load to:0x02163784 module:overlay(63) +from:0x0215f3d0 kind:load to:0x0216377c module:overlay(63) add:0x8 from:0x0215f3dc kind:arm_call_thumb to:0x02099afc module:overlay(0) from:0x0215f43c kind:arm_call to:0x02099f64 module:overlay(0) from:0x0215f46c kind:load to:0x02163740 module:overlay(63) @@ -1687,7 +1687,7 @@ from:0x02163270 kind:load to:0x020bf938 module:overlay(17) from:0x02163274 kind:load to:0x020bfecc module:overlay(17) from:0x02163278 kind:load to:0x0215bbd4 module:overlay(63) from:0x0216327c kind:load to:0x0215bbfc module:overlay(63) -from:0x02163280 kind:load to:0x020f7594 module:overlays(22,23,31) +from:0x02163280 kind:load to:0x020f7594 module:overlay(31) from:0x02163290 kind:load to:0x0215bc38 module:overlay(63) from:0x02163294 kind:load to:0x02097944 module:overlay(0) from:0x02163298 kind:load to:0x02097754 module:overlay(0) diff --git a/config/eur/arm9/overlays/ov063/symbols.txt b/config/eur/arm9/overlays/ov063/symbols.txt index 300c0a29..37dcf906 100644 --- a/config/eur/arm9/overlays/ov063/symbols.txt +++ b/config/eur/arm9/overlays/ov063/symbols.txt @@ -7,7 +7,7 @@ _ZN24UnkStruct_ov063_02162e888vfunc_04E8ActorRefiiPi kind:function(arm,size=0x17 _ZN12ActorUnkCANSC1Ev kind:function(arm,size=0x1dc) addr:0x0215811c _ZN24UnkStruct_ov063_02162ee8D1Ev kind:function(arm,size=0x14) addr:0x021582f8 _ZN24UnkStruct_ov063_02162f14D1Ev kind:function(arm,size=0x14) addr:0x0215830c -_ZN12ActorUnkCANS8vfunc_18Ev kind:function(arm,size=0x68) addr:0x02158320 +_ZN12ActorUnkCANS8vfunc_18Ei kind:function(arm,size=0x68) addr:0x02158320 _ZN12ActorUnkCANS8vfunc_1CEv kind:function(arm,size=0x9c) addr:0x02158388 _ZN12ActorUnkCANS19func_ov063_02158424Ev kind:function(arm,size=0x24) addr:0x02158424 _ZN12ActorUnkCANS19func_ov063_02158448Ei kind:function(arm,size=0x48) addr:0x02158448 @@ -53,7 +53,7 @@ _ZN12ActorUnkCANS19func_ov063_0215a678EPS_P29UnkStruct_func_ov063_0215a678 kind: _ZN24UnkStruct_ov063_02162ea8C1Ev kind:function(arm,size=0x30) addr:0x0215a7d4 _ZN24UnkStruct_ov063_02162ea8D1Ev kind:function(arm,size=0x14) addr:0x0215a804 _ZN24UnkStruct_ov063_02162ea8D0Ev kind:function(arm,size=0x1c) addr:0x0215a818 -_ZN24UnkStruct_ov063_02162ea88vfunc_08EP24UnkStruct_ov031_020f3310 kind:function(arm,size=0x4c) addr:0x0215a834 +_ZN24UnkStruct_ov063_02162ea88vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x4c) addr:0x0215a834 _ZN24UnkStruct_ov063_02162ea88vfunc_0CEPK24UnkStruct_ov031_020e54d4Pii kind:function(arm,size=0xcc) addr:0x0215a880 _ZN24UnkStruct_ov063_02162f148vfunc_3CEv kind:function(arm,size=0x24) addr:0x0215a94c _ZN24UnkStruct_ov063_02162f148vfunc_38Eii kind:function(arm,size=0x2c) addr:0x0215a970 @@ -105,36 +105,36 @@ _ZN24UnkStruct_ov063_021631a0D0Ev kind:function(arm,size=0x1c) addr:0x0215ba64 _ZN12ActorUnkCASED1Ev kind:function(arm,size=0x30) addr:0x0215ba80 _ZN12ActorUnkCASED0Ev kind:function(arm,size=0x38) addr:0x0215bab0 _ZN19ActorProfileUnkCASED1Ev kind:function(arm,size=0x14) addr:0x0215bae8 -func_ov063_0215bafc kind:function(arm,size=0x38) addr:0x0215bafc -func_ov063_0215bb34 kind:function(arm,size=0x54) addr:0x0215bb34 -func_ov063_0215bb88 kind:function(arm,size=0x4) addr:0x0215bb88 -func_ov063_0215bb8c kind:function(arm,size=0x4) addr:0x0215bb8c -func_ov063_0215bb90 kind:function(arm,size=0x14) addr:0x0215bb90 -func_ov063_0215bba4 kind:function(arm,size=0x30) addr:0x0215bba4 -_ZN19func_ov063_0215bbd4D1Ev kind:function(arm,size=0x28) addr:0x0215bbd4 -_ZN19func_ov063_0215bbfcD0Ev kind:function(arm,size=0x30) addr:0x0215bbfc +_ZN15ActorUnkRMSBaseC2Ev kind:function(arm,size=0x38) addr:0x0215bafc +_ZN15ActorUnkRMSBase8vfunc_18Ei kind:function(arm,size=0x54) addr:0x0215bb34 +_ZN15ActorUnkRMSBase8vfunc_1CEv kind:function(arm,size=0x4) addr:0x0215bb88 +_ZN15ActorUnkRMSBase8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0215bb8c +_ZN15ActorUnkRMSBase8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215bb90 +_ZN15ActorUnkRMSBase8vfunc_2CEi kind:function(arm,size=0x30) addr:0x0215bba4 +_ZN15ActorUnkRMSBaseD1Ev kind:function(arm,size=0x28) addr:0x0215bbd4 +_ZN15ActorUnkRMSBaseD0Ev kind:function(arm,size=0x30) addr:0x0215bbfc _ZN19ActorProfileUnkRMSV10GetProfileEv kind:function(arm,size=0xc) addr:0x0215bc2c _ZN19ActorProfileUnkRMSV6CreateEv kind:function(arm,size=0x24) addr:0x0215bc38 _ZN19ActorProfileUnkRMSVC1Ev kind:function(arm,size=0x28) addr:0x0215bc5c _ZN12ActorUnkRMSVC1Ev kind:function(arm,size=0xc0) addr:0x0215bc84 -_ZN12ActorUnkRMSV19func_ov063_0215bd44Ev kind:function(arm,size=0x14) addr:0x0215bd44 -_ZN12ActorUnkRMSV8vfunc_18Ev kind:function(arm,size=0x94) addr:0x0215bd58 -_ZN12ActorUnkRMSV19func_ov063_0215bdecEv kind:function(arm,size=0x24) addr:0x0215bdec +_ZN24UnkStruct_ov063_021632e4D1Ev kind:function(arm,size=0x14) addr:0x0215bd44 +_ZN12ActorUnkRMSV8vfunc_18Ei kind:function(arm,size=0x94) addr:0x0215bd58 +_ZN24UnkStruct_ov063_021632e48vfunc_3CEv kind:function(arm,size=0x24) addr:0x0215bdec _ZN12ActorUnkRMSV8vfunc_20Ev kind:function(arm,size=0x2c) addr:0x0215be10 _ZN12ActorUnkRMSV8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215be3c _ZN12ActorUnkRMSV8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215be50 _ZN12ActorUnkRMSV8vfunc_58Ev kind:function(arm,size=0x40) addr:0x0215be90 -_ZN12ActorUnkRMSV19func_ov063_0215bed0Ev kind:function(arm,size=0x10) addr:0x0215bed0 -_ZN12ActorUnkRMSV19func_ov063_0215bee0Ev kind:function(arm,size=0x8) addr:0x0215bee0 -_ZN12ActorUnkRMSVD0Ev kind:function(arm,size=0x1c) addr:0x0215bee8 +_ZN24UnkStruct_ov063_021632e48vfunc_38Eii kind:function(arm,size=0x10) addr:0x0215bed0 +_ZN24UnkStruct_ov063_021632e48vfunc_30Ev kind:function(arm,size=0x8) addr:0x0215bee0 +_ZN24UnkStruct_ov063_021632e4D0Ev kind:function(arm,size=0x1c) addr:0x0215bee8 _ZN12ActorUnkRMSVD1Ev kind:function(arm,size=0x38) addr:0x0215bf04 -_ZN12ActorUnkRMSV8vfunc_50Ev kind:function(arm,size=0x40) addr:0x0215bf3c +_ZN12ActorUnkRMSVD0Ev kind:function(arm,size=0x40) addr:0x0215bf3c _ZN19ActorProfileUnkRMSVD1Ev kind:function(arm,size=0x14) addr:0x0215bf7c _ZN19ActorProfileUnkRMSW10GetProfileEv kind:function(arm,size=0xc) addr:0x0215bf90 _ZN19ActorProfileUnkRMSW6CreateEv kind:function(arm,size=0x24) addr:0x0215bf9c _ZN19ActorProfileUnkRMSWC1Ev kind:function(arm,size=0x28) addr:0x0215bfc0 _ZN12ActorUnkRMSWC1Ev kind:function(arm,size=0x74) addr:0x0215bfe8 -_ZN12ActorUnkRMSW8vfunc_18Ev kind:function(arm,size=0x54) addr:0x0215c05c +_ZN12ActorUnkRMSW8vfunc_18Ei kind:function(arm,size=0x54) addr:0x0215c05c _ZN12ActorUnkRMSW8vfunc_20Ev kind:function(arm,size=0x18) addr:0x0215c0b0 _ZN12ActorUnkRMSW8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215c0c8 _ZN12ActorUnkRMSW8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215c0dc @@ -155,7 +155,7 @@ _ZN19ActorProfileUnkRMSD10GetProfileEv kind:function(arm,size=0xc) addr:0x0215c3 _ZN19ActorProfileUnkRMSD6CreateEv kind:function(arm,size=0x24) addr:0x0215c348 _ZN19ActorProfileUnkRMSDC1Ev kind:function(arm,size=0x28) addr:0x0215c36c _ZN12ActorUnkRMSDC1Ev kind:function(arm,size=0x74) addr:0x0215c394 -_ZN12ActorUnkRMSD8vfunc_18Ev kind:function(arm,size=0x54) addr:0x0215c408 +_ZN12ActorUnkRMSD8vfunc_18Ei kind:function(arm,size=0x54) addr:0x0215c408 _ZN12ActorUnkRMSD8vfunc_20Ev kind:function(arm,size=0x18) addr:0x0215c45c _ZN12ActorUnkRMSD8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215c474 _ZN12ActorUnkRMSD8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215c488 @@ -251,14 +251,14 @@ _ZN19ActorProfileUnkRBLS10GetProfileEv kind:function(arm,size=0xc) addr:0x0215f2 _ZN19ActorProfileUnkRBLS6CreateEv kind:function(arm,size=0x24) addr:0x0215f2c4 _ZN19ActorProfileUnkRBLSC1Ev kind:function(arm,size=0x28) addr:0x0215f2e8 _ZN12ActorUnkRBLSC1Ev kind:function(arm,size=0xc4) addr:0x0215f310 -_ZN12ActorUnkRBLS19func_ov063_0215f3d4Ev kind:function(arm,size=0x14) addr:0x0215f3d4 -_ZN12ActorUnkRBLS8vfunc_18Ev kind:function(arm,size=0x8c) addr:0x0215f3e8 +_ZN24UnkStruct_ov063_02163784D1Ev kind:function(arm,size=0x14) addr:0x0215f3d4 +_ZN12ActorUnkRBLS8vfunc_18Ei kind:function(arm,size=0x8c) addr:0x0215f3e8 _ZN12ActorUnkRBLS8vfunc_20Ev kind:function(arm,size=0x14) addr:0x0215f474 _ZN12ActorUnkRBLS8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215f488 -_ZN12ActorUnkRBLS8vfunc_2CEv kind:function(arm,size=0x20) addr:0x0215f49c -_ZN12ActorUnkRBLSD0Ev kind:function(arm,size=0x1c) addr:0x0215f4bc +_ZN12ActorUnkRBLS8vfunc_2CEi kind:function(arm,size=0x20) addr:0x0215f49c +_ZN24UnkStruct_ov063_02163784D0Ev kind:function(arm,size=0x1c) addr:0x0215f4bc _ZN12ActorUnkRBLSD1Ev kind:function(arm,size=0x28) addr:0x0215f4d8 -_ZN12ActorUnkRBLS19func_ov063_0215f500Ev kind:function(arm,size=0x30) addr:0x0215f500 +_ZN12ActorUnkRBLSD0Ev kind:function(arm,size=0x30) addr:0x0215f500 _ZN19ActorProfileUnkRBLSD1Ev kind:function(arm,size=0x14) addr:0x0215f530 _ZN23MapObjectProfileUnkSTAT10GetProfileEv kind:function(arm,size=0xc) addr:0x0215f544 _ZN23MapObjectProfileUnkSTAT6CreateEv kind:function(arm,size=0x24) addr:0x0215f550 @@ -386,11 +386,11 @@ data_ov063_02162718 kind:data(any) addr:0x02162718 ambiguous data_ov063_02162720 kind:data(any) addr:0x02162720 __sinit_ActorUnkCANS.cpp kind:function(arm,size=0x70) addr:0x02162730 __sinit_ActorUnkCASE.cpp kind:function(arm,size=0x94) addr:0x021627a0 -__sinit_ActorUnkRMSV.cpp kind:function(arm,size=0x50) addr:0x02162834 +__sinit_ActorUnkRMSV.cpp kind:function(arm,size=0x50) addr:0x02162834 local __sinit_ActorUnkRMSW.cpp kind:function(arm,size=0x50) addr:0x02162884 -__sinit_ActorUnkRMSF.cpp kind:function(arm,size=0x50) addr:0x021628d4 -__sinit_ActorUnkRMSD.cpp kind:function(arm,size=0x50) addr:0x02162924 -__sinit_ActorUnkRMSS.cpp kind:function(arm,size=0x50) addr:0x02162974 +__sinit_ActorUnkRMSF.cpp kind:function(arm,size=0x50) addr:0x021628d4 local +__sinit_ActorUnkRMSD.cpp kind:function(arm,size=0x50) addr:0x02162924 local +__sinit_ActorUnkRMSS.cpp kind:function(arm,size=0x50) addr:0x02162974 local __sinit_ov063_021629c4 kind:function(arm,size=0x168) addr:0x021629c4 __sinit_ActorUnkRBLS.cpp kind:function(arm,size=0x50) addr:0x02162b2c __sinit_MapObjectUnkSTAT.cpp kind:function(arm,size=0x50) addr:0x02162b7c @@ -400,11 +400,11 @@ __sinit_MapObjectUnkMTJR.cpp kind:function(arm,size=0x50) addr:0x02162da0 __sinit_MapObjectUnkSWCR.cpp kind:function(arm,size=0x50) addr:0x02162df0 .p__sinit_ActorUnkCANS.cpp kind:data(word) addr:0x02162e40 .p__sinit_ActorUnkCASE.cpp kind:data(word) addr:0x02162e44 -.p__sinit_ActorUnkRMSV.cpp kind:data(word) addr:0x02162e48 +.p__sinit_ActorUnkRMSV.cpp kind:data(word) addr:0x02162e48 local .p__sinit_ActorUnkRMSW.cpp kind:data(word) addr:0x02162e4c -.p__sinit_ActorUnkRMSF.cpp kind:data(word) addr:0x02162e50 -.p__sinit_ActorUnkRMSD.cpp kind:data(word) addr:0x02162e54 -.p__sinit_ActorUnkRMSS.cpp kind:data(word) addr:0x02162e58 +.p__sinit_ActorUnkRMSF.cpp kind:data(word) addr:0x02162e50 local +.p__sinit_ActorUnkRMSD.cpp kind:data(word) addr:0x02162e54 local +.p__sinit_ActorUnkRMSS.cpp kind:data(word) addr:0x02162e58 local .p__sinit_ov063_021629c4 kind:data(word) addr:0x02162e5c .p__sinit_ActorUnkRBLS.cpp kind:data(word) addr:0x02162e60 .p__sinit_MapObjectUnkSTAT.cpp kind:data(word) addr:0x02162e64 @@ -418,7 +418,6 @@ _ZTV24UnkStruct_ov063_02162ea8 kind:data(any) addr:0x02162ea0 _ZTV19ActorProfileUnkCANS kind:data(any) addr:0x02162ebc _ZTV24UnkStruct_ov063_02162ee8 kind:data(any) addr:0x02162ee0 _ZTV24UnkStruct_ov063_02162f14 kind:data(any) addr:0x02162f0c -data_ov063_02162f34 kind:data(any) addr:0x02162f34 ambiguous data_ov063_02162f58 kind:data(any) addr:0x02162f58 data_ov063_02162fb0 kind:data(any) addr:0x02162fb0 _ZTV12ActorUnkCANS kind:data(any) addr:0x02163008 @@ -434,22 +433,20 @@ _ZTV16ActorUnkCASE_174 kind:data(any) addr:0x02163158 _ZTV19ActorProfileUnkCASE kind:data(any) addr:0x02163174 _ZTV24UnkStruct_ov063_021631a0 kind:data(any) addr:0x02163198 _ZTV12ActorUnkCASE kind:data(any) addr:0x021631c4 -_ZTV19data_ov063_02163224 kind:data(any) addr:0x02163224 -data_ov063_02163228 kind:data(any) addr:0x02163228 ambiguous +_ZTV15ActorUnkRMSBase kind:data(any) addr:0x02163224 _ZTV19ActorProfileUnkRMSV kind:data(any) addr:0x02163288 data_ov063_021632ac kind:data(any) addr:0x021632ac data_ov063_021632c4 kind:data(any) addr:0x021632c4 -data_ov063_021632e4 kind:data(any) addr:0x021632e4 -_ZTV19data_ov063_02163324 kind:data(any) addr:0x02163324 +_ZTV24UnkStruct_ov063_021632e4 kind:data(any) addr:0x021632dc +_ZTV12ActorUnkRMSV kind:data(any) addr:0x02163324 data_ov063_02163388 kind:data(any) addr:0x02163388 _ZTV19ActorProfileUnkRMSW kind:data(any) addr:0x021633a0 -_ZTV19data_ov063_021633c4 kind:data(any) addr:0x021633c4 +_ZTV12ActorUnkRMSW kind:data(any) addr:0x021633c4 _ZTV19ActorProfileUnkRMSF kind:data(any) addr:0x02163428 _ZTV12ActorUnkRMSF kind:data(any) addr:0x0216344c data_ov063_021634b0 kind:data(any) addr:0x021634b0 _ZTV19ActorProfileUnkRMSD kind:data(any) addr:0x021634c8 _ZTV12ActorUnkRMSD kind:data(any) addr:0x021634ec -_ZTV19data_ov063_02163510 kind:data(any) addr:0x02163510 ambiguous _ZTV19ActorProfileUnkRMSS kind:data(any) addr:0x02163550 _ZTV12ActorUnkRMSS kind:data(any) addr:0x02163574 _ZTV19data_ov063_021635d8 kind:data(any) addr:0x021635d8 @@ -466,8 +463,8 @@ data_ov063_02163704 kind:data(any) addr:0x02163704 _ZTV19data_ov063_0216370c kind:data(any) addr:0x0216370c data_ov063_02163740 kind:data(any) addr:0x02163740 _ZTV19ActorProfileUnkRBLS kind:data(any) addr:0x02163758 -data_ov063_02163784 kind:data(any) addr:0x02163784 -_ZTV19data_ov063_021637c4 kind:data(any) addr:0x021637c4 +_ZTV24UnkStruct_ov063_02163784 kind:data(any) addr:0x0216377c +_ZTV12ActorUnkRBLS kind:data(any) addr:0x021637c4 _ZTV28MapObjectProfileUnkSTAT_Base kind:data(any) addr:0x02163820 _ZTV23MapObjectProfileUnkSTAT kind:data(any) addr:0x0216383c _ZTV31MapObjectProfileUnkSTAT_Base_D4 kind:data(any) addr:0x02163858 @@ -505,23 +502,20 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkCASEE8sProfileE kind:bss addr:0x02163c48 @12606 kind:bss addr:0x02163c4c _ZN15ProfileInstanceI19ActorProfileUnkCASEE8sProfileE kind:bss addr:0x02163c58 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSVE8sProfileE kind:bss addr:0x02163d30 -@12612 kind:bss addr:0x02163d34 +@12612 kind:bss addr:0x02163d34 local _ZN15ProfileInstanceI19ActorProfileUnkRMSVE8sProfileE kind:bss addr:0x02163d40 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSWE8sProfileE kind:bss addr:0x02163e18 @12618 kind:bss addr:0x02163e1c _ZN15ProfileInstanceI19ActorProfileUnkRMSWE8sProfileE kind:bss addr:0x02163e28 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSFE8sProfileE kind:bss addr:0x02163f00 -@12624 kind:bss addr:0x02163f04 +@12624 kind:bss addr:0x02163f04 local _ZN15ProfileInstanceI19ActorProfileUnkRMSFE8sProfileE kind:bss addr:0x02163f10 -data_ov063_02163fe0 kind:bss addr:0x02163fe0 ambiguous -data_ov063_02163fe8 kind:bss addr:0x02163fe8 -_ZGVN15ProfileInstanceI19ActorProfileUnkRMSDE8sProfileE kind:bss addr:0x02163fec -@12630 kind:bss addr:0x02163ff4 ambiguous +_ZGVN15ProfileInstanceI19ActorProfileUnkRMSDE8sProfileE kind:bss addr:0x02163fe8 +@3983 kind:bss addr:0x02163fec _ZN15ProfileInstanceI19ActorProfileUnkRMSDE8sProfileE kind:bss addr:0x02163ff8 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSSE8sProfileE kind:bss addr:0x021640d0 -@12636 kind:bss addr:0x021640d4 +@12636 kind:bss addr:0x021640d4 local _ZN15ProfileInstanceI19ActorProfileUnkRMSSE8sProfileE kind:bss addr:0x021640e0 -data_ov063_02164144 kind:bss addr:0x02164144 ambiguous data_ov063_021641b8 kind:bss addr:0x021641b8 data_ov063_021641bc kind:bss addr:0x021641bc data_ov063_021641c8 kind:bss addr:0x021641c8 diff --git a/config/jp/arm9/overlays/ov000/symbols.txt b/config/jp/arm9/overlays/ov000/symbols.txt index ec48d63f..c4ccea91 100644 --- a/config/jp/arm9/overlays/ov000/symbols.txt +++ b/config/jp/arm9/overlays/ov000/symbols.txt @@ -71,7 +71,7 @@ _ZN10UnkSystem519func_ov000_020577a4Eiii kind:function(arm,size=0x54) addr:0x020 _ZN10UnkSystem519func_ov000_020577f8Ei kind:function(arm,size=0x38) addr:0x02058d78 func_ov000_02058db0 kind:function(arm,size=0x3c) addr:0x02058db0 func_ov000_02058dec kind:function(arm,size=0x38) addr:0x02058dec -func_ov000_020578a4 kind:function(arm,size=0x20) addr:0x02058e24 +_ZN10UnkSystem519func_ov000_020578a4Eii kind:function(arm,size=0x20) addr:0x02058e24 func_ov000_02058e44 kind:function(arm,size=0x24) addr:0x02058e44 _ZN26ModelRender_ov000_020b198cC1EP10G3d_Model_c kind:function(thumb,size=0x20) addr:0x02058e68 func_ov000_02058e88 kind:function(arm,size=0x34) addr:0x02058e88 @@ -2291,7 +2291,7 @@ _ZN19func_ov000_02099310D0Ev kind:function(arm,size=0x1c) addr:0x02099310 _ZN8Actor_9CC2Ev kind:function(arm,size=0x34) addr:0x0209932c _ZN8Actor_9CC1Ev kind:function(arm,size=0x34) addr:0x02099360 _ZN8Actor_9C19func_ov000_02097becEv kind:function(arm,size=0x28) addr:0x02099394 -func_ov000_020993bc kind:function(arm,size=0xc) addr:0x020993bc +_ZN8Actor_9C8vfunc_00Ev kind:function(arm,size=0xc) addr:0x020993bc _ZN8Actor_9C8vfunc_04E8ActorRefiiPi kind:function(arm,size=0x80) addr:0x020993c8 func_ov000_02099448 kind:function(arm,size=0x7c) addr:0x02099448 _ZN19func_ov000_020994c4D1Ev kind:function(arm,size=0x14) addr:0x020994c4 @@ -2387,10 +2387,10 @@ _ZN24UnkStruct_ov000_020b31a88vfunc_20Ev kind:function(arm,size=0x110) addr:0x02 _ZN24UnkStruct_ov000_020b31a88vfunc_1CE25ActorUnkZLSL_AnimationTagiii kind:function(arm,size=0x84) addr:0x0209b47c func_ov000_0209b500 kind:function(arm,size=0xa8) addr:0x0209b500 _ZN17ActorUnkZLSL_270019func_ov000_02099ddcE25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x7c) addr:0x0209b5a8 -func_ov000_0209b624 kind:function(arm,size=0x98) addr:0x0209b624 +func_ov000_02099e58 kind:function(arm,size=0x98) addr:0x0209b624 func_ov000_0209b6bc kind:function(arm,size=0x74) addr:0x0209b6bc -func_ov000_0209b730 kind:function(arm,size=0x94) addr:0x0209b730 -_ZN24UnkStruct_ov000_020b31a818func_ov000_02099f8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x0209b7c4 +func_ov000_02099f64 kind:function(arm,size=0x94) addr:0x0209b730 +_ZN24UnkStruct_ov000_020b31a819func_ov000_02099ff8E25ActorUnkZLSL_AnimationTagi kind:function(arm,size=0x74) addr:0x0209b7c4 _ZN24UnkStruct_ov000_020b31a88vfunc_24Ev kind:function(arm,size=0x78) addr:0x0209b838 _ZN24UnkStruct_ov000_020b31a88vfunc_18Ev kind:function(arm,size=0x10) addr:0x0209b8b0 _ZN24UnkStruct_ov000_020b31a88vfunc_28Ev kind:function(arm,size=0x18) addr:0x0209b8c0 @@ -2407,18 +2407,18 @@ func_ov000_0209b9b8 kind:function(thumb,size=0x3c) addr:0x0209b9b8 func_ov000_0209b9f4 kind:function(thumb,size=0xc) addr:0x0209b9f4 func_ov000_0209ba00 kind:function(thumb,size=0x12) addr:0x0209ba00 _ZN24UnkStruct_ov000_020b31f0D2Ev kind:function(thumb,size=0xc) addr:0x0209ba14 -func_ov000_0209ba20 kind:function(arm,size=0x34) addr:0x0209ba20 -func_ov000_0209ba54 kind:function(arm,size=0x68) addr:0x0209ba54 -func_ov000_0209babc kind:function(arm,size=0x18) addr:0x0209babc -func_ov000_0209bad4 kind:function(arm,size=0x18) addr:0x0209bad4 -func_ov000_0209baec kind:function(arm,size=0x14) addr:0x0209baec -func_ov000_0209bb00 kind:function(arm,size=0x14) addr:0x0209bb00 -func_ov000_0209bb14 kind:function(arm,size=0x14) addr:0x0209bb14 -func_ov000_0209bb28 kind:function(arm,size=0x88) addr:0x0209bb28 -func_ov000_0209bbb0 kind:function(arm,size=0x238) addr:0x0209bbb0 -func_ov000_0209bde8 kind:function(arm,size=0xb8) addr:0x0209bde8 -func_ov000_0209bea0 kind:function(arm,size=0x38) addr:0x0209bea0 -func_ov000_0209bed8 kind:function(arm,size=0x8) addr:0x0209bed8 +_ZN24UnkStruct_ov000_020b31f08vfunc_08Ev kind:function(arm,size=0x34) addr:0x0209ba20 +_ZN24UnkStruct_ov000_020b31f08vfunc_0CEv kind:function(arm,size=0x68) addr:0x0209ba54 +_ZN24UnkStruct_ov000_020b31f08vfunc_28Ev kind:function(arm,size=0x18) addr:0x0209babc +_ZN24UnkStruct_ov000_020b31f08vfunc_2CEv kind:function(arm,size=0x18) addr:0x0209bad4 +_ZN24UnkStruct_ov000_020b31f08vfunc_10Ev kind:function(arm,size=0x14) addr:0x0209baec +_ZN24UnkStruct_ov000_020b31f08vfunc_14Ev kind:function(arm,size=0x14) addr:0x0209bb00 +_ZN24UnkStruct_ov000_020b31f08vfunc_30Ev kind:function(arm,size=0x14) addr:0x0209bb14 +_ZN24UnkStruct_ov000_020b31f08vfunc_1CE25ActorUnkZLSL_AnimationTagiii kind:function(arm,size=0x88) addr:0x0209bb28 +_ZN24UnkStruct_ov000_020b31f08vfunc_20Ev kind:function(arm,size=0x238) addr:0x0209bbb0 +func_ov000_0209a61c kind:function(arm,size=0xb8) addr:0x0209bde8 +_ZN24UnkStruct_ov000_020b31f08vfunc_34Ev kind:function(arm,size=0x38) addr:0x0209bea0 +_ZN24UnkStruct_ov000_020b31f08vfunc_40Ev kind:function(arm,size=0x8) addr:0x0209bed8 func_ov000_0209bee0 kind:function(arm,size=0x24) addr:0x0209bee0 func_ov000_0209bf04 kind:function(arm,size=0x2c) addr:0x0209bf04 _ZN24UnkStruct_ov000_020b3268C2EP10G3d_Model_ kind:function(thumb,size=0x1c) addr:0x0209bf30 diff --git a/config/jp/arm9/overlays/ov031/symbols.txt b/config/jp/arm9/overlays/ov031/symbols.txt index 230dcbb5..012e6fe2 100644 --- a/config/jp/arm9/overlays/ov031/symbols.txt +++ b/config/jp/arm9/overlays/ov031/symbols.txt @@ -1038,10 +1038,10 @@ _ZN19ActorProfileUnkTGTZD1Ev kind:function(arm,size=0x14) addr:0x020f8e90 func_ov031_020f8ea4 kind:function(arm,size=0x20) addr:0x020f8ea4 func_ov031_020f8ec4 kind:function(arm,size=0x40) addr:0x020f8ec4 func_ov031_020f8f04 kind:function(arm,size=0x38) addr:0x020f8f04 -func_ov031_020f8f3c kind:function(arm,size=0x2c) addr:0x020f8f3c -func_ov031_020f8f68 kind:function(arm,size=0x3c) addr:0x020f8f68 -func_ov031_020f8fa4 kind:function(arm,size=0x20) addr:0x020f8fa4 -func_ov031_020f8fc4 kind:function(arm,size=0x8) addr:0x020f8fc4 +_ZN24UnkStruct_ov031_02114870C2Ev kind:function(arm,size=0x2c) addr:0x020f8f3c +_ZN24UnkStruct_ov031_021148708vfunc_18Ei kind:function(arm,size=0x3c) addr:0x020f8f68 +_ZN24UnkStruct_ov031_021148708vfunc_2CEi kind:function(arm,size=0x20) addr:0x020f8fa4 +_ZN24UnkStruct_ov031_021148708vfunc_54Ev kind:function(arm,size=0x8) addr:0x020f8fc4 func_ov031_020f8fcc kind:function(arm,size=0x50) addr:0x020f8fcc func_ov031_020f901c kind:function(arm,size=0x8) addr:0x020f901c func_ov031_020f9024 kind:function(arm,size=0x20) addr:0x020f9024 diff --git a/config/jp/arm9/overlays/ov063/delinks.txt b/config/jp/arm9/overlays/ov063/delinks.txt index 9b303be6..0cbac5ee 100644 --- a/config/jp/arm9/overlays/ov063/delinks.txt +++ b/config/jp/arm9/overlays/ov063/delinks.txt @@ -9,6 +9,7 @@ src/063_Shrine/Actor/ActorUnkCANS.cpp: .text start:0x02159be0 end:0x0215c894 .init start:0x02164548 end:0x021645b8 .ctor start:0x02164c58 end:0x02164c5c + .data start:0x02164ca0 end:0x02164e88 .bss start:0x02165980 end:0x02165a68 src/063_Shrine/Actor/ActorUnkCASE.cpp: @@ -18,40 +19,53 @@ src/063_Shrine/Actor/ActorUnkCASE.cpp: .data start:0x02164ee8 end:0x02165044 .bss start:0x02165a68 end:0x02165b50 +src/063_Shrine/Actor/ActorUnkRMSBase.cpp: + complete + .text start:0x0215d890 end:0x0215d9c0 + .data start:0x02165044 end:0x021650a8 + src/063_Shrine/Actor/ActorUnkRMSV.cpp: .text start:0x0215d9c0 end:0x0215dd24 .init start:0x0216464c end:0x0216469c .ctor start:0x02164c60 end:0x02164c64 + .data start:0x021650a8 end:0x021651a8 .bss start:0x02165b50 end:0x02165c38 src/063_Shrine/Actor/ActorUnkRMSW.cpp: .text start:0x0215dd24 end:0x0215df6c .init start:0x0216469c end:0x021646ec .ctor start:0x02164c64 end:0x02164c68 + .data start:0x021651a8 end:0x02165248 .bss start:0x02165c38 end:0x02165d20 src/063_Shrine/Actor/ActorUnkRMSF.cpp: + complete .text start:0x0215df6c end:0x0215e0d0 .init start:0x021646ec end:0x0216473c .ctor start:0x02164c68 end:0x02164c6c + .data start:0x02165248 end:0x021652d0 .bss start:0x02165d20 end:0x02165e08 src/063_Shrine/Actor/ActorUnkRMSD.cpp: .text start:0x0215e0d0 end:0x0215e318 .init start:0x0216473c end:0x0216478c .ctor start:0x02164c6c end:0x02164c70 + .data start:0x021652d0 end:0x02165370 .bss start:0x02165e08 end:0x02165ef0 src/063_Shrine/Actor/ActorUnkRMSS.cpp: + complete .text start:0x0215e318 end:0x0215e47c .init start:0x0216478c end:0x021647dc .ctor start:0x02164c70 end:0x02164c74 - .bss start:0x02165ef0 end:0x02166138 + .data start:0x02165370 end:0x021653f8 + .bss start:0x02165ef0 end:0x02165fd8 src/063_Shrine/Actor/ActorUnkRBLS.cpp: .text start:0x0216108c end:0x02161318 .init start:0x02164944 end:0x02164994 .ctor start:0x02164c78 end:0x02164c7c + .data start:0x02165560 end:0x02165640 .bss start:0x02166138 end:0x02166220 src/063_Shrine/MapObject/MapObjectUnkSTAT.cpp: diff --git a/config/jp/arm9/overlays/ov063/relocs.txt b/config/jp/arm9/overlays/ov063/relocs.txt index b549c288..7396631f 100644 --- a/config/jp/arm9/overlays/ov063/relocs.txt +++ b/config/jp/arm9/overlays/ov063/relocs.txt @@ -449,7 +449,7 @@ from:0x0215da9c kind:arm_call_thumb to:0x0209b1f4 module:overlay(0) from:0x0215dab4 kind:arm_call_thumb to:0x02058d0c module:overlay(0) from:0x0215dacc kind:load to:0x02165144 add:0x8 module:overlay(63) from:0x0215dad0 kind:load to:0x02165b60 module:overlay(63) -from:0x0215dad4 kind:load to:0x02165104 module:overlay(63) +from:0x0215dad4 kind:load to:0x021650fc module:overlay(63) add:0x8 from:0x0215dae0 kind:arm_call_thumb to:0x0209b2c8 module:overlay(0) from:0x0215daf8 kind:arm_call to:0x0215d8c8 module:overlay(63) from:0x0215db2c kind:arm_call to:0x0209b7c4 module:overlay(0) @@ -488,7 +488,7 @@ from:0x0215ddb4 kind:arm_call_thumb to:0x0209b1f4 module:overlay(0) from:0x0215ddcc kind:arm_call_thumb to:0x02058d0c module:overlay(0) from:0x0215dde4 kind:load to:0x021651e4 add:0x8 module:overlay(63) from:0x0215dde8 kind:load to:0x02165c48 module:overlay(63) -from:0x0215ddec kind:load to:0x02165104 module:overlay(63) +from:0x0215ddec kind:load to:0x021650fc module:overlay(63) add:0x8 from:0x0215ddfc kind:arm_call to:0x0215d8c8 module:overlay(63) from:0x0215de30 kind:arm_call to:0x0209b7c4 module:overlay(0) from:0x0215de40 kind:load to:0x021651a8 module:overlay(63) @@ -539,7 +539,7 @@ from:0x0215e160 kind:arm_call_thumb to:0x0209b1f4 module:overlay(0) from:0x0215e178 kind:arm_call_thumb to:0x02058d0c module:overlay(0) from:0x0215e190 kind:load to:0x0216530c add:0x8 module:overlay(63) from:0x0215e194 kind:load to:0x02165e18 module:overlay(63) -from:0x0215e198 kind:load to:0x02165104 module:overlay(63) +from:0x0215e198 kind:load to:0x021650fc module:overlay(63) add:0x8 from:0x0215e1a8 kind:arm_call to:0x0215d8c8 module:overlay(63) from:0x0215e1dc kind:arm_call to:0x0209b7c4 module:overlay(0) from:0x0215e1ec kind:load to:0x021652d0 module:overlay(63) @@ -980,7 +980,7 @@ from:0x0216116c kind:arm_call_thumb to:0x0209b1f4 module:overlay(0) from:0x02161184 kind:arm_call_thumb to:0x02058d0c module:overlay(0) from:0x0216119c kind:load to:0x021655e4 add:0x8 module:overlay(63) from:0x021611a0 kind:load to:0x02166148 module:overlay(63) -from:0x021611a4 kind:load to:0x021655a4 module:overlay(63) +from:0x021611a4 kind:load to:0x0216559c module:overlay(63) add:0x8 from:0x021611b0 kind:arm_call_thumb to:0x0209b2c8 module:overlay(0) from:0x02161210 kind:arm_call to:0x0209b730 module:overlay(0) from:0x02161240 kind:load to:0x02165560 module:overlay(63) @@ -1695,7 +1695,7 @@ from:0x02165090 kind:load to:0x020c1164 module:overlay(17) from:0x02165094 kind:load to:0x020c16f8 module:overlay(17) from:0x02165098 kind:load to:0x0215d968 module:overlay(63) from:0x0216509c kind:load to:0x0215d990 module:overlay(63) -from:0x021650a0 kind:load to:0x020f8fc4 module:overlays(22,23,31) +from:0x021650a0 kind:load to:0x020f8fc4 module:overlay(31) from:0x021650b0 kind:load to:0x0215d9cc module:overlay(63) from:0x021650b4 kind:load to:0x020990ec module:overlay(0) from:0x021650b8 kind:load to:0x02098efc module:overlay(0) diff --git a/config/jp/arm9/overlays/ov063/symbols.txt b/config/jp/arm9/overlays/ov063/symbols.txt index b8a1f070..01433888 100644 --- a/config/jp/arm9/overlays/ov063/symbols.txt +++ b/config/jp/arm9/overlays/ov063/symbols.txt @@ -7,7 +7,7 @@ _ZN24UnkStruct_ov063_02162e888vfunc_04E8ActorRefiiPi kind:function(arm,size=0x17 _ZN12ActorUnkCANSC1Ev kind:function(arm,size=0x1dc) addr:0x02159e5c _ZN24UnkStruct_ov063_02162ee8D1Ev kind:function(arm,size=0x14) addr:0x0215a038 _ZN24UnkStruct_ov063_02162f14D1Ev kind:function(arm,size=0x14) addr:0x0215a04c -_ZN12ActorUnkCANS8vfunc_18Ev kind:function(arm,size=0x68) addr:0x0215a060 +_ZN12ActorUnkCANS8vfunc_18Ei kind:function(arm,size=0x68) addr:0x0215a060 _ZN12ActorUnkCANS8vfunc_1CEv kind:function(arm,size=0x9c) addr:0x0215a0c8 _ZN12ActorUnkCANS19func_ov063_02158424Ev kind:function(arm,size=0x24) addr:0x0215a164 _ZN12ActorUnkCANS19func_ov063_02158448Ei kind:function(arm,size=0x48) addr:0x0215a188 @@ -53,7 +53,7 @@ _ZN12ActorUnkCANS19func_ov063_0215a678EPS_P29UnkStruct_func_ov063_0215a678 kind: _ZN24UnkStruct_ov063_02162ea8C1Ev kind:function(arm,size=0x30) addr:0x0215c570 _ZN24UnkStruct_ov063_02162ea8D1Ev kind:function(arm,size=0x14) addr:0x0215c5a0 _ZN24UnkStruct_ov063_02162ea8D0Ev kind:function(arm,size=0x1c) addr:0x0215c5b4 -_ZN24UnkStruct_ov063_02162ea88vfunc_08EP24UnkStruct_ov031_020f3310 kind:function(arm,size=0x4c) addr:0x0215c5d0 +_ZN24UnkStruct_ov063_02162ea88vfunc_08EPK24UnkStruct_ov031_020f3310 kind:function(arm,size=0x4c) addr:0x0215c5d0 _ZN24UnkStruct_ov063_02162ea88vfunc_0CEPK24UnkStruct_ov031_020e54d4Pii kind:function(arm,size=0xcc) addr:0x0215c61c _ZN24UnkStruct_ov063_02162f148vfunc_3CEv kind:function(arm,size=0x24) addr:0x0215c6e8 _ZN24UnkStruct_ov063_02162f148vfunc_38Eii kind:function(arm,size=0x2c) addr:0x0215c70c @@ -105,36 +105,36 @@ _ZN24UnkStruct_ov063_021631a0D0Ev kind:function(arm,size=0x1c) addr:0x0215d7f8 _ZN12ActorUnkCASED1Ev kind:function(arm,size=0x30) addr:0x0215d814 _ZN12ActorUnkCASED0Ev kind:function(arm,size=0x38) addr:0x0215d844 _ZN19ActorProfileUnkCASED1Ev kind:function(arm,size=0x14) addr:0x0215d87c -func_ov063_0215bafc kind:function(arm,size=0x38) addr:0x0215d890 -func_ov063_0215bb34 kind:function(arm,size=0x54) addr:0x0215d8c8 -func_ov063_0215bb88 kind:function(arm,size=0x4) addr:0x0215d91c -func_ov063_0215bb8c kind:function(arm,size=0x4) addr:0x0215d920 -func_ov063_0215bb90 kind:function(arm,size=0x14) addr:0x0215d924 -func_ov063_0215bba4 kind:function(arm,size=0x30) addr:0x0215d938 -_ZN19func_ov063_0215bbd4D1Ev kind:function(arm,size=0x28) addr:0x0215d968 -_ZN19func_ov063_0215bbfcD0Ev kind:function(arm,size=0x30) addr:0x0215d990 +_ZN15ActorUnkRMSBaseC2Ev kind:function(arm,size=0x38) addr:0x0215d890 +_ZN15ActorUnkRMSBase8vfunc_18Ei kind:function(arm,size=0x54) addr:0x0215d8c8 +_ZN15ActorUnkRMSBase8vfunc_1CEv kind:function(arm,size=0x4) addr:0x0215d91c +_ZN15ActorUnkRMSBase8vfunc_20Ev kind:function(arm,size=0x4) addr:0x0215d920 +_ZN15ActorUnkRMSBase8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215d924 +_ZN15ActorUnkRMSBase8vfunc_2CEi kind:function(arm,size=0x30) addr:0x0215d938 +_ZN15ActorUnkRMSBaseD1Ev kind:function(arm,size=0x28) addr:0x0215d968 +_ZN15ActorUnkRMSBaseD0Ev kind:function(arm,size=0x30) addr:0x0215d990 _ZN19ActorProfileUnkRMSV10GetProfileEv kind:function(arm,size=0xc) addr:0x0215d9c0 _ZN19ActorProfileUnkRMSV6CreateEv kind:function(arm,size=0x24) addr:0x0215d9cc _ZN19ActorProfileUnkRMSVC1Ev kind:function(arm,size=0x28) addr:0x0215d9f0 _ZN12ActorUnkRMSVC1Ev kind:function(arm,size=0xc0) addr:0x0215da18 -_ZN12ActorUnkRMSV19func_ov063_0215bd44Ev kind:function(arm,size=0x14) addr:0x0215dad8 -_ZN12ActorUnkRMSV8vfunc_18Ev kind:function(arm,size=0x94) addr:0x0215daec -_ZN12ActorUnkRMSV19func_ov063_0215bdecEv kind:function(arm,size=0x24) addr:0x0215db80 +_ZN24UnkStruct_ov063_021632e4D1Ev kind:function(arm,size=0x14) addr:0x0215dad8 +_ZN12ActorUnkRMSV8vfunc_18Ei kind:function(arm,size=0x94) addr:0x0215daec +_ZN24UnkStruct_ov063_021632e48vfunc_3CEv kind:function(arm,size=0x24) addr:0x0215db80 _ZN12ActorUnkRMSV8vfunc_20Ev kind:function(arm,size=0x2c) addr:0x0215dba4 _ZN12ActorUnkRMSV8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215dbd0 _ZN12ActorUnkRMSV8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215dbe4 _ZN12ActorUnkRMSV8vfunc_58Ev kind:function(arm,size=0x40) addr:0x0215dc24 -_ZN12ActorUnkRMSV19func_ov063_0215bed0Ev kind:function(arm,size=0x10) addr:0x0215dc64 -_ZN12ActorUnkRMSV19func_ov063_0215bee0Ev kind:function(arm,size=0x8) addr:0x0215dc74 -_ZN12ActorUnkRMSVD0Ev kind:function(arm,size=0x1c) addr:0x0215dc7c +_ZN24UnkStruct_ov063_021632e48vfunc_38Eii kind:function(arm,size=0x10) addr:0x0215dc64 +_ZN24UnkStruct_ov063_021632e48vfunc_30Ev kind:function(arm,size=0x8) addr:0x0215dc74 +_ZN24UnkStruct_ov063_021632e4D0Ev kind:function(arm,size=0x1c) addr:0x0215dc7c _ZN12ActorUnkRMSVD1Ev kind:function(arm,size=0x38) addr:0x0215dc98 -_ZN12ActorUnkRMSV8vfunc_50Ev kind:function(arm,size=0x40) addr:0x0215dcd0 +_ZN12ActorUnkRMSVD0Ev kind:function(arm,size=0x40) addr:0x0215dcd0 _ZN19ActorProfileUnkRMSVD1Ev kind:function(arm,size=0x14) addr:0x0215dd10 _ZN19ActorProfileUnkRMSW10GetProfileEv kind:function(arm,size=0xc) addr:0x0215dd24 _ZN19ActorProfileUnkRMSW6CreateEv kind:function(arm,size=0x24) addr:0x0215dd30 _ZN19ActorProfileUnkRMSWC1Ev kind:function(arm,size=0x28) addr:0x0215dd54 _ZN12ActorUnkRMSWC1Ev kind:function(arm,size=0x74) addr:0x0215dd7c -_ZN12ActorUnkRMSW8vfunc_18Ev kind:function(arm,size=0x54) addr:0x0215ddf0 +_ZN12ActorUnkRMSW8vfunc_18Ei kind:function(arm,size=0x54) addr:0x0215ddf0 _ZN12ActorUnkRMSW8vfunc_20Ev kind:function(arm,size=0x18) addr:0x0215de44 _ZN12ActorUnkRMSW8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215de5c _ZN12ActorUnkRMSW8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215de70 @@ -155,7 +155,7 @@ _ZN19ActorProfileUnkRMSD10GetProfileEv kind:function(arm,size=0xc) addr:0x0215e0 _ZN19ActorProfileUnkRMSD6CreateEv kind:function(arm,size=0x24) addr:0x0215e0dc _ZN19ActorProfileUnkRMSDC1Ev kind:function(arm,size=0x28) addr:0x0215e100 _ZN12ActorUnkRMSDC1Ev kind:function(arm,size=0x74) addr:0x0215e128 -_ZN12ActorUnkRMSD8vfunc_18Ev kind:function(arm,size=0x54) addr:0x0215e19c +_ZN12ActorUnkRMSD8vfunc_18Ei kind:function(arm,size=0x54) addr:0x0215e19c _ZN12ActorUnkRMSD8vfunc_20Ev kind:function(arm,size=0x18) addr:0x0215e1f0 _ZN12ActorUnkRMSD8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0215e208 _ZN12ActorUnkRMSD8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215e21c @@ -252,14 +252,14 @@ _ZN19ActorProfileUnkRBLS10GetProfileEv kind:function(arm,size=0xc) addr:0x021610 _ZN19ActorProfileUnkRBLS6CreateEv kind:function(arm,size=0x24) addr:0x02161098 _ZN19ActorProfileUnkRBLSC1Ev kind:function(arm,size=0x28) addr:0x021610bc _ZN12ActorUnkRBLSC1Ev kind:function(arm,size=0xc4) addr:0x021610e4 -_ZN12ActorUnkRBLS19func_ov063_0215f3d4Ev kind:function(arm,size=0x14) addr:0x021611a8 -_ZN12ActorUnkRBLS8vfunc_18Ev kind:function(arm,size=0x8c) addr:0x021611bc +_ZN24UnkStruct_ov063_02163784D1Ev kind:function(arm,size=0x14) addr:0x021611a8 +_ZN12ActorUnkRBLS8vfunc_18Ei kind:function(arm,size=0x8c) addr:0x021611bc _ZN12ActorUnkRBLS8vfunc_20Ev kind:function(arm,size=0x14) addr:0x02161248 _ZN12ActorUnkRBLS8vfunc_24Ev kind:function(arm,size=0x14) addr:0x0216125c -_ZN12ActorUnkRBLS8vfunc_2CEv kind:function(arm,size=0x20) addr:0x02161270 -_ZN12ActorUnkRBLSD0Ev kind:function(arm,size=0x1c) addr:0x02161290 +_ZN12ActorUnkRBLS8vfunc_2CEi kind:function(arm,size=0x20) addr:0x02161270 +_ZN24UnkStruct_ov063_02163784D0Ev kind:function(arm,size=0x1c) addr:0x02161290 _ZN12ActorUnkRBLSD1Ev kind:function(arm,size=0x28) addr:0x021612ac -_ZN12ActorUnkRBLS19func_ov063_0215f500Ev kind:function(arm,size=0x30) addr:0x021612d4 +_ZN12ActorUnkRBLSD0Ev kind:function(arm,size=0x30) addr:0x021612d4 _ZN19ActorProfileUnkRBLSD1Ev kind:function(arm,size=0x14) addr:0x02161304 _ZN23MapObjectProfileUnkSTAT10GetProfileEv kind:function(arm,size=0xc) addr:0x02161318 _ZN23MapObjectProfileUnkSTAT6CreateEv kind:function(arm,size=0x24) addr:0x02161324 @@ -388,11 +388,11 @@ data_ov063_02164528 kind:data(any) addr:0x02164528 data_ov063_02164538 kind:data(any) addr:0x02164538 __sinit_ActorUnkCANS.cpp kind:function(arm,size=0x70) addr:0x02164548 __sinit_ActorUnkCASE.cpp kind:function(arm,size=0x94) addr:0x021645b8 -__sinit_ActorUnkRMSV.cpp kind:function(arm,size=0x50) addr:0x0216464c +__sinit_ActorUnkRMSV.cpp kind:function(arm,size=0x50) addr:0x0216464c local __sinit_ActorUnkRMSW.cpp kind:function(arm,size=0x50) addr:0x0216469c -__sinit_ActorUnkRMSF.cpp kind:function(arm,size=0x50) addr:0x021646ec -__sinit_ActorUnkRMSD.cpp kind:function(arm,size=0x50) addr:0x0216473c -__sinit_ActorUnkRMSS.cpp kind:function(arm,size=0x50) addr:0x0216478c +__sinit_ActorUnkRMSF.cpp kind:function(arm,size=0x50) addr:0x021646ec local +__sinit_ActorUnkRMSD.cpp kind:function(arm,size=0x50) addr:0x0216473c local +__sinit_ActorUnkRMSS.cpp kind:function(arm,size=0x50) addr:0x0216478c local __sinit_ov063_021647dc kind:function(arm,size=0x168) addr:0x021647dc __sinit_ActorUnkRBLS.cpp kind:function(arm,size=0x50) addr:0x02164944 __sinit_MapObjectUnkSTAT.cpp kind:function(arm,size=0x50) addr:0x02164994 @@ -402,11 +402,11 @@ __sinit_MapObjectUnkMTJR.cpp kind:function(arm,size=0x50) addr:0x02164bb8 __sinit_MapObjectUnkSWCR.cpp kind:function(arm,size=0x50) addr:0x02164c08 .p__sinit_ActorUnkCANS.cpp kind:data(word) addr:0x02164c58 .p__sinit_ActorUnkCASE.cpp kind:data(word) addr:0x02164c5c -.p__sinit_ActorUnkRMSV.cpp kind:data(word) addr:0x02164c60 +.p__sinit_ActorUnkRMSV.cpp kind:data(word) addr:0x02164c60 local .p__sinit_ActorUnkRMSW.cpp kind:data(word) addr:0x02164c64 -.p__sinit_ActorUnkRMSF.cpp kind:data(word) addr:0x02164c68 -.p__sinit_ActorUnkRMSD.cpp kind:data(word) addr:0x02164c6c -.p__sinit_ActorUnkRMSS.cpp kind:data(word) addr:0x02164c70 +.p__sinit_ActorUnkRMSF.cpp kind:data(word) addr:0x02164c68 local +.p__sinit_ActorUnkRMSD.cpp kind:data(word) addr:0x02164c6c local +.p__sinit_ActorUnkRMSS.cpp kind:data(word) addr:0x02164c70 local .p__sinit_ov063_021647dc kind:data(word) addr:0x02164c74 .p__sinit_ActorUnkRBLS.cpp kind:data(word) addr:0x02164c78 .p__sinit_MapObjectUnkSTAT.cpp kind:data(word) addr:0x02164c7c @@ -435,16 +435,15 @@ _ZTV16ActorUnkCASE_174 kind:data(any) addr:0x02164f78 _ZTV19ActorProfileUnkCASE kind:data(any) addr:0x02164f94 _ZTV24UnkStruct_ov063_021631a0 kind:data(any) addr:0x02164fb8 _ZTV12ActorUnkCASE kind:data(any) addr:0x02164fe4 -_ZTV19data_ov063_02165044 kind:data(any) addr:0x02165044 +_ZTV15ActorUnkRMSBase kind:data(any) addr:0x02165044 _ZTV19ActorProfileUnkRMSV kind:data(any) addr:0x021650a8 data_ov063_021632ac kind:data(any) addr:0x021650cc data_ov063_021632c4 kind:data(any) addr:0x021650e4 -data_ov063_02165104 kind:data(any) addr:0x02165104 -_ZTV19data_ov063_02165144 kind:data(any) addr:0x02165144 -_ZTV19data_ov063_0216518c kind:data(any) addr:0x0216518c ambiguous +_ZTV24UnkStruct_ov063_021632e4 kind:data(any) addr:0x021650fc +_ZTV12ActorUnkRMSV kind:data(any) addr:0x02165144 data_ov063_02163388 kind:data(any) addr:0x021651a8 _ZTV19ActorProfileUnkRMSW kind:data(any) addr:0x021651c0 -_ZTV19data_ov063_021651e4 kind:data(any) addr:0x021651e4 +_ZTV12ActorUnkRMSW kind:data(any) addr:0x021651e4 _ZTV19ActorProfileUnkRMSF kind:data(any) addr:0x02165248 _ZTV12ActorUnkRMSF kind:data(any) addr:0x0216526c data_ov063_021634b0 kind:data(any) addr:0x021652d0 @@ -465,10 +464,10 @@ data_ov063_02165510 kind:data(any) addr:0x02165510 data_ov063_02165518 kind:data(any) addr:0x02165518 ambiguous data_ov063_02165524 kind:data(any) addr:0x02165524 _ZTV19data_ov063_0216552c kind:data(any) addr:0x0216552c -data_ov063_02165560 kind:data(any) addr:0x02165560 +data_ov063_02163740 kind:data(any) addr:0x02165560 _ZTV19ActorProfileUnkRBLS kind:data(any) addr:0x02165578 -data_ov063_021655a4 kind:data(any) addr:0x021655a4 -_ZTV19data_ov063_021655e4 kind:data(any) addr:0x021655e4 +_ZTV24UnkStruct_ov063_02163784 kind:data(any) addr:0x0216559c +_ZTV12ActorUnkRBLS kind:data(any) addr:0x021655e4 _ZTV28MapObjectProfileUnkSTAT_Base kind:data(any) addr:0x02165640 _ZTV23MapObjectProfileUnkSTAT kind:data(any) addr:0x0216565c _ZTV31MapObjectProfileUnkSTAT_Base_D4 kind:data(any) addr:0x02165678 @@ -512,13 +511,13 @@ _ZGVN15ProfileInstanceI19ActorProfileUnkRMSWE8sProfileE kind:bss addr:0x02165c38 @32629 kind:bss addr:0x02165c3c _ZN15ProfileInstanceI19ActorProfileUnkRMSWE8sProfileE kind:bss addr:0x02165c48 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSFE8sProfileE kind:bss addr:0x02165d20 -@32635 kind:bss addr:0x02165d24 +@32635 kind:bss addr:0x02165d24 local _ZN15ProfileInstanceI19ActorProfileUnkRMSFE8sProfileE kind:bss addr:0x02165d30 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSDE8sProfileE kind:bss addr:0x02165e08 @32641 kind:bss addr:0x02165e0c _ZN15ProfileInstanceI19ActorProfileUnkRMSDE8sProfileE kind:bss addr:0x02165e18 _ZGVN15ProfileInstanceI19ActorProfileUnkRMSSE8sProfileE kind:bss addr:0x02165ef0 -@32647 kind:bss addr:0x02165ef4 +@32647 kind:bss addr:0x02165ef4 local _ZN15ProfileInstanceI19ActorProfileUnkRMSSE8sProfileE kind:bss addr:0x02165f00 data_ov063_02165fd8 kind:bss addr:0x02165fd8 data_ov063_02165fdc kind:bss addr:0x02165fdc diff --git a/include/Actor/ActorUnkCANS.hpp b/include/Actor/ActorUnkCANS.hpp index 01381885..d1ca2be1 100644 --- a/include/Actor/ActorUnkCANS.hpp +++ b/include/Actor/ActorUnkCANS.hpp @@ -40,8 +40,8 @@ public: UnkStruct_ov063_02162ea8(); - /* 00 (base) */ virtual ~UnkStruct_ov063_02162ea8(); - /* 08 */ virtual bool vfunc_08(UnkStruct_ov031_020f3310 *param1) override; + /* 00 */ virtual ~UnkStruct_ov063_02162ea8(); + /* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override; /* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 *param2, unk32 param3) override; }; @@ -132,15 +132,13 @@ public: ActorUnkCANS(); - /* 10 */ virtual void vfunc_10(Cylinder *param1); - /* 18 */ virtual unk32 vfunc_18(void); - /* 1C */ virtual void vfunc_1C(void); - /* 20 */ virtual void vfunc_20(void); - /* 24 */ virtual void vfunc_24(void); - /* 2C */ virtual void vfunc_2C(unk32 param1); - /* 4C */ virtual ~ActorUnkCANS() override; + /* 10 */ virtual void vfunc_10(Cylinder *param1) override; + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 1C */ virtual void vfunc_1C(void) override; + /* 20 */ virtual void vfunc_20(void) override; + /* 24 */ virtual void vfunc_24(void) override; + /* 2C */ virtual void vfunc_2C(unk32 param1) override; - unk32 func_ov063_02157fa4(ActorRef param1, unk32 param2, unk32 param3, unk32 *param4); void func_ov063_02158424(void); void func_ov063_02158448(unk32 param1); void func_ov063_02158490(void); @@ -185,7 +183,6 @@ public: /* 00 (base) */ ActorProfileUnkCANS(); - ~ActorProfileUnkCANS(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkCASE.hpp b/include/Actor/ActorUnkCASE.hpp index 27b2cc7f..f437ebb7 100644 --- a/include/Actor/ActorUnkCASE.hpp +++ b/include/Actor/ActorUnkCASE.hpp @@ -22,8 +22,6 @@ public: /* 70 */ UnkStruct_ov063_021631a0(G3d_Model *pModel); - - /* 00 */ virtual ~UnkStruct_ov063_021631a0() override {}; }; class UnkStruct_func_ov063_0215a678 { @@ -59,7 +57,6 @@ public: ActorUnkCASE_174(Actor *param1); - /* 00 */ virtual ~ActorUnkCASE_174() override {}; /* 10 */ virtual void vfunc_10(Actor *actor) override; }; @@ -93,7 +90,6 @@ public: /* 20 */ virtual void vfunc_20() override; /* 24 */ virtual void vfunc_24() override; /* 2C */ virtual void vfunc_2C(unk32 param1) override; - /* 4C */ virtual ~ActorUnkCASE() override; void func_ov063_0215ab70(void); void func_ov063_0215aba4(void); @@ -132,7 +128,6 @@ public: /* 00 (base) */ ActorProfileUnkCASE(); - ~ActorProfileUnkCASE(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkRBLS.hpp b/include/Actor/ActorUnkRBLS.hpp index d39be0c2..bc2b5282 100644 --- a/include/Actor/ActorUnkRBLS.hpp +++ b/include/Actor/ActorUnkRBLS.hpp @@ -1,51 +1,35 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" +#include "Actor/ActorUnkRMSV.hpp" #include "Render/ModelRender.hpp" #include "global.h" #include "types.h" -struct UnkStruct_data_ov063_02163740 { - /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; - /* 08 */ unk32 mUnk_08; - /* 0C */ unk32 mUnk_0C; - /* 10 */ unk32 mUnk_10; - /* 14 */ unk32 mUnk_14; -}; - -class ActorUnkRBLS_C4 : public Actor_C4 { +class UnkStruct_ov063_02163784 : public UnkStruct_ov063_021632e4 { public: - ActorUnkRBLS_C4(Actor *param1); + /* 00 (base) */ + /* 40 */ - /* 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; + UnkStruct_ov063_02163784(ModelRender *param1, unk32 param2) : + UnkStruct_ov063_021632e4(param1, param2) {}; }; class ActorUnkRBLS : public Actor { public: /* 00 (base) */ /* 94 */ ModelRender mUnk_94; - /* F4 */ unk32 mUnk_F4; - /* F8 */ STRUCT_PAD(0xF8, 0x110); - /* 110 */ UnkSystem5 mUnk_110; - /* 130 */ void *mUnk_130; + /* F4 */ UnkStruct_ov063_02163784 mUnk_F4; /* 134 */ STRUCT_PAD(0x134, 0x160); /* 160 */ ActorUnkRBLS(); - /* 18 */ virtual unk32 vfunc_18(void); - /* 20 */ virtual void vfunc_20(void); - /* 24 */ virtual void vfunc_24(void); - /* 2C */ virtual void vfunc_2C(void); - - /* 4C */ virtual ~ActorUnkRBLS() override; + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 20 */ virtual void vfunc_20(void) override; + /* 24 */ virtual void vfunc_24(void) override; + /* 2C */ virtual void vfunc_2C(unk32 param1) override; void func_ov063_0215f3d4(void); void func_ov063_0215f500(void); @@ -56,7 +40,6 @@ public: /* 00 (base) */ ActorProfileUnkRBLS(); - ~ActorProfileUnkRBLS(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkRMSBase.hpp b/include/Actor/ActorUnkRMSBase.hpp new file mode 100644 index 00000000..c6e5e656 --- /dev/null +++ b/include/Actor/ActorUnkRMSBase.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include "Render/ModelRender.hpp" +#include "Unknown/UnkStruct_ov031_02114870.hpp" +#include "nitro/types.h" +#include "nns/g3d/g3d.h" + +class ActorUnkRMSBase : public UnkStruct_ov031_02114870 { +public: + /* 00 (base) */ + /* F4 */ ModelRender mUnk_F4; + /* 154 */ u8 mUnk_154; + /* 155 */ unk8 mUnk_155; + /* 156 */ STRUCT_PAD(0x156, 0x158); + /* 158 */ + + ActorUnkRMSBase(); + + /* 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; + /* 2C */ virtual void vfunc_2C(unk32 param1) override; + /* 58 */ virtual G3d_Model *vfunc_58() = 0; +}; diff --git a/include/Actor/ActorUnkRMSD.hpp b/include/Actor/ActorUnkRMSD.hpp index c9965365..369e0605 100644 --- a/include/Actor/ActorUnkRMSD.hpp +++ b/include/Actor/ActorUnkRMSD.hpp @@ -1,48 +1,25 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" -#include "Render/ModelRender.hpp" +#include "Actor/ActorUnkRMSBase.hpp" +#include "Actor/ActorUnkRMSV.hpp" #include "global.h" #include "nns/g3d/g3d.h" #include "types.h" -class ActorUnkRMSD_C4 : public Actor_C4 { -public: - ActorUnkRMSD_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; -}; - -class ActorUnkRMSBase : public Actor { -public: - /* 00 (base) */ - /* 94 */ ModelRender mUnk_94; - /* F4 */ ModelRender mUnk_F4; - /* 154 */ unk32 mUnk_154; - /* 158 */ - - ActorUnkRMSBase(); -}; - class ActorUnkRMSD : public ActorUnkRMSBase { public: /* 00 (base) */ - /* 158 */ unk32 mUnk_158; //! INFO: Some class with a vfunc_34 - /* 15C */ STRUCT_PAD(0x15C, 0x1D4); //! INFO: Force alignment to match ::Create + /* 158 */ UnkStruct_ov063_021632e4 mUnk_158; + /* 198 */ STRUCT_PAD(0x198, 0x1D4); //! INFO: Force alignment to match ::Create /* 1D4 */ ActorUnkRMSD(); - /* 18 */ virtual unk32 vfunc_18(void) override; + /* 18 */ virtual bool vfunc_18(unk32 param1) override; /* 20 */ virtual void vfunc_20(void) override; /* 24 */ virtual void vfunc_24(void) override; - /* 4C */ virtual ~ActorUnkRMSD() override; /* 54 */ virtual G3d_Model *vfunc_54(void); /* 58 */ virtual G3d_Model *vfunc_58(void); }; @@ -53,7 +30,6 @@ public: /* D8 */ ActorProfileUnkRMSD(); - ~ActorProfileUnkRMSD(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkRMSF.hpp b/include/Actor/ActorUnkRMSF.hpp index 9a04c1a6..5551867d 100644 --- a/include/Actor/ActorUnkRMSF.hpp +++ b/include/Actor/ActorUnkRMSF.hpp @@ -2,32 +2,9 @@ #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" -#include "Actor/ActorUnkRMSD.hpp" -#include "Render/ModelRender.hpp" +#include "Actor/ActorUnkRMSBase.hpp" #include "global.h" #include "nns/g3d/g3d.h" -#include "types.h" - -class ActorUnkRMSF_C4 : public Actor_C4 { -public: - ActorUnkRMSF_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; -}; - -class ActorUnkRMSF_Base : public Actor { -public: - /* 00 (base) */ - /* 94 */ ModelRender mUnk_94; - /* F4 */ ModelRender mUnk_F4; - /* 154 */ unk32 mUnk_154; - /* 158 */ - - ActorUnkRMSF_Base(); -}; class ActorUnkRMSF : public ActorUnkRMSBase { public: diff --git a/include/Actor/ActorUnkRMSS.hpp b/include/Actor/ActorUnkRMSS.hpp index e12c3fcd..abe833a4 100644 --- a/include/Actor/ActorUnkRMSS.hpp +++ b/include/Actor/ActorUnkRMSS.hpp @@ -1,23 +1,10 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" -#include "Actor/ActorUnkRMSD.hpp" +#include "Actor/ActorUnkRMSBase.hpp" #include "global.h" #include "nns/g3d/g3d.h" -#include "types.h" - -class ActorUnkRMSS_C4 : public Actor_C4 { -public: - ActorUnkRMSS_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; -}; class ActorUnkRMSS : public ActorUnkRMSBase { public: diff --git a/include/Actor/ActorUnkRMSV.hpp b/include/Actor/ActorUnkRMSV.hpp index 94d6e673..9a3e5e90 100644 --- a/include/Actor/ActorUnkRMSV.hpp +++ b/include/Actor/ActorUnkRMSV.hpp @@ -1,42 +1,50 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "Actor/Actor.hpp" #include "Actor/ActorProfile.hpp" +#include "Actor/ActorUnkRMSBase.hpp" +#include "Actor/ActorUnkZLSL_ZSRS.hpp" +#include "Render/ModelRender.hpp" #include "global.h" #include "nns/g3d/g3d.h" #include "types.h" -class ActorUnkRMSV_C4 : public Actor_C4 { -public: - ActorUnkRMSV_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; -}; - -class ActorUnkRMSV : public Actor { //! INFO: ActorUnkRMSBase ? -> weirdly doesn't match first dtor +class UnkStruct_ov063_021632e4 : public UnkStruct_ov000_020b31a8 { public: /* 00 (base) */ - /* 94 */ STRUCT_PAD(0x94, 0x158); - /* 158 */ unk32 mUnk_158; //! INFO: Some class with a vfunc_34 - /* 15C */ STRUCT_PAD(0x15C, 0x1D4); //! INFO: Force alignment to match ::Create - /* 1D4 */ unk32 mUnk_1D4; //! INFO: Some class with a vfunc_34 - /* 1D8 */ STRUCT_PAD(0x1D8, 0x250); //! INFO: Force alignment to match ::Create + /* 1C */ UnkSystem5 mUnk_1C; + /* 3C */ void *mUnk_3C; + /* 40 */ + + UnkStruct_ov063_021632e4(ModelRender *param1, unk32 param2) : + UnkStruct_ov000_020b31a8(&mUnk_1C, param1, param2), + mUnk_1C(&mUnk_3C, NULL) { + if (param2 != 0) { + mUnk_1C.mpModel = mUnk_10; + } + }; + + /* 30 */ virtual s8 vfunc_30() override; + /* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2) override; + /* 3C */ virtual void vfunc_3C() override; +}; + +class ActorUnkRMSV : public ActorUnkRMSBase { +public: + /* 00 (base) */ + /* 158 */ UnkStruct_ov063_021632e4 mUnk_158; + /* 198 */ STRUCT_PAD(0x198, 0x1D4); //! INFO: Force alignment to match ::Create + /* 1D4 */ UnkStruct_ov063_021632e4 mUnk_1D4; + /* 214 */ STRUCT_PAD(0x214, 0x250); //! INFO: Force alignment to match ::Create /* 250 */ ActorUnkRMSV(); - /* 18 */ virtual unk32 vfunc_18(void); - /* 20 */ virtual void vfunc_20(void); - /* 24 */ virtual void vfunc_24(void); - /* 4C */ virtual ~ActorUnkRMSV() override; - /* 50 */ virtual void vfunc_50(void); // dtor, override? - /* 54 */ virtual G3d_Model *vfunc_54(void); - /* 58 */ virtual G3d_Model *vfunc_58(void); + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 20 */ virtual void vfunc_20(void) override; + /* 24 */ virtual void vfunc_24(void) override; + /* 54 */ virtual G3d_Model *vfunc_54(void) override; + /* 58 */ virtual G3d_Model *vfunc_58(void) override; void func_ov063_0215bd44(void); void func_ov063_0215bdec(void); @@ -49,7 +57,6 @@ public: /* 00 (base) */ ActorProfileUnkRMSV(); - ~ActorProfileUnkRMSV(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkRMSW.hpp b/include/Actor/ActorUnkRMSW.hpp index 0ddf2129..b31b8df6 100644 --- a/include/Actor/ActorUnkRMSW.hpp +++ b/include/Actor/ActorUnkRMSW.hpp @@ -1,50 +1,37 @@ -//! TODO: This file was generated automatically and might contain errors - #pragma once #include "Actor/Actor.hpp" +#include "Actor/ActorId.hpp" #include "Actor/ActorProfile.hpp" -#include "Actor/ActorUnkRMSD.hpp" +#include "Actor/ActorUnkRMSBase.hpp" +#include "Actor/ActorUnkRMSV.hpp" #include "global.h" #include "nns/g3d/g3d.h" #include "types.h" struct UnkStruct_data_ov063_02163388 { /* 00 */ unk32 mUnk_00; - /* 04 */ unk32 mUnk_04; + /* 04 */ ActorId mUnk_04; /* 08 */ unk32 mUnk_08; /* 0C */ unk32 mUnk_0C; /* 10 */ unk32 mUnk_10; /* 14 */ unk32 mUnk_14; }; -class ActorUnkRMSW_C4 : public Actor_C4 { -public: - ActorUnkRMSW_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; -}; - class ActorUnkRMSW : public ActorUnkRMSBase { public: /* 00 (base) */ - /* 158 */ unk32 mUnk_158; //! INFO: Some class with a vfunc_34 - /* 15C */ STRUCT_PAD(0x15C, 0x1D4); //! INFO: Force alignment to match ::Create + /* 158 */ UnkStruct_ov063_021632e4 mUnk_158; + /* 198 */ STRUCT_PAD(0x198, 0x1D4); //! INFO: Force alignment to match ::Create /* 1D4 */ ActorUnkRMSW(); - /* 18 */ virtual unk32 vfunc_18(void); - /* 20 */ virtual void vfunc_20(void); - /* 24 */ virtual void vfunc_24(void); - - /* 4C */ virtual ~ActorUnkRMSW() override; - - /* 54 */ virtual G3d_Model *vfunc_54(void); - /* 58 */ virtual G3d_Model *vfunc_58(void); + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 20 */ virtual void vfunc_20(void) override; + /* 24 */ virtual void vfunc_24(void) override; + /* 54 */ virtual G3d_Model *vfunc_54(void) override; + /* 58 */ virtual G3d_Model *vfunc_58(void) override; }; class ActorProfileUnkRMSW : public ActorProfile_Derived1 { @@ -52,7 +39,6 @@ public: /* 00 (base) */ ActorProfileUnkRMSW(); - ~ActorProfileUnkRMSW(); /* 0C */ virtual Actor *Create(); diff --git a/include/Actor/ActorUnkZLSL_ZSRS.hpp b/include/Actor/ActorUnkZLSL_ZSRS.hpp index 6012d072..16452fee 100644 --- a/include/Actor/ActorUnkZLSL_ZSRS.hpp +++ b/include/Actor/ActorUnkZLSL_ZSRS.hpp @@ -50,7 +50,7 @@ public: /* 0C */ unk32 mUnk_0C; /* 10 */ G3d_Model *mUnk_10; /* 14 */ unk32 mUnk_14; - /* 18 */ unk8 mUnk_18; // deduced from strb [..., 0x18] + /* 18 */ unk8 mUnk_18; /* 19 */ STRUCT_PAD(0x19, 0x1C); /* 1C */ @@ -73,7 +73,7 @@ public: /* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2); /* 3C */ virtual void vfunc_3C(); - void func_ov000_02099f8(ActorUnkZLSL_AnimationTag param1, unk32 param2); + void func_ov000_02099ff8(ActorUnkZLSL_AnimationTag param1, unk32 param2); }; class ActorUnkZLSL_27CC : public UnkStruct_ov000_020b31a8 { diff --git a/include/Unknown/UnkStruct_ov031_02114664.hpp b/include/Unknown/UnkStruct_ov031_02114664.hpp new file mode 100644 index 00000000..5035d5be --- /dev/null +++ b/include/Unknown/UnkStruct_ov031_02114664.hpp @@ -0,0 +1,14 @@ +#pragma once + +#include "Actor/Actor.hpp" + +class UnkStruct_ov031_02114664 : public Actor { +public: + /* 94 */ + + UnkStruct_ov031_02114664(); + + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 1C */ virtual void vfunc_1C() override; + /* 2C */ virtual void vfunc_2C(unk32 param1) override; +}; diff --git a/include/Unknown/UnkStruct_ov031_02114870.hpp b/include/Unknown/UnkStruct_ov031_02114870.hpp new file mode 100644 index 00000000..2827c08c --- /dev/null +++ b/include/Unknown/UnkStruct_ov031_02114870.hpp @@ -0,0 +1,16 @@ +#pragma once + +#include "Unknown/UnkStruct_ov031_02114664.hpp" +#include "nns/g3d/g3d.h" + +class UnkStruct_ov031_02114870 : public UnkStruct_ov031_02114664 { +public: + /* 94 */ ModelRender mUnk_94; + /* F4 */ + + UnkStruct_ov031_02114870(); + + /* 18 */ virtual bool vfunc_18(unk32 param1) override; + /* 2C */ virtual void vfunc_2C(unk32 param1) override; + /* 54 */ virtual G3d_Model *vfunc_54(); +}; diff --git a/src/031_Land/Actor/ActorUnkEFSB.cpp b/src/031_Land/Actor/ActorUnkEFSB.cpp index 35b29b22..55c10974 100644 --- a/src/031_Land/Actor/ActorUnkEFSB.cpp +++ b/src/031_Land/Actor/ActorUnkEFSB.cpp @@ -25,7 +25,7 @@ ActorUnkEFSB::ActorUnkEFSB() : bool ActorUnkEFSB::vfunc_18(unk32 param1) { this->mUnk_0F8.vfunc_1C(data_ov031_02114ed0[0], 0x1000, 0x11F, 0x0); - this->mUnk_154.func_ov000_02099f8(data_ov031_02114ed0[0], 0x1000); + this->mUnk_154.func_ov000_02099ff8(data_ov031_02114ed0[0], 0x1000); this->mUnk_1B0 = this->mUnk_5C.mParams[0] << 0xC; if (this->mUnk_1B0 == 0) { diff --git a/src/063_Shrine/Actor/ActorUnkCANS.cpp b/src/063_Shrine/Actor/ActorUnkCANS.cpp index 25bdc264..9f3eda18 100644 --- a/src/063_Shrine/Actor/ActorUnkCANS.cpp +++ b/src/063_Shrine/Actor/ActorUnkCANS.cpp @@ -6,7 +6,6 @@ #include "Actor/ActorRef.hpp" #include "Actor/ActorShotArrow.hpp" #include "Actor/ActorUnkCASE.hpp" -#include "Actor/ActorUnkZLSL_ZSRS.hpp" #include "Map/MapObjectId.hpp" #include "MapObject/MapObject.hpp" #include "MapObject/MapObjectManager.hpp" @@ -33,20 +32,6 @@ extern const char data_ov063_02162528[0x10]; // = "mCANS1"; extern const char data_ov063_02162538[0x10]; // = "Rarm1"; extern const char data_ov063_02162548[0x10]; // = "locator1"; -static PTMF data_ov063_02162fb0[0xA] = { - ActorUnkCANS::func_ov063_02158db0, ActorUnkCANS::func_ov063_02159100, ActorUnkCANS::func_ov063_02159258, - ActorUnkCANS::func_ov063_02159494, ActorUnkCANS::func_ov063_02159618, ActorUnkCANS::func_ov063_02159784, - ActorUnkCANS::func_ov063_021599e4, ActorUnkCANS::func_ov063_02159d68, ActorUnkCANS::func_ov063_02159e1c, - ActorUnkCANS::func_ov063_02159ec0, -}; - -static PTMF data_ov063_02162f58[0xA] = { - ActorUnkCANS::func_ov063_02158d40, ActorUnkCANS::func_ov063_021590c8, ActorUnkCANS::func_ov063_021591f4, - ActorUnkCANS::func_ov063_02159408, ActorUnkCANS::func_ov063_021595a4, ActorUnkCANS::func_ov063_02159714, - ActorUnkCANS::func_ov063_021598fc, ActorUnkCANS::func_ov063_02159ca8, ActorUnkCANS::func_ov063_02159dfc, - ActorUnkCANS::func_ov063_02159e20, -}; - /* Contains a string somewhere with info such as "attack" or "guard" */ extern ActorUnkZLSL_AnimationTag data_ov063_02163068; // = {0, 0x6B6C6177, 0x41, 0, 0, 0}; extern ActorUnkZLSL_AnimationTag data_ov063_02163080; @@ -56,12 +41,6 @@ extern ActorUnkZLSL_AnimationTag data_ov063_021630b0; extern VecFx32 data_027e07d4; extern Mat4x3p data_027e0964; extern UnkStruct_027e09c0 *data_027e09c0; -extern u16 data_ov000_020aed00; -extern u16 data_ov000_020aecf0[0x4]; -extern u16 data_ov000_020aecf4[0x4]; //! INFO: Unsure about the size -extern unk32 data_ov000_020aecf8[0x2]; //! INFO: Unsure about the size -extern unk32 data_ov000_020aecfc[0x2]; //! INFO: Unsure about the size -extern Cylinder data_ov063_02162e90; extern "C" void func_01ff916c(unk32 *param1, unk32 param2, unk32 param3); extern "C" unk32 func_01ff9258(unk32, unk32); @@ -74,7 +53,14 @@ extern "C" void func_01ffb714(VecFx32 *, VecFx32 *, VecFx32 *); extern "C" unk32 func_01ffbbe0(unk32 param1, unk32 param2); extern "C" void func_01ffc6d4(ModelRender *param1, UnkAngleStruct param2, VecFx32 *param3); extern "C" void func_0200eab0(G3d_Model *, unk32, u8); -extern "C" void func_ov000_020578a4(UnkSystem5 *param1, unk32 param2, unk32 param3); + +// Overlay 0 +extern u16 data_ov000_020aed00; +extern u16 data_ov000_020aecf0[0x4]; +extern u16 data_ov000_020aecf4[0x4]; //! INFO: Unsure about the size +extern unk32 data_ov000_020aecf8[0x2]; //! INFO: Unsure about the size +extern unk32 data_ov000_020aecfc[0x2]; //! INFO: Unsure about the size + extern "C" void func_ov000_02057c98(ModelRender *param1, UnkSystem5 *param2); #if IS_JP extern "C" unk32 func_ov000_0205c384(VecFx32 *param1, VecFx32 *param2); @@ -86,20 +72,40 @@ extern "C" unk32 func_ov000_02098d7c(ActorUnkCANS *param1, UnkStruct_ov063_02162 extern "C" unk32 func_ov000_02099450(ActorUnkCANS *param1, void *param2, VecFx32 *param3, unk32 param4, u16 param5); extern "C" void func_ov000_020994a0(ActorUnkCANS *); extern "C" unk32 func_ov000_02099a0c(void *param1); + +// Overlay 17 extern "C" void func_ov017_020bf050(ActorUnkCANS *param1, UnkStruct_ov063_02162e88 *param2, unk32 param3); extern "C" void func_ov017_020bf178(ActorUnkCANS *param1, UnkStruct_ov063_02162e88 *param2, unk32 param3); extern "C" void func_ov017_020bf634(ActorUnkCANS *param1, unk16 *param2, unk32 param3, unk32 param4); extern "C" void func_ov017_020bf688(ActorUnkCANS *param1); extern "C" void func_ov017_020bf894(ActorUnkCANS *param1, void *param2); extern "C" unk32 func_ov017_020bef4c(ActorUnkCANS *param1, unk32 param2); + +// Overlay 26 #if IS_JP extern "C" void func_ov026_020f46a8(Actor *param1, VecFx32 *param2, bool param3); #endif extern "C" void G3d_GetCurrentMtx(Mat4x3p *mtx1, Mat3p *mtx2); +const Cylinder data_ov063_02162e90(0, 0x99A, 0, 0x99A); + DECL_PROFILE(ActorProfileUnkCANS); +static PTMF data_ov063_02162f58[0xB] = { + ActorUnkCANS::func_ov063_02158b34, ActorUnkCANS::func_ov063_02158d40, ActorUnkCANS::func_ov063_021590c8, + ActorUnkCANS::func_ov063_021591f4, ActorUnkCANS::func_ov063_02159408, ActorUnkCANS::func_ov063_021595a4, + ActorUnkCANS::func_ov063_02159714, ActorUnkCANS::func_ov063_021598fc, ActorUnkCANS::func_ov063_02159ca8, + ActorUnkCANS::func_ov063_02159dfc, ActorUnkCANS::func_ov063_02159e20, +}; + +static PTMF data_ov063_02162fb0[0xB] = { + ActorUnkCANS::func_ov063_02158b98, ActorUnkCANS::func_ov063_02158db0, ActorUnkCANS::func_ov063_02159100, + ActorUnkCANS::func_ov063_02159258, ActorUnkCANS::func_ov063_02159494, ActorUnkCANS::func_ov063_02159618, + ActorUnkCANS::func_ov063_02159784, ActorUnkCANS::func_ov063_021599e4, ActorUnkCANS::func_ov063_02159d68, + ActorUnkCANS::func_ov063_02159e1c, ActorUnkCANS::func_ov063_02159ec0, +}; + Actor *ActorProfileUnkCANS::Create() { return new(HeapIndex_2) ActorUnkCANS(); } @@ -111,64 +117,12 @@ ActorProfileUnkCANS::ActorProfileUnkCANS() : mUnk_04.size = 0xCCD; } -UnkStruct_ov063_02162ea8::UnkStruct_ov063_02162ea8() { - VecFx32_Init(0, 0, 0, &mUnk_08); -} -UnkStruct_ov063_02162ea8::~UnkStruct_ov063_02162ea8() {} - -bool UnkStruct_ov063_02162ea8::vfunc_08(UnkStruct_ov031_020f3310 *param1) { - bool retVal = UnkStruct_ov031_Items_00::vfunc_08(param1); - if (retVal && func_01ff9258(param1->mUnk_08.x, param1->mUnk_08.z) > 0) { - // VecFx16_Copy2VecFx32(¶m1->mUnk_08, &mUnk_08); - // Better match - unk16 tmp1 = param1->mUnk_08.x; - unk16 tmp3 = param1->mUnk_08.z; - unk16 tmp2 = param1->mUnk_08.y; - mUnk_08.x = tmp1; - mUnk_08.y = tmp2; - mUnk_08.z = tmp3; - } - return retVal; -} - -bool UnkStruct_ov063_02162ea8::vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 *param2, unk32 param3) { - UnkStruct_02162ea8_vfunc_0C *param2Struct = (UnkStruct_02162ea8_vfunc_0C *) param2; - if ((*(u16 *) ¶m2Struct->mUnk_04 & 0x1000) != 0) { - UnkStruct_02162ea8_vfunc_0C tmp; - tmp.mUnk_04 = *(volatile unk32 *) ¶m2Struct->mUnk_04; - - Vec2bCpp vec; - *(unk32 *) &vec = tmp.mUnk_04; - - MapObject *mapObject = gpMapObjManager->func_01fff498(vec); - - if (mapObject != NULL) { - MapObjectId id = mapObject->GetMapObjectId(); - if (id == MapObjectId_Grass || id == MapObjectId_LEVS || id == MapObjectId_STSH) { - return false; - } - } - } - return UnkStruct_027e0ce0_38_Base::vfunc_0C((const UnkStruct_ov031_020e54d4 *) param2Struct->mUnk_04, param2, - param2Struct->mUnk_04); -} - UnkStruct_ov063_02162ee8::UnkStruct_ov063_02162ee8(G3d_Model *pModel) : UnkStruct_ov000_020b3268(pModel), mUnk_6C(ModelRenderBase::func_ov000_02057f40(data_ov063_02162528)), mUnk_70(ModelRenderBase::func_ov000_02057f18(data_ov063_02162538)), mUnk_74(ModelRenderBase::func_ov000_02057f18(data_ov063_02162548)) {} -void UnkStruct_ov063_02162f14::vfunc_38(unk32 param1, unk32 param2) { - func_ov000_020578a4(mUnk_04, param1, param2); - func_ov000_020578a4(mUnk_1C, param1, param2); -} - -void UnkStruct_ov063_02162f14::vfunc_3C() { - mUnk_08->func_ov000_02057c98(mUnk_04); - mUnk_08->func_ov000_02057c98(mUnk_1C); -} - UnkStruct_ov063_02162e88::UnkStruct_ov063_02162e88(void *param1) : mUnk_20(param1) {} @@ -234,22 +188,7 @@ ActorUnkCANS::ActorUnkCANS() : mUnk_270 *= mUnk_276; } -void ActorUnkCANS::vfunc_10(Cylinder *param1) { - Cylinder *cylinder = this->mUnk_34; - *param1 = *cylinder; - VecFx32_Add(¶m1->pos, &this->mPos, ¶m1->pos); - - if (this->mUnk_268 != NULL) { - fx16 angle = this->mAngle; - VecFx32 pos; - VecFx32_Init(FLOAT_TO_FX32(0.25f), 0, 0, &pos); - func_01ff9638(&pos, angle); - VecFx32_Add(¶m1->pos, &pos, ¶m1->pos); - } -} - -// return bool ? -unk32 ActorUnkCANS::vfunc_18(void) { +bool ActorUnkCANS::vfunc_18(unk32 param1) { this->mUnk_0B0.func_ov000_02057c38(6, 2); this->mUnk_0B0.func_ov000_0209a7b8(this, (UnkSystem4_UnkCallback) ActorUnkCANS::func_ov063_0215a678); @@ -259,7 +198,7 @@ unk32 ActorUnkCANS::vfunc_18(void) { ActorUnkCASE::func_ov063_0215acec(&var, this->mRef); this->mUnk_268 = (ActorUnkCASE *) actorManager->func_01fff3b4(var); - return 1; + return true; } void ActorUnkCANS::vfunc_1C(void) { @@ -287,6 +226,32 @@ void ActorUnkCANS::vfunc_1C(void) { this->func_ov063_02158448(0); } +void ActorUnkCANS::func_ov063_02158424(void) { + mUnk_274 = 0; + if (mState == 6) { + mUnk_23A = 0x14; + mUnk_238 = 0; + } +} + +void ActorUnkCANS::func_ov063_02158448(unk32 param1) { + this->func_ov063_02158424(); + mState = param1; + CALL_PTMF(PTMF, data_ov063_02162f58[mState]); +} + +void ActorUnkCANS::func_ov063_02158490(void) { + mUnk_48 -= mUnk_200.mUnk_1E; + func_ov017_020bf050(this, &mUnk_200, 1); + this->func_ov063_02158448(2); +} + +void ActorUnkCANS::vfunc_24(void) { + if (data_027e09b8->HasAdventureFlag(AdventureFlag_VisitedIslandSanctuaryFirstTime)) { + this->vfunc_20(); + } +} + void ActorUnkCANS::vfunc_20(void) { if (mUnk_238 < mUnk_23A) { mUnk_238++; @@ -490,12 +455,6 @@ void ActorUnkCANS::vfunc_20(void) { } } -void ActorUnkCANS::vfunc_24(void) { - if (data_027e09b8->HasAdventureFlag(AdventureFlag_VisitedIslandSanctuaryFirstTime)) { - this->vfunc_20(); - } -} - void ActorUnkCANS::vfunc_2C(unk32 param1) { if (!this->func_01fff5d0(param1, 0)) { return; @@ -516,31 +475,11 @@ void ActorUnkCANS::vfunc_2C(unk32 param1) { } } -void ActorUnkCANS::func_ov063_02158424(void) { - mUnk_274 = 0; - if (mState == 6) { - mUnk_23A = 0x14; - mUnk_238 = 0; - } -} - -void ActorUnkCANS::func_ov063_02158448(unk32 param1) { - this->func_ov063_02158424(); - mState = param1; - CALL_PTMF(PTMF, data_ov063_02162f58[mState]); -} - -void ActorUnkCANS::func_ov063_02158490(void) { - mUnk_48 -= mUnk_200.mUnk_1E; - func_ov017_020bf050(this, &mUnk_200, 1); - this->func_ov063_02158448(2); -} - void ActorUnkCANS::func_ov063_02158b0c(void) { mUnk_268 = NULL; ((u16 *) mUnk_38)[4] = 1; - mUnk_34 = &data_ov063_02162e90; - mUnk_30 = &data_ov063_02162e90; + mUnk_34 = (Cylinder *) &data_ov063_02162e90; + mUnk_30 = (Cylinder *) &data_ov063_02162e90; } void ActorUnkCANS::func_ov063_02158b34(void) { @@ -1189,6 +1128,20 @@ unk32 ActorUnkCANS::func_ov063_0215a5d8(void) { return data_ov000_020aecfc[0]; } +void ActorUnkCANS::vfunc_10(Cylinder *param1) { + Cylinder *cylinder = this->mUnk_34; + *param1 = *cylinder; + VecFx32_Add(¶m1->pos, &this->mPos, ¶m1->pos); + + if (this->mUnk_268 != NULL) { + fx16 angle = this->mAngle; + VecFx32 pos; + VecFx32_Init(FLOAT_TO_FX32(0.25f), 0, 0, &pos); + func_01ff9638(&pos, angle); + VecFx32_Add(¶m1->pos, &pos, ¶m1->pos); + } +} + void ActorUnkCANS::func_ov063_0215a678(ActorUnkCANS *actor, UnkStruct_func_ov063_0215a678 *param2) { ModelRender *modelRender = param2->mUnk_04; u8 var1; @@ -1260,5 +1213,55 @@ void ActorUnkCANS::func_ov063_0215a678(ActorUnkCANS *actor, UnkStruct_func_ov063 } } -ActorUnkCANS::~ActorUnkCANS() {} -ActorProfileUnkCANS::~ActorProfileUnkCANS() {} +UnkStruct_ov063_02162ea8::UnkStruct_ov063_02162ea8() { + VecFx32_Init(0, 0, 0, &mUnk_08); +} + +UnkStruct_ov063_02162ea8::~UnkStruct_ov063_02162ea8() {} + +bool UnkStruct_ov063_02162ea8::vfunc_08(const UnkStruct_ov031_020f3310 *param1) { + bool retVal = UnkStruct_ov031_Items_00::vfunc_08(param1); + if (retVal && func_01ff9258(param1->mUnk_08.x, param1->mUnk_08.z) > 0) { + // VecFx16_Copy2VecFx32(¶m1->mUnk_08, &mUnk_08); + // Better match + unk16 tmp1 = param1->mUnk_08.x; + unk16 tmp3 = param1->mUnk_08.z; + unk16 tmp2 = param1->mUnk_08.y; + mUnk_08.x = tmp1; + mUnk_08.y = tmp2; + mUnk_08.z = tmp3; + } + return retVal; +} + +bool UnkStruct_ov063_02162ea8::vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 *param2, unk32 param3) { + UnkStruct_02162ea8_vfunc_0C *param2Struct = (UnkStruct_02162ea8_vfunc_0C *) param2; + if ((*(u16 *) ¶m2Struct->mUnk_04 & 0x1000) != 0) { + UnkStruct_02162ea8_vfunc_0C tmp; + tmp.mUnk_04 = *(volatile unk32 *) ¶m2Struct->mUnk_04; + + Vec2bCpp vec; + *(unk32 *) &vec = tmp.mUnk_04; + + MapObject *mapObject = gpMapObjManager->func_01fff498(vec); + + if (mapObject != NULL) { + MapObjectId id = mapObject->GetMapObjectId(); + if (id == MapObjectId_Grass || id == MapObjectId_LEVS || id == MapObjectId_STSH) { + return false; + } + } + } + return UnkStruct_027e0ce0_38_Base::vfunc_0C((const UnkStruct_ov031_020e54d4 *) param2Struct->mUnk_04, param2, + param2Struct->mUnk_04); +} + +void UnkStruct_ov063_02162f14::vfunc_3C() { + mUnk_08->func_ov000_02057c98(mUnk_04); + mUnk_08->func_ov000_02057c98(mUnk_1C); +} + +void UnkStruct_ov063_02162f14::vfunc_38(unk32 param1, unk32 param2) { + mUnk_04->func_ov000_020578a4(param1, param2); + mUnk_1C->func_ov000_020578a4(param1, param2); +} diff --git a/src/063_Shrine/Actor/ActorUnkCASE.cpp b/src/063_Shrine/Actor/ActorUnkCASE.cpp index 094aa1d2..fb02179c 100644 --- a/src/063_Shrine/Actor/ActorUnkCASE.cpp +++ b/src/063_Shrine/Actor/ActorUnkCASE.cpp @@ -17,7 +17,6 @@ #include "Unknown/UnkStruct_027e0cec.hpp" #include "Unknown/UnkStruct_027e0d38.hpp" #include "flags.h" -#include "global.h" #include "nitro/fx.h" #include "nitro/math.h" #include "nns/g3d/g3d.h" @@ -133,6 +132,16 @@ void ActorUnkCASE_174::vfunc_10(Actor *actor) { func_ov000_0207b70c(this, actor); } +// Static +void ActorUnkCASE::func_ov063_0215acec(ActorRef *ref1, ActorRef ref2) { + ActorParams params; + + params.mUnk_28 = 0; + params.func_ov000_020975f8(); + params.mUnk_28 = ref2; + Actor::func_ov000_020973f4(ref1, &data_ov000_020b539c_eur, ActorId_CASE, ¶ms, 0); +} + ActorUnkCASE::ActorUnkCASE() : mUnk_0B0(G3d_GetModelPtr(((MapObjectProfile_Derived2_20 *) GET_PROFILE(ActorProfileUnkCASE)->vfunc_04())->mUnk_50)), mUnk_120(0), @@ -157,15 +166,6 @@ ActorUnkCASE::ActorUnkCASE() : mUnk_A8 = &data_ov063_02162558; } -void ActorUnkCASE::vfunc_10(Cylinder *param1) { - if (mUnk_14C != NULL) { - ((ActorUnkCASE *) mUnk_14C)->vfunc_10(param1); - return; - } - VecFx32_Copy(&mPos, ¶m1->pos); // doesn't match - param1->size = 0x800; -} - bool ActorUnkCASE::vfunc_18(unk32 param1) { mUnk_14C = gpActorManager->func_01fff3b4(mUnk_5C.mUnk_28); @@ -179,156 +179,6 @@ bool ActorUnkCASE::vfunc_18(unk32 param1) { return true; } -void ActorUnkCASE::vfunc_20() { - mUnk_150.mUnk_1C = 1; - - if (!func_ov017_020bef4c(this, 0x4000) && mUnk_48 != 0) { - bool cond = true; - if (mState != 1 && mState != 2) { - cond = false; - } - - if (!cond) { - return; - } - - if (mState == 3) { - this->func_ov063_0215b724(); - return; - } - } - - mUnk_3C = &mUnk_124; - - CALL_PTMF(PTMF, data_ov063_021630e0[mState]); - - VecFx32 *vec_base, *vec2; - u16 ret1; - fx16 x, y, z; - fx32 x_pos, x_neg, z_pos, z_neg; - - if (mUnk_14C != NULL) { - VecFx32 vec1; - VecFx32 *mUnk_14C_vec = (VecFx32 *) (((u8 *) mUnk_14C) + 0x25C); - vec1 = *mUnk_14C_vec; - func_01ffb714(&vec1, &mPos, &vec1); - - z = vec1.z; - y = vec1.y; - x = vec1.x; - - ((VecFx16 *) &mUnk_150.mUnk_0E)->x = x; - ((VecFx16 *) &mUnk_150.mUnk_0E)->y = y; - ((VecFx16 *) &mUnk_150.mUnk_0E)->z = z; - - vec2 = data_027e0ce0->func_01fff148(0); - vec_base = (VecFx32 *) (((u8 *) mUnk_14C) + 0x25C); - z_neg = vec2->z; - z_pos = vec_base->z; - x_pos = vec_base->x; - x_neg = vec2->x; - } else if (mState == 5) { - VecFx32 vec1; - vec1 = mUnk_1CC; - func_01ffb714(&vec1, &mPos, &vec1); - - z = vec1.z; - y = vec1.y; - x = vec1.x; - - ((VecFx16 *) &mUnk_150.mUnk_0E)->x = x; - ((VecFx16 *) &mUnk_150.mUnk_0E)->y = y; - ((VecFx16 *) &mUnk_150.mUnk_0E)->z = z; - - vec2 = data_027e0ce0->func_01fff148(0); - vec_base = &mUnk_1CC; - z_pos = vec_base->z; - z_neg = vec2->z; - x_pos = vec_base->x; - x_neg = vec2->x; - } else { - goto post; - } - - // Unsuccessful tries to remove the goto: duplicating raw code, duplicating an inline of the code, wrapping the code in an - // "if (cond1 || cond2) { code }" - ret1 = func_01ffbbe0(x_pos - x_neg, z_pos - z_neg); - s16 sin_val = SIN((u16) (s16) ret1); - s16 cos_val = COS((u16) (s16) ret1); - - ((VecFx16 *) &mUnk_150.mUnk_08)->y = y; - // ((VecFx16 *) &mUnk_150.mUnk_08)->x = x + (((1 - sin_val) * 0x8000) >> 0x10); - // ((VecFx16 *) &mUnk_150.mUnk_08)->z = z + (((1 - cos_val) * 0x8000) >> 0x10); - ((VecFx16 *) &mUnk_150.mUnk_08)->x = x + (s16) ((1 - sin_val) >> 1); - ((VecFx16 *) &mUnk_150.mUnk_08)->z = z + (s16) ((1 - cos_val) >> 1); - -post: - this->func_ov000_020989e0(); - - if (((u32) mState == 5 || mState == 4) && (mUnk_124.mUnk_08 & 0x3FFFF) != 0) { - switch (mUnk_124.mUnk_1C) { - case 4: - data_027e0d38->func_ov031_020d9c44(data_ov000_020aed00); - break; - case 11: - if (gpActorManager->func_01fff3b4(mUnk_124.mUnk_0C)->GetActorId() == ActorId_RollingStone) { - this->func_ov063_0215b724(); - } - break; - case 13: - break; - default: - func_ov000_020990c0(this, &mUnk_124, 1, 0); - break; - } - } - - if (GET_FLAG(mFlags, ActorFlag_Alive)) { - if (mState == 5) { - UnkStruct_ov000_0207de98 param2; - VecFx32_Copy(&mPos, ¶m2.vec); - param2.param1 = 0x548; - param2.param2 = 0x1000; - data_027e09c0->func_ov000_0207de98(mRef, ¶m2, mUnk_38); - } - } -} - -void ActorUnkCASE::vfunc_24() { - if (mState != 1 && mState != 2) { - return; - } - this->vfunc_20(); -} - -void ActorUnkCASE::vfunc_2C(unk32 param1) { - if (!this->func_01fff5d0(param1, 0)) { - return; - } - - if (mUnk_14C == NULL || ((u32 *) mUnk_14C)[0x268 >> 2] == NULL) { - fx32 sin_val = SIN((u16) mUnk_1C8); - fx32 cos_val = COS((u16) mUnk_1C8); - - Mat3p mat2; - Mat3p mat1; - Mat3p_InitZRotation(&mat1, sin_val, cos_val); - - func_01ffa60c(&mat1, &mUnk_1A4, &mat2); - mUnk_0B0.vfunc_14(&mat2, &mPos); - } -} - -// Static -void ActorUnkCASE::func_ov063_0215acec(ActorRef *ref1, ActorRef ref2) { - ActorParams params; - - params.mUnk_28 = 0; - params.func_ov000_020975f8(); - params.mUnk_28 = ref2; - Actor::func_ov000_020973f4(ref1, &data_ov000_020b539c_eur, ActorId_CASE, ¶ms, 0); -} - void ActorUnkCASE::func_ov063_0215aefc(ActorState param1) { mState = param1; mUnk_2C = data_ov000_020aecf8[0]; @@ -459,6 +309,146 @@ void ActorUnkCASE::func_ov063_0215b2b0(void) { // Matched void ActorUnkCASE::func_ov063_0215b2c4(void) {} +void ActorUnkCASE::vfunc_24() { + if (mState != 1 && mState != 2) { + return; + } + this->vfunc_20(); +} + +void ActorUnkCASE::vfunc_20() { + mUnk_150.mUnk_1C = 1; + + if (!func_ov017_020bef4c(this, 0x4000) && mUnk_48 != 0) { + bool cond = true; + if (mState != 1 && mState != 2) { + cond = false; + } + + if (!cond) { + return; + } + + if (mState == 3) { + this->func_ov063_0215b724(); + return; + } + } + + mUnk_3C = &mUnk_124; + + CALL_PTMF(PTMF, data_ov063_021630e0[mState]); + + VecFx32 *vec_base, *vec2; + u16 ret1; + fx16 x, y, z; + fx32 x_pos, x_neg, z_pos, z_neg; + + if (mUnk_14C != NULL) { + VecFx32 vec1; + VecFx32 *mUnk_14C_vec = (VecFx32 *) (((u8 *) mUnk_14C) + 0x25C); + vec1 = *mUnk_14C_vec; + func_01ffb714(&vec1, &mPos, &vec1); + + z = vec1.z; + y = vec1.y; + x = vec1.x; + + ((VecFx16 *) &mUnk_150.mUnk_0E)->x = x; + ((VecFx16 *) &mUnk_150.mUnk_0E)->y = y; + ((VecFx16 *) &mUnk_150.mUnk_0E)->z = z; + + vec2 = data_027e0ce0->func_01fff148(0); + vec_base = (VecFx32 *) (((u8 *) mUnk_14C) + 0x25C); + z_neg = vec2->z; + z_pos = vec_base->z; + x_pos = vec_base->x; + x_neg = vec2->x; + } else if (mState == 5) { + VecFx32 vec1; + vec1 = mUnk_1CC; + func_01ffb714(&vec1, &mPos, &vec1); + + z = vec1.z; + y = vec1.y; + x = vec1.x; + + ((VecFx16 *) &mUnk_150.mUnk_0E)->x = x; + ((VecFx16 *) &mUnk_150.mUnk_0E)->y = y; + ((VecFx16 *) &mUnk_150.mUnk_0E)->z = z; + + vec2 = data_027e0ce0->func_01fff148(0); + vec_base = &mUnk_1CC; + z_pos = vec_base->z; + z_neg = vec2->z; + x_pos = vec_base->x; + x_neg = vec2->x; + } else { + goto post; + } + + // Unsuccessful tries to remove the goto: duplicating raw code, duplicating an inline of the code, wrapping the code in an + // "if (cond1 || cond2) { code }" + ret1 = func_01ffbbe0(x_pos - x_neg, z_pos - z_neg); + s16 sin_val = SIN((u16) (s16) ret1); + s16 cos_val = COS((u16) (s16) ret1); + + ((VecFx16 *) &mUnk_150.mUnk_08)->y = y; + // ((VecFx16 *) &mUnk_150.mUnk_08)->x = x + (((1 - sin_val) * 0x8000) >> 0x10); + // ((VecFx16 *) &mUnk_150.mUnk_08)->z = z + (((1 - cos_val) * 0x8000) >> 0x10); + ((VecFx16 *) &mUnk_150.mUnk_08)->x = x + (s16) ((1 - sin_val) >> 1); + ((VecFx16 *) &mUnk_150.mUnk_08)->z = z + (s16) ((1 - cos_val) >> 1); + +post: + this->func_ov000_020989e0(); + + if (((u32) mState == 5 || mState == 4) && (mUnk_124.mUnk_08 & 0x3FFFF) != 0) { + switch (mUnk_124.mUnk_1C) { + case 4: + data_027e0d38->func_ov031_020d9c44(data_ov000_020aed00); + break; + case 11: + if (gpActorManager->func_01fff3b4(mUnk_124.mUnk_0C)->GetActorId() == ActorId_RollingStone) { + this->func_ov063_0215b724(); + } + break; + case 13: + break; + default: + func_ov000_020990c0(this, &mUnk_124, 1, 0); + break; + } + } + + if (GET_FLAG(mFlags, ActorFlag_Alive)) { + if (mState == 5) { + UnkStruct_ov000_0207de98 param2; + VecFx32_Copy(&mPos, ¶m2.vec); + param2.param1 = 0x548; + param2.param2 = 0x1000; + data_027e09c0->func_ov000_0207de98(mRef, ¶m2, mUnk_38); + } + } +} + +void ActorUnkCASE::vfunc_2C(unk32 param1) { + if (!this->func_01fff5d0(param1, 0)) { + return; + } + + if (mUnk_14C == NULL || ((u32 *) mUnk_14C)[0x268 >> 2] == NULL) { + fx32 sin_val = SIN((u16) mUnk_1C8); + fx32 cos_val = COS((u16) mUnk_1C8); + + Mat3p mat2; + Mat3p mat1; + Mat3p_InitZRotation(&mat1, sin_val, cos_val); + + func_01ffa60c(&mat1, &mUnk_1A4, &mat2); + mUnk_0B0.vfunc_14(&mat2, &mPos); + } +} + void ActorUnkCASE::func_ov063_0215b6c8(VecFx32 *param1, UnkAngleStruct angle) { VecFx32 vec = *param1; VecFx32_Copy(&vec, &mPos); @@ -474,6 +464,15 @@ void ActorUnkCASE::func_ov063_0215b724(void) { data_027e09a8->func_ov000_02071b30(0x9865, &mPos, 0); } +void ActorUnkCASE::vfunc_10(Cylinder *param1) { + if (mUnk_14C != NULL) { + ((ActorUnkCASE *) mUnk_14C)->vfunc_10(param1); + return; + } + VecFx32_Copy(&mPos, ¶m1->pos); // doesn't match + param1->size = 0x800; +} + void ActorUnkCASE::func_ov063_0215b814(ActorRef ref) { mUnk_1E4 = ref; @@ -578,6 +577,3 @@ void ActorUnkCASE::func_ov063_0215b99c(ActorUnkCASE *param1, UnkStruct_func_ov06 param2->mUnk_92 = 2; var2[0x25] = 2; } - -ActorUnkCASE::~ActorUnkCASE() {} -ActorProfileUnkCASE::~ActorProfileUnkCASE() {} diff --git a/src/063_Shrine/Actor/ActorUnkRBLS.cpp b/src/063_Shrine/Actor/ActorUnkRBLS.cpp index 8c1538f3..262a4f05 100644 --- a/src/063_Shrine/Actor/ActorUnkRBLS.cpp +++ b/src/063_Shrine/Actor/ActorUnkRBLS.cpp @@ -1,15 +1,13 @@ -//! TODO: This file was generated automatically and might contain errors - #include "Actor/ActorUnkRBLS.hpp" -#include "MapObject/MapObjectTreasureSpawned.hpp" +#include "Actor/Actor_Derived1.hpp" #include "Render/ModelRender.hpp" #include "Unknown/UnkStruct_027e0cd8.hpp" #include "nitro/fx.h" #include "nitro/math.h" -extern UnkStruct_data_ov063_02163740 data_ov063_02163740; // = {0, 0x534C4252, 0, 0, 0, 0}; +ActorUnkZLSL_AnimationTag data_ov063_02163740 = {0, "RBLS"}; -extern "C" void func_ov000_02099f64(unk32 *param1, UnkStruct_data_ov063_02163740 param2, unk32 param3); +extern "C" void func_ov000_02099f64(UnkStruct_ov063_02163784 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param3); DECL_PROFILE(ActorProfileUnkRBLS); @@ -21,36 +19,30 @@ ActorProfileUnkRBLS::ActorProfileUnkRBLS() : ActorProfile_Derived1(ActorId_RBLS) {} ActorUnkRBLS::ActorUnkRBLS() : - mUnk_94(NULL), - mUnk_110(&mUnk_130, NULL) {} + mUnk_94(G3d_GetModelPtr(GET_PROFILE(ActorProfileUnkRBLS)->mUnk_3C.mUnk_50)), + mUnk_F4(&mUnk_94, GET_PROFILE(ActorProfileUnkRBLS)->vfunc_04()) {} -unk32 ActorUnkRBLS::vfunc_18(void) { +bool ActorUnkRBLS::vfunc_18(unk32 param1) { this->mPos.x -= FLOAT_TO_FX32(0.5f); this->mPos.z -= FLOAT_TO_FX32(0.5f); this->mPos.y = 0; func_ov000_02099f64(&this->mUnk_F4, data_ov063_02163740, 0x1000); - (*(MapObjectTreasureSpawned *) &this->mUnk_F4).vfunc_3C(); + this->mUnk_F4.vfunc_3C(); data_027e0cd8->mUnk_0C->mUnk_12A = 0; - return 1; //! INFO: bool? + return true; } void ActorUnkRBLS::vfunc_20(void) { - (*(Actor *) &this->mUnk_F4).vfunc_34(); //! WARN: NOT an Actor + this->mUnk_F4.vfunc_34(); } void ActorUnkRBLS::vfunc_24(void) { this->vfunc_20(); } -void ActorUnkRBLS::vfunc_2C(void) { - ModelRender *param1 = &this->mUnk_94; - VecFx32 *param2 = &this->mPos; - param1->vfunc_18(param2); +void ActorUnkRBLS::vfunc_2C(unk32 param1) { + ModelRender *var1 = &this->mUnk_94; + VecFx32 *var2 = &this->mPos; + var1->vfunc_18(var2); } - -void ActorUnkRBLS::func_ov063_0215f3d4(void) {} -void ActorUnkRBLS::func_ov063_0215f500(void) {} - -ActorUnkRBLS::~ActorUnkRBLS() {} -ActorProfileUnkRBLS::~ActorProfileUnkRBLS() {} diff --git a/src/063_Shrine/Actor/ActorUnkRMSBase.cpp b/src/063_Shrine/Actor/ActorUnkRMSBase.cpp new file mode 100644 index 00000000..f0b21fed --- /dev/null +++ b/src/063_Shrine/Actor/ActorUnkRMSBase.cpp @@ -0,0 +1,33 @@ +#include "Actor/ActorUnkRMSBase.hpp" +#include "Unknown/UnkStruct_027e0cd8.hpp" +#include "Unknown/UnkStruct_ov031_02114870.hpp" + +ActorUnkRMSBase::ActorUnkRMSBase() : + mUnk_F4(NULL), + mUnk_154(0), + mUnk_155(0) {} + +bool ActorUnkRMSBase::vfunc_18(unk32 param1) { + bool res = UnkStruct_ov031_02114870::vfunc_18(param1); + mUnk_F4.vfunc_08(this->vfunc_58()); + data_027e0cd8->mUnk_0C->mUnk_12A = 1; + return res; +} + +// Matched +void ActorUnkRMSBase::vfunc_1C() {} + +// Matched +void ActorUnkRMSBase::vfunc_20() {} + +void ActorUnkRMSBase::vfunc_24() { + this->vfunc_20(); +} + +void ActorUnkRMSBase::vfunc_2C(unk32 param1) { + UnkStruct_ov031_02114870::vfunc_2C(param1); + + if (mUnk_154) { + mUnk_F4.vfunc_18(&mPos); + } +} diff --git a/src/063_Shrine/Actor/ActorUnkRMSD.cpp b/src/063_Shrine/Actor/ActorUnkRMSD.cpp index b46c4464..b92d9677 100644 --- a/src/063_Shrine/Actor/ActorUnkRMSD.cpp +++ b/src/063_Shrine/Actor/ActorUnkRMSD.cpp @@ -1,20 +1,16 @@ -//! TODO: This file was generated automatically and might contain errors - #include "Actor/ActorUnkRMSD.hpp" - -#include "Actor/ActorUnkRMSW.hpp" -#include "Render/ModelRender.hpp" +#include "Actor/ActorUnkRMSV.hpp" +#include "Actor/Actor_Derived1.hpp" #include "nns/g3d/g3d.h" #include "profile.hpp" #include "types.h" -char data_ov063_021625d8[0x10]; // = "RMSD_wall"; -char data_ov063_021625e8[0x10]; // = "RMSD"; +extern char data_ov063_021625d8[0x10]; // = "RMSD_wall"; +extern char data_ov063_021625e8[0x10]; // = "RMSD"; -extern struct UnkStruct_data_ov063_02163388 data_ov063_021634b0; // = {0, 0x44534D52, 0, 0, 0, 0}; +ActorUnkZLSL_AnimationTag data_ov063_021634b0 = {0, "RMSD"}; -extern "C" void func_ov000_02099ff8(unk32 *param1, struct UnkStruct_data_ov063_02163388 param2, unk32 param8); -extern "C" unk32 func_ov063_0215bb34(ActorUnkRMSD *); +extern "C" void func_ov000_02099ff8(unk32 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8); DECL_PROFILE(ActorProfileUnkRMSD); @@ -25,18 +21,12 @@ Actor *ActorProfileUnkRMSD::Create() { ActorProfileUnkRMSD::ActorProfileUnkRMSD() : ActorProfile_Derived1(ActorId_RMSD) {} -ActorUnkRMSBase::ActorUnkRMSBase() : - mUnk_94(NULL), - mUnk_F4(NULL) {} +ActorUnkRMSD::ActorUnkRMSD() : + mUnk_158(&mUnk_94, GET_PROFILE(ActorProfileUnkRMSD)->vfunc_04()) {} -ActorUnkRMSD::ActorUnkRMSD() { - ActorProfileUnkRMSD *r0 = GET_PROFILE(ActorProfileUnkRMSD); - r0->vfunc_04(); -} - -unk32 ActorUnkRMSD::vfunc_18(void) { - unk32 res = func_ov063_0215bb34(this); - func_ov000_02099ff8(&this->mUnk_158, data_ov063_021634b0, 0x1000); +bool ActorUnkRMSD::vfunc_18(unk32 param1) { + bool res = ActorUnkRMSBase::vfunc_18(param1); + this->mUnk_158.func_ov000_02099ff8(data_ov063_021634b0, 0x1000); return res; } @@ -54,6 +44,3 @@ G3d_Model *ActorUnkRMSD::vfunc_54(void) { G3d_Model *ActorUnkRMSD::vfunc_58(void) { return GetModelFromProfile3(&GET_PROFILE(ActorProfileUnkRMSD)->mUnk_3C, data_ov063_021625d8); } - -ActorUnkRMSD::~ActorUnkRMSD() {} -ActorProfileUnkRMSD::~ActorProfileUnkRMSD() {} diff --git a/src/063_Shrine/Actor/ActorUnkRMSS.cpp b/src/063_Shrine/Actor/ActorUnkRMSS.cpp index 81a841d1..2fa1bf43 100644 --- a/src/063_Shrine/Actor/ActorUnkRMSS.cpp +++ b/src/063_Shrine/Actor/ActorUnkRMSS.cpp @@ -1,5 +1,3 @@ -//! TODO: This file was generated automatically and might contain errors - #include "Actor/ActorUnkRMSS.hpp" #include "nns/g3d/g3d.h" #include "profile.hpp" diff --git a/src/063_Shrine/Actor/ActorUnkRMSV.cpp b/src/063_Shrine/Actor/ActorUnkRMSV.cpp index 86cd3747..30949cf1 100644 --- a/src/063_Shrine/Actor/ActorUnkRMSV.cpp +++ b/src/063_Shrine/Actor/ActorUnkRMSV.cpp @@ -1,20 +1,24 @@ -//! TODO: This file was generated automatically and might contain errors - #include "Actor/ActorUnkRMSV.hpp" #include "Actor/Actor.hpp" -#include "Actor/ActorUnkRMSW.hpp" -#include "MapObject/MapObjectTreasureSpawned.hpp" +#include "Actor/ActorId.hpp" +#include "Actor/ActorUnkRMSBase.hpp" +#include "Actor/Actor_Derived1.hpp" #include "nns/g3d/g3d.h" +#include "profile.hpp" -char data_ov063_02162578[0x10]; // = "RMSV"; -char data_ov063_02162588[0x10]; // = "RMSV_wall"; +extern char data_ov063_02162578[0x10]; // = "RMSV"; +extern char data_ov063_02162588[0x10]; // = "RMSV_wall"; -extern struct UnkStruct_data_ov063_02163388 data_ov063_021632ac; // = {0, 0x56534D52, 0, 0, 0, 0}; -extern struct UnkStruct_data_ov063_02163388 data_ov063_021632c4; // = {0x1, 0x56534D52, 0, 0, 0, 0}; +// Overlay 0 +extern "C" void func_ov000_02099ff8(unk32 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8); +extern "C" void func_ov000_02099e58(UnkStruct_ov063_021632e4 *param1, ActorUnkZLSL_AnimationTag param2, unk32 param8); -extern "C" void func_ov000_02099ff8(unk32 *param1, struct UnkStruct_data_ov063_02163388 param2, unk32 param8); -extern "C" void func_ov000_02099e58(unk32 *param1, struct UnkStruct_data_ov063_02163388 param2, unk32 param8); -extern "C" unk32 func_ov063_0215bb34(ActorUnkRMSV *); +// Overlay 31 +extern "C" bool func_ov031_020f7538(Actor *param1, unk32 param2); +extern "C" void func_ov031_020f7574(Actor *param1, unk32 param2); + +ActorUnkZLSL_AnimationTag data_ov063_021632ac = {0, "RMSV"}; +ActorUnkZLSL_AnimationTag data_ov063_021632c4 = {1, "RMSV"}; DECL_PROFILE(ActorProfileUnkRMSV); @@ -25,27 +29,31 @@ Actor *ActorProfileUnkRMSV::Create() { ActorProfileUnkRMSV::ActorProfileUnkRMSV() : ActorProfile_Derived1(ActorId_RMSV) {} -ActorUnkRMSV::ActorUnkRMSV() {} +ActorUnkRMSV::ActorUnkRMSV() : + mUnk_158(&mUnk_94, GET_PROFILE(ActorProfileUnkRMSV)->vfunc_04()), + mUnk_1D4(&mUnk_94, GET_PROFILE(ActorProfileUnkRMSV)->vfunc_04()) {} -unk32 ActorUnkRMSV::vfunc_18(void) { - unk32 res = func_ov063_0215bb34(this); - func_ov000_02099ff8(&this->mUnk_158, data_ov063_021632ac, 0x1000); +bool ActorUnkRMSV::vfunc_18(unk32 param1) { + bool res = ActorUnkRMSBase::vfunc_18(param1); + this->mUnk_158.func_ov000_02099ff8(data_ov063_021632ac, 0x1000); func_ov000_02099e58(&this->mUnk_1D4, data_ov063_021632c4, 0x1000); - ((MapObjectTreasureSpawned *) &this->mUnk_1D4)->vfunc_3C(); //! WARN: NOT a MapObjectTreasureSpawned + this->mUnk_1D4.vfunc_3C(); return res; } +void UnkStruct_ov063_021632e4::vfunc_3C() { + mUnk_08->func_ov000_02057c98(this->vfunc_10()); +} + void ActorUnkRMSV::vfunc_20(void) { - (*(Actor *) &this->mUnk_158).vfunc_34(); // Not an Actor - (*(Actor *) &this->mUnk_1D4).vfunc_34(); // Not an Actor + this->mUnk_158.vfunc_34(); + this->mUnk_1D4.vfunc_34(); } void ActorUnkRMSV::vfunc_24(void) { this->vfunc_20(); } -void ActorUnkRMSV::vfunc_50(void) {} - G3d_Model *ActorUnkRMSV::vfunc_54(void) { return GetModelFromProfile3(&GET_PROFILE(ActorProfileUnkRMSV)->mUnk_3C, data_ov063_02162578); } @@ -54,10 +62,10 @@ G3d_Model *ActorUnkRMSV::vfunc_58(void) { return GetModelFromProfile3(&GET_PROFILE(ActorProfileUnkRMSV)->mUnk_3C, data_ov063_02162588); } -void ActorUnkRMSV::func_ov063_0215bd44(void) {} -void ActorUnkRMSV::func_ov063_0215bdec(void) {} -void ActorUnkRMSV::func_ov063_0215bed0(void) {} -void ActorUnkRMSV::func_ov063_0215bee0(void) {} +void UnkStruct_ov063_021632e4::vfunc_38(unk32 param1, unk32 param2) { + mUnk_04->func_ov000_020578a4(param1, param2); +} -ActorUnkRMSV::~ActorUnkRMSV() {} -ActorProfileUnkRMSV::~ActorProfileUnkRMSV() {} +s8 UnkStruct_ov063_021632e4::vfunc_30() { + return mUnk_18; +} diff --git a/src/063_Shrine/Actor/ActorUnkRMSW.cpp b/src/063_Shrine/Actor/ActorUnkRMSW.cpp index 4fcaca55..054a7a79 100644 --- a/src/063_Shrine/Actor/ActorUnkRMSW.cpp +++ b/src/063_Shrine/Actor/ActorUnkRMSW.cpp @@ -1,16 +1,17 @@ -//! TODO: This file was generated automatically and might contain errors - #include "Actor/ActorUnkRMSW.hpp" +#include "Actor/ActorId.hpp" +#include "Actor/ActorUnkZLSL_ZSRS.hpp" +#include "Actor/Actor_Derived1.hpp" #include "nns/g3d/g3d.h" +#include "profile.hpp" #include "types.h" -char data_ov063_02162598[0x10]; // = "RMSW_wall"; -char data_ov063_021625a8[0x10]; // = "RMSW"; +extern char data_ov063_02162598[0x10]; // = "RMSW_wall"; +extern char data_ov063_021625a8[0x10]; // = "RMSW"; -extern struct UnkStruct_data_ov063_02163388 data_ov063_02163388; // = {0, 0x57534D52, 0, 0, 0, 0}; +struct ActorUnkZLSL_AnimationTag data_ov063_02163388 = {0, "RMSW"}; extern "C" void func_ov000_02099ff8(unk32 *param1, struct UnkStruct_data_ov063_02163388 param2, unk32 param8); -extern "C" unk32 func_ov063_0215bb34(ActorUnkRMSW *); DECL_PROFILE(ActorProfileUnkRMSW); @@ -21,11 +22,12 @@ Actor *ActorProfileUnkRMSW::Create() { ActorProfileUnkRMSW::ActorProfileUnkRMSW() : ActorProfile_Derived1(ActorId_RMSW) {} -ActorUnkRMSW::ActorUnkRMSW() {} +ActorUnkRMSW::ActorUnkRMSW() : + mUnk_158(&mUnk_94, GET_PROFILE(ActorProfileUnkRMSW)->vfunc_04()) {} -unk32 ActorUnkRMSW::vfunc_18(void) { - unk32 res = func_ov063_0215bb34(this); - func_ov000_02099ff8(&this->mUnk_158, data_ov063_02163388, 0x1000); +bool ActorUnkRMSW::vfunc_18(unk32 param1) { + bool res = ActorUnkRMSBase::vfunc_18(param1); + ((UnkStruct_ov000_020b31a8 *) &this->mUnk_158)->func_ov000_02099ff8(data_ov063_02163388, 0x1000); return res; } @@ -44,6 +46,3 @@ G3d_Model *ActorUnkRMSW::vfunc_54(void) { G3d_Model *ActorUnkRMSW::vfunc_58(void) { return GetModelFromProfile3(&GET_PROFILE(ActorProfileUnkRMSW)->mUnk_3C, data_ov063_02162598); } - -ActorUnkRMSW::~ActorUnkRMSW() {} -ActorProfileUnkRMSW::~ActorProfileUnkRMSW() {} diff --git a/tools/configure.py b/tools/configure.py index ddae6272..a9a245d4 100755 --- a/tools/configure.py +++ b/tools/configure.py @@ -972,6 +972,7 @@ config.libs = [ Object("063_Shrine/Actor/ActorUnkCANS.cpp"), Object("063_Shrine/Actor/ActorUnkCASE.cpp"), Object("063_Shrine/Actor/ActorUnkRBLS.cpp"), + Object("063_Shrine/Actor/ActorUnkRMSBase.cpp"), Object("063_Shrine/Actor/ActorUnkRMSD.cpp"), Object("063_Shrine/Actor/ActorUnkRMSF.cpp"), Object("063_Shrine/Actor/ActorUnkRMSS.cpp"),