Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1652,7 +1652,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(Equivalent, "d_a_e_ba"), # weak func order
ActorRel(NonMatching, "d_a_e_bee"),
ActorRel(MatchingFor("GZ2E01"), "d_a_e_bg"),
ActorRel(NonMatching, "d_a_e_bi"),
ActorRel(Equivalent, "d_a_e_bi"), # weak func order
ActorRel(MatchingFor("GZ2E01"), "d_a_e_bi_leaf"),
ActorRel(Equivalent, "d_a_e_bs"), # weak func order
ActorRel(Equivalent, "d_a_e_bu"),
Expand Down Expand Up @@ -1930,7 +1930,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(Equivalent, "d_a_obj_flag2"), # weak function order
ActorRel(NonMatching, "d_a_obj_flag3"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_food"),
ActorRel(NonMatching, "d_a_obj_fw"),
ActorRel(Equivalent, "d_a_obj_fw"), # weak function order
ActorRel(NonMatching, "d_a_obj_gadget"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall"),
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_ganonwall2"),
Expand Down
73 changes: 67 additions & 6 deletions include/d/actor/d_a_e_bi.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
#ifndef D_A_E_BI_H
#define D_A_E_BI_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"

/**
Expand All @@ -9,17 +12,75 @@
*
* @details
*
*/
class e_bi_class : public fopEn_enemy_c {
private:
/* 0x5ac */ u8 field_0x5ac[0xc00 - 0x5ac];
*/

class e_bi_class {
public:
/* 0x000 */ fopEn_enemy_c actor;
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ u8 field_0x5b4;
/* 0x5B5 */ u8 field_0x5b5;
/* 0x5B6 */ u8 field_0x5b6;
/* 0x5B7 */ u8 field_0x5b7;
/* 0x5B8 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x5BC */ Z2CreatureEnemy mSound;
/* 0x660 */ f32 field_0x660;
/* 0x664 */ int mAnm;
/* 0x668 */ u32 mShadowKey;
/* 0x66C */ s16 field_0x66c;
/* 0x66E */ s16 mAction;
/* 0x670 */ s16 field_0x670;
/* 0x672 */ u8 field_0x672[0x680 - 0x672];
/* 0x680 */ s16 field_0x680;
/* 0x682 */ u8 field_0x682[0x684 - 0x682];
/* 0x684 */ s16 field_0x684;
/* 0x688 */ f32 field_0x688;
/* 0x68C */ s16 field_0x68c[3];
/* 0x692 */ s16 field_0x692;
/* 0x694 */ s16 field_0x694;
/* 0x696 */ s16 field_0x696;
/* 0x698 */ s16 field_0x698;
/* 0x69A */ u8 field_0x69a[0x6a2 - 0x69a];
/* 0x6A2 */ s16 field_0x6a2;
/* 0x6A4 */ s16 field_0x6a4;
/* 0x6A6 */ s16 field_0x6a6;
/* 0x6A8 */ f32 field_0x6a8;
/* 0x6AC */ f32 field_0x6ac;
/* 0x6B0 */ s8 field_0x6b0;
/* 0x6B4 */ dCcD_Stts mStts;
/* 0x6F0 */ dCcD_Cyl field_0x6f0;
/* 0x82C */ dCcD_Sph field_0x82c;
/* 0x964 */ dCcU_AtInfo mAtInfo;
/* 0x988 */ u8 field_0x988;
/* 0x98C */ dBgS_AcchCir mAcchCir;
/* 0x9CC */ dBgS_ObjAcch mObjAcch;
/* 0xBA4 */ fpc_ProcID field_0xba4;
/* 0xBA8 */ fpc_ProcID field_0xba8;
/* 0xBAC */ s8 field_0xbac;
/* 0xBAD */ s8 field_0xbad;
/* 0xBB0 */ cXyz field_0xbb0;
/* 0xBBC */ u8 field_0xbbc[0xbc4 - 0xbbc];
/* 0xBC4 */ u32 field_0xbc4[5];
/* 0xBD8 */ u32 field_0xbd8[4];
/* 0xBE8 */ u32 field_0xbe8;
/* 0xBEC */ u8 field_0xbec[0xbfc - 0xbec];
/* 0xBFC */ u8 field_0xbfc;
};

STATIC_ASSERT(sizeof(e_bi_class) == 0xc00);

class daE_BI_HIO_c {
class daE_BI_HIO_c : public JORReflexible {
public:
/* 8068A5EC */ daE_BI_HIO_c();
/* 8068D2DC */ ~daE_BI_HIO_c();
/* 8068D2DC */ virtual ~daE_BI_HIO_c() {}

/* 爆弾虫 - Bomb Bug */
/* 0x04 */ s8 field_0x4;
/* 0x08 */ f32 basic_size; // 基本サイズ - Basic Size
/* 0x0C */ f32 search_range; // サーチ範囲 - Search Range
/* 0x10 */ f32 track_range; // 追尾範囲 - Track Range
/* 0x14 */ s16 time_to_get_going; // 動き出すまでの時間 - Time To Get Going
/* 0x18 */ f32 movement_spd; // 移動速度 - Movement Speed
};


Expand Down
44 changes: 38 additions & 6 deletions include/d/actor/d_a_obj_fw.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,18 +10,50 @@
*
* @details
*
*/
class obj_fw_class : public fopAc_ac_c {
private:
/* 0x568 */ u8 field_0x568[0x628 - 0x568];
*/

class obj_fw_class {
public:
/* 0x000 */ fopAc_ac_c actor;
/* 0x568 */ request_of_phase_process_class mPhase;
/* 0x570 */ u8 field_0x570;
/* 0x574 */ J3DModel* mpModel;
/* 0x578 */ s16 field_0x578;
/* 0x57A */ s16 field_0x57a;
/* 0x57C */ u8 field_0x57c[0x57e - 0x57c];
/* 0x57E */ s16 field_0x57e[2];
/* 0x584 */ f32 field_0x584;
/* 0x588 */ f32 field_0x588;
/* 0x58C */ f32 field_0x58c;
/* 0x590 */ s16 field_0x590;
/* 0x592 */ s16 field_0x592;
/* 0x594 */ f32 field_0x594;
/* 0x598 */ f32 field_0x598;
/* 0x59C */ u8 field_0x59c[0x5a0 - 0x59c];
/* 0x5A0 */ s16 field_0x5a0;
/* 0x5A2 */ s16 field_0x5a2;
/* 0x5A4 */ s16 field_0x5a4;
/* 0x5A8 */ cXyz field_0x5a8;
/* 0x5B4 */ u8 field_0x5b4[0x5b8 - 0x5b4];
/* 0x5B8 */ Mtx mMtx;
/* 0x5E8 */ dBgW* mpBgW;
/* 0x5EC */ Z2SoundObjSimple mSound;
/* 0x60C */ u8 field_0x60c[0x61c - 0x60c];
/* 0x61C */ u32 field_0x61c;
/* 0x620 */ u8 field_0x620[0x624 - 0x620];
/* 0x624 */ u8 field_0x624;
};

STATIC_ASSERT(sizeof(obj_fw_class) == 0x628);

class daObj_Fw_HIO_c {
class daObj_Fw_HIO_c : public JORReflexible {
public:
/* 80BF204C */ daObj_Fw_HIO_c();
/* 80BF2AB0 */ ~daObj_Fw_HIO_c();
/* 80BF2AB0 */ virtual ~daObj_Fw_HIO_c() {}

/* 流木 - Driftwood */
/* 0x4 */ s8 field_0x4;
/* 0x8 */ f32 size; // 大きさ - Size
};


Expand Down
10 changes: 10 additions & 0 deletions include/d/d_bomb.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,16 @@ class dBomb_c : public fopAc_ac_c {
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0x11, i_pos, i_roomNo, i_angle, NULL, -1,
NULL, NULL);
}

static fopAc_ac_c* createEnemyBombHookshot(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 13, i_pos, i_roomNo, i_angle, NULL, -1,
NULL, NULL);
}

static fopAc_ac_c* createEnemyBomb(cXyz* i_pos, csXyz* i_angle, int i_roomNo) {
return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0xB, i_pos, i_roomNo, i_angle, NULL, -1,
NULL, NULL);
}
};

#endif /* D_D_BOMB_H */
Loading