Files
tp/include/d/d_a_shop_item_static.h
T

118 lines
3.4 KiB
C++
Raw Normal View History

2021-03-28 22:49:05 +02:00
#ifndef D_A_D_A_SHOP_ITEM_STATIC_H
#define D_A_D_A_SHOP_ITEM_STATIC_H
2024-10-10 07:29:58 -07:00
#include "d/actor/d_a_itembase.h"
2022-02-24 14:04:56 -08:00
struct ResourceData {
2023-04-29 17:32:56 -07:00
const char* get_arcName() const { return mArcName; }
2022-02-24 14:04:56 -08:00
s16 get_bmdName() const { return mBmdName; }
s16 get_btk1Name() const { return mBtkName; }
s16 get_bpk1Name() const { return mBpkName; }
s16 get_bck1Name() const { return mBckName; }
s16 get_bxa1Name() const { return mBxaName; }
s16 get_brk1Name() const { return mBrkName; }
s16 get_btp1Name() const { return mBtpName; }
f32 get_scale() const { return mScale; }
f32 get_offsetY() const { return mOffsetY; }
s16 get_angleX() const { return mAngle.x; }
s16 get_angleY() const { return mAngle.y; }
s16 get_angleZ() const { return mAngle.z; }
s16 get_angleOffsetX() const { return mAngleOffsetX; }
u32 get_flag() const { return mFlag; }
s8 get_tevfrm() const { return mTevFrm; }
s8 get_btpfrm() const { return mBtpFrm; }
u8 get_shadowSize() const { return mShadowSize; }
u8 get_collisionH() const { return mCollisionH; }
u8 get_collisionR() const { return mCollisionR; }
2022-02-24 14:04:56 -08:00
2023-04-29 17:32:56 -07:00
/* 0x00 */ const char* mArcName;
2022-02-24 14:04:56 -08:00
/* 0x04 */ s16 mBmdName;
/* 0x06 */ s16 mBtkName;
/* 0x08 */ s16 mBpkName;
/* 0x0A */ s16 mBckName;
/* 0x0C */ s16 mBxaName;
/* 0x0E */ s16 mBrkName;
/* 0x10 */ s16 mBtpName;
/* 0x14 */ f32 mOffsetY;
/* 0x18 */ f32 mScale;
/* 0x1C */ s16 mAngleOffsetX;
/* 0x1E */ SVec mAngle;
/* 0x24 */ u32 mFlag;
/* 0x28 */ u8 mShadowSize;
/* 0x29 */ u8 mCollisionH;
/* 0x2A */ u8 mCollisionR;
/* 0x2B */ s8 mTevFrm;
/* 0x2C */ s8 mBtpFrm;
}; // Size: 0x30
class daShopItem_c : public daItemBase_c {
public:
2025-11-30 14:23:42 -08:00
csXyz* getRotateP();
cXyz* getPosP();
const char* getShopArcname();
u16 getHeapSize();
void CreateInit();
void set_mtx();
bool _execute();
bool _draw();
inline int _create();
inline int _delete();
2025-11-30 14:23:42 -08:00
virtual void setListStart();
virtual void setShadow();
virtual BOOL chkFlag(int);
virtual s8 getTevFrm();
virtual s8 getBtpFrm();
virtual u8 getShadowSize();
virtual u8 getCollisionH();
virtual u8 getCollisionR();
2022-02-24 14:04:56 -08:00
u8 getShopItemID() const { return mShopItemID; }
2024-01-22 22:24:24 +02:00
s16 getAngleX() const { return mAngleX; }
void setAngleX(s16 angle) { mAngleX = angle;}
s16 getAngleY() const { return mAngleY; }
void setAngleY(s16 angle) { mAngleY = angle;}
2022-02-24 14:04:56 -08:00
static ResourceData const mData[23];
static f32 const m_cullfar_max;
enum {
SHOP_ITEMNO_SOLD,
SHOP_ITEMNO_OIL,
SHOP_ITEMNO_RED,
SHOP_ITEMNO_MILK,
SHOP_ITEMNO_HALF_MILK,
SHOP_ITEMNO_ARROW,
SHOP_ITEMNO_SHIELD_B,
SHOP_ITEMNO_SHIELD_A,
SHOP_ITEMNO_BOMB,
SHOP_ITEMNO_WATER_BOMB,
SHOP_ITEMNO_POKE_BOMB,
SHOP_ITEMNO_BOMB_BAG,
SHOP_ITEMNO_BOMB_BAG_LV2,
SHOP_ITEMNO_LAND_MINE,
SHOP_ITEMNO_BOTTLE2,
SHOP_ITEMNO_BEE_CHILD,
SHOP_ITEMNO_PACHINKO,
SHOP_ITEMNO_BLUE,
SHOP_ITEMNO_HAWKEYE,
SHOP_ITEMNO_ARMOR,
SHOP_ITEMNO_ARMOR_SOLD,
SHOP_ITEMNO_GREEN,
SHOP_ITEMNO_DROP,
SHOP_ITEMNO_MAX,
};
2022-02-24 14:04:56 -08:00
private:
/* 0x92C */ Mtx mMtx;
/* 0x95C */ int field_0x95c;
/* 0x960 */ s16 mAngleX;
/* 0x962 */ s16 mAngleY;
/* 0x964 */ u8 mShopItemID;
};
2021-03-28 22:49:05 +02:00
int CheckShopItemCreateHeap(fopAc_ac_c* i_this);
2021-03-28 22:49:05 +02:00
#endif /* D_A_D_A_SHOP_ITEM_STATIC_H */