Files
st/include/Actor/ActorUnkROCK.hpp
T
Alessevan 42407bafe4 Decompiling part of ROCK (#129)
* feat: decompiling part of ROCK

* style: add non-matching comments above non-matching functions

* typo: use PascalCase Max for State

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

---------

Co-authored-by: Yanis <35189056+Yanis002@users.noreply.github.com>
2026-08-12 22:38:27 +02:00

62 lines
1.4 KiB
C++

#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkSCCN.hpp"
#include "MapObject/MapObject_ov031.hpp"
#include "global.h"
#include "types.h"
enum ActorUnkROCKState_ {
ActorUnkROCKState_0 = 0,
ActorUnkROCKState_1 = 1,
ActorUnkROCKState_2 = 2,
ActorUnkROCKState_3 = 3,
ActorUnkROCKState_4 = 4,
ActorUnkROCKState_Max,
};
class ActorUnkROCK : public Actor {
public:
/* 00 (base) */
/* 94 */ UnkSystem6_Derived2 mUnk_94;
/* 9C */ bool mUnk_9C;
/* A0 */ ActorUnkSCCN_B8 mUnk_A0;
/* B0 */
ActorUnkROCK();
/* 18 */ virtual bool vfunc_18(unk32 param1) override;
/* 20 */ virtual void vfunc_20() override;
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
/* 38 */ virtual bool Grab(ActorGrabParams param1) override;
/* 38 */ virtual bool Drop(ActorGrabParams param1, const VecFx32 *param2) override;
void func_ov031_020e8a48(ActorState state);
void func_ov031_020e8acc();
};
class ActorProfileUnkROCK_Base : public ActorProfile_Derived1 {
public:
/* 00 (base) */
/* D8 */ MapObject_10_Pot mUnk_D8;
/* FC */
ActorProfileUnkROCK_Base(ActorId actorId) :
ActorProfile_Derived1(actorId) {}
// data_ov031_021133cc
};
class ActorProfileUnkROCK : public ActorProfileUnkROCK_Base {
public:
/* 00 (base) */
/* FC */
ActorProfileUnkROCK();
/* 0C */ virtual Actor *Create();
static ActorProfileUnkROCK *GetProfile();
};