tp/include/d/actor/d_a_obj_smallkey.h

104 lines
2.9 KiB
C++

#ifndef D_A_OBJ_SMALLKEY_H
#define D_A_OBJ_SMALLKEY_H
#include "f_op/f_op_actor_mng.h"
#include "d/actor/d_a_itembase.h"
#include "d/d_particle.h"
/**
* @ingroup actors-objects
* @class daKey_c
* @brief Small Key
*
* @details
*
*/
class daKey_c : public daItemBase_c {
private:
/* 80CDB2E0 */ void seStartTwinkle_private(u32);
public:
enum daKey_Status_e {
STATUS_INIT_e,
STATUS_PARENT_WAIT_e,
STATUS_WAIT_e,
STATUS_ORDER_GET_DEMO_e,
STATUS_GET_DEMO_e,
STATUS_SW_ON_WAIT_e,
STATUS_BOOMERANG_CARRY_e,
STATUS_E_GB_e,
};
/* 80CD9F2C */ void initBaseMtx();
/* 80CD9F68 */ void setBaseMtx();
/* 80CD9FDC */ int Create();
/* 80CDA15C */ int __CreateHeap();
/* 80CDA164 */ int create();
/* 80CDA680 */ void bg_check();
/* 80CDA7E8 */ int actionInitInit();
/* 80CDA81C */ int actionInit();
/* 80CDA8C8 */ int actionParentWaitInit();
/* 80CDA8FC */ int actionParentWait();
/* 80CDA9AC */ int actionWaitInit();
/* 80CDAA28 */ int actionWait();
/* 80CDAB74 */ int initActionOrderGetDemo();
/* 80CDAC18 */ int actionOrderGetDemo();
/* 80CDAC94 */ int actionGetDemo();
/* 80CDAD28 */ int actionInitSwOnWait();
/* 80CDADD4 */ int actionSwOnWait();
/* 80CDAE54 */ int actionInitBoomerangCarry();
/* 80CDAF40 */ int actionBoomerangCarry();
/* 80CDAFB4 */ void effectSet();
/* 80CDB0D8 */ void effectStop();
/* 80CDB128 */ void effectCtrl();
/* 80CDB36C */ int actionInitE_GB();
/* 80CDB3D8 */ int actionE_GB();
/* 80CDB404 */ int execute();
/* 80CDB5D4 */ int draw();
/* 80CDB628 */ int _delete();
int getSwNo() { return fopAcM_GetParamBit(this, 16, 8); }
int getSaveBitNo() { return fopAcM_GetParamBit(this, 8, 8); }
u16 getSwOnWaitTimer() { return field_0x93a & 0x3F; }
void setStatus(u8 i_status) { mStatus = i_status; }
bool chkStatus(u8 i_status) { return mStatus == i_status; }
void setPos(cXyz i_pos) {
current.pos = i_pos;
}
void startMove(f32 i_speedF, f32 i_speedY) {
speedF = i_speedF;
speed.y = i_speedY;
gravity = -6.0f;
actionWaitInit();
}
void seStartTwinkle(u32 i_soundId, cXyz* param_1) {
field_0x978 = *param_1;
mDoAud_seStartLevel(i_soundId, &field_0x978, 0, dComIfGp_getReverb(fopAcM_GetRoomNo(this)));
field_0x984 = 1;
}
/* 0x92C */ fpc_ProcID mItemId;
/* 0x930 */ int field_0x930;
/* 0x934 */ u8 mStatus;
/* 0x935 */ u8 mSwOnTimer;
/* 0x936 */ u8 field_0x936;
/* 0x937 */ u8 mIsPrmInit;
/* 0x938 */ s16 field_0x938;
/* 0x93A */ u16 field_0x93a;
/* 0x93C */ dPa_followEcallBack mEffect[2];
/* 0x964 */ csXyz mEffRot;
/* 0x96C */ cXyz mPrevSpeed;
/* 0x978 */ cXyz field_0x978;
/* 0x984 */ u8 field_0x984;
};
STATIC_ASSERT(sizeof(daKey_c) == 0x988);
#endif /* D_A_OBJ_SMALLKEY_H */