diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-08-30 00:31:22 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-08-30 10:31:22 +0300 |
| commit | 5d46f1fc224ffab7d475498df8f6018e73c6741b (patch) | |
| tree | 7f23f2c9f81ac9e7b5ffaa7f13166f8bc6337ef1 /include | |
| parent | c1615cdfffb11c75a3e7f9637e7772666a5593f6 (diff) | |
d_a_e_ai done (#2617)
* d_a_e_ai done
* pr
Diffstat (limited to 'include')
| -rw-r--r-- | include/SSystem/SComponent/c_cc_d.h | 3 | ||||
| -rw-r--r-- | include/d/actor/d_a_e_ai.h | 101 |
2 files changed, 47 insertions, 57 deletions
diff --git a/include/SSystem/SComponent/c_cc_d.h b/include/SSystem/SComponent/c_cc_d.h index 8944ccc133..da25eff0cc 100644 --- a/include/SSystem/SComponent/c_cc_d.h +++ b/include/SSystem/SComponent/c_cc_d.h @@ -31,7 +31,7 @@ class cCcD_SphAttr; enum cCcD_ObjAtType { /* 0x00000000 */ AT_TYPE_0 = 0, - /* 0x00000001*/ AT_TYPE_1 = (1 << 0), + /* 0x00000001 */ AT_TYPE_1 = (1 << 0), /* 0x00000002 */ AT_TYPE_NORMAL_SWORD = (1 << 1), // wooden or ordon /* 0x00000004 */ AT_TYPE_HORSE = (1 << 2), /* 0x00000008 */ AT_TYPE_THROW_OBJ = (1 << 3), @@ -56,6 +56,7 @@ enum cCcD_ObjAtType { /* 0x00400000 */ AT_TYPE_IRON_BALL = (1 << 22), /* 0x00800000 */ AT_TYPE_COPY_ROD = (1 << 23), /* 0x01000000 */ AT_TYPE_1000000 = (1 << 24), + /* 0x02000000 */ AT_TYPE_2000000 = (1 << 25), /* 0x04000000 */ AT_TYPE_MASTER_SWORD = (1 << 26), /* 0x08000000 */ AT_TYPE_MIDNA_LOCK = (1 << 27), /* 0x10000000 */ AT_TYPE_10000000 = (1 << 28), diff --git a/include/d/actor/d_a_e_ai.h b/include/d/actor/d_a_e_ai.h index 7118934795..dc6d8a5165 100644 --- a/include/d/actor/d_a_e_ai.h +++ b/include/d/actor/d_a_e_ai.h @@ -18,13 +18,21 @@ */ class e_ai_class : public fopEn_enemy_c { public: + enum action_e { + ACTION_WAIT, + ACTION_MOVE, + ACTION_ATTACK, + ACTION_DAMAGE, + ACTION_RETURN, + }; + /* 806791BC */ void initCcCylinder(); /* 80679284 */ void setCcCylinder(); /* 80679350 */ void anm_init(int, f32, u8, f32); - /* 806793FC */ void Draw(); - /* 806794F4 */ void player_way_check(); - /* 80679538 */ void other_bg_check(fopAc_ac_c*); - /* 80679610 */ void pl_check(f32, s16); + /* 806793FC */ int Draw(); + /* 806794F4 */ BOOL player_way_check(); + /* 80679538 */ BOOL other_bg_check(fopAc_ac_c*); + /* 80679610 */ BOOL pl_check(f32, s16); /* 8067968C */ void damage_check(); /* 80679DC8 */ void e_ai_damage(); /* 8067A2CC */ void e_ai_attack(); @@ -34,82 +42,63 @@ public: /* 8067B024 */ void action(); /* 8067B2B0 */ void PlayerWaySet(); /* 8067B31C */ void AttentionSet(); - /* 8067B378 */ void Execute(); + /* 8067B378 */ int Execute(); /* 8067B598 */ void setBaseMtx(); - /* 8067B620 */ void Delete(); - /* 8067B6F0 */ void CreateHeap(); - /* 8067B8E4 */ void Create(); - /* 8067BAEC */ e_ai_class(); + /* 8067B620 */ int Delete(); + /* 8067B6F0 */ int CreateHeap(); + /* 8067B8E4 */ int Create(); private: /* 0x5AC */ JPABaseEmitter* mpEmitter; - /* 0x5B0 */ request_of_phase_process_class mPhaseReq; - /* 0x5B8 */ u8 field_0x5B8[0x5B9 - 0x5B8]; + /* 0x5B0 */ request_of_phase_process_class m_phase; + /* 0x5B8 */ u8 field_0x5b8; /* 0x5B9 */ u8 field_0x5b9; /* 0x5BA */ u8 field_0x5ba; - /* 0x5BC */ cXyz mUnused; // The offset of this member is a guess. Debug only says that it - // exists, unsure of offset in retail - /* 0x5C8 */ mDoExt_brkAnm* mpBrkAnm; + /* 0x5BC */ cXyz unk_0x5bc; + /* 0x5C8 */ mDoExt_brkAnm* m_brk; /* 0x5CC */ u8 field_0x5cc; - /* 0x5D0 */ mDoExt_McaMorfSO* mpMorfSO; - /* 0x5D4 */ Z2CreatureEnemy mCreatureSound; + /* 0x5D0 */ mDoExt_McaMorfSO* m_modelMorf; + /* 0x5D4 */ Z2CreatureEnemy m_sound; /* 0x678 */ u8 field_0x678[0x67C - 0x678]; - /* 0x67C */ u8 field_0x67c; - /* 0x680 */ u32 mShadowKey; - /* 0x684 */ s32 field_0x684; + /* 0x67C */ s8 field_0x67c; + /* 0x680 */ u32 m_shadowKey; + /* 0x684 */ int m_anm; /* 0x688 */ u8 field_0x688[0x68C - 0x688]; - /* 0x68C */ s16 field_0x68c; - /* 0x68E */ s16 field_0x68e; - /* 0x690 */ s16 field_0x690; + /* 0x68C */ s16 m_lifetime; + /* 0x68E */ s16 m_action; + /* 0x690 */ s16 m_mode; /* 0x692 */ s16 field_0x692; /* 0x694 */ s16 field_0x694; /* 0x696 */ s16 field_0x696; - /* 0x698 */ u8 field_0x698; - /* 0x699 */ cXyz mUnused2; // The offset of this member is a guess. Also unused in debug but - // exists, unsure of offset in retail + /* 0x698 */ u8 m_swbit; + /* 0x69C */ cXyz unk_0x69c; /* 0x6A8 */ s16 field_0x6a8; - /* 0x6AA */ s16 field_0x6aa; - /* 0x6AC */ f32 field_0x6ac; - /* 0x6B0 */ s16 field_0x6b0[4]; - /* 0x6B8 */ s16 field_0x6b8; + /* 0x6AA */ s16 m_angleToPlayer; + /* 0x6AC */ f32 m_playerDist; + /* 0x6B0 */ s16 m_timers[4]; + /* 0x6B8 */ s16 m_invulnerabilityTimer; /* 0x6BA */ s16 field_0x6ba; /* 0x6BC */ s16 field_0x6bc; /* 0x6C0 */ f32 field_0x6c0; /* 0x6C4 */ u8 field_0x6C4[0x6C8 - 0x6C4]; - /* 0x6C8 */ dBgS_AcchCir mAcchCir; - /* 0x708 */ dBgS_ObjAcch mObjAcch; - /* 0x8E0 */ dCcD_Stts mAtStts; - /* 0x91C */ dCcD_Stts mShieldStts; - /* 0x958 */ dCcD_Sph mAtSphere; - /* 0xA90 */ dCcD_Sph mShieldSphere; - /* 0xBC8 */ dCcD_Cyl mCylinder; - /* 0xD04 */ dCcU_AtInfo mAtInfo; - /* 0xD28 */ u8 field_0xd28; - /* 0xD29 */ s8 field_0xd29; + /* 0x6C8 */ dBgS_AcchCir m_acchcir; + /* 0x708 */ dBgS_ObjAcch m_acch; + /* 0x8E0 */ dCcD_Stts m_ccAtStts; + /* 0x91C */ dCcD_Stts m_ccShieldStts; + /* 0x958 */ dCcD_Sph m_ccAtSph; + /* 0xA90 */ dCcD_Sph m_ccShieldSph; + /* 0xBC8 */ dCcD_Cyl m_ccCyl; + /* 0xD04 */ dCcU_AtInfo m_atInfo; + /* 0xD28 */ s8 field_0xd28; + /* 0xD29 */ s8 m_hitCount; /* 0xD2C */ u32 field_0xd2c; /* 0xD30 */ u32 field_0xd30; /* 0xD34 */ u32 field_0xd34; /* 0xD38 */ u32 field_0xd38; /* 0xD3C */ u8 field_0xD3C[0xD40 - 0xD3C]; - /* 0xD40 */ u8 mHIOInit; + /* 0xD40 */ u8 m_HIOInit; }; STATIC_ASSERT(sizeof(e_ai_class) == 0xd44); -class daE_AI_HIO_c : public JORReflexible { -public: - /* 8067916C */ daE_AI_HIO_c(); - /* 8067BF40 */ virtual ~daE_AI_HIO_c(); - - void genMessage(JORMContext*); - - /* 0x04 */ s8 field_0x4; - /* 0x08 */ f32 model_size; - /* 0x0C */ f32 movement_speed; - /* 0x10 */ f32 pl_recognition_distance; - /* 0x14 */ f32 attack_range_1; - /* 0x18 */ f32 attack_range_2; - /* 0x1C */ f32 home_distance; -}; - #endif /* D_A_E_AI_H */ |
