mirror of
https://github.com/zeldaret/st
synced 2026-08-23 15:12:15 -04:00
2d4deebb84
* 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
65 lines
1.8 KiB
C++
65 lines
1.8 KiB
C++
#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 UnkStruct_ov063_021632e4 : public UnkStruct_ov000_020b31a8 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 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 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);
|
|
void func_ov063_0215bed0(void);
|
|
void func_ov063_0215bee0(void);
|
|
};
|
|
|
|
class ActorProfileUnkRMSV : public ActorProfile_Derived1 {
|
|
public:
|
|
/* 00 (base) */
|
|
|
|
ActorProfileUnkRMSV();
|
|
|
|
/* 0C */ virtual Actor *Create();
|
|
|
|
static ActorProfileUnkRMSV *GetProfile();
|
|
};
|