summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2025-07-24 02:13:55 -0400
committerGitHub <noreply@github.com>2025-07-24 09:13:55 +0300
commit7d6c8ef3e5c6e34726f9cbedd39aaa0611c14ed4 (patch)
treec6e6782554b3a85a7c1b89171f1ffb2909aff081 /include
parentc5584cc6c0d26d5e1bd2290fb6d998ec63caf641 (diff)
d_a_e_kr equivalent (#2549)
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_e_kr.h187
-rw-r--r--include/d/d_bomb.h5
-rw-r--r--include/f_op/f_op_actor.h2
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; }