mirror of
https://github.com/zeldaret/st
synced 2026-08-22 23:01:46 -04:00
ce24ddfc4e
* feat: improvements in SWBM * feat: improvements * feat: increase matching for jp version * feat: add vfuncs from fields' classes * feat: improve matching * feat: rename parameters to reflect staticness of the function * refactor: change mangled name * feat: remove unused variable from bss * style: explicite parenthesis * feat: better matching * feat: replace if/else by a switch statement
91 lines
2.5 KiB
C++
91 lines
2.5 KiB
C++
#pragma once
|
|
|
|
#include "Actor/Actor.hpp"
|
|
#include "Actor/ActorProfile.hpp"
|
|
#include "Player/PlayerGet.hpp"
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
class ActorUnkSWBM;
|
|
enum ActorUnkSWBMState_ {
|
|
ActorUnkSWBMState_0 = 0,
|
|
ActorUnkSWBMState_1 = 1,
|
|
ActorUnkSWBMState_2 = 2,
|
|
ActorUnkSWBMState_Max
|
|
};
|
|
|
|
class ActorUnkSWBM_94 : public UnkStruct_ov031_Items_00_Base {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 04 */
|
|
|
|
// data_ov031_02113148
|
|
/* 08 */ virtual bool vfunc_08(const UnkStruct_ov031_020f3310 *param1) override; // func_ov031_020e68d8
|
|
/* 0C */ virtual bool vfunc_0C(const UnkStruct_ov031_020e54d4 *param1, unk32 *param2,
|
|
unk32 param3) override; // func_ov031_020e6900
|
|
};
|
|
|
|
class ActorUnkSWBM_98 : public UnkStruct_ov031_Items_01 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 2C */ ActorUnkSWBM *mUnk_2C;
|
|
/* 30 */
|
|
|
|
ActorUnkSWBM_98(ActorUnkSWBM *param1) :
|
|
mUnk_2C(param1) {}
|
|
|
|
// data_ov031_0211312c
|
|
/* 0C */ virtual bool vfunc_0C(Actor *param1, VecFx32 *vector) override; // func_ov031_020e691c
|
|
/* 10 */ virtual void vfunc_10(Actor *actor) override; // func_ov031_020e6974
|
|
};
|
|
|
|
class ActorUnkSWBM_C8 : public UnkStruct_PlayerGet_74_base {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 04 */ STRUCT_PAD(0x04, 0x14);
|
|
/* 14 */ ActorUnkSWBM *mUnk_14;
|
|
/* 18 */
|
|
|
|
ActorUnkSWBM_C8(ActorUnkSWBM *param1) :
|
|
mUnk_14(param1) {}
|
|
|
|
// data_ov031_02113110
|
|
/* 00 */ virtual void vfunc_00(unk32 param1, unk32 param2, unk32 param3) override; // func_ov031_020e69cc
|
|
};
|
|
|
|
class ActorUnkSWBM : public Actor {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 094 */ ActorUnkSWBM_94 mUnk_094;
|
|
/* 098 */ ActorUnkSWBM_98 mUnk_098;
|
|
/* 0C8 */ ActorUnkSWBM_C8 mUnk_0C8;
|
|
/* 0E0 */ unk16 mUnk_0E0;
|
|
/* 0E4 */ VecFx32 mUnk_0E4[0x3];
|
|
/* 108 */ unk16 mUnk_108;
|
|
/* 10A */ unk16 mUnk_10A;
|
|
/* 10C */
|
|
|
|
ActorUnkSWBM();
|
|
|
|
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
|
|
/* 20 */ virtual void vfunc_20() override;
|
|
/* 24 */ virtual void vfunc_24() override;
|
|
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
|
|
|
void func_ov031_020e6d48();
|
|
void func_ov031_020e6d80(unk32 param1);
|
|
void func_ov031_020e6e84(ActorState state);
|
|
static void func_ov031_020e718c(VecFx32 *param0, Mat3p *param1, s32 param2, s16 param3, u16 param4, s16 param5);
|
|
};
|
|
|
|
class ActorProfileUnkSWBM : public ActorProfile {
|
|
public:
|
|
/* 00 (base) */
|
|
|
|
ActorProfileUnkSWBM();
|
|
|
|
/* 0C */ virtual Actor *Create();
|
|
|
|
static ActorProfileUnkSWBM *GetProfile();
|
|
};
|