summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMax Roncace <me@caseif.net>2025-08-19 02:19:01 -0400
committerGitHub <noreply@github.com>2025-08-19 09:19:01 +0300
commitaaa9cb22ef333c3444983fe4bc3f488b0ee542a7 (patch)
treef17ceecb589b361438c9232a58acb1148d0c885e /include
parenta23984e74d1dc4fb1ed9961d80b210683e93e0a7 (diff)
d_a_e_yr equivalent (#2591)
Diffstat (limited to 'include')
-rw-r--r--include/d/actor/d_a_e_yr.h184
1 files changed, 179 insertions, 5 deletions
diff --git a/include/d/actor/d_a_e_yr.h b/include/d/actor/d_a_e_yr.h
index 0b4dbd8dce..9794671a3e 100644
--- a/include/d/actor/d_a_e_yr.h
+++ b/include/d/actor/d_a_e_yr.h
@@ -1,5 +1,9 @@
#ifndef D_A_E_YR_H
#define D_A_E_YR_H
+#include "d/d_bg_s_acch.h"
+#include "d/d_cc_d.h"
+#include "d/d_cc_uty.h"
+#include "d/d_spline_path.h"
#include "f_op/f_op_actor_mng.h"
/**
@@ -10,16 +14,186 @@
* @details
*
*/
-class e_yr_class : public fopEn_enemy_c {
+class e_yr_class {
+public:
/* 80827D64 */ e_yr_class();
-private:
- /* 0x5ac */ u8 field_0x5ac[0xf20 - 0x5ac];
+
+ /* 0x0 */ fopEn_enemy_c mEnemy;
+ /* 0x5AC */ request_of_phase_process_class mPhaseReq;
+ /* 0x5B4 */ mDoExt_McaMorfSO* mpMorfSO;
+ /* 0x5B8 */ s32 field_0x5b8;
+ /* 0x5BC */ u32 mShadowKey;
+ /* 0x5C0 */ Z2CreatureEnemy mSound;
+ /* 0x664 */ u8 field_0x664;
+ /* 0x665 */ u8 field_0x665;
+ /* 0x666 */ u8 field_0x666;
+ /* 0x667 */ u8 field_0x667;
+ /* 0x668 */ u8 field_0x668;
+ /* 0x669 */ u8 field_0x669;
+ /* 0x66A */ u8 field_0x66a[0x66b - 0x66a];
+ /* 0x66B */ u8 field_0x66b;
+ /* 0x66C */ u8 field_0x66c;
+ /* 0x670 */ fopAc_ac_c* field_0x670;
+ /* 0x674 */ s32 field_0x674;
+ /* 0x678 */ u8 field_0x678[0x67c - 0x678];
+ /* 0x67C */ s8 field_0x67c;
+ /* 0x67D */ s8 field_0x67d;
+ /* 0x67E */ u8 field_0x67e;
+ /* 0x680 */ cXyz field_0x680;
+ /* 0x68C */ f32 field_0x68c;
+ /* 0x690 */ f32 field_0x690;
+ /* 0x694 */ f32 field_0x694;
+ /* 0x698 */ f32 field_0x698;
+ /* 0x69C */ f32 field_0x69c;
+ /* 0x6A0 */ u8 field_0x6a0[0x6a4 - 0x6a0];
+ /* 0x6A4 */ s16 field_0x6a4[6];
+ /* 0x6B0 */ s16 field_0x6b0;
+ /* 0x6B2 */ s16 field_0x6b2;
+ /* 0x6B4 */ f32 field_0x6b4;
+ /* 0x6B8 */ u8 field_0x6b8[0x6bc - 0x6b8];
+ /* 0x6BC */ f32 field_0x6bc;
+ /* 0x6C0 */ f32 field_0x6c0;
+ /* 0x6C4 */ s16 field_0x6c4;
+ /* 0x6C6 */ u8 field_0x6c6[0x6c8 - 0x6c6];
+ /* 0x6C8 */ s16 mYawToPlayer;
+ /* 0x6CA */ s16 mPitchToPlayer;
+ /* 0x6CC */ f32 mPlayerLatDist;
+ /* 0x6D0 */ s16 field_0x6d0;
+ /* 0x6D2 */ s16 field_0x6d2;
+ /* 0x6D4 */ s16 field_0x6d4;
+ /* 0x6D8 */ f32 field_0x6d8;
+ /* 0x6D4 */ s16 field_0x6dc;
+ /* 0x6DE */ s16 field_0x6de;
+ /* 0x6E0 */ s16 field_0x6e0;
+ /* 0x6E2 */ u8 field_0x6e2[0x6e9 - 0x6e2];
+ /* 0x6E9 */ s8 field_0x6e9;
+ /* 0x6EA */ s8 field_0x6ea;
+ /* 0x6EB */ s8 field_0x6eb;
+ /* 0x6EC */ dPath* field_0x6ec;
+ /* 0x6F0 */ u8 field_0x6f0;
+ /* 0x6F2 */ csXyz field_0x6f2;
+ /* 0x6F8 */ csXyz field_0x6f8;
+ /* 0x700 */ cXyz field_0x700;
+ /* 0x70C */ dBgS_AcchCir mAcchCir;
+ /* 0x74C */ dBgS_ObjAcch mAcch;
+ /* 0x924 */ u8 field_0x924;
+#ifndef DEBUG
+ /* 0x928 */ f32 field_0x928;
+#endif
+ /* 0x92C */ dCcD_Stts mStts;
+ /* 0x968 */ dCcD_Sph mSph1;
+ /* 0xAA0 */ dCcD_Sph mSph2;
+ /* 0xBD8 */ dCcD_Sph mSph3;
+ /* 0xD10 */ dCcD_Sph mSph4;
+ /* 0xE48 */ dCcU_AtInfo mAtInfo;
+ /* 0xE6C */ cXyz field_0xe6c[2];
+ /* 0xE84 */ s16 field_0xe84;
+ /* 0xE86 */ s16 field_0xe86;
+ /* 0xE88 */ s16 field_0xe88;
+ /* 0xE8A */ s16 field_0xe8a;
+ /* 0xE8C */ s16 field_0xe8c;
+ /* 0xE90 */ JAISoundID field_0xe90;
+ /* 0xE94 */ u8 field_0xe94;
+ /* 0xE96 */ s16 field_0xe96[9];
+ /* 0xEA8 */ s16 field_0xea8;
+ /* 0xEAA */ s16 field_0xeaa;
+ /* 0xEAC */ u8 field_0xeac[0xeb0 - 0xeac];
+ /* 0xEB0 */ f32 field_0xeb0;
+ /* 0xEB4 */ s16 field_0xeb4;
+ /* 0xEB6 */ s16 field_0xeb6;
+ /* 0xEB8 */ s16 field_0xeb8;
+ /* 0xEBA */ s16 field_0xeba;
+ /* 0xEBC */ s16 field_0xebc;
+ /* 0xEBE */ s16 field_0xebe;
+ /* 0xEC0 */ f32 field_0xec0;
+ /* 0xEC4 */ s16 field_0xec4;
+ /* 0xEC6 */ s16 field_0xec6;
+ /* 0xEC8 */ u8 field_0xec8;
+ /* 0xEC9 */ u8 field_0xec9[0xef4 - 0xec9];
+ /* 0xEF4 */ s32 mEmitterIds[7];
+ /* 0xF08 */ u8 field_0xf10[0xf1c - 0xf10];
+ /* 0xF1C */ s8 field_0xf1c;
};
STATIC_ASSERT(sizeof(e_yr_class) == 0xf20);
-class e_yrHIO_c {
- /* 808282CC */ ~e_yrHIO_c();
+class e_yrHIO_c : public fOpAcm_HIO_entry_c {
+public:
+ e_yrHIO_c() {
+ mInvulnerable = 0;
+ mStationary = 0;
+ field_0x8 = 20.0f;
+ field_0xc = 2500.0f;
+ mModelScale = 1.0f;
+ mAttackAMinTime = 2000;
+ mAttackAMaxTime = 2500;
+ mAttackBMinTime = 2000;
+ mAttackBMaxTime = 2500;
+ mAttackMoveSpeed = 0.35f;
+ mAttackFrequency = 0.5f;
+ mFlyPlaybackSpeed = 1.0f;
+ mHoveringPlaybackSpeed = 1.0f;
+ mAttackPlaybackSpeed = 1.0f;
+ field_0x38 = 1.0f;
+ mChancePlaybackSpeed = 1.0f;
+ field_0x40 = 30;
+ field_0x44 = 1.0f;
+ field_0x48 = 1.0f;
+ field_0x4c = 1.5f;
+ mBrakeStartDist = 1100;
+ field_0x54 = 3.5f;
+ mChanceTime = 60;
+ mLargeDamage = 60.0f;
+ mSmallDamage = 40.0f;
+ mHitOccurrenceFrame = 1;
+ mDetectDistSky = 8000.0f;
+ mDetectHeightSky = 3000.0f;
+ mDetectAngleSky = 20000;
+ mDetectDistGround = 1500.0f;
+ mDetectHeightGround = 2000.0f;
+ mDetectAngleGround = 20000;
+ }
+
+ /* 808282CC */ virtual ~e_yrHIO_c() {}
+
+#if DEBUG
+ void genMessage(JORMContext*);
+#endif
+
+ /* 0x04 */ u8 mInvulnerable;
+ /* 0x05 */ u8 mStationary;
+ /* 0x06 */ u8 mSuddenAttack;
+ /* 0x08 */ f32 field_0x8;
+ /* 0x0C */ f32 field_0xc;
+ /* 0x10 */ f32 mTurningRadius;
+ /* 0x14 */ f32 mModelScale;
+ /* 0x18 */ s16 mAttackAMinTime;
+ /* 0x1A */ s16 mAttackAMaxTime;
+ /* 0x1C */ s16 mAttackBMinTime;
+ /* 0x1E */ s16 mAttackBMaxTime;
+ /* 0x20 */ f32 mAttackMoveSpeed;
+ /* 0x24 */ f32 mAttackFrequency;
+ /* 0x28 */ f32 mFlyPlaybackSpeed;
+ /* 0x2C */ f32 mHoveringPlaybackSpeed;
+ /* 0x30 */ f32 mAttackPlaybackSpeed;
+ /* 0x34 */ s16 mChanceTime;
+ /* 0x38 */ f32 field_0x38;
+ /* 0x3C */ f32 mChancePlaybackSpeed;
+ /* 0x40 */ s16 field_0x40;
+ /* 0x44 */ f32 field_0x44;
+ /* 0x48 */ f32 field_0x48;
+ /* 0x4C */ f32 field_0x4c;
+ /* 0x50 */ s16 mBrakeStartDist;
+ /* 0x54 */ f32 field_0x54;
+ /* 0x58 */ f32 mLargeDamage;
+ /* 0x5C */ f32 mSmallDamage;
+ /* 0x60 */ s16 mHitOccurrenceFrame;
+ /* 0x64 */ f32 mDetectDistSky;
+ /* 0x68 */ f32 mDetectDistGround;
+ /* 0x6C */ s16 mDetectAngleSky;
+ /* 0x6E */ s16 mDetectAngleGround;
+ /* 0x70 */ f32 mDetectHeightSky;
+ /* 0x74 */ f32 mDetectHeightGround;
};