diff options
| author | hatal175 <hatal175@users.noreply.github.com> | 2024-04-10 23:34:53 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-10 13:34:53 -0700 |
| commit | 3172c9d640427be3e8f70ac7e1faa850d040f604 (patch) | |
| tree | 86f49d0a08ed3f5e8b105feaaea31cabab4dca07 /include | |
| parent | 197282b084326deac5d8488e3ef39d3d671a1d5a (diff) | |
daE_OctBg_c OK (#2121)
* daE_OctBg_c OK
* Rename data
* Remove comments
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/d_bomb.h | 12 | ||||
| -rw-r--r-- | include/f_op/f_op_actor_mng.h | 4 | ||||
| -rw-r--r-- | include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h | 98 |
3 files changed, 114 insertions, 0 deletions
diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h index f12422adf9..5de6f4cf7c 100644 --- a/include/d/d_bomb.h +++ b/include/d/d_bomb.h @@ -64,6 +64,18 @@ public: static fopAc_ac_c* createFlowerBomb(cXyz* i_pos, csXyz* i_angle, int param_2) { return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 4, i_pos, param_2, i_angle, NULL, -1, NULL, NULL); } + + static fopAc_ac_c* createWaterBombExplode(cXyz* i_pos) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 18, i_pos, -1, NULL, NULL, -1, NULL, NULL); + } + + static fopAc_ac_c* createEnemyWaterBomb(cXyz* i_pos, csXyz* i_angle, int i_roomNo) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 14, i_pos, i_roomNo, i_angle, NULL, -1, NULL, NULL); + } + + static fopAc_ac_c* createEnemyWaterBombHookshot(cXyz* i_pos, csXyz* i_angle, int i_roomNo) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 16, i_pos, i_roomNo, i_angle, NULL, -1, NULL, NULL); + } }; #endif /* D_D_BOMB_H */ diff --git a/include/f_op/f_op_actor_mng.h b/include/f_op/f_op_actor_mng.h index feef23fae3..74a8981cd4 100644 --- a/include/f_op/f_op_actor_mng.h +++ b/include/f_op/f_op_actor_mng.h @@ -398,6 +398,10 @@ inline u16 fopAcM_GetSetId(const fopAc_ac_c* p_actor) { return p_actor->setID; } +inline u32 fopAcM_GetLinkId(const fopAc_ac_c* p_actor) { + return p_actor->parentActorID; +} + inline void dComIfGs_onActor(int bitNo, int roomNo); inline void fopAcM_onActor(const fopAc_ac_c* p_actor) { diff --git a/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h b/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h index 0dd3cb9c12..15c4966910 100644 --- a/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h +++ b/include/rel/d/a/e/d_a_e_oct_bg/d_a_e_oct_bg.h @@ -2,5 +2,103 @@ #define D_A_E_OCT_BG_H #include "dolphin/types.h" +#include "f_op/f_op_actor.h" +#include "d/bg/d_bg_s_acch.h" +#include "Z2AudioLib/Z2Creature.h" +#include "d/cc/d_cc_d.h" +#include "d/cc/d_cc_uty.h" +#include "SSystem/SComponent/c_phase.h" + +struct daE_OctBg_c : public fopEn_enemy_c { + typedef void (daE_OctBg_c::*actionFunc)(); + + /* 8073626C */ void setAction(actionFunc); + /* 80736310 */ void setSparkEffect(); + /* 80736418 */ bool checkExplode(); + /* 8073651C */ void action(); + /* 80736840 */ int _delete(); + /* 807368C8 */ void cc_set(); + /* 80736A78 */ void mtx_set(); + /* 80736BB4 */ bool checkNormalAttack(); + /* 80736DAC */ bool checkChase(); + /* 80736E30 */ void born_swim(); + /* 80737028 */ void swim(); + /* 80737574 */ void setChasePos(cXyz&, f32); + /* 8073762C */ bool checkCoreFishAttack(); + /* 80737678 */ void chase_core(); + /* 80737C48 */ void normal_attack(); + /* 8073814C */ void core_fish_attack(); + /* 80738714 */ void back_swim(); + /* 80738914 */ bool setBombCarry(int); + /* 807389E8 */ void hook(); + /* 80738A4C */ void damage(); + /* 80738C2C */ void bomb_wait(); + /* 80738E30 */ void damage_check(); + /* 8073905C */ int execute(); + /* 807390E4 */ int ctrlJoint(J3DJoint*, J3DModel*); + /* 807391D0 */ static int JointCallBack(J3DJoint*, int); + /* 8073921C */ int CreateHeap(); + /* 80739424 */ int create(); + /* 807399A4 */ int draw(); + + u8 getChaseFlag() { return field_0xbac; } + u32 checkAction(actionFunc func) { return field_0xb58 == func; } + bool checkNormalAttk() { return checkAction(&daE_OctBg_c::normal_attack); } + + /* 0x5AC */ request_of_phase_process_class mPhase; + /* 0x5B4 */ mDoExt_McaMorfSO* field_0x5b4; + /* 0x5B8 */ mDoExt_brkAnm* field_0x5b8; + /* 0x5BC */ Z2CreatureEnemy field_0x5bc; + /* 0x660 */ cXyz field_0x660; + /* 0x66C */ dBgS_AcchCir field_0x66c; + /* 0x6AC */ dBgS_ObjAcch field_0x6ac; + /* 0x884 */ dCcD_Stts field_0x884; + /* 0x8C0 */ dCcD_Sph field_0x8c0; + /* 0x9F8 */ dCcD_Sph field_0x9f8; + /* 0xB30 */ dCcU_AtInfo field_0xb30; + /* 0xB54 */ u8 field_0xb54[0xb58 - 0xb54]; + /* 0xB58 */ actionFunc field_0xb58; + /* 0xB64 */ actionFunc field_0xb64; + /* 0xB70 */ int field_0xb70; + /* 0xB74 */ bool field_0xb74; + /* 0xB75 */ u8 field_0xb75; + /* 0xB76 */ u8 field_0xb76; + /* 0xB77 */ u8 field_0xb77; + /* 0xB78 */ int field_0xb78; + /* 0xB7C */ s16 field_0xb7c; + /* 0xB7E */ s16 field_0xb7e; + /* 0xB80 */ s16 field_0xb80; + /* 0xB82 */ s16 field_0xb82; + /* 0xB84 */ s16 field_0xb84[4]; + /* 0xB8C */ s16 field_0xb8c; + /* 0xB8E */ u8 field_0xb8e[0xb90 - 0xb8e]; + /* 0xB90 */ int field_0xb90; + /* 0xB94 */ s16 field_0xb94; + /* 0xB96 */ s16 field_0xb96; + /* 0xB98 */ u32 field_0xb98[5]; + /* 0xBAC */ u8 field_0xbac; + /* 0xBAD */ u8 field_0xbad; + /* 0xBAE */ u8 field_0xbae; + /* 0xBAF */ u8 field_0xbaf; + /* 0xBB0 */ u16 field_0xbb0; + /* 0xBB2 */ u8 field_0xbb2; + /* 0xBB3 */ u8 field_0xbb3; + +}; + +struct daE_OctBg_HIO_c { + /* 8073620C */ daE_OctBg_HIO_c(); + /* 80739CB8 */ virtual ~daE_OctBg_HIO_c() {} + + /* 0x04 */ s8 field_0x04; + /* 0x08 */ f32 field_0x08; + /* 0x0C */ f32 field_0x0c; + /* 0x10 */ f32 field_0x10; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ f32 field_0x18; + /* 0x1C */ f32 field_0x1c; + /* 0x20 */ u8 field_0x20; + /* 0x21 */ u8 field_0x21; +}; #endif /* D_A_E_OCT_BG_H */ |
