mirror of
https://github.com/zeldaret/tp
synced 2026-06-04 18:59:25 -04:00
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
This commit is contained in:
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user