mirror of https://github.com/zeldaret/tp.git
97 lines
2.4 KiB
C++
97 lines
2.4 KiB
C++
#ifndef D_A_OBJ_LIFE_CONTAINER_H
|
|
#define D_A_OBJ_LIFE_CONTAINER_H
|
|
|
|
#include "d/actor/d_a_itembase.h"
|
|
#include "d/d_particle.h"
|
|
|
|
/**
|
|
* @ingroup actors-objects
|
|
* @class daObjLife_c
|
|
* @brief Heart Piece
|
|
*
|
|
* @details
|
|
*
|
|
*/
|
|
class daObjLife_c : public daItemBase_c {
|
|
public:
|
|
enum Status_e {
|
|
STATUS_WAIT_e,
|
|
STATUS_ORDER_GET_DEMO_e,
|
|
STATUS_GET_DEMO_e,
|
|
STATUS_SW_ON_WAIT_e,
|
|
STATUS_BOOMERANG_CARRY_e,
|
|
STATUS_WAIT_2_e,
|
|
};
|
|
|
|
void initBaseMtx();
|
|
void setBaseMtx();
|
|
int Create();
|
|
void setEffect();
|
|
void endEffect00();
|
|
void endEffect02();
|
|
int create();
|
|
void bg_check();
|
|
int actionWaitInit();
|
|
int actionWait();
|
|
int initActionOrderGetDemo();
|
|
int actionOrderGetDemo();
|
|
int actionGetDemo();
|
|
int actionSwOnWait();
|
|
int actionInitBoomerangCarry();
|
|
int actionBoomerangCarry();
|
|
int actionInitWait2();
|
|
int actionWait2();
|
|
void calcScale();
|
|
int execute();
|
|
int draw();
|
|
int _delete();
|
|
|
|
virtual int __CreateHeap();
|
|
virtual void setListStart();
|
|
|
|
bool chkStatus(u8 i_status) { return mStatus == i_status; }
|
|
void setStatus(u8 i_status) { mStatus = i_status; }
|
|
|
|
u8 getSaveBitNo() { return fopAcM_GetParamBit(this, 8, 8); }
|
|
u8 getItemNo() { return fopAcM_GetParamBit(this, 0, 8); }
|
|
int getSwNo() { return 0xFF; }
|
|
|
|
void startCtrl() {
|
|
actionInitWait2();
|
|
}
|
|
|
|
void setPos(cXyz new_pos) {
|
|
current.pos = new_pos;
|
|
}
|
|
|
|
private:
|
|
/* 0x92C */ fpc_ProcID mItemId;
|
|
/* 0x930 */ int mCounter;
|
|
/* 0x934 */ u8 mStatus;
|
|
/* 0x935 */ u8 field_0x935;
|
|
/* 0x936 */ u8 mGndLandCount;
|
|
/* 0x937 */ u8 mIsPrmsInit;
|
|
/* 0x938 */ s16 field_0x938;
|
|
/* 0x93A */ s16 field_0x93a;
|
|
/* 0x93C */ cXyz mPrevSpeed;
|
|
/* 0x948 */ u16 mLv5Counter;
|
|
/* 0x94C */ f32 field_0x94c;
|
|
/* 0x950 */ f32 field_0x950;
|
|
/* 0x954 */ f32 field_0x954;
|
|
/* 0x958 */ u8 field_0x958[0x95E - 0x958];
|
|
/* 0x95E */ s16 field_0x95e;
|
|
/* 0x960 */ u8 field_0x960[0x962 - 0x960];
|
|
/* 0x962 */ s16 mRotateSpeed;
|
|
/* 0x964 */ u8 field_0x964[0x974 - 0x964];
|
|
/* 0x974 */ dPa_followEcallBack mEffect0;
|
|
/* 0x988 */ dPa_followEcallBack mEffect1;
|
|
/* 0x99C */ dPa_followEcallBack mEffect2;
|
|
/* 0x9B0 */ Z2SoundObjSimple mSound;
|
|
/* 0x9D0 */ u8 mIsHookCarry;
|
|
};
|
|
|
|
STATIC_ASSERT(sizeof(daObjLife_c) == 0x9d4);
|
|
|
|
|
|
#endif /* D_A_OBJ_LIFE_CONTAINER_H */
|