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();
+2
View File
@@ -18,6 +18,8 @@ struct UnkStruct_027e0f64_04 {
/* 278 */
bool func_01ffe468(Vec3p *param2, s32 *param3, s32 *param4, bool param5);
void func_ov000_0208726c(unk32 param1);
};
class UnkStruct_027e0f64 {
+4 -2
View File
@@ -1,5 +1,7 @@
#pragma once
#include "Unknown/UnkStruct_02037628.hpp"
#include "Unknown/UnkStruct_ov000_020d18f4.hpp"
#include "global.h"
#include "types.h"
@@ -59,14 +61,14 @@ public:
void func_0203690c(unk32 param_2);
void func_02036bbc(void);
void func_02036c50(u16 *param_2);
void func_02036ca4(unk32 param_2);
void func_02036ca4(u16 *param_2);
bool func_02036ce4(UnkStruct_02037750 *param_2, unk32 param_3);
bool func_02036d30(UnkStruct_02037750 *param_2);
bool func_02036d4c(UnkStruct_02037750 *param_2);
void func_02036d6c(void);
UnkStruct_02038aa0 *func_02036da8(u32 param_2, s16 *param_3);
void func_02036edc(u32 param_2, u8 param_3);
UnkStruct_020397f8 *func_02036f68(u32 param_2, u8 *param_3);
UnkStruct_020397f8 *func_02036f68(u32 param_2, UnkStruct_02037628 *param_3, UnkStruct_ov000_020d18f4 *param_4);
UnkStruct_020386d8 *func_020370d0(unk32 param_2, unk32 param_3);
UnkStruct_020386d8 *func_020370e8(unk32 param_2, unk16 param_3, unk16 param_4, unk32 param_5);
void func_02037158(UnkSubClass1_02256FF8 *param_2);
+6 -4
View File
@@ -52,7 +52,7 @@ public:
/* 0x08 */
UnkStruct_0203dae0_114();
/* 0x00 */ virtual ~UnkStruct_0203dae0_114() override;
/* 0x00 */ virtual ~UnkStruct_0203dae0_114();
/* 0x08 */ virtual unk32 vfunc_08(void *);
/* 0x08 */ virtual unk32 vfunc_0c(void);
/* 0x0C */
@@ -78,9 +78,9 @@ struct func_02038f44_param4 {
extern "C" u32 func_01ff9b4c(unk32, unk32);
extern "C" unk32 func_0203c084(void);
extern "C" unk32 func_ov000_02079e04(void);
extern "C" unk32 func_02016fcc(unk32);
extern "C" unk32 func_0202d5b4(char *, char *, unk32, unk32, unk32);
extern unk32 data_020691a0;
extern "C" unk32 func_02016fcc(unk32 *);
extern "C" unk32 *func_0202d5b4(char *, char *, unk8 *, unk32, unk32);
extern unk8 data_020691a0[];
extern unk32 data_02056af0;
extern unk32 *data_02056a00;
extern char *data_02057f08; // "MSP"
@@ -124,6 +124,8 @@ class UnkClass_027e0e28 {
public:
unk32 func_ov000_0207bc48();
void func_ov000_0207bc9c();
bool func_ov018_02160a64(unk32, unk32);
};
extern UnkClass_027e0e28 data_027e0e28;
extern unk32 *data_ov009_0211f5b4;
+16 -16
View File
@@ -36,20 +36,20 @@ public:
/* 20 */
UnkSubClass1_02256FF8();
/* 00 */ virtual ~UnkSubClass1_02256FF8() override;
/* 08 */ virtual void vfunc_08(void) override;
/* 0c */ virtual void vfunc_0c(void) override;
/* 10 */ virtual void vfunc_10(void) override;
/* 14 */ virtual void vfunc_14(void) override;
/* 18 */ virtual void vfunc_18(void) override;
/* 1c */ virtual void vfunc_1c(void) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 24 */ virtual void vfunc_24(void) override;
/* 28 */ virtual void vfunc_28(void) override;
/* 2c */ virtual void vfunc_2c(void) override;
/* 30 */ virtual void vfunc_30(void) override;
/* 34 */ virtual void vfunc_34(void) override;
/* 38 */ virtual void vfunc_38(void) override;
/* 00 */ virtual ~UnkSubClass1_02256FF8();
/* 08 */ virtual void vfunc_08(void);
/* 0c */ virtual void vfunc_0c(void);
/* 10 */ virtual void vfunc_10(void);
/* 14 */ virtual void vfunc_14(void);
/* 18 */ virtual void vfunc_18(void);
/* 1c */ virtual void vfunc_1c(void);
/* 20 */ virtual void vfunc_20(void);
/* 24 */ virtual void vfunc_24(void);
/* 28 */ virtual void vfunc_28(void);
/* 2c */ virtual void vfunc_2c(void);
/* 30 */ virtual void vfunc_30(void);
/* 34 */ virtual void vfunc_34(void);
/* 38 */ virtual void vfunc_38(void);
/* 3c */
};
@@ -90,7 +90,7 @@ public:
/* 2c */ UnkStruct_MsgProc_Base_unk_2C **mUnk_2c;
/* 30 */ s32 mUnk_30;
/* 34 */ s32 mUnk_34;
/* 38 */ unk32 mUnk_38;
/* 38 */ void *mUnk_38;
/* 3c */ unk16 mUnk_3c;
/* 3e */ unk16 mUnk_3e;
/* 40 */ unk32 mUnk_40;
@@ -133,7 +133,7 @@ public:
/* 30 */ virtual void vfunc_30(void);
/* 34 */ virtual unk32 vfunc_34(unk32 param_2);
/* 38 */ virtual bool vfunc_38(void);
/* 3c */ virtual void vfunc_3C(unk32 param_2);
/* 3c */ virtual void vfunc_3C(u16 *param_2);
/* 40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3);
/* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY);
/* 48 */ virtual void vfunc_48(void);
+19
View File
@@ -0,0 +1,19 @@
#pragma once
#include "global.h"
#include "types.h"
#include <nds/math.h>
struct UnkStruct_02037628 {
/* 00 */ PAD(0x00, 0x0c);
/* 0c */ u8 mUnk_0c;
/* 0d */ PAD(0x0d, 0x14);
/* 14 */ u8 mUnk_14;
/* 15 */ u8 mUnk_15;
/* 15 */ u8 mUnk_16;
/* 17 */
void func_02037628();
void func_020376c0(Vec3p *pos);
};
+9 -8
View File
@@ -152,20 +152,21 @@ public:
MsgProc_Type3(unk32 param_2, unk16 param_3, unk32 param_4);
//! TODO: remove the function declarations that are not overridden
/* 00 */ virtual ~MsgProc_Type3();
/* 08 */ virtual void vfunc_08(unk32 *param_2, unk32 *param_3) override;
/* 0c */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
/* 10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060?
//! TODO: Fix these overrides, they don't match base class
// /* 08 */ virtual void vfunc_08(unk32 *param_2, unk32 *param_3) override;
// /* 0c */ virtual void vfunc_0C(u8 param_2, u8 param_3, u8 param_4, unk32 param_5) override;
// /* 10 */ virtual void vfunc_10(u8 param_2, u8 param_3) override; // func_0203e060?
/* 14 */ virtual bool vfunc_14(unk32 param_2, unk32 param_3) override;
/* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264 *param_2, unk32 param_3, unk32 param_4) override;
/* 1c */ virtual unk32 vfunc_1C(u16 *param_2, UnkStruct_0203b264 *param_3, unk8 param_4, unk32 param_5) override;
/* 20 */ virtual void vfunc_20(void) override;
/* 24 */ virtual void vfunc_24(void) override;
// /* 18 */ virtual unk32 vfunc_18(UnkStruct_0203b264 *param_2, unk32 param_3, unk32 param_4) override;
// /* 1c */ virtual unk32 vfunc_1C(u16 *param_2, UnkStruct_0203b264 *param_3, unk8 param_4, unk32 param_5) override;
// /* 20 */ virtual void vfunc_20(void) override;
// /* 24 */ virtual void vfunc_24(void) override;
/* 28 */ virtual bool vfunc_28(void) override;
/* 2c */ virtual void vfunc_2C(void) override;
/* 30 */ virtual void vfunc_30(void) override;
/* 34 */ virtual unk32 vfunc_34(unk32 param_2) override;
/* 38 */ virtual bool vfunc_38(void) override;
/* 3c */ virtual void vfunc_3C(unk32 param_2) override;
/* 3c */ virtual void vfunc_3C(u16 *param_2) override;
/* 40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override;
/* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override;
/* 48 */ virtual void vfunc_48(void) override;
+1 -1
View File
@@ -105,7 +105,7 @@ public:
//! TODO: fake?
/* 34 */ virtual unk32 vfunc_34(unk32 param_2) override;
/* 38 */ virtual bool vfunc_38(void) override;
/* 3c */ virtual void vfunc_3C(unk32 param_2) override;
/* 3c */ virtual void vfunc_3C(u16 *param_2) override;
/* 40 */ virtual void vfunc_40(unk32 param_2, unk32 param_3) override;
/* 44 */ virtual void vfunc_44(s32 touchLastX, s32 touchLastY) override;
/* 48 */ virtual void vfunc_48(void) override;
+9 -2
View File
@@ -5,6 +5,12 @@
#include "Game/GameMode.hpp"
struct UnkStruct_027e0dbc_24 {
/* 00 */ PAD(0x00, 0x0b);
/* 0b */ u8 mUnk_0b;
/* 0c */
};
class UnkStruct_027e0dbc {
public:
/* 00 */ unk32 mUnk_00;
@@ -16,7 +22,7 @@ public:
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ unk32 mUnk_20;
/* 24 */ unk32 mUnk_24;
/* 24 */ UnkStruct_027e0dbc_24 *mUnk_24;
/* 28 */ unk32 mUnk_28;
/* 2c */ unk32 mUnk_2c;
@@ -26,8 +32,9 @@ public:
void func_ov000_0207b9dc();
void func_ov000_0207b9c8();
void func_ov000_0207b988(GameModeId modeId);
UnkStruct_027e0dbc_24 *GetUnk_24();
unk32 func_ov003_020f3d5c(unk32 param1);
bool func_ov003_020f3d5c(unk32 param1);
void func_ov003_020f3d74(unk32 param1);
};