mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-20 22:51:16 -04:00
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -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(); }
|
||||
|
||||
+2
-2
@@ -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); }
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user