Files
st/include/Actor/ActorHeart.hpp
T
Mityno 39288e4605 Start decompiling ActorUnkCASE (#124)
* feat: Start decompiling ActorUnkCASE's ctor

* fix: Fix broken member names

* feat: Finish decompiling ActorUnkCASE's ctor (orr mismatch)

* feat: Match ActorUnkCASE_174::vfunc_10

* fix: Update flags arithmetic

* feat: Match ActorUnkCASE_150 ctor

* feat: Match ActorProfileUnkCASE ctor

* feat: Update symbols and vfunc of ActorUnkCASE

* feat: Match ActorUnkCASE::vfunc_24

* feat: Decompile ActorUnkCASE::vfunc_10, update Actor::vfunc_10 to use Cylinder

* fix: Fix broken Actor symbols

* feat: Match ActorUnkCASE::vfunc_18

* feat: Match ActorUnkCASE::vfunc_2C

* feat: Start decompiling ActorUnkCASE::vfunc_20

* feat: Match ActorUnkCASE's ctor

* feat: Almost finish decompiling ActorUnkCASE::vfunc_20

* feat: Decompile func_ov063_0215b054 and func_ov063_0215afa4

* feat: Match func_ov063_0215af60

* feat: Decompile func_ov063_0215afb8

* feat: Match func_ov063_0215b090

* feat: Match func_ov063_0215b2b0

* feat: Match func_ov063_0215b244

* feat: Match func_ov063_0215b1bc

* feat: Match ActorUnkCASE_150::vfunc_00

* feat: Match ActorUnkCASE_150::vfunc_04

* feat: Match ActorUnkCASE_150::vfunc_0C

* feat: Match func_ov063_0215b814

* feat: Decompile func_ov063_0215b854

* feat: Match func_ov063_0215aefc

* feat: Match func_ov063_0215acec

* feat: Update jp symbols

* feat: Some symbols and improved matching

* feat: Match func_ov063_0215b99c

* feat: Start decompiling func_ov063_0215b8e8

* feat: Decompile some funcs

* feat: Rename symbols, improve matching, add some data

* fix: Fix wrong code for JP only

* fix: Fix broken symbols

* feat: Update symbols and extend .data, match sinit

The .data ordering is wrong

* feat: Small changes

* Apply suggestions from code review

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>

* fix: More code review

* feat: Add small comment for the goto

* feat: Update func_ov063_0215b8e8 and vfunc_0C to use VexFx32

* fix: Missing c/hpp changes for previous commit

* feat: Update func_ov063_0215afb8 to use ActorUnkITWP

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-08-14 15:14:49 +02:00

90 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_0 = 0,
ActorHeartState_1 = 1,
ActorHeartState_2 = 2,
ActorHeartState_3 = 3,
ActorHeartState_4 = 4,
ActorHeartState_5 = 5,
ActorHeartState_Max,
};
class ActorHeart_C4 : public Actor_C4 {
public:
ActorHeart_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef 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 */ u16 mUnk_94;
/* 96 */ u16 mUnk_96;
/* 98 */ Actor_9C mUnk_98;
/* B8 */ s16 mUnk_B8;
/* BA */ unk16 mUnk_BA;
/* BC */ unk16 mUnk_BC;
/* BE */ s8 mUnk_BE;
/* BF */ STRUCT_PAD(0xBF, 0xC0);
/* C0 */ ActorRef mUnk_C0;
/* C4 */ ActorRef mUnk_C4;
/* C8 */ ActorHeart_C4 mUnk_C8;
/* EC */ VecFx32 mUnk_EC;
ActorHeart();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() 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(ActorRef *pOutRef, const VecFx32 *pPos, u32 params, ActorRef 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();
};