Delink ActorShopItem.cpp (#147)

* Make types compatible with dsd-ghidra typesync

* Update actors.md

* Update docs

* Delink ActorShopItem.cpp
This commit is contained in:
Aetias
2026-04-16 23:10:14 +02:00
committed by GitHub
parent 81f4540e6c
commit 38e9378f8f
17 changed files with 669 additions and 22 deletions
@@ -4,3 +4,6 @@
.ctor start:0x02182080 end:0x02182090 kind:rodata align:4
.data start:0x021820a0 end:0x02183e80 kind:data align:32
.bss start:0x02183e80 end:0x02184200 kind:bss align:32
src/31_Shop/Actor/ActorShopItem.cpp:
.text start:0x0217dbdc end:0x02180708
@@ -4,3 +4,6 @@
.ctor start:0x02181fe0 end:0x02181ff0 kind:rodata align:4
.data start:0x02182000 end:0x02183de0 kind:data align:32
.bss start:0x02183de0 end:0x02184160 kind:bss align:32
src/31_Shop/Actor/ActorShopItem.cpp:
.text start:0x0217db3c end:0x02180668
+6
View File
@@ -24,9 +24,14 @@ translations. Feel free to contribute to this list!
-------|--------------|---------
`ITAP` | Item Arrow Pod | Quiver
`ITAR` | Item Arrows | 10 Arrows
`ITB2` |
`ITBB` | Item Bomb Bag
`ITBK` |
`ITBM` | Item Bombs | 10 Bombs
`ITBT` | Item Bombchus | 10 Bombchus
`ITBY` |
`ITCC` |
`ITDM` |
`ITHU` | | Heart container
`ITPB` | Item Potion Bottle
`ITSL` | Item Shield
@@ -191,6 +196,7 @@ translations. Feel free to contribute to this list!
`GRNE` | Goron Elder | Biggoron
`GRNM` | Goron Man
`ITS3` | Item Seller NPC 3 | Mi, item seller of Goron Island
`ITS2` | Item Seller NPC 2
`ITSN` | Item Seller NPC | Ai, item seller of Mercay Island
`JUDG` | Judge | The treasure teller
`LNBK` | Linebeck
+1 -1
View File
@@ -35,7 +35,7 @@ contribute to this list!
`28` | --- | - |
`29` | --- | - |
`30` | --- | - |
`31` | --- | 7 |
`31` | Shop | 7 | Handles shops.
`32` | --- | 7 |
`33` | --- | 7 |
`34` | --- | - |
+409
View File
@@ -0,0 +1,409 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Actor/Actor.hpp"
#include "Actor/ActorType.hpp"
class ActorShopItemBase : public Actor {
public:
/* 000 (base) */
/* 158 */ unk32 mUnk_158;
/* 15c */ unk8 mUnk_15c;
/* 15d */ unk8 mUnk_15d;
/* 15e */ unk8 mUnk_15e;
/* 160 */
/* 00 */ virtual ~ActorShopItemBase() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 18 */ virtual void vfunc_18(u32 param1) override;
/* b4 */ virtual bool vfunc_b4();
/* b8 */ virtual bool vfunc_b8();
/* bc */
ActorShopItemBase();
};
class ActorShopItem : public ActorShopItemBase {
public:
/* 000 (base) */
/* 160 */ unk32 mUnk_160;
/* 164 */ unk32 mUnk_164;
/* 168 */ unk16 mUnk_168;
/* 16a */ unk16 mUnk_16a;
/* 16c */ unk16 mUnk_16c;
/* 16e */ unk16 mUnk_16e;
/* 170 */ unk16 mUnk_170;
/* 172 */ unk16 mUnk_172;
/* 174 */ unk8 mUnk_174;
/* 175 */ unk8 mUnk_175;
/* 178 */
/* 00 */ virtual ~ActorShopItem() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* bc */ virtual unk32 vfunc_bc() = 0;
/* c0 */ virtual unk32 vfunc_c0();
/* c4 */ virtual void vfunc_c4();
/* c8 */ virtual void vfunc_c8();
/* cc */ virtual void vfunc_cc();
/* d0 */ virtual unk32 vfunc_d0() = 0;
/* d4 */ virtual void vfunc_d4();
/* d8 */ virtual unk32 vfunc_d8();
/* dc */ virtual unk32 vfunc_dc();
/* e0 */ virtual unk32 vfunc_e0();
/* e4 */
ActorShopItem();
void func_ov031_0217f0b4();
void func_ov031_0217f114();
void func_ov031_0217f120();
unk32 func_ov031_0217f868();
};
class ActorShopItemDM : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemDM() override;
/* 08 */ virtual bool Init() override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* bc */ virtual unk32 vfunc_bc() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* e4 */
static ActorShopItemDM *Create();
};
class ActorShopItemSoldOut : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemSoldOut() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* e4 */
static ActorShopItemSoldOut *Create();
};
class ActorShopItemHeartContainer : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemHeartContainer() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* e0 */ virtual unk32 vfunc_e0() override;
/* e4 */
static ActorShopItemHeartContainer *Create();
};
class ActorShopItemArrows : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemArrows() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemArrows *Create();
};
class ActorShopItemBombs : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemBombs() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemBombs *Create();
};
class ActorShopItemBombchus : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemBombchus() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemBombchus *Create();
};
class ActorShopItemQuiver : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemQuiver() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemQuiver *Create();
};
class ActorShopItemBombBag : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemBombBag() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemBombBag *Create();
};
class ActorShopItemB2 : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemB2() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemB2 *Create();
};
struct ActorShopItemCollectable_Unk1 {
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0c */ unk32 mUnk_0c;
/* 10 */ unk32 mUnk_10;
/* 14 */ unk32 mUnk_14;
/* 18 */ unk32 mUnk_18;
/* 1c */ unk32 mUnk_1c;
/* 20 */ unk32 mUnk_20;
/* 24 */ unk8 mUnk_24;
/* 25 */ unk8 mUnk_25;
/* 28 */
};
class ActorShopItemTreasure : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */ ActorShopItemCollectable_Unk1 *mUnk_178;
/* 17c */ unk32 mUnk_17c;
/* 180 */
/* 00 */ virtual ~ActorShopItemTreasure() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* e0 */ virtual unk32 vfunc_e0() override;
/* e4 */
static ActorShopItemTreasure *Create();
ActorShopItemTreasure();
unk32 func_ov031_02180248();
unk32 func_ov031_02180260();
unk32 func_ov031_02180278();
};
class ActorShopItemShipPart : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */ unk32 mUnk_178;
/* 17c */ ActorShopItemCollectable_Unk1 *mUnk_17c;
/* 180 */ unk32 mUnk_180;
/* 184 */
/* 00 */ virtual ~ActorShopItemShipPart() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* d4 */ virtual void vfunc_d4() override;
/* e0 */ virtual unk32 vfunc_e0() override;
/* e4 */
static ActorShopItemShipPart *Create();
ActorShopItemShipPart();
unk32 func_ov031_02180248();
unk32 func_ov031_02180260();
unk32 func_ov031_02180278();
};
class ActorShopItemGem : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemGem() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemGem *Create();
};
class ActorShopItemShield : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemShield() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e4 */
static ActorShopItemShield *Create();
};
class ActorShopItemPotion : public ActorShopItem {
public:
static ActorType gType;
/* 000 (base) */
/* 178 */
/* 00 */ virtual ~ActorShopItemPotion() override;
/* 08 */ virtual bool Init() override;
/* bc */ virtual unk32 vfunc_bc() override;
/* c4 */ virtual void vfunc_c4() override;
/* d0 */ virtual unk32 vfunc_d0() override;
/* e0 */ virtual unk32 vfunc_e0() override;
/* e4 */
static ActorShopItemPotion *Create();
};
class ActorShopItemUnk : public ActorShopItemBase {
public:
/* 000 (base) */
/* 160 */ unk32 mUnk_160;
/* 164 */ unk8 mUnk_164;
/* 168 */
/* 00 */ virtual ~ActorShopItemUnk() override;
/* 08 */ virtual bool Init() override;
/* 14 */ virtual void vfunc_14(u32 param1) override;
/* 20 */ virtual void vfunc_20(bool param1) override;
/* bc */
ActorShopItemUnk();
};
class ActorShopItemBK : public ActorShopItemUnk {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
/* 00 */ virtual ~ActorShopItemBK() override;
/* 1c */ virtual void vfunc_1c(u16 *param1) override;
/* b4 */ virtual bool vfunc_b4() override;
/* b8 */ virtual bool vfunc_b8() override;
/* bc */
static ActorShopItemBK *Create();
};
class ActorShopItemCC : public ActorShopItemUnk {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
/* 00 */ virtual ~ActorShopItemCC() override;
/* 1c */ virtual void vfunc_1c(u16 *param1) override;
/* b4 */ virtual bool vfunc_b4() override;
/* b8 */ virtual bool vfunc_b8() override;
/* bc */
static ActorShopItemCC *Create();
};
class ActorShopItemBY : public ActorShopItemUnk {
public:
static ActorType gType;
/* 000 (base) */
/* 168 */
/* 00 */ virtual ~ActorShopItemBY() override;
/* 1c */ virtual void vfunc_1c(u16 *param1) override;
/* b4 */ virtual bool vfunc_b4() override;
/* b8 */ virtual bool vfunc_b8() override;
/* bc */
static ActorShopItemBY *Create();
ActorShopItemBY();
};
+2
View File
@@ -3,6 +3,8 @@
#include "global.h"
#include "types.h"
#include <nds/math.h>
struct UnkStruct_027e0e58 {
/* 00 */ unk8 mUnk_00[0x22];
/* 22 */ unk16 mUnk_22;
+3
View File
@@ -1,7 +1,10 @@
#pragma once
#include "global.h"
#include "types.h"
#include "Item/Item.hpp"
struct UnkStruct_027e105c {
/* 0 */ const char **unk_0;
/* 4 */
+1 -1
View File
@@ -50,7 +50,7 @@ public:
bool func_02036770(u32 param_2);
unk32 func_02036798(void);
bool func_020367dc(int param_2);
bool MessageManager::func_020367ec(void);
bool func_020367ec(void);
bool func_02036808(void);
bool func_02036824(void);
bool func_02036850(void);
+2
View File
@@ -3,6 +3,8 @@
#include "global.h"
#include "types.h"
#include "Game/GameMode.hpp"
class UnkStruct_027e0dbc {
public:
/* 00 */ unk32 mUnk_00;
@@ -3,6 +3,8 @@
#include "global.h"
#include "types.h"
#include <nds/math.h>
struct UnkStruct_ov000_020e9c88 {
void func_ov000_0207b89c(s32 param2, Vec3p *param3, void (*param4)(void *), void *param5);
};
+8 -4
View File
@@ -3,20 +3,24 @@
#include "global.h"
#include "types.h"
struct TouchStateFlags {
typedef struct TouchStateFlags {
u16 touchX;
u16 touchY;
u16 touch;
u16 flags;
};
} TouchStateFlags;
struct TouchState {
typedef struct TouchState {
bool touch;
s32 touchX;
s32 touchY;
};
} TouchState;
#ifdef __cplusplus
extern "C" {
#endif
void WaitForTouchUpdate(u16 param1);
bool GetTouchStateFlags(TouchStateFlags *pState);
#ifdef __cplusplus
}
#endif
+1 -1
View File
@@ -3,6 +3,6 @@
#define assert(condition) (void) ((condition) || __assert_failed(#condition, __FILE__, __FUNCTION__, __LINE__));
void __assert_failed(char *condition, char *fileName, char *functionName, s32 lineNumber);
void __assert_failed(char *condition, char *fileName, char *functionName, int lineNumber);
#endif
+5 -1
View File
@@ -1,7 +1,9 @@
#ifndef _C_STDARG_H
#define _C_STDARG_H
#ifdef __cplusplus
extern "C" {
#endif
typedef char *va_list;
#define __std(ref) ::std::ref
@@ -11,7 +13,9 @@ typedef char *va_list;
#define va_start(ap, parm) ((ap) = __va_start(parm))
#define va_arg(ap, type) (*(type *) ((ap += __fourbytealign(sizeof(type))) - __fourbytealign(sizeof(type))))
#define va_end(ap) ((void) 0)
}
#ifdef __cplusplus
} // extern "C"
#endif
#if defined(__cplusplus)
namespace std {
+4
View File
@@ -3,7 +3,11 @@
#define NULL 0
#ifdef __MWERKS__
typedef unsigned long size_t;
#else
typedef unsigned int size_t;
#endif
#define offsetof(type, member) ((size_t) &((type *) NULL)->member)
+13 -13
View File
@@ -1,9 +1,9 @@
#include "nds/math.h"
struct G3d_RenderState_;
typedef void (*G3d_CallbackFunction)(struct G3d_RenderState_ *);
struct G3d_RenderState;
typedef void (*G3d_CallbackFunction)(struct G3d_RenderState *);
typedef struct G3d_NameList_ {
typedef struct G3d_NameList {
/* 00 */ u8 dummy;
/* 01 */ u8 numElmnts; // number of elements
/* 02 */ u16 size; // size of this NameList in bytes
@@ -13,20 +13,20 @@ typedef struct G3d_NameList_ {
/* 0c */
} G3d_NameList;
typedef struct G3d_NameList_Header_ {
typedef struct G3d_NameList_Header {
/* 00 */ u16 element_size;
/* 02 */ u16 data_section_size;
/* 04 */ u8 data[4];
/* 08 */
} G3d_NameList_Header;
typedef struct G3d_InvBindMtx_ {
typedef struct G3d_InvBindMtx {
/* 00 */ Mat4x3p mtx;
/* 30 */ Mat3p unkMtx;
/* 54 */
} G3d_InvBindMtx;
typedef struct G3d_BoneMtxStruct_ {
typedef struct G3d_BoneMtxStruct {
/* 00 */ u32 flag;
/* 04 */ u8 mUnk_04[0x24];
/* 28 */ Mat3p rot;
@@ -40,9 +40,9 @@ typedef enum {
G3D_ANIMBIND_OFF = 0x200
} G3d_AnimationBinds;
typedef struct G3d_Animation_ {
typedef struct G3d_Animation {
/* 00 */ u8 mUnk_00[0x10];
/* 10 */ struct G3d_Animation_ *next; // next animation in the list
/* 10 */ struct G3d_Animation *next; // next animation in the list
/* 14 */ u8 mUnk_14[0x5];
/* 19 */ u8 numElmnts; // number of elements in the elementBinds array
/* 1a */ u16 elementBinds[1]; // each bit corresponds to a bone/material and determines whether an animation exists for it
@@ -50,7 +50,7 @@ typedef struct G3d_Animation_ {
} G3d_Animation;
// Structure representing the NSBMD model file
typedef struct G3d_Model_ {
typedef struct G3d_Model {
/* 00 */ u32 size; // size of the model in bytes
/* 04 */ u32 offSbc; // offset of the SBC commands list
/* 08 */ u32 offMat; // offset of the material list
@@ -98,7 +98,7 @@ typedef enum {
} G3d_RenderObjFlag;
// Structure that handles the parameters for drawing a model
typedef struct G3d_RenderObject_ {
typedef struct G3d_RenderObject {
/* 00 */ u32 flag; // G3d_RenderObjFlag
/* 04 */ G3d_Model *model;
/* 08 */ G3d_Animation *matAnim; // material animation
@@ -122,14 +122,14 @@ typedef struct G3d_RenderObject_ {
/* 54 */
} G3d_RenderObject;
typedef struct G3d_Material_List_ {
typedef struct G3d_Material_List {
/* 00 */ u16 texture_pairings_off;
/* 02 */ u16 palette_pairings_off;
/* 04 */ G3d_NameList materials;
/* 10 */
} G3d_Material_List;
typedef struct G3d_Material_ {
typedef struct G3d_Material {
/* 00 */ u32 mUnk_00;
/* 04 */ u32 dif_amb;
/* 08 */ u32 spe_emi;
@@ -145,7 +145,7 @@ typedef struct G3d_Material_ {
/* 2c */
} G3d_Material;
typedef struct G3d_MaterialAnimation_ {
typedef struct G3d_MaterialAnimation {
/* 00 */ u32 flag;
/* 04 */ u32 dif_amb;
/* 08 */ u32 spe_emi;
+1 -1
View File
@@ -30,7 +30,7 @@ typedef enum {
G3D_RENDERST_FLAG_SKIP_SBC_MTXCALC = 0x400 // skips the execution of matrix calculation commands
} G3d_RenderStateFlag;
typedef struct G3d_RenderState_ {
typedef struct G3d_RenderState {
/* 00 */ u8 *currentCmd; // current command being processed
/* 04 */ G3d_RenderObject *renderObj; // current render object being processed
/* 08 */ u32 flag; // G3d_RenderStateFlag
+205
View File
@@ -0,0 +1,205 @@
#include "Actor/ActorShopItem.hpp"
#include "lib/files.hpp"
extern u32 **data_027e0fe0[];
ActorShopItemDM *ActorShopItemDM::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemDM();
}
ActorShopItemSoldOut *ActorShopItemSoldOut::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemSoldOut();
}
ActorShopItemHeartContainer *ActorShopItemHeartContainer::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemHeartContainer();
}
ActorShopItemArrows *ActorShopItemArrows::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemArrows();
}
ActorShopItemBombs *ActorShopItemBombs::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemBombs();
}
ActorShopItemBombchus *ActorShopItemBombchus::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemBombchus();
}
ActorShopItemQuiver *ActorShopItemQuiver::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemQuiver();
}
ActorShopItemBombBag *ActorShopItemBombBag::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemBombBag();
}
ActorShopItemB2 *ActorShopItemB2::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemB2();
}
ActorShopItemTreasure *ActorShopItemTreasure::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemTreasure();
}
ActorShopItemShipPart *ActorShopItemShipPart::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemShipPart();
}
ActorShopItemGem *ActorShopItemGem::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemGem();
}
ActorShopItemShield *ActorShopItemShield::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemShield();
}
ActorShopItemPotion *ActorShopItemPotion::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemPotion();
}
ActorShopItemBK *ActorShopItemBK::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemBK();
}
ActorShopItemCC *ActorShopItemCC::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemCC();
}
ActorShopItemBY *ActorShopItemBY::Create() {
return new(*data_027e0fe0[0], 4) ActorShopItemBY();
}
static void func_ov031_0217dfec(FileEntry *param_1, FileEntry *param_2, char *param_3) {}
static void func_ov031_0217e040() {}
static void func_ov031_0217e2b4() {}
ActorShopItemBase::ActorShopItemBase() {}
ActorShopItem::ActorShopItem() {}
ActorShopItemShipPart::ActorShopItemShipPart() {}
ActorShopItemTreasure::ActorShopItemTreasure() {}
ActorShopItemUnk::ActorShopItemUnk() {}
ActorShopItemBY::ActorShopItemBY() {}
ActorShopItemBase::~ActorShopItemBase() {}
ActorShopItem::~ActorShopItem() {}
ActorShopItemSoldOut::~ActorShopItemSoldOut() {}
ActorShopItemShipPart::~ActorShopItemShipPart() {}
ActorShopItemTreasure::~ActorShopItemTreasure() {}
void ActorShopItem::vfunc_d4() {}
void ActorShopItemDM::vfunc_d4() {}
void ActorShopItemSoldOut::vfunc_d4() {}
void ActorShopItemShipPart::vfunc_d4() {}
void ActorShopItemTreasure::vfunc_d4() {}
bool ActorShopItemBase::Init() {}
bool ActorShopItem::Init() {}
bool ActorShopItemDM::Init() {}
bool ActorShopItemSoldOut::Init() {}
bool ActorShopItemHeartContainer::Init() {}
bool ActorShopItemArrows::Init() {}
bool ActorShopItemQuiver::Init() {}
bool ActorShopItemBombs::Init() {}
bool ActorShopItemBombBag::Init() {}
bool ActorShopItemBombchus::Init() {}
bool ActorShopItemB2::Init() {}
bool ActorShopItemShipPart::Init() {}
bool ActorShopItemTreasure::Init() {}
bool ActorShopItemGem::Init() {}
bool ActorShopItemShield::Init() {}
bool ActorShopItemPotion::Init() {}
bool ActorShopItemUnk::Init() {}
void ActorShopItemBase::vfunc_14(u32 param1) {}
void ActorShopItem::vfunc_14(u32 param1) {}
void ActorShopItemShipPart::vfunc_14(u32 param1) {}
void ActorShopItemUnk::vfunc_14(u32 param1) {}
void ActorShopItemBase::vfunc_18(u32 param1) {}
void ActorShopItem::vfunc_c8() {}
void ActorShopItem::vfunc_cc() {}
void ActorShopItem::func_ov031_0217f0b4() {}
unk32 ActorShopItem::vfunc_d8() {}
unk32 ActorShopItem::vfunc_dc() {}
void ActorShopItem::func_ov031_0217f114() {}
void ActorShopItem::func_ov031_0217f120() {}
void ActorShopItem::vfunc_20(bool param1) {}
void ActorShopItemShipPart::vfunc_20(bool param1) {}
void ActorShopItemDM::vfunc_20(bool param1) {}
void ActorShopItemUnk::vfunc_20(bool param1) {}
void ActorShopItemBK::vfunc_1c(u16 *param1) {}
void ActorShopItemCC::vfunc_1c(u16 *param1) {}
void ActorShopItemBY::vfunc_1c(u16 *param1) {}
unk32 ActorShopItem::func_ov031_0217f868() {}
unk32 ActorShopItemDM::vfunc_bc() {}
unk32 ActorShopItemSoldOut::vfunc_bc() {}
unk32 ActorShopItemHeartContainer::vfunc_bc() {}
unk32 ActorShopItemArrows::vfunc_bc() {}
unk32 ActorShopItemQuiver::vfunc_bc() {}
unk32 ActorShopItemBombs::vfunc_bc() {}
unk32 ActorShopItemBombBag::vfunc_bc() {}
unk32 ActorShopItemBombchus::vfunc_bc() {}
unk32 ActorShopItemB2::vfunc_bc() {}
unk32 ActorShopItemShipPart::vfunc_bc() {}
unk32 ActorShopItemTreasure::vfunc_bc() {}
unk32 ActorShopItemGem::vfunc_bc() {}
unk32 ActorShopItemShield::vfunc_bc() {}
unk32 ActorShopItemPotion::vfunc_bc() {}
unk32 ActorShopItem::vfunc_e0() {}
unk32 ActorShopItemHeartContainer::vfunc_e0() {}
unk32 ActorShopItemPotion::vfunc_e0() {}
unk32 ActorShopItemShipPart::vfunc_e0() {}
unk32 ActorShopItemTreasure::vfunc_e0() {}
unk32 ActorShopItem::vfunc_c0() {}
void ActorShopItem::vfunc_c4() {}
void ActorShopItemHeartContainer::vfunc_c4() {}
void ActorShopItemArrows::vfunc_c4() {}
void ActorShopItemQuiver::vfunc_c4() {}
void ActorShopItemBombs::vfunc_c4() {}
void ActorShopItemBombBag::vfunc_c4() {}
void ActorShopItemBombchus::vfunc_c4() {}
void ActorShopItemB2::vfunc_c4() {}
void ActorShopItemShipPart::vfunc_c4() {}
void ActorShopItemTreasure::vfunc_c4() {}
void ActorShopItemGem::vfunc_c4() {}
void ActorShopItemShield::vfunc_c4() {}
void ActorShopItemPotion::vfunc_c4() {}
bool ActorShopItemBase::vfunc_b4() {}
bool ActorShopItemBK::vfunc_b4() {}
bool ActorShopItemCC::vfunc_b4() {}
bool ActorShopItemBY::vfunc_b4() {}
bool ActorShopItemBase::vfunc_b8() {}
bool ActorShopItemBK::vfunc_b8() {}
bool ActorShopItemCC::vfunc_b8() {}
bool ActorShopItemBY::vfunc_b8() {}
unk32 ActorShopItemTreasure::func_ov031_02180248() {}
unk32 ActorShopItemTreasure::func_ov031_02180260() {}
unk32 ActorShopItemTreasure::func_ov031_02180278() {}
unk32 ActorShopItemDM::vfunc_d0() {}
unk32 ActorShopItemSoldOut::vfunc_d0() {}
unk32 ActorShopItemHeartContainer::vfunc_d0() {}
unk32 ActorShopItemArrows::vfunc_d0() {}
unk32 ActorShopItemQuiver::vfunc_d0() {}
unk32 ActorShopItemBombs::vfunc_d0() {}
unk32 ActorShopItemBombBag::vfunc_d0() {}
unk32 ActorShopItemBombchus::vfunc_d0() {}
unk32 ActorShopItemB2::vfunc_d0() {}
unk32 ActorShopItemShipPart::vfunc_d0() {}
unk32 ActorShopItemGem::vfunc_d0() {}
unk32 ActorShopItemShield::vfunc_d0() {}
unk32 ActorShopItemPotion::vfunc_d0() {}
void func_ov031_02180418(unk32 param_1);