mirror of
https://github.com/zeldaret/st
synced 2026-08-23 07:09:33 -04:00
39288e4605
* 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>
125 lines
3.3 KiB
C++
125 lines
3.3 KiB
C++
#pragma once
|
|
|
|
#include "Actor/Actor.hpp"
|
|
#include "Actor/ActorManager.hpp"
|
|
#include "Actor/ActorProfile.hpp"
|
|
#include "Actor/Actor_Derived1.hpp"
|
|
#include "Player/PlayerGet.hpp"
|
|
#include "nitro/fx.h"
|
|
#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,
|
|
};
|
|
|
|
enum ActorRupeeState_ {
|
|
ActorRupeeState_0 = 0,
|
|
ActorRupeeState_1 = 1,
|
|
ActorRupeeState_2 = 2,
|
|
ActorRupeeState_3 = 3,
|
|
ActorRupeeState_4 = 4,
|
|
ActorRupeeState_5 = 5,
|
|
ActorRupeeState_6 = 6,
|
|
ActorRupeeState_7 = 7,
|
|
ActorRupeeState_8 = 8,
|
|
ActorRupeeState_9 = 9,
|
|
ActorRupeeState_10 = 10,
|
|
ActorRupeeState_11 = 11,
|
|
ActorRupeeState_12 = 12,
|
|
ActorRupeeState_Max,
|
|
};
|
|
|
|
class ActorRupee_C4 : public Actor_C4 {
|
|
public:
|
|
ActorRupee_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 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;
|
|
/* BC */ ActorRef mUnk_BC;
|
|
/* C0 */ ActorRef 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_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 SetState(ActorState state);
|
|
void func_ov031_020e9b88();
|
|
void func_ov031_020e9be8();
|
|
bool func_ov031_020e9d54();
|
|
void func_ov031_020e9d94();
|
|
bool func_ov031_020e9e5c();
|
|
|
|
static void func_ov031_020e8d2c(ActorRef *pOutRef, const VecFx32 *pPos, u32 params, u32 unk_2C, ActorRef ref);
|
|
};
|
|
|
|
class ActorProfileRupee : public ActorProfile {
|
|
public:
|
|
/* 00 (base) */
|
|
|
|
ActorProfileRupee();
|
|
|
|
/* 0C */ virtual Actor *Create();
|
|
|
|
static ActorProfileRupee *GetProfile();
|
|
};
|