mirror of https://github.com/zeldaret/tp.git
73 lines
1.7 KiB
C++
73 lines
1.7 KiB
C++
#ifndef D_A_OBJ_WOOD_STATUE_H
|
|
#define D_A_OBJ_WOOD_STATUE_H
|
|
|
|
#include "d/actor/d_a_itembase.h"
|
|
#include "d/d_particle.h"
|
|
#include "f_op/f_op_actor_mng.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daObjWStatue_c
|
|
* @brief Wooden Statue
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daObjWStatue_c : public daItemBase_c {
|
|
public:
|
|
typedef int (daObjWStatue_c::*demoFunc)();
|
|
|
|
enum Status {
|
|
STATUS_WAIT,
|
|
STATUS_ORDER_GET_DEMO,
|
|
STATUS_GET_DEMO,
|
|
STATUS_SW_ON_WAIT,
|
|
STATUS_BOOMERANG_CARRY,
|
|
};
|
|
|
|
void initBaseMtx();
|
|
void setBaseMtx();
|
|
int Create();
|
|
int __CreateHeap();
|
|
int create();
|
|
void bg_check();
|
|
int actionWaitInit();
|
|
int actionWait();
|
|
int initActionOrderGetDemo();
|
|
int actionOrderGetDemo();
|
|
int actionGetDemo();
|
|
int actionInitSwOnWait();
|
|
int actionSwOnWait();
|
|
int actionInitBoomerangCarry();
|
|
int actionBoomerangCarry();
|
|
void demoProc();
|
|
void effectSet();
|
|
void effectStop();
|
|
int execute();
|
|
int draw();
|
|
void setListStart();
|
|
int _delete();
|
|
|
|
bool chkStatus(u8 status) { return mStatus == status; }
|
|
void setStatus(u8 status) { mStatus = status; }
|
|
u8 getSwbit2() { return fopAcM_GetParamBit(this, 8, 8); }
|
|
|
|
private:
|
|
/* 0x92C */ fpc_ProcID mItemId;
|
|
/* 0x930 */ int field_0x930;
|
|
/* 0x934 */ int mStaffIdx;
|
|
/* 0x938 */ u8 mStatus;
|
|
/* 0x939 */ u8 mShouldBoundSEPlay;
|
|
/* 0x93A */ u8 field_0x93a;
|
|
/* 0x93B */ u8 mRespawnTimer;
|
|
/* 0x93C */ cXyz field_0x93c;
|
|
/* 0x948 */ s16 mEventIdx;
|
|
/* 0x94A */ s16 mBoundSETimer;
|
|
/* 0x94C */ dPa_followEcallBack mCallbacks[2];
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daObjWStatue_c) == 0x974);
|
|
|
|
|
|
#endif /* D_A_OBJ_WOOD_STATUE_H */
|