diff options
| author | Pheenoh <pheenoh@gmail.com> | 2023-02-20 00:53:33 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-20 00:53:33 -0700 |
| commit | fa1f47f7a134cdc203207ec0b273ca7d32542d52 (patch) | |
| tree | 3cfc43d7aca0d1442b9a8d1a8438aed64b0120a9 /include | |
| parent | 8471d1d6ccb714dbf5968b2ad9da8b1be6b4919e (diff) | |
d_a_guard_mng OK, d_a_obj_smoke OK, d_a_tag_smk_emt OK, d_a_hitobj OK (#298)
* d_a_guard_mng OK
* d_a_obj_smoke OK
* d_a_tag_smk_emt OK
* d_a_hitobj attempt
* fixes
* rm comment
* cc_sph_src
* rename and move mGuardDataTbl
Diffstat (limited to 'include')
| -rw-r--r-- | include/rel/d/a/d_a_guard_mng/d_a_guard_mng.h | 66 | ||||
| -rw-r--r-- | include/rel/d/a/d_a_hitobj/d_a_hitobj.h | 13 | ||||
| -rw-r--r-- | include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h | 19 | ||||
| -rw-r--r-- | include/rel/d/a/tag/d_a_tag_smk_emt/d_a_tag_smk_emt.h | 17 |
4 files changed, 111 insertions, 4 deletions
diff --git a/include/rel/d/a/d_a_guard_mng/d_a_guard_mng.h b/include/rel/d/a/d_a_guard_mng/d_a_guard_mng.h index e35b243e7c..46e9113819 100644 --- a/include/rel/d/a/d_a_guard_mng/d_a_guard_mng.h +++ b/include/rel/d/a/d_a_guard_mng/d_a_guard_mng.h @@ -1,6 +1,70 @@ #ifndef D_A_GUARD_MNG_H #define D_A_GUARD_MNG_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "rel/d/a/tag/d_a_tag_guard/d_a_tag_guard.h" +#include "d/com/d_com_inf_game.h" + +class daGuardMng_c : public fopAc_ac_c { +public: + void countMerchantNum() { + mMerchantNum++; + } + + int execute() { + static u32 const mGuardDataTbl[2] = { + 0x00000200, 0x00000201, + }; + + if (!daPy_py_c::i_checkNowWolf() || field_0x573 >= mLimitNum) { + return 1; + } else { + if (field_0x571 < mMerchantNum) { + field_0x571 = mMerchantNum; + } + + checkMerchantNum(); + + if (mpTagGuard) { + if (field_0x571 > mMerchantNum && 3 < (field_0x571 - mMerchantNum)) { + mpTagGuard->createGuard(mGuardDataTbl[0]); + field_0x573++; + field_0x571 = mMerchantNum; + dComIfGs_onSaveDunSwitch(0x3c); + } + } + } + + return 1; + } + + u8 getLimitNum() { + return fopAcM_GetParam(this) & 0xff; + } + + void create_init() { + mLimitNum = getLimitNum(); + field_0x573 = 0; + } + + int create() { + if (!fopAcM_CheckCondition(this, 8)) { + new (this) daGuardMng_c(); + fopAcM_OnCondition(this, 8); + } + create_init(); + return cPhs_COMPLEATE_e; + } + + /* 80837B9C */ u8 checkMerchantNum(); + /* 80837BEC */ void checkAppearTag(daTagGuard_c*); + + /* 0x568 */ daTagGuard_c* mpTagGuard; + /* 0x56C */ f32 field_0x56c; + /* 0x570 */ u8 mMerchantNum; + /* 0x571 */ u8 field_0x571; + /* 0x572 */ u8 mLimitNum; + /* 0x573 */ u8 field_0x573; +}; #endif /* D_A_GUARD_MNG_H */ diff --git a/include/rel/d/a/d_a_hitobj/d_a_hitobj.h b/include/rel/d/a/d_a_hitobj/d_a_hitobj.h index a56423417d..496e8e053e 100644 --- a/include/rel/d/a/d_a_hitobj/d_a_hitobj.h +++ b/include/rel/d/a/d_a_hitobj/d_a_hitobj.h @@ -1,6 +1,17 @@ #ifndef D_A_HITOBJ_H #define D_A_HITOBJ_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" + +class hitobj_class : public fopAc_ac_c { +public: + /* 0x568 */ request_of_phase_process_class mPhase; + /* 0x570 */ u8 field_0x570; + /* 0x571 */ u8 field_0x571; + /* 0x572 */ s16 field_0x572; + /* 0x574 */ dCcD_Stts field_0x574; + /* 0x5B0 */ dCcD_Sph field_0x5b0; +}; #endif /* D_A_HITOBJ_H */ diff --git a/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h b/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h index 587527f6cb..01dd9e784b 100644 --- a/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h +++ b/include/rel/d/a/obj/d_a_obj_smoke/d_a_obj_smoke.h @@ -1,6 +1,23 @@ #ifndef D_A_OBJ_SMOKE_H #define D_A_OBJ_SMOKE_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" + +class daObjSmoke_c : public fopAc_ac_c { +public: + u8 getSwbit() { + return fopAcM_GetParamBit(this,0,8); + } + + /* 80CDCE78 */ void initBaseMtx(); + /* 80CDCE98 */ void setBaseMtx(); + /* 80CDCEF0 */ int Create(); + /* 80CDCF9C */ int create(); + /* 80CDD004 */ int execute(); + /* 80CDD0B8 */ int _delete(); + + /* 0x568 */ JPABaseEmitter* mParticle; +}; #endif /* D_A_OBJ_SMOKE_H */ diff --git a/include/rel/d/a/tag/d_a_tag_smk_emt/d_a_tag_smk_emt.h b/include/rel/d/a/tag/d_a_tag_smk_emt/d_a_tag_smk_emt.h index da839d2a14..46e8db31ac 100644 --- a/include/rel/d/a/tag/d_a_tag_smk_emt/d_a_tag_smk_emt.h +++ b/include/rel/d/a/tag/d_a_tag_smk_emt/d_a_tag_smk_emt.h @@ -1,6 +1,21 @@ #ifndef D_A_TAG_SMK_EMT_H #define D_A_TAG_SMK_EMT_H -#include "dolphin/types.h" +#include "f_op/f_op_actor_mng.h" +#include "d/com/d_com_inf_game.h" + +class daTagSmkEmt_c : public fopAc_ac_c { +public: + /* 80D612D8 */ daTagSmkEmt_c(); + /* 80D61324 */ virtual ~daTagSmkEmt_c(); + /* 80D61384 */ int create(); + /* 80D613DC */ int Delete(); + /* 80D61400 */ int draw(); + /* 80D61408 */ int execute(); + /* 80D61410 */ void createSmkEmt(); + /* 80D61500 */ void deleteSmkEmt(); + + /* 0x56C */ JPABaseEmitter* mParticles[3]; +}; #endif /* D_A_TAG_SMK_EMT_H */ |
