mirror of
https://github.com/zeldaret/st
synced 2026-07-07 14:03:29 -04:00
5bfa30d5a1
* refactor: rename actor * feat: delink * feat: prepare decompiling * feat: improvements * feat: few more changes * feat: match constructor of mapobjectpot * feat: match 100% * style: remove blank lines * refactor: remove implicit destructors
119 lines
4.2 KiB
C++
119 lines
4.2 KiB
C++
#pragma once
|
|
|
|
#include "Actor/Actor.hpp"
|
|
#include "Actor/ActorProfile.hpp"
|
|
#include "Unknown/UnkStruct_ov031_Items.hpp"
|
|
#include "global.h"
|
|
#include "types.h"
|
|
|
|
enum ActorPotState_ {
|
|
ActorPotState_0 = 0,
|
|
ActorPotState_1 = 1,
|
|
ActorPotState_2 = 2,
|
|
ActorPotState_3 = 3,
|
|
ActorPotState_4 = 4,
|
|
ActorPotState_5 = 5,
|
|
ActorPotState_6 = 6,
|
|
ActorPotState_7 = 7,
|
|
ActorPotState_Max,
|
|
};
|
|
|
|
class UnkStruct_ov000_020b2838 {
|
|
public:
|
|
// data_ov000_020b2838
|
|
/* 00 */ virtual void vfunc_00(); // func_ov000_0207bfe4
|
|
/* 04 */ virtual ~UnkStruct_ov000_020b2838(); // func_ov000_0207bfe8
|
|
/* 08 */ virtual void vfunc_08(); // func_ov000_0207c000
|
|
/* 0C */ virtual void vfunc_0C(); // func_ov000_0207c008
|
|
};
|
|
|
|
class UnkStruct_ov031_02113fb8 : UnkStruct_ov000_020b2838 {
|
|
public:
|
|
// data_ov031_02113fb8
|
|
/* 00 */ virtual ~UnkStruct_ov031_02113fb8() override; // func_ov031_020f09f8 & func_ov031_020f0a14
|
|
/* 08 */ virtual void vfunc_08() override; // func_ov031_020f0aa8
|
|
/* 0C */ virtual void vfunc_0C() override; // func_ov031_020f0a38
|
|
};
|
|
|
|
class Actor_ov031_02113fd4 : public Actor {
|
|
public:
|
|
/* 000 (base) */
|
|
/* 094 */ UnkStruct_ov031_Items_01 mUnk_94;
|
|
/* 0C0 */ STRUCT_PAD(0x0C0, 0x0EC);
|
|
/* 0EC */ u16 mUnk_EC;
|
|
/* 0EE */ STRUCT_PAD(0x0EE, 0xF0);
|
|
/* 0F0 */ UnkStruct_ov031_02113fb8 mUnk_F0;
|
|
/* 0F4 */ STRUCT_PAD(0xF4, 0x110);
|
|
/* 110 */
|
|
|
|
Actor_ov031_02113fd4();
|
|
|
|
// data_ov031_02113fd4
|
|
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020efd6c
|
|
/* 20 */ virtual void vfunc_20() override; // func_ov031_020f005c
|
|
/* 24 */ virtual void vfunc_24() override; // func_ov031_020f0060
|
|
/* 38 */ virtual bool Grab(ActorGrabParams grabParams) override; // func_ov031_020efdcc
|
|
/* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel) override; // func_ov031_020efe08
|
|
/* 40 */ virtual void vfunc_40() override; // func_ov031_020f02a8
|
|
/* 44 */ virtual void vfunc_44() override; // func_ov031_020f02c
|
|
/* 54 */ virtual void vfunc_54(); // func_ov031_020f064c
|
|
/* 58 */ virtual void vfunc_58(); // func_ov031_020f0654
|
|
/* 5C */ virtual void vfunc_5C(ActorState param1) = 0;
|
|
/* 60 */ virtual void vfunc_60(); // func_ov031_020f0090
|
|
/* 64 */ virtual void vfunc_64(); // func_ov031_020f065c
|
|
|
|
void func_ov031_020f0094();
|
|
void func_ov031_020f0098();
|
|
void func_ov031_020f009c();
|
|
void func_ov031_020f00a0();
|
|
void func_ov031_020f00c4();
|
|
void func_ov031_020f00ac();
|
|
void func_ov031_020f0198();
|
|
void func_ov031_020f01ac();
|
|
void func_ov031_020f0220();
|
|
void func_ov031_020f0244();
|
|
void func_ov031_020f0450(unk32 param1);
|
|
void func_ov031_020f04a8();
|
|
void func_ov031_020f04dc();
|
|
void func_ov031_020f0514();
|
|
};
|
|
|
|
class ActorPot : public Actor_ov031_02113fd4 {
|
|
public:
|
|
/* 00 (base) */
|
|
/* 110 */ ModelRender_ov000_020b198c mUnk_110;
|
|
/* 120 */
|
|
|
|
ActorPot();
|
|
|
|
/* 18 */ virtual bool vfunc_18(unk32 param1) override; // func_ov031_020f0d04
|
|
/* 20 */ virtual void vfunc_20() override; // func_ov031_020f0d80
|
|
/* 2C */ virtual void vfunc_2C(unk32 param1) override; // func_ov031_020f0db8
|
|
/* 5C */ virtual void vfunc_5C(ActorState param1) override; // func_ov031_020f0d2c
|
|
|
|
void func_ov031_020f0cf0();
|
|
void func_ov031_020f0de8();
|
|
void func_ov031_020f0df4();
|
|
void func_ov031_020f0e00();
|
|
void func_ov031_020f0e0c();
|
|
void func_ov031_020f0e18();
|
|
void func_ov031_020f0e24();
|
|
void func_ov031_020f0e30();
|
|
void func_ov031_020f0e3c();
|
|
void func_ov031_020f0e48();
|
|
void func_ov031_020f0e5c();
|
|
void func_ov031_020f0e70();
|
|
void func_ov031_020f0f44();
|
|
};
|
|
|
|
class ActorProfilePot : public ActorProfile {
|
|
public:
|
|
/* 00 (base) */
|
|
|
|
ActorProfilePot();
|
|
|
|
/* 0C */ virtual Actor *Create();
|
|
|
|
static ActorProfilePot *GetProfile();
|
|
};
|