Files
tp/include/d/actor/d_a_obj_mhole.h
T

71 lines
1.8 KiB
C++
Raw Normal View History

2021-03-28 22:49:05 +02:00
#ifndef D_A_OBJ_MHOLE_H
#define D_A_OBJ_MHOLE_H
2025-06-28 17:34:18 -04:00
#include "d/d_cc_d.h"
2024-05-29 01:49:10 -06:00
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-objects
* @class daObjMHole_c
* @brief Magnet Hole
*
* @details
*
*/
class daObjMHole_c : public fopAc_ac_c {
public:
2025-06-28 17:34:18 -04:00
enum EFF_ID_e {
EFF_LARGE_e,
EFF_SMALL_e
};
2024-05-29 01:49:10 -06:00
/* 80C92FD8 */ void initBaseMtx();
/* 80C93014 */ void setBaseMtx();
2025-06-28 17:34:18 -04:00
/* 80C9307C */ int Create();
/* 80C93198 */ int checkParent();
/* 80C93204 */ int CreateHeap();
/* 80C934E0 */ int create();
/* 80C936A8 */ int execute();
2024-05-29 01:49:10 -06:00
/* 80C93928 */ void effectSet();
/* 80C93A88 */ void effectEnd();
2025-06-28 17:34:18 -04:00
/* 80C93ADC */ int draw();
/* 80C93CAC */ int _delete();
2024-05-29 01:49:10 -06:00
2025-05-30 06:43:59 -04:00
void setOn() { mIsOn = TRUE; }
2025-06-28 17:34:18 -04:00
u8 getType() { return fopAcM_GetParamBit(this, 8, 4); }
u8 getKind() { return fopAcM_GetParamBit(this, 12, 4); }
u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); }
2025-05-30 06:43:59 -04:00
2024-05-29 01:49:10 -06:00
private:
2025-06-28 17:34:18 -04:00
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ J3DModel* mpModel;
/* 0x574 */ mDoExt_brkAnm* mpBrkAnm;
/* 0x574 */ mDoExt_btkAnm* mpBtk1Anm;
/* 0x57C */ mDoExt_btkAnm* mpBtk2Anm;
/* 0x580 */ dCcD_Stts mStts;
/* 0x5BC */ dCcD_Cps mCps;
/* 0x700 */ u8 mIsOn;
/* 0x701 */ u8 field_0x701; // Value set to mIsOn, but never used
/* 0x702 */ u8 mKind;
/* 0x704 */ JPABaseEmitter* mpEmitter[4];
/* 0x714 */ Z2SoundObjSimple mSound;
2024-05-29 01:49:10 -06:00
};
2024-06-10 01:34:52 -06:00
2024-05-29 01:49:10 -06:00
STATIC_ASSERT(sizeof(daObjMHole_c) == 0x734);
2025-06-28 17:34:18 -04:00
class daObjMHole_HIO_c : public mDoHIO_entry_c {
public:
/* 80C55D0C */ daObjMHole_HIO_c();
/* 80C56970 */ ~daObjMHole_HIO_c() {}
void genMessage(JORMContext*);
/* 0x08 */ cXyz scale;
/* 0x14 */ u8 scale_adjust_on;
/* 0x15 */ u8 collision_display;
/* 0x16 */ u8 angle;
/* 0x18 */ csXyz angl;
};
2021-03-28 22:49:05 +02:00
#endif /* D_A_OBJ_MHOLE_H */