mirror of
https://github.com/zeldaret/st
synced 2026-08-23 15:12:15 -04:00
ca74e3b965
* feat: fully decompile nitf + complete pot * refactor: rename NITF to ItemFlower * refactor: cleanup
119 lines
3.3 KiB
C++
119 lines
3.3 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();
|
|
/* 04 */ virtual ~UnkStruct_ov000_020b2838();
|
|
/* 08 */ virtual void vfunc_08(); // to link func_ov000_0207c000
|
|
/* 0C */ virtual void vfunc_0C(); // to link func_ov000_0207c008
|
|
};
|
|
|
|
class UnkStruct_ov031_02113fb8 : public UnkStruct_ov000_020b2838 {
|
|
public:
|
|
// data_ov031_02113fb8
|
|
/* 00 */ virtual ~UnkStruct_ov031_02113fb8() override;
|
|
/* 08 */ virtual void vfunc_08() override;
|
|
/* 0C */ virtual void vfunc_0C() override;
|
|
};
|
|
|
|
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;
|
|
/* 20 */ virtual void vfunc_20() override;
|
|
/* 24 */ virtual void vfunc_24() override;
|
|
/* 38 */ virtual bool Grab(ActorGrabParams grabParams) override;
|
|
/* 3C */ virtual bool Drop(ActorGrabParams grabParams, const VecFx32 *pVel) override;
|
|
/* 40 */ virtual void vfunc_40() override;
|
|
/* 44 */ virtual void vfunc_44() override;
|
|
/* 54 */ virtual void vfunc_54();
|
|
/* 58 */ virtual void vfunc_58();
|
|
/* 5C */ virtual void vfunc_5C(ActorState state) = 0;
|
|
/* 60 */ virtual void vfunc_60();
|
|
/* 64 */ virtual void vfunc_64();
|
|
|
|
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;
|
|
/* 20 */ virtual void vfunc_20() override;
|
|
/* 2C */ virtual void vfunc_2C(unk32 param1) override;
|
|
/* 5C */ virtual void vfunc_5C(ActorState state) override;
|
|
|
|
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();
|
|
};
|