Files
st/include/Actor/ActorUnkROCK.hpp
T
Alessevan 473e1e102b Decompiling BOMB (#140)
* feat: begin decompiling

* feat: some progress

* fix: forgot to change symbol

* feat: increase matching

* fix: function params not updated

* feat: more matching

* fix: noo more errors oon local help

* fix: match back UnkStruct_PlayerGet_74.data

* feat: little progress

* fix: SWBM.data regression

* feat: up jp version

* feat: update matching

* refactor: rename UnkBOMB to Bomb

* feat: decompiling part of MapObjectUnkBMFL

* feat: destroy MapObjectPot's vfunc_24 for the good of all

* fix: revert wrong symbol

* feat: updating jp symbols

* feat: eur advancements

* feat: weird stuff

* feat: fix build issue

* feat: rename BMFL to BombFlower

* feat: catchup jp .data

* feat: improve BombFlower

* feat: improve bomb matching

* style: cleanup

* style: cleanup v2

* fix: mapobjectpot_base .data

* feat: better match for mapobjectpot_base

* style: use deg_to_rad macro

* style: cleaner variable definition

* doc: better comment

* fix: build
2026-08-23 21:06:08 +02:00

63 lines
1.5 KiB
C++

#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "ActorUnkSCCN.hpp"
#include "MapObject/MapObjectPot_Base.hpp"
#include "MapObject/MapObject_10_Pot.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();
};