From 0c3b96e10f79928cf2a53ead12a076d30249379d Mon Sep 17 00:00:00 2001 From: LagoLunatic Date: Fri, 24 Nov 2023 19:05:04 -0500 Subject: [PATCH] Move more actor class defs to headers --- include/d/actor/d_a_andsw0.h | 13 +++--- include/d/actor/d_a_bk.h | 6 ++- include/d/actor/d_a_bo.h | 2 +- include/d/actor/d_a_boss_item.h | 3 +- include/d/actor/d_a_bpw.h | 2 +- include/d/actor/d_a_dr.h | 22 +++++++++- include/d/actor/d_a_fm.h | 8 +++- include/d/actor/d_a_gm.h | 2 +- include/d/actor/d_a_gy.h | 2 +- include/d/actor/d_a_item.h | 2 +- include/d/actor/d_a_ki.h | 2 +- include/d/actor/d_a_ks.h | 2 +- include/d/actor/d_a_mbdoor.h | 55 +++++++++++++++-------- include/d/actor/d_a_nh.h | 6 +-- include/d/actor/d_a_obj_adnno.h | 11 +++-- include/d/actor/d_a_obj_dmgroom.h | 13 ++++-- include/d/actor/d_a_obj_ganonbed.h | 10 ++++- include/d/actor/d_a_pt.h | 2 +- include/d/actor/d_a_pw.h | 6 +-- include/d/actor/d_a_seatag.h | 2 +- include/d/actor/d_a_swc00.h | 5 +-- include/d/actor/d_a_swtdoor.h | 6 ++- include/d/actor/d_a_wz.h | 4 +- include/d/d_com_inf_game.h | 2 + src/d/actor/d_a_andsw0.cpp | 40 +++++------------ src/d/actor/d_a_boss_item.cpp | 10 +---- src/d/actor/d_a_dr.cpp | 37 +--------------- src/d/actor/d_a_item.cpp | 2 +- src/d/actor/d_a_mbdoor.cpp | 70 ++++-------------------------- src/d/actor/d_a_nh.cpp | 2 +- src/d/actor/d_a_obj_adnno.cpp | 16 +------ src/d/actor/d_a_obj_dmgroom.cpp | 17 +------- src/d/actor/d_a_obj_ganonbed.cpp | 17 +------- src/d/actor/d_a_seatag.cpp | 7 +-- src/d/actor/d_a_swc00.cpp | 3 +- src/d/actor/d_a_swtdoor.cpp | 9 +--- 36 files changed, 155 insertions(+), 263 deletions(-) diff --git a/include/d/actor/d_a_andsw0.h b/include/d/actor/d_a_andsw0.h index 429c714ce..cded73097 100644 --- a/include/d/actor/d_a_andsw0.h +++ b/include/d/actor/d_a_andsw0.h @@ -5,17 +5,16 @@ class andsw0_class : public fopAc_ac_c { public: - /* 0x290 */ u8 m290[0x298 - 0x290]; - /* 0x298 */ d_a_andsw0__States mState; + /* 0x290 */ u32 _pad[2]; + /* 0x298 */ s8 mAction; /* 0x299 */ u8 mNumSwitchesToCheck; /* 0x29A */ u8 mBehaviorType; /* 0x29B */ u8 mSwitchToSet; /* 0x29C */ u8 mFirstSwitchToCheck; - /* 0x29D */ u8 m29D[0x29E - 0x29D]; - /* 0x29E */ s16 mTimer; - /* 0x2A0 */ s16 mEventEventListDatIndex; - /* 0x2A2 */ u8 mEventEVNTIndex; - /* 0x2A3 */ u8 m2A3; + /* 0x29E */ u16 mTimer; + /* 0x2A0 */ s16 mEventIdx; + /* 0x2A2 */ u8 mEventNo; + /* 0x2A3 */ s8 mEventState; }; #endif /* D_A_ANDSW0_H */ diff --git a/include/d/actor/d_a_bk.h b/include/d/actor/d_a_bk.h index 88ea6b1a3..910dfd030 100644 --- a/include/d/actor/d_a_bk.h +++ b/include/d/actor/d_a_bk.h @@ -6,7 +6,7 @@ #include "c/c_damagereaction.h" #include "SSystem/SComponent/c_phase.h" -class bk_class : public fopAc_ac_c { +class bk_class : public fopEn_enemy_c { public: /* 0x02AC */ request_of_phase_process_class mPhsBk; /* 0x02B4 */ u8 mMode; @@ -30,7 +30,9 @@ public: /* 0x0370 */ damagereaction mDamageReaction; /* 0x0B2C */ u8 m0B2C[0x11FC - 0x0B2C]; /* 0x11FC */ int m11FC; - /* 0x1200 */ u8 m1200[0x1264 - 0x1200]; + /* 0x1200 */ u8 m1200[0x121C - 0x1200]; + /* 0x121C */ u8 m121C; + /* 0x121D */ u8 m121D[0x1264 - 0x121D]; /* 0x1264 */ enemyice mEnemyIce; /* 0x161C */ u8 m161C[0x1848 - 0x161C]; }; diff --git a/include/d/actor/d_a_bo.h b/include/d/actor/d_a_bo.h index 7ef25fe36..917657f7f 100644 --- a/include/d/actor/d_a_bo.h +++ b/include/d/actor/d_a_bo.h @@ -4,7 +4,7 @@ #include "f_op/f_op_actor.h" #include "c/c_damagereaction.h" -class bo_class : public fopAc_ac_c { +class bo_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x9FC - 0x2AC]; /* 0x9FC */ enemyice mEnemyIce; diff --git a/include/d/actor/d_a_boss_item.h b/include/d/actor/d_a_boss_item.h index 3e537e3e6..4df13746b 100644 --- a/include/d/actor/d_a_boss_item.h +++ b/include/d/actor/d_a_boss_item.h @@ -4,8 +4,7 @@ #include "f_op/f_op_actor.h" class bossitem_class : public fopAc_ac_c { -public: - /* Place member variables here */ + /* 0x290 */ u8 m290[0x298 - 0x290]; }; #endif /* D_A_BOSS_ITEM_H */ diff --git a/include/d/actor/d_a_bpw.h b/include/d/actor/d_a_bpw.h index 135cb0040..41e58e2f1 100644 --- a/include/d/actor/d_a_bpw.h +++ b/include/d/actor/d_a_bpw.h @@ -8,7 +8,7 @@ #include "d/d_particle.h" #include "m_Do/m_Do_ext.h" -class bpw_class : public fopAc_ac_c { +class bpw_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x2B4 - 0x2AC]; /* 0x2B4 */ mDoExt_McaMorf* m2B4; diff --git a/include/d/actor/d_a_dr.h b/include/d/actor/d_a_dr.h index 146a385aa..4abcbf732 100644 --- a/include/d/actor/d_a_dr.h +++ b/include/d/actor/d_a_dr.h @@ -5,6 +5,7 @@ #include "JSystem/JParticle/JPAEmitter.h" #include "m_Do/m_Do_ext.h" #include "SSystem/SComponent/c_phase.h" +#include "m_Do/m_Do_hostIO.h" class dr_class : public fopAc_ac_c { public: @@ -18,10 +19,29 @@ public: /* 0x2B9 */ u8 m2B9[0x2BA - 0x2B9]; /* 0x2BA */ s16 mCountDownTimers[3]; /* 0x2C0 */ int mCurrBckIdx; - /* 0x2C4 */ JPABaseEmitter* m2C4; + /* 0x2C4 */ JPABaseEmitter* mpBreathEmitter; /* 0x2C8 */ s8 m2C8; /* 0x2C9 */ s8 m2C9; /* 0x2CA */ u8 m2CA[0x2CC - 0x2CA]; }; +class daDr_HIO_c : public JORReflexible { +public: + daDr_HIO_c(); + virtual ~daDr_HIO_c() {} +public: + /* 0x04 */ s8 mChildID; + /* 0x05 */ u8 m05[0x08 - 0x05]; + /* 0x08 */ f32 mScale; + /* 0x0C */ bool m0C; + /* 0x0D */ u8 m0D[0x0E - 0x0D]; + /* 0x0E */ s16 m0E; + /* 0x10 */ f32 mWait1Morf; + /* 0x14 */ f32 mAkubi1Morf; + /* 0x18 */ f32 mBiku1Morf; + /* 0x1C */ f32 mAbare1Morf; + /* 0x20 */ f32 mAbare2Morf; + /* 0x24 */ f32 mHo1Morf; +}; + #endif /* D_A_DR_H */ diff --git a/include/d/actor/d_a_fm.h b/include/d/actor/d_a_fm.h index 8fc3f85e9..554a316e5 100644 --- a/include/d/actor/d_a_fm.h +++ b/include/d/actor/d_a_fm.h @@ -6,8 +6,12 @@ #include "c/c_damagereaction.h" #include "JSystem/J3DGraphAnimator/J3DNode.h" -class daFm_c : public fopAc_ac_c { +class daFm_c : public fopEn_enemy_c { public: + enum Proc_e { + + }; + void isBodyAppear() {} void isHoleAppear() {} void modeProcInit(int) {} @@ -81,7 +85,7 @@ public: void modeDelete(); void modeBikubikuInit(); void modeBikubiku(); - void modeProc(daFm_c::Proc_e, int); + void modeProc(Proc_e, int); void setAnm(signed char, bool); void cancelGrab(); void calcInvKine(fopAc_ac_c*); diff --git a/include/d/actor/d_a_gm.h b/include/d/actor/d_a_gm.h index c4c16d83e..f41284fa0 100644 --- a/include/d/actor/d_a_gm.h +++ b/include/d/actor/d_a_gm.h @@ -3,7 +3,7 @@ #include "f_op/f_op_actor.h" -class gm_class : public fopAc_ac_c { +class gm_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x2CD - 0x2AC]; /* 0x2CD */ u8 m2CD; diff --git a/include/d/actor/d_a_gy.h b/include/d/actor/d_a_gy.h index e1c5fb2d9..f5acc45fc 100644 --- a/include/d/actor/d_a_gy.h +++ b/include/d/actor/d_a_gy.h @@ -10,7 +10,7 @@ #include "m_Do/m_Do_ext.h" #include "JSystem/J3DGraphAnimator/J3DNode.h" -class daGy_c : public fopAc_ac_c { +class daGy_c : public fopEn_enemy_c { public: void _nodeControl(J3DNode*, J3DModel*); void _createHeap(); diff --git a/include/d/actor/d_a_item.h b/include/d/actor/d_a_item.h index b25e7b532..213021f60 100644 --- a/include/d/actor/d_a_item.h +++ b/include/d/actor/d_a_item.h @@ -7,7 +7,7 @@ class daItem_c : public daItemBase_c { public: - typedef void (daItem_c::*daItem_c_ModeFunc)(); + typedef void (daItem_c::*ModeFunc)(); enum State { STATE_WAIT_MAIN = 0x2, diff --git a/include/d/actor/d_a_ki.h b/include/d/actor/d_a_ki.h index 205a23d4b..734d01797 100644 --- a/include/d/actor/d_a_ki.h +++ b/include/d/actor/d_a_ki.h @@ -4,7 +4,7 @@ #include "f_op/f_op_actor.h" #include "m_Do/m_Do_ext.h" -class ki_class : public fopAc_ac_c { +class ki_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x2B4 - 0x2AC]; /* 0x2B4 */ mDoExt_McaMorf* mpMorf; diff --git a/include/d/actor/d_a_ks.h b/include/d/actor/d_a_ks.h index 1b3635a09..d22c1f1df 100644 --- a/include/d/actor/d_a_ks.h +++ b/include/d/actor/d_a_ks.h @@ -4,7 +4,7 @@ #include "f_op/f_op_actor.h" #include "SSystem/SComponent/c_bg_s_poly_info.h" -class ks_class : public fopAc_ac_c { +class ks_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x44C - 0x2AC]; /* 0x44C */ cBgS_PolyInfo m44C; diff --git a/include/d/actor/d_a_mbdoor.h b/include/d/actor/d_a_mbdoor.h index eb9ea7f7e..d11498f15 100644 --- a/include/d/actor/d_a_mbdoor.h +++ b/include/d/actor/d_a_mbdoor.h @@ -7,12 +7,33 @@ class daMbdoor_c : public fopAc_ac_c { public: + typedef BOOL (ActionFunc)(daMbdoor_c*); + + void setAction(u8 action) { mCurActionIdx = action; } + inline BOOL draw(); inline BOOL execute(); - void setAction(unsigned char) {} - + s32 create(); + + u8 getSwbit(); + u8 getType(); + u8 getShapeType(); + const char* getArcName(); + u32 getFuBdl(); + u32 getLBdl(); + u32 getRBdl(); + u32 getToBdl(); + u32 getDzb(); + f32 getLOffset(); + f32 getROffset(); + f32 getToOffset(); + BOOL CreateHeap(); void calcMtx(); + BOOL CreateInit(); + s32 getDemoAction(); void demoProc(); + BOOL checkArea(); + BOOL checkUnlock(); public: /* 0x290 */ request_of_phase_process_class mPhs; @@ -21,22 +42,22 @@ public: /* 0x2A0 */ J3DModel* mpRModel; /* 0x2A4 */ J3DModel* mpToModel; /* 0x2A8 */ dBgW* mpBgW; - /* 0x2AC */ bool m2AC; - /* 0x2AD */ u8 m2AD; + /* 0x2AC */ bool field_0x2ac; + /* 0x2AD */ u8 field_0x2ad; /* 0x2AE */ u8 mCurActionIdx; - /* 0x2AF */ u8 m2AF[0x2B0 - 0x2AF]; - /* 0x2B0 */ s16 m2B0; - /* 0x2B2 */ s16 m2B2; - /* 0x2B4 */ s16 m2B4; - /* 0x2B6 */ u8 m2B6; - /* 0x2B7 */ u8 m2B7[0x2B8 - 0x2B7]; - /* 0x2B8 */ s16 m2B8; - /* 0x2BA */ u8 m2BA[0x2BC - 0x2BA]; - /* 0x2BC */ int m2BC; - /* 0x2C0 */ int mEvtStaffId; - /* 0x2C4 */ cXyz m2C4; - /* 0x2D0 */ cXyz m2D0; - /* 0x2DC */ cXyz m2DC; + /* 0x2AF */ u8 field_0x2AF[0x2B0 - 0x2AF]; + /* 0x2B0 */ s16 field_0x2b0; + /* 0x2B2 */ s16 field_0x2b2; + /* 0x2B4 */ s16 field_0x2b4; + /* 0x2B6 */ u8 field_0x2b6; + /* 0x2B7 */ u8 field_0x2B7[0x2B8 - 0x2B7]; + /* 0x2B8 */ s16 field_0x2b8; + /* 0x2BA */ u8 field_0x2BA[0x2BC - 0x2BA]; + /* 0x2BC */ s32 field_0x2bc; + /* 0x2C0 */ s32 mEvtStaffId; + /* 0x2C4 */ cXyz field_0x2c4; + /* 0x2D0 */ cXyz field_0x2d0; + /* 0x2DC */ cXyz field_0x2dc; }; #endif /* D_A_MBDOOR_H */ diff --git a/include/d/actor/d_a_nh.h b/include/d/actor/d_a_nh.h index 9242ea255..8f7d0d120 100644 --- a/include/d/actor/d_a_nh.h +++ b/include/d/actor/d_a_nh.h @@ -24,7 +24,7 @@ public: ACTION_ENDING = -1, }; - typedef BOOL (daNh_c::*daNh_c_ActionFunc)(void*); + typedef BOOL (daNh_c::*ActionFunc)(void*); bool isTypeBottle() { return mType == TYPE_BOTTLE; } @@ -34,7 +34,7 @@ public: s32 create(); BOOL init(); void action(void*); - BOOL setAction(daNh_c_ActionFunc, void*); + BOOL setAction(ActionFunc, void*); BOOL checkBinCatch(); BOOL searchPlayer(); BOOL moveProc(f32, f32, s16); @@ -61,7 +61,7 @@ public: /* 0x60C */ mDoExt_brkAnm mBrkAnm; /* 0x624 */ u8 temp2[0x630 - 0x624]; /* 0x630 */ cBgS_PolyInfo mPolyInfo; - /* 0x640 */ daNh_c_ActionFunc mCurrActionFunc; + /* 0x640 */ ActionFunc mCurrActionFunc; /* 0x64C */ Mtx mGlowMtx; /* 0x67C */ f32 mPlayerDist; /* 0x680 */ f32 mGroundY; diff --git a/include/d/actor/d_a_obj_adnno.h b/include/d/actor/d_a_obj_adnno.h index 214dd78ef..dc74d1061 100644 --- a/include/d/actor/d_a_obj_adnno.h +++ b/include/d/actor/d_a_obj_adnno.h @@ -2,19 +2,22 @@ #define D_A_OBJ_ADNNO_H #include "f_op/f_op_actor.h" +#include "SSystem/SComponent/c_phase.h" class daObjAdnno_c : public fopAc_ac_c { public: inline s32 _create(); - inline BOOL _delete(); - inline BOOL _draw(); - inline BOOL _execute(); + inline bool _execute(); + inline bool _draw(); + inline bool _delete(); + BOOL CreateHeap(); void CreateInit(); void set_mtx(); public: - /* Place member variables here */ + /* 0x290 */ request_of_phase_process_class mPhs; + /* 0x298 */ J3DModel * mpModel[16]; }; #endif /* D_A_OBJ_ADNNO_H */ diff --git a/include/d/actor/d_a_obj_dmgroom.h b/include/d/actor/d_a_obj_dmgroom.h index 8f62ffe5a..b439d6501 100644 --- a/include/d/actor/d_a_obj_dmgroom.h +++ b/include/d/actor/d_a_obj_dmgroom.h @@ -2,19 +2,24 @@ #define D_A_OBJ_DMGROOM_H #include "f_op/f_op_actor.h" +#include "SSystem/SComponent/c_phase.h" +#include "m_Do/m_Do_ext.h" class daObjDmgroom_c : public fopAc_ac_c { public: inline s32 _create(); - inline BOOL _delete(); - inline BOOL _draw(); - inline BOOL _execute(); + inline bool _execute(); + inline bool _draw(); + inline bool _delete(); + BOOL CreateHeap(); void CreateInit(); void set_mtx(); public: - /* Place member variables here */ + /* 0x290 */ request_of_phase_process_class mPhs; + /* 0x298 */ J3DModel * mpModel; + /* 0x29C */ mDoExt_brkAnm mBrkAnm; }; #endif /* D_A_OBJ_DMGROOM_H */ diff --git a/include/d/actor/d_a_obj_ganonbed.h b/include/d/actor/d_a_obj_ganonbed.h index b678043dc..0ad3373b8 100644 --- a/include/d/actor/d_a_obj_ganonbed.h +++ b/include/d/actor/d_a_obj_ganonbed.h @@ -8,11 +8,17 @@ class daObjGbed_c : public fopAc_ac_c { public: void init_mtx(); + s32 _create(); + bool _execute(); + bool _draw(); + bool _delete(); + bool create_heap(); + static BOOL solidHeapCB(fopAc_ac_c *i_this); public: /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ J3DModel* mpModel; - /* 0x29C */ dBgW* mpBgW; + /* 0x298 */ J3DModel * mpModel; + /* 0x29C */ dBgW * mpBgW; }; #endif /* D_A_OBJ_GANONBED_H */ diff --git a/include/d/actor/d_a_pt.h b/include/d/actor/d_a_pt.h index 63743a4ee..d22a14882 100644 --- a/include/d/actor/d_a_pt.h +++ b/include/d/actor/d_a_pt.h @@ -7,7 +7,7 @@ #include "m_Do/m_Do_ext.h" #include "c/c_damagereaction.h" -class pt_class : public fopAc_ac_c { +class pt_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x2B4 - 0x2AC]; /* 0x2B4 */ u8 mBehaviorType; diff --git a/include/d/actor/d_a_pw.h b/include/d/actor/d_a_pw.h index 08c39076d..975ceac45 100644 --- a/include/d/actor/d_a_pw.h +++ b/include/d/actor/d_a_pw.h @@ -9,17 +9,17 @@ #include "m_Do/m_Do_ext.h" #include "c/c_damagereaction.h" -class pw_class : public fopAc_ac_c { +class pw_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x2B4 - 0x2AC]; /* 0x2B4 */ mDoExt_McaMorf* m2B4; /* 0x2B8 */ u8 m2B8[0x32C - 0x2B8]; /* 0x32C */ csXyz m32C[2]; - /* 0x338 */ daPW__BehaviorType mBehaviorType; + /* 0x338 */ u8 mBehaviorType; /* 0x339 */ bool mHoversAtInitialYPos; /* 0x33A */ u8 mNoticeRangeParam; /* 0x33B */ u8 mColorIndex; - /* 0x33C */ pw_class__HitByWhat mHitByWhat; + /* 0x33C */ u8 mHitByWhat; /* 0x33D */ u8 m33D[0x33E - 0x33D]; /* 0x33E */ u8 m33E; /* 0x33F */ u8 m33F[0x344 - 0x33F]; diff --git a/include/d/actor/d_a_seatag.h b/include/d/actor/d_a_seatag.h index 1251bd25b..26bee87d3 100644 --- a/include/d/actor/d_a_seatag.h +++ b/include/d/actor/d_a_seatag.h @@ -10,7 +10,7 @@ public: inline BOOL execute(); public: - /* Place member variables here */ + /* 0x290 */ u8 m290[0x298 - 0x290]; }; #endif /* D_A_SEATAG_H */ diff --git a/include/d/actor/d_a_swc00.h b/include/d/actor/d_a_swc00.h index e6f829016..8900aecad 100644 --- a/include/d/actor/d_a_swc00.h +++ b/include/d/actor/d_a_swc00.h @@ -3,9 +3,6 @@ #include "f_op/f_op_actor.h" -class swc00_class : public fopAc_ac_c { -public: - /* Place member variables here */ -}; +class swc00_class : public fopAc_ac_c {}; #endif /* D_A_SWC00_H */ diff --git a/include/d/actor/d_a_swtdoor.h b/include/d/actor/d_a_swtdoor.h index fd47accea..01d705e50 100644 --- a/include/d/actor/d_a_swtdoor.h +++ b/include/d/actor/d_a_swtdoor.h @@ -2,10 +2,14 @@ #define D_A_SWTDOOR_H #include "f_op/f_op_actor.h" +#include "SSystem/SComponent/c_phase.h" class swtdoor_class : public fopAc_ac_c { public: - /* Place member variables here */ + /* 0x290 */ request_of_phase_process_class mPhs; + /* 0x298 */ J3DModel * model; + /* 0x29C */ u8 field_0x29c; + /* 0x29D */ u8 mSwitchNo; }; #endif /* D_A_SWTDOOR_H */ diff --git a/include/d/actor/d_a_wz.h b/include/d/actor/d_a_wz.h index e8a9b1183..547b024d5 100644 --- a/include/d/actor/d_a_wz.h +++ b/include/d/actor/d_a_wz.h @@ -5,14 +5,14 @@ #include "d/d_cc_d.h" #include "m_Do/m_Do_ext.h" -class wz_class : public fopAc_ac_c { +class wz_class : public fopEn_enemy_c { public: /* 0x2AC */ u8 m2AC[0x2B4 - 0x2AC]; /* 0x2B4 */ mDoExt_McaMorf* m2B4; /* 0x2B8 */ u8 m2B8[0x314 - 0x2B8]; /* 0x314 */ cXyz m314; /* 0x320 */ u8 m320[0x348 - 0x320]; - /* 0x348 */ daWZ__BehaviorTypes mBehaviorType; + /* 0x348 */ u8 mBehaviorType; /* 0x349 */ u8 mEnemySummonTableIndex; /* 0x34A */ u8 mEnableSpawnSwitch; /* 0x34B */ u8 mDisableSpawnOnDeathSwitch; diff --git a/include/d/d_com_inf_game.h b/include/d/d_com_inf_game.h index eed502063..11353f157 100644 --- a/include/d/d_com_inf_game.h +++ b/include/d/d_com_inf_game.h @@ -1052,6 +1052,8 @@ inline void dComIfGs_onStageLife() { void dComIfGs_onStageLife(int i_stageNo); +BOOL dComIfGs_isStageLife(int i_stageNo); + inline BOOL dComIfGs_isStageLife() { return g_dComIfG_gameInfo.save.getMemory().getBit().isStageLife(); } diff --git a/src/d/actor/d_a_andsw0.cpp b/src/d/actor/d_a_andsw0.cpp index 8cba1bf80..93798ae5d 100644 --- a/src/d/actor/d_a_andsw0.cpp +++ b/src/d/actor/d_a_andsw0.cpp @@ -3,10 +3,13 @@ // Translation Unit: d_a_andsw0.cpp // +#include "d/actor/d_a_andsw0.h" #include "JSystem/JKernel/JKRHeap.h" #include "f_op/f_op_actor_mng.h" #include "d/d_com_inf_game.h" #include "d/d_procname.h" +#include "d/actor/d_a_bk.h" +#include "d/actor/d_a_bb.h" enum { ACT_ON_ALL = 0, @@ -17,29 +20,6 @@ enum { ACT_TIMER_SET = 30, }; -struct andsw0_class : public fopAc_ac_c { -public: - /* 0x290 */ u32 _pad[2]; - /* 0x298 */ s8 mAction; - /* 0x299 */ u8 mNumSwitchesToCheck; - /* 0x29A */ u8 mBehaviorType; - /* 0x29B */ u8 mSwitchToSet; - /* 0x29C */ u8 mFirstSwitchToCheck; - /* 0x29E */ u16 mTimer; - /* 0x2A0 */ s16 mEventIdx; - /* 0x2A2 */ u8 mEventNo; - /* 0x2A3 */ s8 mEventState; -}; - -// Bokoblin. TODO: Include d_a_bk.h once implemented. -struct bk_class : public fopAc_ac_c { - u8 temp[0x121C - 0x290]; - u8 field_0x121C; -}; - -// Kargaroc. TODO: Include d_a_bb.h once implemented. -struct bb_class : public fopAc_ac_c {}; - static s32 daAndsw0_Draw(andsw0_class*) { return 1; } @@ -254,28 +234,28 @@ static void hajimarinomori_check(andsw0_class* i_this) { fopAcM_delete(kargaroc); bk_class* bokoblin = (bk_class*)ac[3]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; bokoblin = (bk_class*)ac[4]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; if (dComIfGs_isEventBit(0x301)) { bokoblin = (bk_class*)ac[0]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; } if (dComIfGs_isEventBit(0x480)) { bokoblin = (bk_class*)ac[1]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; } if (dComIfGs_isEventBit(0x301) && dComIfGs_isEventBit(0x480)) { bokoblin = (bk_class*)ac[2]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; } } else { bk_class* bokoblin = (bk_class*)ac[0]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; bokoblin = (bk_class*)ac[1]; - bokoblin->field_0x121C = 1; + bokoblin->m121C = 1; } fopAcM_delete(actor); diff --git a/src/d/actor/d_a_boss_item.cpp b/src/d/actor/d_a_boss_item.cpp index 61461aecb..774e2d360 100644 --- a/src/d/actor/d_a_boss_item.cpp +++ b/src/d/actor/d_a_boss_item.cpp @@ -3,19 +3,13 @@ // Translation Unit: d_a_boss_item.cpp // +#include "d/actor/d_a_boss_item.h" #include "JSystem/JKernel/JKRHeap.h" #include "f_op/f_op_actor.h" #include "f_op/f_op_actor_mng.h" #include "d/d_procname.h" #include "dolphin/types.h" - -extern BOOL dComIfGs_isStageBossEnemy(int i_stageNo); -extern BOOL dComIfGs_isStageLife(int i_stageNo); - -class bossitem_class : public fopAc_ac_c { - s32 m0000; - s32 m0004; -}; +#include "d/d_com_inf_game.h" /* 00000078-00000080 .text daBossItem_IsDelete__FP14bossitem_class */ static BOOL daBossItem_IsDelete(bossitem_class* i_this) { diff --git a/src/d/actor/d_a_dr.cpp b/src/d/actor/d_a_dr.cpp index a813c2b06..6adfe8959 100644 --- a/src/d/actor/d_a_dr.cpp +++ b/src/d/actor/d_a_dr.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_dr.cpp // +#include "d/actor/d_a_dr.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" #include "d/d_procname.h" @@ -12,44 +13,8 @@ #include "d/d_snap.h" #include "d/d_com_inf_game.h" -class dr_class; - -class daDr_HIO_c : public JORReflexible { -public: - daDr_HIO_c(); - virtual ~daDr_HIO_c() {} -public: - /* 0x04 */ s8 mChildID; - /* 0x05 */ u8 m05[0x08 - 0x05]; - /* 0x08 */ f32 mScale; - /* 0x0C */ bool m0C; - /* 0x0D */ u8 m0D[0x0E - 0x0D]; - /* 0x0E */ s16 m0E; - /* 0x10 */ f32 mWait1Morf; - /* 0x14 */ f32 mAkubi1Morf; - /* 0x18 */ f32 mBiku1Morf; - /* 0x1C */ f32 mAbare1Morf; - /* 0x20 */ f32 mAbare2Morf; - /* 0x24 */ f32 mHo1Morf; -}; - static daDr_HIO_c l_HIO; -class dr_class : public fopAc_ac_c { -public: - /* 0x290 */ u8 m290[0x2AC - 0x290]; - /* 0x2AC */ request_of_phase_process_class mPhs; - /* 0x2B4 */ mDoExt_McaMorf* mpMorf; - /* 0x2B8 */ u8 mState; - /* 0x2B9 */ u8 m2B9[0x2BA - 0x2B9]; - /* 0x2BA */ s16 mCountDownTimers[3]; - /* 0x2C0 */ int mCurrBckIdx; - /* 0x2C4 */ JPABaseEmitter* mpBreathEmitter; - /* 0x2C8 */ s8 m2C8; - /* 0x2C9 */ s8 m2C9; - /* 0x2CA */ u8 field_2CA[0x2CC - 0x2CA]; -}; - enum DR_RES_FILE_ID { // IDs and indexes are synced /* BAS */ DR_BAS_ABARE1=0x5, diff --git a/src/d/actor/d_a_item.cpp b/src/d/actor/d_a_item.cpp index 442ee9466..1c7f5c50b 100644 --- a/src/d/actor/d_a_item.cpp +++ b/src/d/actor/d_a_item.cpp @@ -308,7 +308,7 @@ BOOL daItem_c::_daItem_execute() { /* 800F5834-800F59CC .text mode_proc_call__8daItem_cFv */ void daItem_c::mode_proc_call() { - static daItem_c_ModeFunc mode_proc[] = { + static ModeFunc mode_proc[] = { &mode_wait, &mode_wait, &mode_water, diff --git a/src/d/actor/d_a_mbdoor.cpp b/src/d/actor/d_a_mbdoor.cpp index 1f251eebc..936667890 100644 --- a/src/d/actor/d_a_mbdoor.cpp +++ b/src/d/actor/d_a_mbdoor.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_mbdoor.cpp // +#include "d/actor/d_a_mbdoor.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" #include "d/d_procname.h" @@ -11,59 +12,6 @@ #include "m_Do/m_Do_mtx.h" #include "d/actor/d_a_player.h" -class daMbdoor_c : public fopAc_ac_c { -public: - inline BOOL draw(); - inline BOOL execute(); - s32 create(); - - u8 getSwbit(); - u8 getType(); - u8 getShapeType(); - const char* getArcName(); - u32 getFuBdl(); - u32 getLBdl(); - u32 getRBdl(); - u32 getToBdl(); - u32 getDzb(); - f32 getLOffset(); - f32 getROffset(); - f32 getToOffset(); - BOOL CreateHeap(); - void calcMtx(); - BOOL CreateInit(); - s32 getDemoAction(); - void demoProc(); - BOOL checkArea(); - BOOL checkUnlock(); - -public: - /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ J3DModel* mpFuModel; - /* 0x29C */ J3DModel* mpLModel; - /* 0x2A0 */ J3DModel* mpRModel; - /* 0x2A4 */ J3DModel* mpToModel; - /* 0x2A8 */ dBgW* mpBgW; - /* 0x2AC */ bool field_0x2ac; - /* 0x2AD */ u8 field_0x2ad; - /* 0x2AE */ u8 mCurActionIdx; - /* 0x2AF */ u8 field_0x2AF[0x2B0 - 0x2AF]; - /* 0x2B0 */ s16 field_0x2b0; - /* 0x2B2 */ s16 field_0x2b2; - /* 0x2B4 */ s16 field_0x2b4; - /* 0x2B6 */ u8 field_0x2b6; - /* 0x2B7 */ u8 field_0x2B7[0x2B8 - 0x2B7]; - /* 0x2B8 */ s16 field_0x2b8; - /* 0x2BA */ u8 field_0x2BA[0x2BC - 0x2BA]; - /* 0x2BC */ s32 field_0x2bc; - /* 0x2C0 */ s32 mEvtStaffId; - /* 0x2C4 */ cXyz field_0x2c4; - /* 0x2D0 */ cXyz field_0x2d0; - /* 0x2DC */ cXyz field_0x2dc; -}; - -typedef BOOL (daMbdoor_c_ActionFunc)(daMbdoor_c*); - /* 00000078-00000084 .text getSwbit__10daMbdoor_cFv */ u8 daMbdoor_c::getSwbit() { return fopAcM_GetParam(this) & 0xFF; @@ -266,16 +214,16 @@ BOOL daMbdoor_c::CreateInit() { mTevStr.mRoomNo = current.roomNo; if (type == 2) { - mCurActionIdx = 1; + setAction(1); field_0x2b0 = 0; field_0x2b2 = 0; } else if ((type == 0 && (swbit != 0xFF && !dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this)))) || (type == 1 && (swbit == 0xFF || dComIfGs_isSwitch(swbit, fopAcM_GetRoomNo(this))))) { - mCurActionIdx = 1; + setAction(1); field_0x2b0 = 0; field_0x2b2 = 0; } else { - mCurActionIdx = 4; + setAction(4); field_0x2b0 = -0x3F65; field_0x2b2 = 0; } @@ -490,7 +438,7 @@ BOOL daMbdoor_actionWait(daMbdoor_c* i_this) { /* 000011BC-0000121C .text daMbdoor_actionLockWait__FP10daMbdoor_c */ BOOL daMbdoor_actionLockWait(daMbdoor_c* i_this) { if (i_this->checkUnlock()) { - i_this->mCurActionIdx = 2; + i_this->setAction(2); fopAcM_orderOtherEvent2(i_this, "MBDOOR_STOP_OPEN", 1, -1); } return TRUE; @@ -501,7 +449,7 @@ BOOL daMbdoor_actionLockOff(daMbdoor_c* i_this) { if (i_this->mEvtInfo.checkCommandDemoAccrpt()) { i_this->mEvtStaffId = dComIfGp_evmng_getMyStaffId("MBDOOR", NULL, 0); i_this->demoProc(); - i_this->mCurActionIdx = 3; + i_this->setAction(3); } else { fopAcM_orderOtherEvent2(i_this, "MBDOOR_STOP_OPEN", 1, -1); } @@ -512,7 +460,7 @@ BOOL daMbdoor_actionLockOff(daMbdoor_c* i_this) { BOOL daMbdoor_actionLockDemo(daMbdoor_c* i_this) { if (dComIfGp_evmng_endCheck("MBDOOR_STOP_OPEN")) { dComIfGp_event_reset(); - i_this->mCurActionIdx = 4; + i_this->setAction(4); } else { i_this->demoProc(); } @@ -524,7 +472,7 @@ BOOL daMbdoor_actionCloseWait(daMbdoor_c* i_this) { if (i_this->mEvtInfo.checkCommandDoor()) { i_this->mEvtStaffId = dComIfGp_evmng_getMyStaffId("MBDOOR", NULL, 0); i_this->demoProc(); - i_this->mCurActionIdx = 5; + i_this->setAction(5); dComIfG_Bgsp()->Release(i_this->mpBgW); i_this->field_0x2ac = false; } else { @@ -566,7 +514,7 @@ BOOL daMbdoor_Draw(daMbdoor_c* i_this) { } BOOL daMbdoor_c::execute() { - static daMbdoor_c_ActionFunc* l_action[] = { + static ActionFunc* l_action[] = { &daMbdoor_actionWait, &daMbdoor_actionLockWait, &daMbdoor_actionLockOff, diff --git a/src/d/actor/d_a_nh.cpp b/src/d/actor/d_a_nh.cpp index db3df1c01..addeed504 100644 --- a/src/d/actor/d_a_nh.cpp +++ b/src/d/actor/d_a_nh.cpp @@ -179,7 +179,7 @@ void daNh_c::action(void* arg) { } /* 800F9DF4-800F9EB8 .text setAction__6daNh_cFM6daNh_cFPCvPvPv_iPv */ -BOOL daNh_c::setAction(daNh_c_ActionFunc actionFunc, void* arg) { +BOOL daNh_c::setAction(ActionFunc actionFunc, void* arg) { if (mCurrActionFunc != actionFunc) { if (mCurrActionFunc != NULL) { mActionStatus = ACTION_ENDING; diff --git a/src/d/actor/d_a_obj_adnno.cpp b/src/d/actor/d_a_obj_adnno.cpp index a0c3735ec..87c8e9740 100644 --- a/src/d/actor/d_a_obj_adnno.cpp +++ b/src/d/actor/d_a_obj_adnno.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_obj_adnno.cpp // +#include "d/actor/d_a_obj_adnno.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTAssert.h" @@ -12,21 +13,6 @@ #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_mtx.h" -class daObjAdnno_c : public fopAc_ac_c { -public: - inline s32 _create(); - inline bool _execute(); - inline bool _draw(); - inline bool _delete(); - BOOL CreateHeap(); - void CreateInit(); - void set_mtx(); - -public: - /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ J3DModel * mpModel[16]; -}; - static const u32 daObjAdnno_bmt_table[16] = { 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, }; diff --git a/src/d/actor/d_a_obj_dmgroom.cpp b/src/d/actor/d_a_obj_dmgroom.cpp index 203ed1bb6..1689e796f 100644 --- a/src/d/actor/d_a_obj_dmgroom.cpp +++ b/src/d/actor/d_a_obj_dmgroom.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_obj_dmgroom.cpp // +#include "d/actor/d_a_obj_dmgroom.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTAssert.h" @@ -12,22 +13,6 @@ #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_mtx.h" -class daObjDmgroom_c : public fopAc_ac_c { -public: - inline s32 _create(); - inline bool _execute(); - inline bool _draw(); - inline bool _delete(); - BOOL CreateHeap(); - void CreateInit(); - void set_mtx(); - -public: - /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ J3DModel * mpModel; - /* 0x29C */ mDoExt_brkAnm mBrkAnm; -}; - /* 00000078-00000098 .text CheckCreateHeap__FP10fopAc_ac_c */ BOOL CheckCreateHeap(fopAc_ac_c* i_this) { return ((daObjDmgroom_c*)i_this)->CreateHeap(); diff --git a/src/d/actor/d_a_obj_ganonbed.cpp b/src/d/actor/d_a_obj_ganonbed.cpp index ec9f39183..ae40b7e65 100644 --- a/src/d/actor/d_a_obj_ganonbed.cpp +++ b/src/d/actor/d_a_obj_ganonbed.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_obj_ganonbed.cpp // +#include "d/actor/d_a_obj_ganonbed.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTAssert.h" @@ -12,22 +13,6 @@ #include "m_Do/m_Do_ext.h" #include "m_Do/m_Do_mtx.h" -class daObjGbed_c : public fopAc_ac_c { -public: - void init_mtx(); - s32 _create(); - bool _execute(); - bool _draw(); - bool _delete(); - bool create_heap(); - static BOOL solidHeapCB(fopAc_ac_c *i_this); - -public: - /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ J3DModel * mpModel; - /* 0x29C */ dBgW * mpBgW; -}; - namespace { static const char l_arcname[] = "Gbed"; }; diff --git a/src/d/actor/d_a_seatag.cpp b/src/d/actor/d_a_seatag.cpp index c1def79ca..ef8b85d36 100644 --- a/src/d/actor/d_a_seatag.cpp +++ b/src/d/actor/d_a_seatag.cpp @@ -1,16 +1,11 @@ /* * d_a_seatag.cpp */ +#include "d/actor/d_a_seatag.h" #include "JSystem/JKernel/JKRHeap.h" #include "f_op/f_op_actor_mng.h" #include "d/d_procname.h" -struct daSeatag_c : public fopAc_ac_c { -public: - /* 0x00 */ int field_0x00; - /* 0x04 */ int field_0x04; -}; // size 0x298 - static BOOL daSeatag_Draw(daSeatag_c*) { return true; } diff --git a/src/d/actor/d_a_swc00.cpp b/src/d/actor/d_a_swc00.cpp index 5bc8dd585..f9ebdd8b5 100644 --- a/src/d/actor/d_a_swc00.cpp +++ b/src/d/actor/d_a_swc00.cpp @@ -3,13 +3,12 @@ // Translation Unit: d_a_swc00.cpp // +#include "d/actor/d_a_swc00.h" #include "f_op/f_op_actor_mng.h" #include "JSystem/JKernel/JKRHeap.h" #include "d/d_procname.h" #include "d/d_com_inf_game.h" -struct swc00_class : public fopAc_ac_c {}; - static inline s32 getSwBit(u32 param) { return param & 0xFF; } diff --git a/src/d/actor/d_a_swtdoor.cpp b/src/d/actor/d_a_swtdoor.cpp index 73ee30af6..3ac202f08 100644 --- a/src/d/actor/d_a_swtdoor.cpp +++ b/src/d/actor/d_a_swtdoor.cpp @@ -3,6 +3,7 @@ // Translation Unit: d_a_swtdoor.cpp // +#include "d/actor/d_a_swtdoor.h" #include "f_op/f_op_actor_mng.h" #include "d/d_com_inf_game.h" #include "d/d_procname.h" @@ -13,14 +14,6 @@ #include "JSystem/JKernel/JKRHeap.h" #include "JSystem/JUtility/JUTAssert.h" -class swtdoor_class : public fopAc_ac_c { -public: - /* 0x290 */ request_of_phase_process_class mPhs; - /* 0x298 */ J3DModel * model; - /* 0x29C */ u8 field_0x29c; - /* 0x29D */ u8 mSwitchNo; -}; - /* 00000078-000000C4 .text daSwtdoor_Draw__FP13swtdoor_class */ BOOL daSwtdoor_Draw(swtdoor_class* i_this) { J3DModel * model = i_this->model;