mirror of
https://github.com/zeldaret/st
synced 2026-10-28 12:39:13 -04:00
d0f5f2c96a
* feat: explicit states' name * fix: move functions * feat: explicit states' name for boomerang * style: use macros * feat: name some of actor pot's states * style: use macros when possible for mUnk_1DC
89 lines
2.3 KiB
C++
89 lines
2.3 KiB
C++
#pragma once
|
|
|
|
#include "Actor/Actor.hpp"
|
|
#include "Actor/ActorProfile.hpp"
|
|
#include "ActorRupee.hpp"
|
|
#include "nitro/fx.h"
|
|
#include "types.h"
|
|
|
|
enum ActorHeartState_ {
|
|
ActorHeartState_InitFallDown = 0,
|
|
ActorHeartState_FallingDown = 1,
|
|
ActorHeartState_LyingOnGround = 2,
|
|
ActorHeartState_GrabbedByBoomerang = 3,
|
|
ActorHeartState_Sliding = 4,
|
|
ActorHeartState_GrabbedByWhip = 5,
|
|
ActorHeartState_Max,
|
|
};
|
|
|
|
class ActorHeart_C4 : public Actor_C4 {
|
|
public:
|
|
ActorHeart_C4(Actor *param1);
|
|
|
|
/* 00 */ virtual bool vfunc_00(RefStruct ref, unk32 param2) override;
|
|
/* 04 */ virtual bool vfunc_04() override;
|
|
/* 08 */ virtual void vfunc_08() override;
|
|
/* 0C */ virtual void vfunc_0C(VecFx32 *param1) override;
|
|
};
|
|
|
|
class ActorHeart : public Actor {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 94 */ Timer mUnk_94;
|
|
/* 98 */ Actor_9C mUnk_98;
|
|
/* B8 */ s16 mUnk_B8;
|
|
/* BA */ unk16 mUnk_BA;
|
|
/* BC */ unk16 mUnk_BC;
|
|
/* BE */ bool mUnk_BE;
|
|
/* BF */ PAD(0xBF, 0xC0);
|
|
/* C0 */ RefStruct mUnk_C0;
|
|
/* C4 */ RefStruct mUnk_C4;
|
|
/* C8 */ ActorHeart_C4 mUnk_C8;
|
|
/* EC */ VecFx32 mUnk_EC;
|
|
|
|
ActorHeart();
|
|
|
|
/* 18 */ virtual bool Init(unk32 param1) override;
|
|
/* 20 */ virtual void Update() override;
|
|
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
|
/* 4C */ virtual ~ActorHeart() override {};
|
|
|
|
void func_ov031_020f0750();
|
|
void SetState(ActorState state);
|
|
void func_ov031_020ef208();
|
|
void func_ov031_020ef4a8();
|
|
void func_ov031_020ef528();
|
|
void func_ov031_020ef570();
|
|
void func_ov031_020ef698();
|
|
|
|
static void func_ov031_020eed64(RefStruct *pOutRef, const VecFx32 *pPos, u32 params, RefStruct ref);
|
|
|
|
// data_ov031_02113d74
|
|
void func_ov031_020ef2f8();
|
|
void func_ov031_020ef334();
|
|
void func_ov031_020ef3a0();
|
|
void func_ov031_020ef3d0();
|
|
void func_ov031_020ef444();
|
|
void func_ov031_020ef458();
|
|
|
|
// data_ov031_02113da4
|
|
void func_ov031_020ef2ec();
|
|
void func_ov031_020ef320();
|
|
void func_ov031_020ef35c();
|
|
void func_ov031_020ef3b8();
|
|
void func_ov031_020ef430();
|
|
void func_ov031_020ef448();
|
|
};
|
|
|
|
class ActorProfileHeart : public ActorProfile {
|
|
public:
|
|
/* 00 (base) */
|
|
|
|
ActorProfileHeart();
|
|
~ActorProfileHeart() {}
|
|
|
|
/* 0C */ virtual Actor *Create();
|
|
|
|
static ActorProfileHeart *GetProfile();
|
|
};
|