Decompiling ActorUnkRSMF (#73)

* Decompile func_ov063_0215c250 and func_ov063_0215c290

* Decompile ActorUnkRMSF::~ActorUnkRMSF

Unsure what the added ldr/str instructions are

* Update func_ov063_0215c250 and func_ov063_0215c290 with right classes

* chore: Tidy up code using the right functions

* feat: Duplicate code for jp version

* feat: Add placeholder parent class to match dtors

* fix: Update the handling of jp version

* fix: Remove dup code and rename symbols

* fix: Rename vfuncs

* feat: Rename more symbols and add member to match class size

* chore: Remove autogen comments at the top of files

* feat: Fix reloc and unify used functions with RMSD

* fix: Rename vfuncs to the right id
This commit is contained in:
Mityno
2026-06-29 18:30:10 +00:00
committed by GitHub
parent 26683f83c2
commit 6ea40b4493
4 changed files with 41 additions and 22 deletions
+4 -4
View File
@@ -146,8 +146,8 @@ _ZN19ActorProfileUnkRMSF10GetProfileEv kind:function(arm,size=0xc) addr:0x0215c1
_ZN19ActorProfileUnkRMSF6CreateEv kind:function(arm,size=0x24) addr:0x0215c1e4
_ZN19ActorProfileUnkRMSFC1Ev kind:function(arm,size=0x28) addr:0x0215c208
_ZN12ActorUnkRMSFC1Ev kind:function(arm,size=0x20) addr:0x0215c230
_ZN12ActorUnkRMSF19func_ov063_0215c250Ev kind:function(arm,size=0x40) addr:0x0215c250
_ZN12ActorUnkRMSF19func_ov063_0215c290Ev kind:function(arm,size=0x40) addr:0x0215c290
_ZN12ActorUnkRMSF8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215c250
_ZN12ActorUnkRMSF8vfunc_58Ev kind:function(arm,size=0x40) addr:0x0215c290
_ZN12ActorUnkRMSFD1Ev kind:function(arm,size=0x28) addr:0x0215c2d0
_ZN12ActorUnkRMSFD0Ev kind:function(arm,size=0x30) addr:0x0215c2f8
_ZN19ActorProfileUnkRMSFD1Ev kind:function(arm,size=0x14) addr:0x0215c328
@@ -444,8 +444,8 @@ _ZTV19data_ov063_02163324 kind:data(any) addr:0x02163324
data_ov063_02163388 kind:data(any) addr:0x02163388
_ZTV19data_ov063_021633a0 kind:data(any) addr:0x021633a0
_ZTV19data_ov063_021633c4 kind:data(any) addr:0x021633c4
_ZTV19data_ov063_02163428 kind:data(any) addr:0x02163428
_ZTV19data_ov063_0216344c kind:data(any) addr:0x0216344c
_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
+6 -7
View File
@@ -146,8 +146,8 @@ _ZN19ActorProfileUnkRMSF10GetProfileEv kind:function(arm,size=0xc) addr:0x0215df
_ZN19ActorProfileUnkRMSF6CreateEv kind:function(arm,size=0x24) addr:0x0215df78
_ZN19ActorProfileUnkRMSFC1Ev kind:function(arm,size=0x28) addr:0x0215df9c
_ZN12ActorUnkRMSFC1Ev kind:function(arm,size=0x20) addr:0x0215dfc4
_ZN12ActorUnkRMSF19func_ov063_0215dfe4Ev kind:function(arm,size=0x40) addr:0x0215dfe4
_ZN12ActorUnkRMSF19func_ov063_0215e024Ev kind:function(arm,size=0x40) addr:0x0215e024
_ZN12ActorUnkRMSF8vfunc_54Ev kind:function(arm,size=0x40) addr:0x0215dfe4
_ZN12ActorUnkRMSF8vfunc_58Ev kind:function(arm,size=0x40) addr:0x0215e024
_ZN12ActorUnkRMSFD1Ev kind:function(arm,size=0x28) addr:0x0215e064
_ZN12ActorUnkRMSFD0Ev kind:function(arm,size=0x30) addr:0x0215e08c
_ZN19ActorProfileUnkRMSFD1Ev kind:function(arm,size=0x14) addr:0x0215e0bc
@@ -370,8 +370,8 @@ data_ov063_02164390 kind:data(any) addr:0x02164390
data_ov063_021643a0 kind:data(any) addr:0x021643a0
data_ov063_021643b0 kind:data(any) addr:0x021643b0
data_ov063_021643c0 kind:data(any) addr:0x021643c0
data_ov063_021643d0 kind:data(any) addr:0x021643d0
data_ov063_021643e0 kind:data(any) addr:0x021643e0
data_ov063_021625b8 kind:data(any) addr:0x021643d0
data_ov063_021625c8 kind:data(any) addr:0x021643e0
data_ov063_021625d8 kind:data(any) addr:0x021643f0
data_ov063_021625e8 kind:data(any) addr:0x02164400
data_ov063_02164410 kind:data(any) addr:0x02164410
@@ -445,9 +445,8 @@ _ZTV19data_ov063_0216518c kind:data(any) addr:0x0216518c ambiguous
data_ov063_021651a8 kind:data(any) addr:0x021651a8
_ZTV19data_ov063_021651c0 kind:data(any) addr:0x021651c0
_ZTV19data_ov063_021651e4 kind:data(any) addr:0x021651e4
data_ov063_02165248 kind:data(any) addr:0x02165248 ambiguous
_ZTV19data_ov063_02165248 kind:data(any) addr:0x02165248
_ZTV19data_ov063_0216526c kind:data(any) addr:0x0216526c
_ZTV19ActorProfileUnkRMSF kind:data(any) addr:0x02165248
_ZTV12ActorUnkRMSF kind:data(any) addr:0x0216526c
data_ov063_021652d0 kind:data(any) addr:0x021652d0
_ZTV19ActorProfileUnkRMSD kind:data(any) addr:0x021652e8
_ZTV12ActorUnkRMSD kind:data(any) addr:0x0216530c
+19 -6
View File
@@ -1,10 +1,11 @@
//! 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 "Render/ModelRender.hpp"
#include "global.h"
#include "nns/g3d/g3d.h"
#include "types.h"
class ActorUnkRMSF_C4 : public Actor_C4 {
@@ -17,17 +18,29 @@ public:
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkRMSF : public Actor {
class ActorUnkRMSF_Base : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ ModelRender mUnk_94;
/* F4 */ ModelRender mUnk_F4;
/* 154 */ unk32 mUnk_154;
/* 158 */
ActorUnkRMSF_Base();
};
class ActorUnkRMSF : public ActorUnkRMSBase {
public:
/* 00 (base) */
/* 158 */
ActorUnkRMSF();
/* 4C */ virtual ~ActorUnkRMSF() override;
/* 50 */
void func_ov063_0215c250(void);
void func_ov063_0215c290(void);
/* 54 */ virtual G3d_Model *vfunc_54(void);
/* 58 */ virtual G3d_Model *vfunc_58(void);
};
class ActorProfileUnkRMSF : public ActorProfile_Derived1 {
+12 -5
View File
@@ -1,7 +1,9 @@
//! TODO: This file was generated automatically and might contain errors
#include "Actor/ActorUnkRMSF.hpp"
#include "System/SysNew.hpp"
#include "nns/g3d/g3d.h"
#include "profile.hpp"
extern char data_ov063_021625b8[0x10]; // = "RMSF_wall";
extern char data_ov063_021625c8[0x10]; // = "RMSF";
DECL_PROFILE(ActorProfileUnkRMSF);
@@ -14,8 +16,13 @@ ActorProfileUnkRMSF::ActorProfileUnkRMSF() :
ActorUnkRMSF::ActorUnkRMSF() {}
void ActorUnkRMSF::func_ov063_0215c250(void) {}
void ActorUnkRMSF::func_ov063_0215c290(void) {}
G3d_Model *ActorUnkRMSF::vfunc_54(void) {
return GetModelFromProfile3(&GET_PROFILE(ActorProfileUnkRMSF)->mUnk_3C, data_ov063_021625c8);
}
G3d_Model *ActorUnkRMSF::vfunc_58(void) {
return GetModelFromProfile3(&GET_PROFILE(ActorProfileUnkRMSF)->mUnk_3C, data_ov063_021625b8);
}
ActorUnkRMSF::~ActorUnkRMSF() {}
ActorProfileUnkRMSF::~ActorProfileUnkRMSF() {}