Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -1733,7 +1733,7 @@ def MatchingFor(*versions) -> bool:
ActorRel(Equivalent, "d_a_e_ym"),
ActorRel(MatchingFor("GZ2E01"), "d_a_e_ym_tag"),
ActorRel(Equivalent, "d_a_e_ymb"), # weak func order
ActorRel(NonMatching, "d_a_e_yr"),
ActorRel(Equivalent, "d_a_e_yr"), # weak func order
ActorRel(NonMatching, "d_a_e_zh"),
ActorRel(NonMatching, "d_a_e_zm"),
ActorRel(Equivalent, "d_a_e_zs"),
Expand Down
184 changes: 179 additions & 5 deletions include/d/actor/d_a_e_yr.h
Original file line number Diff line number Diff line change
@@ -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"

/**
Expand All @@ -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;
};


Expand Down
Loading