summaryrefslogtreecommitdiff
path: root/include/Actor
diff options
context:
space:
mode:
authorAetias <144526980+AetiasHax@users.noreply.github.com>2026-05-11 23:32:28 +0200
committerGitHub <noreply@github.com>2026-05-11 23:32:28 +0200
commit1570b7d2d63aed0a77fc2077618b766eebaba56e (patch)
tree3101c185752a22ae5e1f394af8e29263771862d7 /include/Actor
parente704ec994219540b71da323a61ffa930f80ce492 (diff)
ActorItemSellerBase OK (#163)
* ActorItemSellerBase OK * Fix broken matches
Diffstat (limited to 'include/Actor')
-rw-r--r--include/Actor/Actor.hpp3
-rw-r--r--include/Actor/ActorShopItem.hpp26
-rw-r--r--include/Actor/Character/ActorCharacter.hpp9
-rw-r--r--include/Actor/Character/ActorItemSeller.hpp51
4 files changed, 58 insertions, 31 deletions
diff --git a/include/Actor/Actor.hpp b/include/Actor/Actor.hpp
index 565d0eb7..c313e5aa 100644
--- a/include/Actor/Actor.hpp
+++ b/include/Actor/Actor.hpp
@@ -12,6 +12,7 @@
#include "Physics/Transform.hpp"
#include "Player/EquipBoomerang.hpp"
#include "System/SysNew.hpp"
+#include "Unknown/UnkStruct_020397f8.hpp"
#include "Unknown/UnkStruct_ov000_020beba8.hpp"
struct Actor_UnkStruct_012 {
@@ -200,7 +201,7 @@ public:
/* 5c */ virtual bool Drop(Vec3p *vel);
/* 60 */ virtual bool vfunc_60();
/* 64 */ virtual void vfunc_64();
- /* 68 */ virtual void vfunc_68();
+ /* 68 */ virtual void vfunc_68(unk32 param1, UnkStruct_020397f8 *param2);
/* 6c */ virtual bool vfunc_6c();
/* 70 */ virtual bool vfunc_70();
/* 74 */ virtual void vfunc_74(ActorRef *ref);
diff --git a/include/Actor/ActorShopItem.hpp b/include/Actor/ActorShopItem.hpp
index 5d2e8d55..022f3ba9 100644
--- a/include/Actor/ActorShopItem.hpp
+++ b/include/Actor/ActorShopItem.hpp
@@ -9,6 +9,8 @@
#include "Render/ModelRender.hpp"
#include "System/SysNew.hpp"
+#define NUM_SHOP_ITEMS 5
+
typedef u32 ShopItem;
enum ShopItem_ {
ShopItem_Unk = -1,
@@ -448,18 +450,34 @@ public:
};
struct UnkStruct_ov031_02183e80 {
- /* 000 */ PAD(0x000, 0x01c);
+ /* 000 */ unk32 mUnk_000;
+ /* 004 */ PAD(0x004, 0x01c);
/* 01c */ u32 mUnk_01c[2];
/* 024 */ u32 mUnk_024[2];
/* 02c */ u32 mUnk_02c[2];
- /* 034 */ PAD(0x34, 0x38);
+ /* 034 */ PAD(0x034, 0x038);
/* 038 */ u32 mUnk_038[1]; // at least 1, unclear how many
- /* 03c */ PAD(0x03c, 0x178);
+ /* 03c */ PAD(0x03c, 0x070);
+ /* 070 */ ActorRef mShopItemRefs[NUM_SHOP_ITEMS];
+ /* 098 */ ActorRef mShopItemRefBK;
+ /* 0a0 */ ActorRef mShopItemRefCC;
+ /* 0a8 */ ActorRef mShopItemRefBY;
+ /* 0b0 */ PAD(0x0b0, 0x178);
/* 178 */ Vec3p mUnk_178;
- /* 184 */ PAD(0x184, 0x19a);
+ /* 184 */ PAD(0x184, 0x194);
+ /* 194 */ unk32 mUnk_194;
+ /* 198 */ bool mUnk_198;
+ /* 199 */ PAD(0x199, 0x19a);
/* 19a */ u8 mUnk_19a;
/* 19b */
+ static UnkStruct_ov031_02183e80 *GetInstance();
+
bool func_ov031_0217bd80();
+ unk32 func_ov031_0217bda0();
+ unk32 func_ov031_0217bdac();
+ ActorShopItem *func_ov031_0217cdd8(unk32 param1);
+ bool func_ov031_0217ce18();
+ unk32 func_ov031_0217ce6c();
bool func_ov031_0217cec0();
};
diff --git a/include/Actor/Character/ActorCharacter.hpp b/include/Actor/Character/ActorCharacter.hpp
index 8c9968a2..c39e893e 100644
--- a/include/Actor/Character/ActorCharacter.hpp
+++ b/include/Actor/Character/ActorCharacter.hpp
@@ -36,7 +36,7 @@ public:
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
- /* 68 */ virtual void vfunc_68() override;
+ /* 68 */ virtual void vfunc_68(unk32 param1, UnkStruct_020397f8 *param2) override;
/* 80 */ virtual void vfunc_80() override;
/* 84 */ virtual void vfunc_84() override;
/* b4 */ virtual void vfunc_b4();
@@ -82,13 +82,13 @@ public:
/* 78 */ Vec3p mUnk_78;
/* 84 */ unk32 mUnk_84;
/* 88 */ unk32 mUnk_88;
- /* 8c */ unk8 mUnk_8c;
+ /* 8c */ bool mUnk_8c;
/* 8d */ unk8 mUnk_8d;
/* 8e */ unk8 mUnk_8e;
- /* 8f */ unk8 mUnk_8f;
+ /* 8f */ bool mUnk_8f;
/* 90 */
- /* 00 */ virtual ~ActorCharacterModel() override {}
+ /* 00 */ ARM virtual ~ActorCharacterModel() override {}
/* 3c */ virtual void vfunc_3c(ModelRenderCommandsData *renderData) override;
/* 40 */
@@ -187,6 +187,7 @@ public:
mUnk_244(0x11f) {}
void func_ov014_02145cac();
+ void func_ov014_02145e48(unk32 param1);
bool func_ov014_02145f0c(unk32 param1);
inline bool UnkFunc1(unk32 param1) {
diff --git a/include/Actor/Character/ActorItemSeller.hpp b/include/Actor/Character/ActorItemSeller.hpp
index b2e2db97..26ce1ad6 100644
--- a/include/Actor/Character/ActorItemSeller.hpp
+++ b/include/Actor/Character/ActorItemSeller.hpp
@@ -10,33 +10,40 @@ class ActorItemSellerBase : public ActorCharacter {
public:
/* 000 (base) */
/* 470 */ unk32 mUnk_470;
- /* 474 */
+ /* 474 */ unk32 mUnk_474;
+ /* 478 */ unk32 mUnk_478;
+ /* 47c */ unk32 mUnk_47c;
+ /* 480 */ bool mUnk_480;
+ /* 481 */ PAD(0x481, 0x484);
+ /* 484 */
/* 000 */ virtual ~ActorItemSellerBase() override;
/* 008 */ virtual bool Init() override;
/* 020 */ virtual void vfunc_20(bool param1) override;
/* 03c */ virtual bool CollidesWithLink() override;
/* 040 */ virtual bool IsHitboxTouched(bool param1) override;
- /* 068 */ virtual void vfunc_68() override;
+ /* 068 */ virtual void vfunc_68(unk32 param1, UnkStruct_020397f8 *param2) override;
/* 08c */ virtual bool vfunc_8c() override;
/* 0c0 */ virtual bool vfunc_c0() override;
/* 0c4 */ virtual void vfunc_c4() override;
/* 0d4 */ virtual unk32 vfunc_d4() override;
- /* 0f4 */ virtual void vfunc_f4() = 0;
- /* 0f8 */ virtual void vfunc_f8() = 0;
- /* 0fc */ virtual void vfunc_fc() = 0;
- /* 100 */ virtual void vfunc_100() = 0;
- /* 104 */ virtual void vfunc_104() = 0;
- /* 108 */ virtual void vfunc_108() = 0;
- /* 10c */ virtual void vfunc_10c() = 0;
- /* 110 */ virtual void vfunc_110() = 0;
- /* 114 */ virtual void vfunc_114() = 0;
- /* 118 */ virtual void vfunc_118() = 0;
- /* 11c */ virtual void vfunc_11c();
+ /* 0f4 */ virtual void vfunc_f4() = 0;
+ /* 0f8 */ virtual void vfunc_f8() = 0;
+ /* 0fc */ virtual void vfunc_fc() = 0;
+ /* 100 */ virtual void vfunc_100() = 0;
+ /* 104 */ virtual void vfunc_104() = 0;
+ /* 108 */ virtual void vfunc_108() = 0;
+ /* 10c */ virtual void vfunc_10c() = 0;
+ /* 110 */ virtual void vfunc_110() = 0;
+ /* 114 */ virtual unk32 vfunc_114(unk32 param1) = 0;
+ /* 118 */ virtual void vfunc_118() = 0;
+ /* 11c */ virtual bool vfunc_11c();
/* 120 */
ActorItemSellerBase();
+ static ActorItemSellerBase *GetCurrentSeller();
+
void func_ov031_0217d588();
void func_ov031_0217d5c0();
void func_ov031_0217d5c4();
@@ -44,7 +51,7 @@ public:
void func_ov031_0217d610();
void func_ov031_0217d62c();
void func_ov031_0217d638();
- void func_ov031_0217d6ac();
+ bool func_ov031_0217d6ac();
void func_ov031_0217d6d0();
void func_ov031_0217d760();
void func_ov031_0217d784();
@@ -62,7 +69,7 @@ public:
class ActorItemSeller : public ActorItemSellerBase {
/* 000 (base) */
- /* 474 */
+ /* 484 */
/* 000 */ virtual ~ActorItemSeller() override;
/* 008 */ virtual bool Init() override;
@@ -75,7 +82,7 @@ class ActorItemSeller : public ActorItemSellerBase {
/* 108 */ virtual void vfunc_108() override;
/* 10c */ virtual void vfunc_10c() override;
/* 110 */ virtual void vfunc_110() override;
- /* 114 */ virtual void vfunc_114() override;
+ /* 114 */ virtual unk32 vfunc_114(unk32 param1) override;
/* 118 */ virtual void vfunc_118() override;
/* 120 */
};
@@ -100,7 +107,7 @@ public:
static ActorType gType;
/* 000 (base) */
- /* 474 */
+ /* 484 */
/* 000 */ virtual ~ActorBeedle() override;
/* 008 */ virtual bool Init() override;
@@ -108,9 +115,9 @@ public:
/* 070 */ virtual bool vfunc_70() override;
/* 0c4 */ virtual void vfunc_c4() override;
/* 0d4 */ virtual unk32 vfunc_d4() override;
- /* 0d8 */ virtual unk32 vfunc_d8() override;
- /* 0dc */ virtual unk32 vfunc_dc() override;
- /* 0e0 */ virtual unk32 vfunc_e0() override;
+ /* 0d8 */ virtual unk32 vfunc_d8(unk32 param1) override;
+ /* 0dc */ virtual unk32 vfunc_dc(unk32 param1) override;
+ /* 0e0 */ virtual unk32 vfunc_e0(unk32 param1) override;
/* 0f4 */ virtual void vfunc_f4() override;
/* 0f8 */ virtual void vfunc_f8() override;
/* 0fc */ virtual void vfunc_fc() override;
@@ -119,9 +126,9 @@ public:
/* 108 */ virtual void vfunc_108() override;
/* 10c */ virtual void vfunc_10c() override;
/* 110 */ virtual void vfunc_110() override;
- /* 114 */ virtual void vfunc_114() override;
+ /* 114 */ virtual unk32 vfunc_114(unk32 param1) override;
/* 118 */ virtual void vfunc_118() override;
- /* 11c */ virtual void vfunc_11c() override;
+ /* 11c */ virtual bool vfunc_11c() override;
static ActorBeedle *Create();