ActorItemSellerBase OK (#163)

* ActorItemSellerBase OK

* Fix broken matches
This commit is contained in:
Aetias
2026-05-11 23:32:28 +02:00
committed by GitHub
parent e704ec9942
commit 1570b7d2d6
38 changed files with 676 additions and 239 deletions
+2 -1
View File
@@ -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);
+22 -4
View File
@@ -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();
};
+5 -4
View File
@@ -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) {
+29 -22
View File
@@ -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();