#ifndef D_A_OBJ_MIRROR_TABLE_H #define D_A_OBJ_MIRROR_TABLE_H #include "f_op/f_op_actor_mng.h" #include "d/d_bg_w.h" /** * @ingroup actors-objects * @class daObjMirrorTable_c * @brief Twilight Mirror Table * * @details * */ class daObjMirrorTable_c : public fopAc_ac_c { public: inline int createHeap(); inline bool isSwitch(); inline void checkOnPanel(); int draw(); inline void setBaseMtx(); int execute(); inline ~daObjMirrorTable_c(); cPhs_Step create(); void create_init(); void initBaseMtx(); u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xff; } void setAnmSpeed(f32 speed) { mpTableUpBckAnm->setPlaySpeed(speed); } void setEffect() { field_0x874 = true; } /* 0x568 */ J3DModel* mpTableModel; /* 0x56C */ J3DModel* mpMirrorModel; /* 0x570 */ J3DModel* mpStairModel; /* 0x574 */ J3DModel* mpPanelModel; /* 0x578 */ J3DModel* mpLightModel; /* 0x57C */ J3DModel* mpMSquareModel; /* 0x580 */ mDoExt_bckAnm* mpTableUpBckAnm; /* 0x584 */ mDoExt_bckAnm* mpMSquareBckAnm; /* 0x588 */ mDoExt_brkAnm* mpStairBrkAnm; /* 0x58C */ mDoExt_brkAnm* mpMSquareBrkAnm; /* 0x590 */ mDoExt_btkAnm* mpLightBtkAnm; /* 0x594 */ request_of_phase_process_class mPhaseReq; /* 0x59C */ dBgW mBgW[3]; /* 0x7DC */ Mtx mMtx[3]; /* 0x86C */ JPABaseEmitter* mpEmitter1; /* 0x870 */ JPABaseEmitter* mpEmitter2; /* 0x874 */ bool field_0x874; /* 0x875 */ s8 field_0x875; }; STATIC_ASSERT(sizeof(daObjMirrorTable_c) == 0x878); #endif /* D_A_OBJ_MIRROR_TABLE_H */