Skip to content

Commit 3e544e8

Browse files
committed
d_a_e_yr equivalent
1 parent 8b93a87 commit 3e544e8

File tree

3 files changed

+2611
-1179
lines changed

3 files changed

+2611
-1179
lines changed

configure.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1733,7 +1733,7 @@ def MatchingFor(*versions) -> bool:
17331733
ActorRel(Equivalent, "d_a_e_ym"),
17341734
ActorRel(MatchingFor("GZ2E01"), "d_a_e_ym_tag"),
17351735
ActorRel(Equivalent, "d_a_e_ymb"), # weak func order
1736-
ActorRel(NonMatching, "d_a_e_yr"),
1736+
ActorRel(Equivalent, "d_a_e_yr"), # weak func order
17371737
ActorRel(NonMatching, "d_a_e_zh"),
17381738
ActorRel(NonMatching, "d_a_e_zm"),
17391739
ActorRel(Equivalent, "d_a_e_zs"),

include/d/actor/d_a_e_yr.h

Lines changed: 179 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
#ifndef D_A_E_YR_H
22
#define D_A_E_YR_H
3+
#include "d/d_bg_s_acch.h"
4+
#include "d/d_cc_d.h"
5+
#include "d/d_cc_uty.h"
6+
#include "d/d_spline_path.h"
37
#include "f_op/f_op_actor_mng.h"
48

59
/**
@@ -10,16 +14,186 @@
1014
* @details
1115
*
1216
*/
13-
class e_yr_class : public fopEn_enemy_c {
17+
class e_yr_class {
18+
public:
1419
/* 80827D64 */ e_yr_class();
15-
private:
16-
/* 0x5ac */ u8 field_0x5ac[0xf20 - 0x5ac];
20+
21+
/* 0x0 */ fopEn_enemy_c mEnemy;
22+
/* 0x5AC */ request_of_phase_process_class mPhaseReq;
23+
/* 0x5B4 */ mDoExt_McaMorfSO* mpMorfSO;
24+
/* 0x5B8 */ s32 field_0x5b8;
25+
/* 0x5BC */ u32 mShadowKey;
26+
/* 0x5C0 */ Z2CreatureEnemy mSound;
27+
/* 0x664 */ u8 field_0x664;
28+
/* 0x665 */ u8 field_0x665;
29+
/* 0x666 */ u8 field_0x666;
30+
/* 0x667 */ u8 field_0x667;
31+
/* 0x668 */ u8 field_0x668;
32+
/* 0x669 */ u8 field_0x669;
33+
/* 0x66A */ u8 field_0x66a[0x66b - 0x66a];
34+
/* 0x66B */ u8 field_0x66b;
35+
/* 0x66C */ u8 field_0x66c;
36+
/* 0x670 */ fopAc_ac_c* field_0x670;
37+
/* 0x674 */ s32 field_0x674;
38+
/* 0x678 */ u8 field_0x678[0x67c - 0x678];
39+
/* 0x67C */ s8 field_0x67c;
40+
/* 0x67D */ s8 field_0x67d;
41+
/* 0x67E */ u8 field_0x67e;
42+
/* 0x680 */ cXyz field_0x680;
43+
/* 0x68C */ f32 field_0x68c;
44+
/* 0x690 */ f32 field_0x690;
45+
/* 0x694 */ f32 field_0x694;
46+
/* 0x698 */ f32 field_0x698;
47+
/* 0x69C */ f32 field_0x69c;
48+
/* 0x6A0 */ u8 field_0x6a0[0x6a4 - 0x6a0];
49+
/* 0x6A4 */ s16 field_0x6a4[6];
50+
/* 0x6B0 */ s16 field_0x6b0;
51+
/* 0x6B2 */ s16 field_0x6b2;
52+
/* 0x6B4 */ f32 field_0x6b4;
53+
/* 0x6B8 */ u8 field_0x6b8[0x6bc - 0x6b8];
54+
/* 0x6BC */ f32 field_0x6bc;
55+
/* 0x6C0 */ f32 field_0x6c0;
56+
/* 0x6C4 */ s16 field_0x6c4;
57+
/* 0x6C6 */ u8 field_0x6c6[0x6c8 - 0x6c6];
58+
/* 0x6C8 */ s16 mYawToPlayer;
59+
/* 0x6CA */ s16 mPitchToPlayer;
60+
/* 0x6CC */ f32 mPlayerLatDist;
61+
/* 0x6D0 */ s16 field_0x6d0;
62+
/* 0x6D2 */ s16 field_0x6d2;
63+
/* 0x6D4 */ s16 field_0x6d4;
64+
/* 0x6D8 */ f32 field_0x6d8;
65+
/* 0x6D4 */ s16 field_0x6dc;
66+
/* 0x6DE */ s16 field_0x6de;
67+
/* 0x6E0 */ s16 field_0x6e0;
68+
/* 0x6E2 */ u8 field_0x6e2[0x6e9 - 0x6e2];
69+
/* 0x6E9 */ s8 field_0x6e9;
70+
/* 0x6EA */ s8 field_0x6ea;
71+
/* 0x6EB */ s8 field_0x6eb;
72+
/* 0x6EC */ dPath* field_0x6ec;
73+
/* 0x6F0 */ u8 field_0x6f0;
74+
/* 0x6F2 */ csXyz field_0x6f2;
75+
/* 0x6F8 */ csXyz field_0x6f8;
76+
/* 0x700 */ cXyz field_0x700;
77+
/* 0x70C */ dBgS_AcchCir mAcchCir;
78+
/* 0x74C */ dBgS_ObjAcch mAcch;
79+
/* 0x924 */ u8 field_0x924;
80+
#ifndef DEBUG
81+
/* 0x928 */ f32 field_0x928;
82+
#endif
83+
/* 0x92C */ dCcD_Stts mStts;
84+
/* 0x968 */ dCcD_Sph mSph1;
85+
/* 0xAA0 */ dCcD_Sph mSph2;
86+
/* 0xBD8 */ dCcD_Sph mSph3;
87+
/* 0xD10 */ dCcD_Sph mSph4;
88+
/* 0xE48 */ dCcU_AtInfo mAtInfo;
89+
/* 0xE6C */ cXyz field_0xe6c[2];
90+
/* 0xE84 */ s16 field_0xe84;
91+
/* 0xE86 */ s16 field_0xe86;
92+
/* 0xE88 */ s16 field_0xe88;
93+
/* 0xE8A */ s16 field_0xe8a;
94+
/* 0xE8C */ s16 field_0xe8c;
95+
/* 0xE90 */ JAISoundID field_0xe90;
96+
/* 0xE94 */ u8 field_0xe94;
97+
/* 0xE96 */ s16 field_0xe96[9];
98+
/* 0xEA8 */ s16 field_0xea8;
99+
/* 0xEAA */ s16 field_0xeaa;
100+
/* 0xEAC */ u8 field_0xeac[0xeb0 - 0xeac];
101+
/* 0xEB0 */ f32 field_0xeb0;
102+
/* 0xEB4 */ s16 field_0xeb4;
103+
/* 0xEB6 */ s16 field_0xeb6;
104+
/* 0xEB8 */ s16 field_0xeb8;
105+
/* 0xEBA */ s16 field_0xeba;
106+
/* 0xEBC */ s16 field_0xebc;
107+
/* 0xEBE */ s16 field_0xebe;
108+
/* 0xEC0 */ f32 field_0xec0;
109+
/* 0xEC4 */ s16 field_0xec4;
110+
/* 0xEC6 */ s16 field_0xec6;
111+
/* 0xEC8 */ u8 field_0xec8;
112+
/* 0xEC9 */ u8 field_0xec9[0xef4 - 0xec9];
113+
/* 0xEF4 */ s32 mEmitterIds[7];
114+
/* 0xF08 */ u8 field_0xf10[0xf1c - 0xf10];
115+
/* 0xF1C */ s8 field_0xf1c;
17116
};
18117

19118
STATIC_ASSERT(sizeof(e_yr_class) == 0xf20);
20119

21-
class e_yrHIO_c {
22-
/* 808282CC */ ~e_yrHIO_c();
120+
class e_yrHIO_c : public fOpAcm_HIO_entry_c {
121+
public:
122+
e_yrHIO_c() {
123+
mInvulnerable = 0;
124+
mStationary = 0;
125+
field_0x8 = 20.0f;
126+
field_0xc = 2500.0f;
127+
mModelScale = 1.0f;
128+
mAttackAMinTime = 2000;
129+
mAttackAMaxTime = 2500;
130+
mAttackBMinTime = 2000;
131+
mAttackBMaxTime = 2500;
132+
mAttackMoveSpeed = 0.35f;
133+
mAttackFrequency = 0.5f;
134+
mFlyPlaybackSpeed = 1.0f;
135+
mHoveringPlaybackSpeed = 1.0f;
136+
mAttackPlaybackSpeed = 1.0f;
137+
field_0x38 = 1.0f;
138+
mChancePlaybackSpeed = 1.0f;
139+
field_0x40 = 30;
140+
field_0x44 = 1.0f;
141+
field_0x48 = 1.0f;
142+
field_0x4c = 1.5f;
143+
mBrakeStartDist = 1100;
144+
field_0x54 = 3.5f;
145+
mChanceTime = 60;
146+
mLargeDamage = 60.0f;
147+
mSmallDamage = 40.0f;
148+
mHitOccurrenceFrame = 1;
149+
mDetectDistSky = 8000.0f;
150+
mDetectHeightSky = 3000.0f;
151+
mDetectAngleSky = 20000;
152+
mDetectDistGround = 1500.0f;
153+
mDetectHeightGround = 2000.0f;
154+
mDetectAngleGround = 20000;
155+
}
156+
157+
/* 808282CC */ virtual ~e_yrHIO_c() {}
158+
159+
#if DEBUG
160+
void genMessage(JORMContext*);
161+
#endif
162+
163+
/* 0x04 */ u8 mInvulnerable;
164+
/* 0x05 */ u8 mStationary;
165+
/* 0x06 */ u8 mSuddenAttack;
166+
/* 0x08 */ f32 field_0x8;
167+
/* 0x0C */ f32 field_0xc;
168+
/* 0x10 */ f32 mTurningRadius;
169+
/* 0x14 */ f32 mModelScale;
170+
/* 0x18 */ s16 mAttackAMinTime;
171+
/* 0x1A */ s16 mAttackAMaxTime;
172+
/* 0x1C */ s16 mAttackBMinTime;
173+
/* 0x1E */ s16 mAttackBMaxTime;
174+
/* 0x20 */ float mAttackMoveSpeed;
175+
/* 0x24 */ float mAttackFrequency;
176+
/* 0x28 */ float mFlyPlaybackSpeed;
177+
/* 0x2C */ float mHoveringPlaybackSpeed;
178+
/* 0x30 */ float mAttackPlaybackSpeed;
179+
/* 0x34 */ s16 mChanceTime;
180+
/* 0x38 */ f32 field_0x38;
181+
/* 0x3C */ float mChancePlaybackSpeed;
182+
/* 0x40 */ s16 field_0x40;
183+
/* 0x44 */ f32 field_0x44;
184+
/* 0x48 */ f32 field_0x48;
185+
/* 0x4C */ f32 field_0x4c;
186+
/* 0x50 */ s16 mBrakeStartDist;
187+
/* 0x54 */ f32 field_0x54;
188+
/* 0x58 */ float mLargeDamage;
189+
/* 0x5C */ float mSmallDamage;
190+
/* 0x60 */ s16 mHitOccurrenceFrame;
191+
/* 0x64 */ float mDetectDistSky;
192+
/* 0x68 */ float mDetectDistGround;
193+
/* 0x6C */ s16 mDetectAngleSky;
194+
/* 0x6E */ s16 mDetectAngleGround;
195+
/* 0x70 */ float mDetectHeightSky;
196+
/* 0x74 */ float mDetectHeightGround;
23197
};
24198

25199

0 commit comments

Comments
 (0)