diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_lv3Water.h | 61 |
1 files changed, 49 insertions, 12 deletions
diff --git a/include/d/actor/d_a_obj_lv3Water.h b/include/d/actor/d_a_obj_lv3Water.h index 7337251de5..fc73ac290a 100644 --- a/include/d/actor/d_a_obj_lv3Water.h +++ b/include/d/actor/d_a_obj_lv3Water.h @@ -1,6 +1,8 @@ #ifndef D_A_OBJ_LV3WATER_H #define D_A_OBJ_LV3WATER_H +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_event_lib.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,32 +13,67 @@ * @details * */ -class daLv3Water_c : public fopAc_ac_c { +class daLv3Water_c : public dBgS_MoveBgActor, + public request_of_phase_process_class, + public dEvLib_callback_c { public: + typedef void (daLv3Water_c::*modeFunc)(); + + enum Mode { + WAIT, + LEVEL_CTRL, + }; + + daLv3Water_c() : dEvLib_callback_c(this) {} + /* 80C58838 */ void setBaseMtx(); - /* 80C5891C */ void CreateHeap(); - /* 80C58ABC */ void create(); - /* 80C58D68 */ void Execute(f32 (**)[3][4]); + /* 80C5891C */ virtual int CreateHeap(); + /* 80C58ABC */ int create(); + /* 80C58D68 */ virtual int Execute(Mtx**); /* 80C58E20 */ void effectSet(); /* 80C596F4 */ void mode_proc_wait(); /* 80C59754 */ void mode_init_levelCtrl(); /* 80C597FC */ void mode_proc_levelCtrl(); - /* 80C598BC */ void Draw(); - /* 80C59AA0 */ void Delete(); - /* 80C59AE0 */ void eventStart(); - /* 80C59D80 */ ~daLv3Water_c(); + /* 80C598BC */ virtual int Draw(); + /* 80C59AA0 */ virtual int Delete(); + + /* 80C59D80 */ virtual ~daLv3Water_c(); + /* 80C59AE0 */ virtual BOOL eventStart(); + + int getParam() { return fpcM_GetParam(this) >> 0xC & 0x0FFF; } + int getParamSw() { return fpcM_GetParam(this) & 0xFF; } + int getParamEvent() { return shape_angle.x & 0xFF; } + u8 getParamType() { return (shape_angle.x >> 8) & 0xFF; } + u8 getType() { return mType; } private: - /* 0x568 */ u8 field_0x568[0x628 - 0x568]; + /* 0x5B8 */ request_of_phase_process_class mPhase; + /* 0x5C0 */ J3DModel* mpModel1; + /* 0x5C4 */ J3DModel* mpModel2; + /* 0x5C8 */ mDoExt_btkAnm mBtk1; + /* 0x5E0 */ mDoExt_btkAnm mBtk2; + /* 0x5F8 */ u8 mMode; + /* 0x5F9 */ u8 mType; + /* 0x5FC */ f32 field_0x5fc; + /* 0x600 */ u8 field_0x600; + /* 0x601 */ u8 field_0x601; + /* 0x602 */ u8 mSwitch1; + /* 0x603 */ u8 mSwitch2; + /* 0x604 */ u8 field_0x604; + /* 0x605 */ u8 field_0x605; + /* 0x608 */ u32 mEmitterIDs[8]; }; STATIC_ASSERT(sizeof(daLv3Water_c) == 0x628); -class daLv3Water_HIO_c { +class daLv3Water_HIO_c : public mDoHIO_entry_c { public: /* 80C587CC */ daLv3Water_HIO_c(); - /* 80C59C34 */ ~daLv3Water_HIO_c(); -}; + /* 80C59C34 */ virtual ~daLv3Water_HIO_c(); + /* 0x00 */ /* vtable */ + + /* 0x04 */ u8 field_0x04; +}; #endif /* D_A_OBJ_LV3WATER_H */ |
