Files
st/include/Actor/ActorRupee.hpp
T
Alessevan 905ceeb4b3 Started decompiling ActorHeart (#41)
* feat: change symbols for ActorHeart

* feat: begin ActorHeart decompilation

* feat: continue decompilation (some changes should be refactored)

* improvements

* fix build issues

* feat: improve matching code

* fix: remove back nitro/math

* feat: load s8 as u8

* refactor: remove shady variadic function

* feat: better function, reg order issue

* refactor: switch EC, F0 and F4 to a single VecFx32 variable and improve vfunc_20

* feat: improvements in vfunc_v20

* docs: add what should be written in comments

* feat: match with temporary unknown actor structure

* style: remove unnecessary curly brackets in switch cases

* style: move external functions to the top

* docs: mark unmatched functions as non-matching

* refactor: use FLOAT_TO_Q20 instead of raw hex values

* style: remove unnecessary cast

* refactor: use macros to manipulate flags

* refactor: better floating values

* refactor: use hex values over bin values

* feat: use ROUND_Q20 to increase matching

* refactor: use Cylinder::Init instead of assigning each variable

* refactor: change mangled names

---------

Co-authored-by: Yanis002 <35189056+Yanis002@users.noreply.github.com>
2026-05-29 19:02:57 +02:00

113 lines
3.0 KiB
C++

#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorManager.hpp"
#include "Actor/ActorProfile.hpp"
#include "Actor/ActorUnk_ov000_020a8bb0.hpp"
#include "Player/PlayerGet.hpp"
#include "types.h"
typedef u32 RupeeId;
enum RupeeId_ {
/* 0 */ RupeeId_Green,
/* 1 */ RupeeId_Blue,
/* 2 */ RupeeId_Red,
/* 3 */ RupeeId_BigGreen,
/* 4 */ RupeeId_BigRed,
/* 5 */ RupeeId_Gold,
/* 6 */ RupeeId_6,
/* 7 */ RupeeId_7,
};
class ActorRupee_c4 : public Actor_c4 {
public:
ActorRupee_c4(Actor *param1);
/* 00 */ virtual unk32 vfunc_00(Actor_c4_stack param1, unk32 param2) override;
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0c(unk32 param1) override;
};
class ActorRupee : public Actor {
public:
/* 00 (base) */
/* 94 */ u16 mUnk_94;
/* 96 */ u16 mUnk_96;
/* 98 */ u16 mUnk_98;
/* 9A */ u16 mUnk_9A;
/* 9C */ Actor_9c mUnk_9C;
/* A0 */ unk32 mUnk_A0;
/* A4 */ unk32 mUnk_A4;
/* A8 */ unk32 mUnk_A8;
/* AC */ unk32 mUnk_AC;
/* B0 */ unk32 mUnk_B0;
/* B4 */ unk32 mUnk_B4;
/* B8 */ unk32 mUnk_B8;
/* BC */ unk32 mUnk_BC;
/* C0 */ unk32 mUnk_C0;
/* C4 */ ActorRupee_c4 mUnk_C4;
/* E8 */ unk32 mUnk_E8;
/* EC */ s16 mUnk_EC;
/* F0 */ UnkStruct_PlayerGet_ec mUnk_F0;
/* F4 */ bool mUnk_F4;
/* F5 */ unk8 mUnk_F5;
/* F6 */ unk8 mUnk_F6;
/* F7 */ unk8 mUnk_F7;
/* F8 */
ActorRupee();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2c(unk32 param1) override;
/* 4C */ virtual ~ActorRupee() override;
void func_ov031_020e8d2c(VecFx32 *param1, u8 param2, unk32 param3, unk32 param4);
void func_ov031_020e8fec();
void func_ov031_020e9068();
void func_ov031_020e9108();
void func_ov031_020e91a8();
void func_ov031_020e9234();
void func_ov031_020e9254();
void func_ov031_020e92e0();
void func_ov031_020e9310();
void func_ov031_020e9428();
void func_ov031_020e942c();
void func_ov031_020e9430();
void func_ov031_020e9434();
void func_ov031_020e9438();
void func_ov031_020e9450();
void func_ov031_020e94d4();
void func_ov031_020e951c();
void func_ov031_020e9598();
void func_ov031_020e95ac();
void func_ov031_020e95b0();
void func_ov031_020e95c0();
void func_ov031_020e9610();
void func_ov031_020e9624();
void func_ov031_020e9638();
void func_ov031_020e96bc();
void func_ov031_020e970c();
void func_ov031_020e9740();
void func_ov031_020e9838();
void func_ov031_020e98c4();
void func_ov031_020e9904(unk32 param1);
void func_ov031_020e9b88();
void func_ov031_020e9be8();
bool func_ov031_020e9d54();
void func_ov031_020e9d94();
bool func_ov031_020e9e5c();
};
class ActorProfileRupee : public ActorProfile {
public:
/* 00 (base) */
ActorProfileRupee();
/* 0C */ virtual Actor *Create();
static ActorProfileRupee *GetProfile();
};