mirror of https://github.com/zeldaret/tp.git
118 lines
3.4 KiB
C++
118 lines
3.4 KiB
C++
#ifndef D_A_D_A_SHOP_ITEM_STATIC_H
|
|
#define D_A_D_A_SHOP_ITEM_STATIC_H
|
|
|
|
#include "d/actor/d_a_itembase.h"
|
|
|
|
struct ResourceData {
|
|
const char* get_arcName() const { return mArcName; }
|
|
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; }
|
|
|
|
/* 0x00 */ const char* mArcName;
|
|
/* 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:
|
|
csXyz* getRotateP();
|
|
cXyz* getPosP();
|
|
const char* getShopArcname();
|
|
u16 getHeapSize();
|
|
void CreateInit();
|
|
void set_mtx();
|
|
bool _execute();
|
|
bool _draw();
|
|
|
|
inline int _create();
|
|
inline int _delete();
|
|
|
|
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();
|
|
|
|
u8 getShopItemID() const { return mShopItemID; }
|
|
s16 getAngleX() const { return mAngleX; }
|
|
void setAngleX(s16 angle) { mAngleX = angle;}
|
|
s16 getAngleY() const { return mAngleY; }
|
|
void setAngleY(s16 angle) { mAngleY = angle;}
|
|
|
|
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,
|
|
};
|
|
|
|
private:
|
|
/* 0x92C */ Mtx mMtx;
|
|
/* 0x95C */ int field_0x95c;
|
|
/* 0x960 */ s16 mAngleX;
|
|
/* 0x962 */ s16 mAngleY;
|
|
/* 0x964 */ u8 mShopItemID;
|
|
};
|
|
|
|
int CheckShopItemCreateHeap(fopAc_ac_c* i_this);
|
|
|
|
#endif /* D_A_D_A_SHOP_ITEM_STATIC_H */
|