diff options
| author | Max Roncace <me@caseif.net> | 2025-07-24 02:13:55 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-24 09:13:55 +0300 |
| commit | 7d6c8ef3e5c6e34726f9cbedd39aaa0611c14ed4 (patch) | |
| tree | c6e6782554b3a85a7c1b89171f1ffb2909aff081 /include | |
| parent | c5584cc6c0d26d5e1bd2290fb6d998ec63caf641 (diff) | |
d_a_e_kr equivalent (#2549)
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_e_kr.h | 187 | ||||
| -rw-r--r-- | include/d/d_bomb.h | 5 | ||||
| -rw-r--r-- | include/f_op/f_op_actor.h | 2 |
3 files changed, 185 insertions, 9 deletions
diff --git a/include/d/actor/d_a_e_kr.h b/include/d/actor/d_a_e_kr.h index 176cdedf44..4a93509645 100644 --- a/include/d/actor/d_a_e_kr.h +++ b/include/d/actor/d_a_e_kr.h @@ -1,26 +1,197 @@ #ifndef D_A_E_KR_H #define D_A_E_KR_H +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" +#include "d/d_path.h" #include "f_op/f_op_actor_mng.h" /** * @ingroup actors-enemies * @class e_kr_class * @brief Kargorok - * - * @details - * + * + * @details + * */ -class e_kr_class : public fopEn_enemy_c { +class e_kr_class { +public: /* 80705004 */ e_kr_class(); -private: - /* 0x5ac */ u8 field_0x5ac[0xf08 - 0x5ac]; + + /* 0x000 */ fopEn_enemy_c enemy; + /* 0x5AC */ request_of_phase_process_class mPhase; + /* 0x5B4 */ mDoExt_McaMorfSO* mpMorf; + /* 0x5B8 */ s32 field_0x5b8; + /* 0x5BC */ s32 field_0x5bc; + /* 0x5C0 */ Z2CreatureEnemy mSound; + /* 0x664 */ u8 field_0x664; + /* 0x665 */ u8 field_0x665; + /* 0x666 */ u8 field_0x666; + /* 0x666 */ u8 field_0x667; + /* 0x668 */ s16 mCurAction; + /* 0x66A */ u8 field_0x66a; + /* 0x66B */ u8 field_0x66b; + /* 0x66C */ fpc_ProcID mBombId; + /* 0x670 */ s8 field_0x670; + /* 0x672 */ s16 field_0x672; + /* 0x674 */ u8 field_0x674; + /* 0x678 */ cXyz field_0x678; + /* 0x684 */ f32 field_0x684; + /* 0x688 */ f32 field_0x688; + /* 0x68C */ f32 field_0x68c; + /* 0x690 */ f32 field_0x690; + /* 0x694 */ f32 field_0x694; + /* 0x698 */ u8 field_0x698[0x69c - 0x698]; + /* 0x69C */ s16 field_0x69c[6]; + /* 0x6A8 */ s16 field_0x6a8; + /* 0x6AA */ s16 field_0x6aa; + /* 0x6AC */ u8 field_0x6ac[0x6b4 - 0x6ac]; + /* 0x6B4 */ f32 field_0x6b4; + /* 0x6B8 */ f32 field_0x6b8; + /* 0x6BC */ s16 field_0x6bc; + /* 0x6BE */ u8 field_0x6be[0x6c0 - 0x6be]; + /* 0x6C0 */ s16 field_0x6c0; + /* 0x6C2 */ s16 field_0x6c2; + /* 0x6C4 */ f32 field_0x6c4; + /* 0x6C8 */ s16 field_0x6c8; + /* 0x6CA */ s16 field_0x6ca; + /* 0x6CC */ s16 field_0x6cc; + /* 0x6D0 */ f32 field_0x6d0; + /* 0x6D4 */ s16 field_0x6d4; + /* 0x6D6 */ s16 field_0x6d6; + /* 0x6D8 */ s16 field_0x6d8; + /* 0x6DA */ u8 field_0x6da[0x6de - 0x6da]; + /* 0x6DE */ s16 field_0x6de; + /* 0x6E0 */ u8 field_0x6e0[0x6e1 - 0x6e0]; + /* 0x6E1 */ s8 field_0x6e1; + /* 0x6E2 */ s8 field_0x6e2; + /* 0x6E3 */ s8 field_0x6e3; + /* 0x6E4 */ dPath* field_0x6e4; + /* 0x6E8 */ u8 field_0x6e8[0x6ea - 0x6e8]; + /* 0x6EC */ csXyz field_0x6ea; + /* 0x6F2 */ csXyz field_0x6f0; + /* 0x6EA */ s16 field_0x6f6; + /* 0x6F8 */ cXyz field_0x6f8; + /* 0x704 */ dBgS_AcchCir mAcchCir; + /* 0x744 */ dBgS_ObjAcch mAcch; + /* 0x91C */ bool field_0x91c; + /* 0x920 */ f32 field_0x920; + /* 0x924 */ dCcD_Stts mStts; + /* 0x960 */ dCcD_Sph mSphere1; + /* 0xA98 */ dCcD_Sph mSphere2; + /* 0xBD0 */ dCcD_Sph mSphere3; + /* 0xD08 */ dCcD_Sph mSphere4; + /* 0xE40 */ dCcU_AtInfo mAtInfo; + /* 0xE64 */ cXyz field_0xe64[2]; + /* 0xE7C */ s16 field_0xe7c; + /* 0xE7E */ s16 field_0xe7e; + /* 0xE80 */ s16 field_0xe80; + /* 0xE82 */ s16 field_0xe82; + /* 0xE84 */ s16 field_0xe84; + /* 0xE88 */ JAISoundID field_0xe88; + /* 0xE8C */ u8 field_0xe8c; + /* 0xE8E */ s16 field_0xe8e[11]; + /* 0xEA4 */ u8 field_0xea4[0xea8 - 0xea4]; + /* 0xEA8 */ f32 field_0xea8; + /* 0xEAC */ s16 field_0xeac; + /* 0xEAE */ s16 field_0xeae; + /* 0xEB0 */ s16 field_0xeb0; + /* 0xEB2 */ s16 field_0xeb2; + /* 0xEB4 */ s16 field_0xeb4; + /* 0xEB6 */ s16 field_0xeb6; + /* 0xEB8 */ f32 field_0xeb8; + /* 0xEBC */ s16 field_0xebc; + /* 0xEBE */ s16 field_0xebe; + /* 0xEC0 */ s8 field_0xec0; + /* 0xEC4 */ u32 field_0xec4[5]; + /* 0xED8 */ u32 field_0xed8[5]; + /* 0xEDC */ u8 field_0xedc[0xef8 - 0xeec]; + /* 0xEF8 */ f32 field_0xef8; + /* 0xEFC */ s8 field_0xefc; + /* 0xF00 */ s32 field_0xf00; + /* 0xF04 */ s32 field_0xf04; }; STATIC_ASSERT(sizeof(e_kr_class) == 0xf08); -class e_krHIO_c { - /* 80705574 */ ~e_krHIO_c(); +class e_krHIO_c : public fOpAcm_HIO_entry_c { +public: + e_krHIO_c() { + field_0x4 = 0; + field_0x5 = 0; + field_0x8 = 20.0f; + field_0xc = 2500.0f; + field_0x14 = 1.0f; + field_0x18 = 2000; + field_0x1a = 2500; + field_0x1c = 2000; + field_0x1e = 2500; + field_0x20 = 0.35f; + field_0x24 = 0.5f; + field_0x28 = 1.0f; + field_0x2c = 1.0f; + field_0x30 = 1.0f; + field_0x38 = 1.0f; + field_0x3c = 1.0f; + field_0x40 = 30; + field_0x44 = 1.0f; + field_0x48 = 1.0f; + field_0x4c = 1.5f; + field_0x50 = 1100; + field_0x54 = 3.5f; + field_0x34 = 60; + field_0x58 = 60.0f; + field_0x5c = 40.0f; + field_0x60 = 1; + field_0x64 = 8000.0f; + field_0x70 = 3000.0f; + field_0x6c = 20000; + field_0x68 = 1500.0f; + field_0x74 = 2000.0f; + field_0x6e = 20000; + field_0x78 = -40.0f; + } + /* 80705574 */ virtual ~e_krHIO_c() {} + void genMessage(JORMContext*); + + /* 0x04 */ u8 field_0x4; + /* 0x05 */ u8 field_0x5; + /* 0x06 */ u8 field_0x6; + /* 0x08 */ f32 field_0x8; + /* 0x0C */ f32 field_0xc; + /* 0x10 */ u8 field_0x10[0x14 - 0x10]; + /* 0x14 */ f32 field_0x14; + /* 0x18 */ s16 field_0x18; + /* 0x1A */ s16 field_0x1a; + /* 0x1C */ s16 field_0x1c; + /* 0x1E */ s16 field_0x1e; + /* 0x20 */ f32 field_0x20; + /* 0x24 */ f32 field_0x24; + /* 0x28 */ f32 field_0x28; + /* 0x2C */ f32 field_0x2c; + /* 0x30 */ f32 field_0x30; + /* 0x34 */ s16 field_0x34; + /* 0x38 */ f32 field_0x38; + /* 0x3C */ f32 field_0x3c; + /* 0x40 */ s16 field_0x40; + /* 0x44 */ f32 field_0x44; + /* 0x48 */ f32 field_0x48; + /* 0x4C */ f32 field_0x4c; + /* 0x50 */ s16 field_0x50; + /* 0x54 */ f32 field_0x54; + /* 0x58 */ f32 field_0x58; + /* 0x5C */ f32 field_0x5c; + /* 0x60 */ s16 field_0x60; + /* 0x64 */ f32 field_0x64; + /* 0x68 */ f32 field_0x68; + /* 0x6C */ s16 field_0x6c; + /* 0x6E */ s16 field_0x6e; + /* 0x70 */ f32 field_0x70; + /* 0x74 */ f32 field_0x74; + /* 0x78 */ f32 field_0x78; }; +STATIC_ASSERT(sizeof(e_krHIO_c) == 0x7c); + #endif /* D_A_E_KR_H */ diff --git a/include/d/d_bomb.h b/include/d/d_bomb.h index c3ce9ff36d..10c3078181 100644 --- a/include/d/d_bomb.h +++ b/include/d/d_bomb.h @@ -83,6 +83,11 @@ public: return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 16, i_pos, i_roomNo, i_angle, NULL, -1, NULL, NULL); } + + static fopAc_ac_c* createBombCargoCarry(cXyz* i_pos, csXyz* i_angle, int i_roomNo) { + return (fopAc_ac_c*)fopAcM_fastCreate(PROC_NBOMB, 0x11, i_pos, i_roomNo, i_angle, NULL, -1, + NULL, NULL); + } }; #endif /* D_D_BOMB_H */ diff --git a/include/f_op/f_op_actor.h b/include/f_op/f_op_actor.h index 92490d44f0..c31a1e28e7 100644 --- a/include/f_op/f_op_actor.h +++ b/include/f_op/f_op_actor.h @@ -263,7 +263,7 @@ public: bool checkHeadLockFlg() const { return mFlags & 0x80; } bool checkWolfBiteDamage() const { return mFlags & 0x40; } bool checkWolfDownPullFlg() const { return mFlags & 0x10; } - bool checkDownFlg() const { return mFlags & 0x1; } + bool checkDownFlg() { return mFlags & 0x1; } bool checkCutDownHitFlg() const { return mFlags & 0x2; } bool checkWolfDownStartFlg() const { return mFlags & 0x4; } bool checkDeadFlg() const { return mFlags & 0x8; } |
