Decompiling pot actor (#102)

* 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
This commit is contained in:
Alessevan
2026-07-06 00:39:57 +02:00
committed by GitHub
parent bf559e183d
commit 5bfa30d5a1
12 changed files with 338 additions and 185 deletions
+118
View File
@@ -0,0 +1,118 @@
#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();
};
-58
View File
@@ -1,58 +0,0 @@
//! TODO: This file was generated automatically and might contain errors
#pragma once
#include "Actor/Actor.hpp"
#include "Actor/ActorProfile.hpp"
#include "global.h"
#include "types.h"
class ActorUnkNTUB_C4 : public Actor_C4 {
public:
ActorUnkNTUB_C4(Actor *param1);
/* 00 */ virtual bool vfunc_00(ActorRef ref, unk32 param2) override;
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C(unk32 param1) override;
};
class ActorUnkNTUB : public Actor {
public:
/* 00 (base) */
/* 94 */
ActorUnkNTUB();
/* 4C */ virtual ~ActorUnkNTUB() override;
void func_ov031_020f0cf0(void);
void func_ov031_020f0d04(void);
void func_ov031_020f0d2c(void);
void func_ov031_020f0d80(void);
void func_ov031_020f0db8(void);
void func_ov031_020f0de8(void);
void func_ov031_020f0df4(void);
void func_ov031_020f0e00(void);
void func_ov031_020f0e0c(void);
void func_ov031_020f0e18(void);
void func_ov031_020f0e24(void);
void func_ov031_020f0e30(void);
void func_ov031_020f0e3c(void);
void func_ov031_020f0e48(void);
void func_ov031_020f0e5c(void);
void func_ov031_020f0e70(void);
void func_ov031_020f0f44(void);
};
class ActorProfileUnkNTUB : public ActorProfile {
public:
/* 00 (base) */
ActorProfileUnkNTUB();
~ActorProfileUnkNTUB();
/* 0C */ virtual Actor *Create();
static ActorProfileUnkNTUB *GetProfile();
};