Start decompiling ActorUnkRBLS (#98)

* feat: Match ActorUnkRBLS vfunc_18, 20, 24 and 2C

* fix: Use FLOAT_TO_FX32 instead of raw hex

* feat: Update symbols

* fix: Fix ModelRender::vfunc_18 symbol and childs declarations
This commit is contained in:
Mityno
2026-07-05 00:39:31 +00:00
committed by GitHub
parent f0dfb70749
commit 13be84845a
7 changed files with 75 additions and 26 deletions
+22 -5
View File
@@ -4,9 +4,19 @@
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.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 {
public:
ActorUnkRBLS_C4(Actor *param1);
@@ -20,17 +30,24 @@ public:
class ActorUnkRBLS : public Actor {
public:
/* 00 (base) */
/* 94 */
/* 94 */ ModelRender mUnk_94;
/* F4 */ unk32 mUnk_F4;
/* F8 */ STRUCT_PAD(0xF8, 0x110);
/* 110 */ UnkSystem5 mUnk_110;
/* 130 */ void *mUnk_130;
/* 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;
void func_ov063_0215f3d4(void);
void func_ov063_0215f3e8(void);
void func_ov063_0215f474(void);
void func_ov063_0215f488(void);
void func_ov063_0215f49c(void);
void func_ov063_0215f500(void);
};
+4 -3
View File
@@ -1,6 +1,7 @@
#pragma once
#include "global.h"
#include "nitro/fx.h"
#include "types.h"
#include <nns/g3d/g3d.h>
@@ -40,7 +41,7 @@ public:
/* 0C */ virtual void vfunc_0C() = 0;
/* 10 */ virtual void vfunc_10(VecFx32 *param1, Mat3p *param2, VecFx32 *param3) = 0;
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) = 0;
/* 18 */ virtual void vfunc_18() = 0;
/* 18 */ virtual void vfunc_18(VecFx32 *param1) = 0;
/* 1C */
};
@@ -59,7 +60,7 @@ public:
/* 0C */ virtual void vfunc_0C() override;
/* 10 */ virtual void vfunc_10(VecFx32 *param1, Mat3p *param2, VecFx32 *param3) override; // SetTransform?
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) override; // SetRotationTranslation?
/* 18 */ virtual void vfunc_18() override;
/* 18 */ virtual void vfunc_18(VecFx32 *param1) override;
/* 1C */ virtual void vfunc_1C(UnkSystem4_vfunc_1C *param1);
/* 20 */ virtual void vfunc_20();
@@ -79,7 +80,7 @@ public:
/* 00 */ virtual ~UnkSystem6_Derived1() override {}
/* 10 */ virtual void vfunc_10(VecFx32 *param1, Mat3p *param2, VecFx32 *param3) override;
/* 14 */ virtual void vfunc_14(Mat3p *param1, VecFx32 *param2) override;
/* 18 */ virtual void vfunc_18() override;
/* 18 */ virtual void vfunc_18(VecFx32 *param1) override;
};
class UnkSystem6_Derived2 : public UnkSystem6_Derived1 {