mirror of https://github.com/zeldaret/tp.git
parent
8b93a8761f
commit
a6802bf7a2
|
|
@ -1659,7 +1659,7 @@ config.libs = [
|
|||
ActorRel(Equivalent, "d_a_e_bug"), # weak func order
|
||||
ActorRel(Equivalent, "d_a_e_cr"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_cr_egg"),
|
||||
ActorRel(NonMatching, "d_a_e_db"),
|
||||
ActorRel(Equivalent, "d_a_e_db"), # weak func order
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_db_leaf"),
|
||||
ActorRel(NonMatching, "d_a_e_dd"),
|
||||
ActorRel(Equivalent, "d_a_e_df"), # weak func order
|
||||
|
|
|
|||
|
|
@ -17,69 +17,84 @@
|
|||
class e_db_class {
|
||||
public:
|
||||
/* 0x0000 */ fopEn_enemy_c enemy;
|
||||
/* 0x05AC */ request_of_phase_process_class field_0x5ac;
|
||||
/* 0x05B4 */ u8 field_0x5b4;
|
||||
/* 0x05B5 */ u8 field_0x5b5;
|
||||
/* 0x05B6 */ u8 field_0x5b6;
|
||||
/* 0x05B7 */ u8 field_0x5b7;
|
||||
/* 0x05B8 */ mDoExt_McaMorfSO* field_0x5b8;
|
||||
/* 0x05AC */ request_of_phase_process_class phase;
|
||||
/* 0x05B4 */ u8 arg0;
|
||||
/* 0x05B5 */ u8 arg1;
|
||||
/* 0x05B6 */ u8 arg2;
|
||||
/* 0x05B7 */ u8 arg3;
|
||||
/* 0x05B8 */ mDoExt_McaMorfSO* modelMorf;
|
||||
/* 0x05BC */ Z2CreatureEnemy sound;
|
||||
/* 0x0660 */ int field_0x660;
|
||||
/* 0x0664 */ u32 field_0x664;
|
||||
/* 0x0668 */ s16 field_0x668;
|
||||
/* 0x066A */ s16 field_0x66a;
|
||||
/* 0x066C */ s16 field_0x66c;
|
||||
/* 0x0670 */ f32 field_0x670;
|
||||
/* 0x0660 */ int anm;
|
||||
/* 0x0664 */ u32 shadowId;
|
||||
/* 0x0668 */ s16 counter;
|
||||
/* 0x066A */ s16 action;
|
||||
/* 0x066C */ s16 mode;
|
||||
/* 0x0670 */ f32 pl_search_range;
|
||||
/* 0x0674 */ cXyz field_0x674;
|
||||
/* 0x0680 */ s16 field_0x680;
|
||||
/* 0x0682 */ u8 field_0x682[0x0684 - 0x0682];
|
||||
/* 0x0684 */ s16 field_0x684;
|
||||
/* 0x0688 */ f32 field_0x688;
|
||||
/* 0x0684 */ s16 angle_to_player;
|
||||
/* 0x0688 */ f32 dist_to_player;
|
||||
/* 0x068C */ f32 field_0x68c;
|
||||
/* 0x0690 */ f32 field_0x690;
|
||||
/* 0x0694 */ s16 field_0x694[3];
|
||||
/* 0x069A */ s16 field_0x69a;
|
||||
/* 0x0690 */ f32 size;
|
||||
/* 0x0694 */ s16 timers[3];
|
||||
/* 0x069A */ s16 invulnerabilityTimer;
|
||||
/* 0x069C */ cXyz field_0x69c[12];
|
||||
/* 0x072C */ csXyz field_0x72c[12];
|
||||
/* 0x0774 */ J3DModel* field_0x774[11];
|
||||
/* 0x07A0 */ u8 field_0x7A0[0x07D4 - 0x07A0];
|
||||
/* 0x07D4 */ f32 field_0x7d4[11];
|
||||
/* 0x0800 */ u8 field_0x800[0x0804 - 0x0800];
|
||||
/* 0x0804 */ mDoExt_3DlineMat1_c field_0x804;
|
||||
/* 0x0774 */ J3DModel* thornModel[12];
|
||||
/* 0x07A4 */ f32 field_0x7a4[12];
|
||||
/* 0x07D4 */ f32 thorn_size[12];
|
||||
/* 0x0804 */ mDoExt_3DlineMat1_c stalkLine;
|
||||
/* 0x0840 */ f32 field_0x840;
|
||||
/* 0x0844 */ f32 field_0x844;
|
||||
/* 0x0848 */ f32 field_0x848;
|
||||
/* 0x084C */ u8 field_0x84C[0x084E - 0x084C];
|
||||
/* 0x084C */ s16 field_0x84c;
|
||||
/* 0x084E */ s16 field_0x84e;
|
||||
/* 0x0850 */ u8 field_0x850;
|
||||
/* 0x0851 */ u8 field_0x851;
|
||||
/* 0x0850 */ s8 field_0x850;
|
||||
/* 0x0851 */ s8 field_0x851;
|
||||
/* 0x0852 */ s8 field_0x852;
|
||||
/* 0x0854 */ f32 field_0x854;
|
||||
/* 0x0858 */ f32 field_0x858;
|
||||
/* 0x085C */ s16 field_0x85c;
|
||||
/* 0x085E */ u8 field_0x85E[0x0860 - 0x085E];
|
||||
/* 0x085E */ s16 field_0x85e;
|
||||
/* 0x0860 */ s16 field_0x860;
|
||||
/* 0x0864 */ f32 field_0x864;
|
||||
/* 0x0868 */ dCcD_Stts field_0x868;
|
||||
/* 0x08A4 */ dCcD_Sph field_0x8a4;
|
||||
/* 0x09DC */ dCcD_Sph field_0x9dc;
|
||||
/* 0x0B14 */ u8 field_0xb14;
|
||||
/* 0x0B18 */ dCcD_Sph field_0xb18[4];
|
||||
/* 0x0FF8 */ dCcU_AtInfo field_0xff8;
|
||||
/* 0x101C */ dBgS_AcchCir field_0x101c;
|
||||
/* 0x105C */ dBgS_ObjAcch field_0x105c;
|
||||
/* 0x1234 */ fpc_ProcID field_0x1234;
|
||||
/* 0x1238 */ u8 field_0x1238;
|
||||
/* 0x1239 */ u8 field_0x1239;
|
||||
/* 0x123A */ u8 field_0x123A[0x126C - 0x123A];
|
||||
/* 0x126C */ u8 field_0x126c;
|
||||
/* 0x0868 */ dCcD_Stts ccStts;
|
||||
/* 0x08A4 */ dCcD_Sph ccSph;
|
||||
/* 0x09DC */ dCcD_Sph atSph;
|
||||
/* 0x0B14 */ s8 field_0xb14;
|
||||
/* 0x0B15 */ u8 field_0xb15;
|
||||
/* 0x0B18 */ dCcD_Sph kukiSph[4];
|
||||
/* 0x0FF8 */ dCcU_AtInfo atInfo;
|
||||
/* 0x101C */ dBgS_AcchCir acchcir;
|
||||
/* 0x105C */ dBgS_ObjAcch acch;
|
||||
/* 0x1234 */ fpc_ProcID leaf_actor_id;
|
||||
/* 0x1238 */ s8 field_0x1238;
|
||||
/* 0x1239 */ s8 field_0x1239;
|
||||
/* 0x123C */ u32 field_0x123c[3];
|
||||
/* 0x1248 */ u32 field_0x1248;
|
||||
/* 0x124C */ u32 field_0x124c;
|
||||
/* 0x1250 */ u32 field_0x1250;
|
||||
/* 0x1254 */ f32 field_0x1254;
|
||||
/* 0x1258 */ u32 field_0x1258;
|
||||
/* 0x125C */ u32 field_0x125c;
|
||||
/* 0x1260 */ u8 field_0x1260[0x126C - 0x1260];
|
||||
/* 0x126C */ u8 HIOInit;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_db_class) == 0x1270);
|
||||
|
||||
class daE_DB_HIO_c {
|
||||
public:
|
||||
/* 8069AAEC */ daE_DB_HIO_c();
|
||||
/* 806A13D8 */ ~daE_DB_HIO_c();
|
||||
/* 806A13D8 */ virtual ~daE_DB_HIO_c() {}
|
||||
|
||||
/* 0x04 */ s8 id;
|
||||
/* 0x08 */ f32 base_size;
|
||||
/* 0x0C */ f32 flower_size;
|
||||
/* 0x10 */ f32 appear_size;
|
||||
/* 0x14 */ s16 roof_reappear_interval;
|
||||
/* 0x16 */ s16 attack_freq;
|
||||
};
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -18,4 +18,4 @@ public:
|
|||
/* 0x5B4 */ mDoExt_McaMorf* mpMorf;
|
||||
}; // Size: 0x5B8
|
||||
|
||||
#endif /* D_A_E_DB_LEAF_H */
|
||||
#endif /* D_A_E_DB_LEAF_H */
|
||||
|
|
|
|||
|
|
@ -709,6 +709,7 @@ public:
|
|||
const cXyz getLeftHandPos() const { return mLeftHandPos; }
|
||||
const cXyz getItemPos() const { return mItemPos; }
|
||||
bool getDkCaught() const { return checkNoResetFlg1(FLG1_DK_CAUGHT); }
|
||||
bool getDkCaught2() const { return checkNoResetFlg0(FLG0_DK_CAUGHT); }
|
||||
bool getStCaught() const { return checkNoResetFlg1(FLG1_UNK_80000000); }
|
||||
|
||||
/* vt 0X008 */ virtual cXyz* getMidnaAtnPos() const { return NULL; }
|
||||
|
|
@ -942,6 +943,8 @@ public:
|
|||
void onWolfEyeKeep() { onEndResetFlg1(ERFLG1_WOLF_EYE_KEEP); }
|
||||
void onPortalWarpMidnaAtnKeep() { onEndResetFlg2(ERFLG2_PORTAL_WARP_MIDNA_ATN_KEEP); }
|
||||
void onFogFade() { onNoResetFlg2(FLG2_UNK_4000); }
|
||||
void onDkCaught2() { onNoResetFlg0(FLG0_DK_CAUGHT); }
|
||||
|
||||
BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); }
|
||||
u32 getCutAtFlg() const { return checkNoResetFlg0(FLG0_UNK_40); }
|
||||
u32 checkBoarSingleBattleFirst() const { return checkNoResetFlg2(FLG2_BOAR_SINGLE_BATTLE); }
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -830,7 +830,7 @@ static void e_hb_damage(e_hb_class* i_this) {
|
|||
i_this->action = ACTION_WAIT;
|
||||
i_this->mode = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* 804FE5C8-804FE8F8 002948 0330+00 1/1 0/0 0/0 .text kuki_control1__FP10e_hb_class */
|
||||
|
|
|
|||
|
|
@ -191,8 +191,8 @@ static daPillar_c* search_hasira(e_mk_class* i_this) {
|
|||
|
||||
/* 80714874-807148FC 000834 0088+00 1/1 0/0 0/0 .text s_d_sub__FPvPv */
|
||||
static void* s_d_sub(void* i_actor, void* i_data) {
|
||||
if (((fopAc_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DB) && static_cast<e_db_class*>(i_actor)->field_0x66a == 10)
|
||||
&& (static_cast<e_db_class*>(i_actor)->field_0x66c >= 1 && target_info_count < 20)) {
|
||||
if (((fopAc_IsActor(i_actor) && fopAcM_GetName(i_actor) == PROC_E_DB) && static_cast<e_db_class*>(i_actor)->action == 10)
|
||||
&& (static_cast<e_db_class*>(i_actor)->mode >= 1 && target_info_count < 20)) {
|
||||
target_info[target_info_count] = i_actor;
|
||||
target_info_count++;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ static void chain_control_01(obj_key_class* i_this) {
|
|||
} else if (fopAcM_GetName(pparent) == PROC_E_DB || fopAcM_GetName(pparent) == PROC_E_HB) {
|
||||
e_db_class* db = (e_db_class*)pparent;
|
||||
|
||||
if (db->field_0x66a == 20) {
|
||||
if (db->action == 20) {
|
||||
spB8 = db->field_0x69c[2];
|
||||
} else {
|
||||
spB8 = db->field_0x69c[TREG_S(3) + 9];
|
||||
|
|
|
|||
Loading…
Reference in New Issue