mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-09 14:05:28 -04:00
53 lines
1.3 KiB
C++
53 lines
1.3 KiB
C++
#ifndef D_A_DEMO_ITEM_H
|
|
#define D_A_DEMO_ITEM_H
|
|
|
|
#include "d/actor/d_a_itembase.h"
|
|
#include "f_op/f_op_actor_mng.h"
|
|
#include "SSystem/SComponent/c_lib.h"
|
|
|
|
class JPABaseEmitter;
|
|
|
|
class daDitem_c : public daItemBase_c {
|
|
public:
|
|
enum ArgFlag {
|
|
FLAG_UNK01 = 0x01,
|
|
FLAG_UNK02 = 0x02,
|
|
FLAG_UNK04 = 0x04,
|
|
FLAG_UNK08 = 0x08,
|
|
};
|
|
|
|
BOOL chkArgFlag(u8 flag) { return mArgFlag & flag; }
|
|
void clrFlag() { cLib_setBit(mFlag, (u8)0); }
|
|
void setOffsetPos(cXyz pos) { mOffsetPos = pos; }
|
|
|
|
static const int m_rot_time;
|
|
static u8 m_effect_type[];
|
|
|
|
inline BOOL Delete();
|
|
inline cPhs_State create();
|
|
inline BOOL draw();
|
|
inline BOOL execute();
|
|
inline BOOL isdelete();
|
|
void setParticle();
|
|
bool CreateInit();
|
|
void set_effect();
|
|
void set_pos();
|
|
void anim_control();
|
|
void set_mtx();
|
|
void settingBeforeDraw();
|
|
void setListStart();
|
|
|
|
public:
|
|
/* 0x63C */ JPABaseEmitter* mpEmitters[4];
|
|
/* 0x64C */ cXyz mOffsetPos;
|
|
/* 0x658 */ u8 mFlag;
|
|
/* 0x659 */ u8 mArgFlag;
|
|
};
|
|
|
|
namespace daDitem_prm {
|
|
inline u32 getNo(daDitem_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x00) & 0xFF; }
|
|
inline u32 getFlag(daDitem_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x10) & 0xFF; }
|
|
};
|
|
|
|
#endif /* D_A_DEMO_ITEM_H */
|