diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-06-03 13:36:09 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-03 23:36:09 +0300 |
| commit | 992e323ade82ee2deb2495ac0282f1c6bffc5a9f (patch) | |
| tree | 2ec578cdd01c4aa008c8f7bbafaf52f6859d7d4a /include | |
| parent | 12ee8c9fb7579b464f32cbea850c1470179ab551 (diff) | |
e_gs / e_is done (#2474)
* e_gs done
* e_is done
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_e_gs.h | 35 | ||||
| -rw-r--r-- | include/d/actor/d_a_e_is.h | 60 | ||||
| -rw-r--r-- | include/d/actor/d_a_horse.h | 2 | ||||
| -rw-r--r-- | include/d/d_bg_pc.h | 4 | ||||
| -rw-r--r-- | include/d/d_bg_s_grp_pass_chk.h | 4 |
5 files changed, 91 insertions, 14 deletions
diff --git a/include/d/actor/d_a_e_gs.h b/include/d/actor/d_a_e_gs.h index 0d2da9476b..1d775de989 100644 --- a/include/d/actor/d_a_e_gs.h +++ b/include/d/actor/d_a_e_gs.h @@ -2,6 +2,7 @@ #define D_A_E_GS_H #include "f_op/f_op_actor_mng.h" +#include "d/d_cc_uty.h" /** * @ingroup actors-enemies @@ -11,16 +12,42 @@ * @details * */ -class e_gs_class : public fopEn_enemy_c { -private: - /* 0x5ac */ u8 field_0x5ac[0x6bc - 0x5ac]; +class e_gs_class { +public: + /* 0x000 */ fopEn_enemy_c enemy; + /* 0x5AC */ request_of_phase_process_class phase; + /* 0x5B4 */ s16 mode; + /* 0x5B6 */ u8 arg0; + /* 0x5B7 */ u8 arg1; + /* 0x5B8 */ u8 field_0x5B8[0x5C8 - 0x5B8]; + /* 0x5C8 */ mDoExt_McaMorfSO* model_morf; + /* 0x5CC */ int anm; + /* 0x5D0 */ mDoExt_invisibleModel invisible_model; + /* 0x5D8 */ f32 opacity; + /* 0x5DC */ Z2CreatureEnemy sound; + /* 0x680 */ s16 lifetime; + /* 0x682 */ s16 action; + /* 0x684 */ f32 player_dist; + /* 0x688 */ s16 angle_to_player; + /* 0x68A */ s16 timers[4]; + /* 0x692 */ s16 field_0x692; + /* 0x694 */ dCcU_AtInfo atInfo; + /* 0x6B8 */ u8 hio_init; }; STATIC_ASSERT(sizeof(e_gs_class) == 0x6bc); class daE_GS_HIO_c { +public: /* 806DF46C */ daE_GS_HIO_c(); - /* 806DFD5C */ ~daE_GS_HIO_c(); + /* 806DFD5C */ virtual ~daE_GS_HIO_c() {} + + /* 0x04 */ s8 id; + /* 0x08 */ f32 base_size; + /* 0x0C */ s16 appear_time_lag; + /* 0x10 */ f32 appear_alpha_speed; + /* 0x14 */ f32 disappear_alpha_speed; + /* 0x18 */ f32 react_distance; }; diff --git a/include/d/actor/d_a_e_is.h b/include/d/actor/d_a_e_is.h index 0faf949a1d..8f651184ac 100644 --- a/include/d/actor/d_a_e_is.h +++ b/include/d/actor/d_a_e_is.h @@ -1,6 +1,10 @@ #ifndef D_A_E_IS_H #define D_A_E_IS_H + #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" /** * @ingroup actors-enemies @@ -10,17 +14,63 @@ * @details Armos Titans are enemies from early, unreleased versions of the game. * */ -class e_is_class : public fopEn_enemy_c { - /* 806F76B4 */ e_is_class(); -private: - /* 0x5ac */ u8 field_0x5ac[0xcf8 - 0x5ac]; +class e_is_class { +public: + /* 0x000 */ fopEn_enemy_c enemy; + /* 0x5AC */ request_of_phase_process_class phase; + /* 0x5B4 */ u8 field_0x5b4; + /* 0x5B8 */ u32 swbit; + /* 0x5BC */ u32 swbit2; + /* 0x5C0 */ u32 swbit3; + /* 0x5C4 */ u32 field_0x5c4; + /* 0x5C8 */ mDoExt_McaMorfSO* model_morf; + /* 0x5CC */ Z2CreatureEnemy sound; + /* 0x670 */ int anm; + /* 0x674 */ f32 field_0x674; + /* 0x678 */ f32 poweron_color_strength_target; + /* 0x67C */ f32 poweron_color_strength; + /* 0x680 */ f32 core_color_strength_target; + /* 0x684 */ f32 core_color_strength; + /* 0x688 */ s8 field_0x688; + /* 0x68C */ u32 shadowId; + /* 0x690 */ s16 lifetime; + /* 0x692 */ s16 action; + /* 0x694 */ s16 mode; + /* 0x696 */ u8 field_0x696[0x6A6 - 0x696]; + /* 0x6A6 */ s16 angle_to_player; + /* 0x6A8 */ f32 player_distance; + /* 0x6AC */ f32 field_0x6ac; + /* 0x6B0 */ s16 timers[4]; + /* 0x6B8 */ s16 body_hit_invulnerability_timer; + /* 0x6BA */ s16 core_hit_invulnerability_timer; + /* 0x6BC */ s8 field_0x6bc; + /* 0x6BD */ s8 field_0x6bd; + /* 0x6C0 */ int swbit4; + /* 0x6C4 */ dBgS_AcchCir acchcir; + /* 0x704 */ dBgS_ObjAcch acch; + /* 0x8DC */ dCcD_Stts ccStts; + /* 0x918 */ dCcD_Sph at_sph; + /* 0xA50 */ dCcD_Sph core_sph; + /* 0xB88 */ dCcD_Cyl cc_cyl; + /* 0xCC4 */ dCcU_AtInfo atInfo; + /* 0xCE8 */ s8 field_0xce8; + /* 0xCE9 */ u8 field_0xCE9[0xCF4 - 0xCE9]; + /* 0xCF4 */ u8 hioInit; }; STATIC_ASSERT(sizeof(e_is_class) == 0xcf8); class daE_IS_HIO_c { +public: /* 806F5A4C */ daE_IS_HIO_c(); - /* 806F7AC4 */ ~daE_IS_HIO_c(); + /* 806F7AC4 */ virtual ~daE_IS_HIO_c() {} + + /* 0x04 */ s8 id; + /* 0x08 */ f32 base_size; + /* 0x0C */ f32 normal_speed; + /* 0x10 */ f32 attack_init_range; + /* 0x14 */ f32 search_dist; + /* 0x18 */ f32 hit_width; }; diff --git a/include/d/actor/d_a_horse.h b/include/d/actor/d_a_horse.h index ab9f7eca8f..1224394778 100644 --- a/include/d/actor/d_a_horse.h +++ b/include/d/actor/d_a_horse.h @@ -243,7 +243,7 @@ public: void offEndResetStateFlg0(daHorse_ERFLG0 i_flag) { m_endResetStateFlg0 &= ~i_flag;} void onResetStateFlg0(daHorse_RFLG0 i_flag) { m_resetStateFlg0 |= i_flag;} void offNoDrawWait() { offStateFlg0(FLG0_NO_DRAW_WAIT); } - bool checkSpecialWallHit(const cXyz& param_0) { return (this->*m_checkSpecialWallHit)(param_0); } + bool checkSpecialWallHit(const cXyz& param_0) const { return (this->*m_checkSpecialWallHit)(param_0); } MtxP getSaddleMtx() { return m_model->getAnmMtx(21); } MtxP getRootMtx() { return m_model->getAnmMtx(0); } f32 getAnmFrameMax(int i_idx) const { return m_frameCtrl[i_idx].getEnd(); } diff --git a/include/d/d_bg_pc.h b/include/d/d_bg_pc.h index 9a27765da5..0b1837b1b4 100644 --- a/include/d/d_bg_pc.h +++ b/include/d/d_bg_pc.h @@ -52,9 +52,9 @@ public: u8 getRoomPathPnt() const { return BGPC_GET_BITS(m_code.code2, 24, 8); } u8 getRoomInf() const { return BGPC_GET_BITS(m_code.code4, 0, 8); } - u32 maskNrm() { return BGPC_CHECK_BIT(m_code.code4, 8); } + u32 maskNrm() const { return BGPC_CHECK_BIT(m_code.code4, 8); } // BUG: Seems like this uses the same mask as maskNrm - u32 getWtr() { return BGPC_CHECK_BIT(m_code.code4, 8); } + u32 getWtr() const { return BGPC_CHECK_BIT(m_code.code4, 8); } u8 getSnd() const { return BGPC_GET_BITS(m_code.code4, 11, 8); } u8 getRoom() const { return BGPC_GET_BITS(m_code.code4, 20, 8); } diff --git a/include/d/d_bg_s_grp_pass_chk.h b/include/d/d_bg_s_grp_pass_chk.h index 301c657813..865f7a3490 100644 --- a/include/d/d_bg_s_grp_pass_chk.h +++ b/include/d/d_bg_s_grp_pass_chk.h @@ -22,8 +22,8 @@ public: void OffNormalGrp() { mGrp &= ~NORMAL_GRP; } void OffFullGrp() { mGrp &= ~FULL_GRP; } void OnAll() { mGrp |= FULL_GRP; } - u32 MaskNormalGrp() const {return mGrp & NORMAL_GRP; } - u32 MaskWaterGrp() const {return mGrp & WATER_GRP; } + u32 MaskNormalGrp() { return mGrp & NORMAL_GRP; } + u32 MaskWaterGrp() { return mGrp & WATER_GRP; } private: /* 0x4 */ u32 mGrp; }; |
