Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_a_b_mgn.h
Go to the documentation of this file.
1#ifndef D_A_B_MGN_H
2#define D_A_B_MGN_H
3
4#include "f_op/f_op_actor.h"
6#include "d/d_bg_s_acch.h"
7#include "d/d_cc_d.h"
8#include "d/d_cc_uty.h"
9
20public:
21 /* 8060572C */ daB_MGN_HIO_c();
22 /* 8060F8D0 */ virtual ~daB_MGN_HIO_c() {}
23
25
26 /* 0x04 */ s8 no;
27 /* 0x08 */ f32 base_size;
28 /* 0x0C */ f32 dash_speed;
29 /* 0x10 */ f32 turn_speed;
30 /* 0x14 */ f32 dash_anim;
31 /* 0x18 */ f32 jewel_R;
32 /* 0x1C */ f32 jewel_G;
33 /* 0x20 */ f32 jewel_B;
34};
35
36class daB_MGN_c : public fopEn_enemy_c {
37public:
51
52 /* 8060577C */ int ctrlJoint(J3DJoint*, J3DModel*);
53 /* 8060584C */ static int JointCallBack(J3DJoint*, int);
54 /* 80605898 */ int draw();
55 /* 80605D78 */ void setDashSmokeEffect();
56 /* 8060601C */ void setBackJumpEffect();
57 /* 806062C0 */ void setSlideSmokeEffect();
58 /* 80606424 */ void setBodySlideEffect();
59 /* 806065D4 */ void setOpeningEffect();
60 /* 80606754 */ void setStepEffect();
61 /* 8060688C */ void setFallAttackEffect();
62 /* 80606A10 */ void setHeadLightEffect();
63 /* 80606AEC */ void setHeadHitEffect();
64 /* 80606C6C */ int setHideSmokeEffect(cXyz*, u8);
65 /* 80606D60 */ void calcHideSmokeEffect();
66 /* 806071C4 */ void drawHideSmokeEffect();
67 /* 8060729C */ void setBloodEffect();
68 /* 80607498 */ void calcBloodMove();
69 /* 8060778C */ void checkDownBeforeBG();
70 /* 80607924 */ void setBck(int, u8, f32, f32);
71 /* 806079CC */ bool checkBck(int);
72 /* 80607A2C */ void setActionMode(int, int);
73 /* 80607A80 */ void setExitMode(int);
74 /* 80607B50 */ void onBodyShield();
75 /* 80607B80 */ void offBodyShield();
76 /* 80607BB0 */ void onBodySlideAt();
77 /* 80607BFC */ void offBodySlideAt();
78 /* 80607C20 */ bool checkHitSlideAt();
79 /* 80607CB0 */ void onBodyFallAt();
80 /* 80607CE4 */ void offBodyFallAt();
81 /* 80607D08 */ void onBodyCo();
82 /* 80607D44 */ void offBodyCo();
83 /* 80607D7C */ cXyz getNearHitPos(cXyz*);
84 /* 8060819C */ void damage_check();
85 /* 80608738 */ void calcJointAngle(s16);
86 /* 806087A8 */ void executeCircle();
87 /* 80608EF8 */ void executeDash();
88 /* 80609D70 */ void executeThrown();
89 /* 8060A670 */ void setDownEnd();
90 /* 8060A72C */ void executeDown();
91 /* 8060ACB8 */ void executeDownDamage();
92 /* 8060B028 */ void executeDownBiteDamage();
93 /* 8060B430 */ void executeWarp();
94 /* 8060B544 */ void executeFall();
95 /* 8060BE6C */ void demo_skip(int);
96 /* 8060C034 */ static int DemoSkipCallBack(void*, int);
97 /* 8060C068 */ void executeOpening();
98 /* 8060D078 */ void executeDeath();
99 /* 8060D880 */ void executeJump();
100 /* 8060DAC0 */ void checkStartJump();
101 /* 8060DDA0 */ void action();
102 /* 8060E158 */ void mtx_set();
103 /* 8060E1D0 */ void cc_set();
104 /* 8060E820 */ int execute();
105 /* 8060EA38 */ int _delete();
106 /* 8060EAE0 */ int CreateHeap();
107 /* 8060F0D0 */ int create();
108
109 bool isDown() { return field_0xb01 != 0; }
110
111private:
116 /* 0x05C4 */ mDoExt_btkAnm* mpMgnBtk;
118 /* 0x05CC */ u8 mJewelColorMode;
119 /* 0x05D0 */ J3DModel* mpMgnTaiekiModel[20];
120 /* 0x0620 */ cXyz mBloodEffPos[20];
121 /* 0x0714 */ cXyz field_0x710[20];
122 /* 0x0800 */ cXyz mBloodEffSize[20];
123 /* 0x08F0 */ f32 field_0x8f0[20];
124 /* 0x0940 */ f32 field_0x940[20];
125 /* 0x0990 */ int mBloodEffMode[20];
127 /* 0x0A84 */ cXyz field_0xa84;
128 /* 0x0A90 */ s16 field_0xa90;
129 /* 0x0A92 */ s16 field_0xa92;
130 /* 0x0A94 */ u32 field_0xa94;
132 /* 0x0A9C */ int field_0xa9c;
133 /* 0x0AA0 */ int field_0xaa0;
134 /* 0x0AA4 */ int field_0xaa4;
135 /* 0x0AA8 */ int field_0xaa8;
136 /* 0x0AAC */ int field_0xaac;
137 /* 0x0AB0 */ cXyz mNextGdgatePos;
138 /* 0x0ABC */ cXyz mDemoCamEye;
139 /* 0x0AC8 */ cXyz mDemoCamCenter;
140 /* 0x0AD4 */ f32 mDemoCamFovy;
141 /* 0x0AD4 */ f32 field_0xad8;
142 /* 0x0ADC */ f32 field_0xadc;
143 /* 0x0AE0 */ s16 field_0xae0;
144 /* 0x0AE2 */ s16 field_0xae2;
145 /* 0x0AE4 */ u8 field_0xae4[0xae8 - 0xae4];
146 /* 0x0AE8 */ f32 field_0xae8;
147 /* 0x0AEC */ u8 field_0xaec[0xaf0 - 0xaec];
148 /* 0x0AF0 */ f32 mBlurRate;
149 /* 0x0AF4 */ f32 mKankyoBlend;
150 /* 0x0AF8 */ u8 mKankyoColMode;
151 /* 0x0AF9 */ u8 mActionMode;
152 /* 0x0AFA */ u8 mMoveMode;
153 /* 0x0AFB */ u8 field_0xafb;
154 /* 0x0AFC */ u8 field_0xafc;
155 /* 0x0AFD */ u8 field_0xafd;
156 /* 0x0AFE */ u8 field_0xafe;
157 /* 0x0AFF */ u8 field_0xaff;
158 /* 0x0B00 */ u8 field_0xb00;
159 /* 0x0B01 */ u8 field_0xb01;
160 /* 0x0B02 */ u8 mGdgateNum;
161 /* 0x0B03 */ u8 field_0xb03;
162 /* 0x0B04 */ u8 field_0xb04;
163 /* 0x0B05 */ u8 field_0xb05;
164 /* 0x0B06 */ u8 field_0xb06;
165 /* 0x0B07 */ u8 field_0xb07;
166 /* 0x0B06 */ u8 field_0xb08;
167 /* 0x0B09 */ u8 field_0xb09;
168 /* 0x0B0A */ u8 field_0xb0a;
169 /* 0x0B0B */ u8 field_0xb0b;
170 /* 0x0B0C */ u8 field_0xb0c;
171 /* 0x0B10 */ int field_0xb10;
172 /* 0x0B14 */ s16 field_0xb14;
173 /* 0x0B16 */ s16 field_0xb16;
174 /* 0x0B18 */ s16 field_0xb18;
175 /* 0x0B1A */ u8 field_0xb1a;
176 /* 0x0B1C */ dBgS_AcchCir mAcchCir;
177 /* 0x0B5C */ dBgS_ObjAcch mAcch;
178 /* 0x0D34 */ dCcD_Stts mCcStts;
179 /* 0x0D70 */ dCcD_Sph mBodyCcSph[15];
180 /* 0x1FB8 */ u32 field_0x1fb8;
181 /* 0x1FBC */ dCcD_Sph mAtSph;
182 /* 0x20F4 */ dCcD_Sph field_0x20f4[2];
183 /* 0x2364 */ dCcD_Sph field_0x2364[2];
184 /* 0x25D4 */ dCcU_AtInfo mAtInfo;
185 /* 0x25F8 */ u32 field_0x25f8[4];
186 /* 0x2608 */ u32 field_0x2608[4];
188 /* 0x261C */ u32 mHeadHitEmitterID;
193 /* 0x2654 */ mDoExt_btkAnm* mpGdgateBtk[4];
194 /* 0x2664 */ cXyz mGdgatePos[4];
195 /* 0x2670 */ u8 field_0x2694[0x26a4 - 0x2694];
196 /* 0x26A4 */ u32 field_0x26a4[4];
197 /* 0x26B4 */ u8 field_0x26b4[4];
198 /* 0x26B8 */ u8 mGdgateStatus[4];
199 /* 0x26BC */ u8 mGdgateType[4];
200 /* 0x26C0 */ s16 mGdgateAngle[4];
201 /* 0x26C8 */ u8 mInitHIO;
202};
203
204STATIC_ASSERT(sizeof(daB_MGN_c) == 0x26cc);
205
206#endif /* D_A_B_MGN_H */
Definition JORMContext.h:96
Definition JORReflexible.h:43
Definition Z2Creature.h:37
Definition d_cc_d.h:435
Definition d_a_b_mgn.h:19
f32 dash_anim
Definition d_a_b_mgn.h:30
daB_MGN_HIO_c()
Definition d_a_b_mgn.cpp:62
void genMessage(JORMContext *)
f32 turn_speed
Definition d_a_b_mgn.h:29
virtual ~daB_MGN_HIO_c()
Definition d_a_b_mgn.h:22
f32 jewel_B
Definition d_a_b_mgn.h:33
s8 no
Definition d_a_b_mgn.h:26
f32 dash_speed
Definition d_a_b_mgn.h:28
f32 jewel_R
Definition d_a_b_mgn.h:31
f32 base_size
Definition d_a_b_mgn.h:27
f32 jewel_G
Definition d_a_b_mgn.h:32
Beast Ganon.
Definition d_a_b_mgn.h:36
cXyz mDemoCamCenter
Definition d_a_b_mgn.h:139
bool isDown()
Definition d_a_b_mgn.h:109
int _delete()
Definition d_a_b_mgn.cpp:3148
f32 mJewelColorStrength
Definition d_a_b_mgn.h:117
void setBck(int, u8, f32, f32)
Definition d_a_b_mgn.cpp:690
cXyz mDemoCamEye
Definition d_a_b_mgn.h:138
void onBodyCo()
Definition d_a_b_mgn.cpp:794
mDoExt_brkAnm * mpMgnCoreBrk
Definition d_a_b_mgn.h:115
void executeThrown()
Definition d_a_b_mgn.cpp:1474
int field_0xb10
Definition d_a_b_mgn.h:171
u8 mInitHIO
Definition d_a_b_mgn.h:201
void action()
Definition d_a_b_mgn.cpp:2865
u8 field_0xb06
Definition d_a_b_mgn.h:164
void drawHideSmokeEffect()
Definition d_a_b_mgn.cpp:548
u8 field_0xaec[0xaf0 - 0xaec]
Definition d_a_b_mgn.h:147
dCcD_Sph field_0x20f4[2]
Definition d_a_b_mgn.h:182
s16 field_0xa92
Definition d_a_b_mgn.h:129
int draw()
Definition d_a_b_mgn.cpp:110
bool checkHitSlideAt()
Definition d_a_b_mgn.cpp:765
dBgS_ObjAcch mAcch
Definition d_a_b_mgn.h:177
u8 field_0xafc
Definition d_a_b_mgn.h:154
u32 mHeadHitEmitter2ID
Definition d_a_b_mgn.h:189
u8 field_0xb0c
Definition d_a_b_mgn.h:170
cXyz field_0x710[20]
Definition d_a_b_mgn.h:121
u8 field_0x2694[0x26a4 - 0x2694]
Definition d_a_b_mgn.h:195
u16 mDamageInvulnerabilityTimer
Definition d_a_b_mgn.h:131
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_b_mgn.cpp:74
void executeFall()
Definition d_a_b_mgn.cpp:2083
void executeCircle()
Definition d_a_b_mgn.cpp:1025
u8 field_0xb01
Definition d_a_b_mgn.h:159
void setOpeningEffect()
Definition d_a_b_mgn.cpp:335
mDoExt_brkAnm * mpGdgateStartBrk[4]
Definition d_a_b_mgn.h:191
void offBodyShield()
Definition d_a_b_mgn.cpp:739
void setBodySlideEffect()
Definition d_a_b_mgn.cpp:308
dCcD_Stts mCcStts
Definition d_a_b_mgn.h:178
f32 field_0xae8
Definition d_a_b_mgn.h:146
request_of_phase_process_class mMgnPhase
Definition d_a_b_mgn.h:112
void executeDown()
Definition d_a_b_mgn.cpp:1706
void executeOpening()
Definition d_a_b_mgn.cpp:2343
void onBodySlideAt()
Definition d_a_b_mgn.cpp:747
void demo_skip(int)
Definition d_a_b_mgn.cpp:2302
int field_0xa9c
Definition d_a_b_mgn.h:132
void setStepEffect()
Definition d_a_b_mgn.cpp:362
u32 field_0xa94
Definition d_a_b_mgn.h:130
mDoExt_McaMorfSO * mpMgnModelMorf
Definition d_a_b_mgn.h:114
cXyz mBloodEffPos[20]
Definition d_a_b_mgn.h:120
bool checkBck(int)
Definition d_a_b_mgn.cpp:696
void calcHideSmokeEffect()
Definition d_a_b_mgn.cpp:466
u8 mActionMode
Definition d_a_b_mgn.h:151
void setHeadHitEffect()
Definition d_a_b_mgn.cpp:424
u8 field_0xb08
Definition d_a_b_mgn.h:166
u8 field_0xaff
Definition d_a_b_mgn.h:157
void setBackJumpEffect()
Definition d_a_b_mgn.cpp:244
J3DModel * mpMgnTaiekiModel[20]
Definition d_a_b_mgn.h:119
void cc_set()
Definition d_a_b_mgn.cpp:2981
u32 mHeadHitEmitterID
Definition d_a_b_mgn.h:188
void checkDownBeforeBG()
Definition d_a_b_mgn.cpp:662
dCcD_Sph mAtSph
Definition d_a_b_mgn.h:181
void setFallAttackEffect()
Definition d_a_b_mgn.cpp:386
int mBloodEffMode[20]
Definition d_a_b_mgn.h:125
f32 mBlurRate
Definition d_a_b_mgn.h:148
mDoExt_btkAnm * mpGdgateBtk[4]
Definition d_a_b_mgn.h:193
void setExitMode(int)
Definition d_a_b_mgn.cpp:716
void checkStartJump()
Definition d_a_b_mgn.cpp:2826
int execute()
Definition d_a_b_mgn.cpp:3082
s16 mGdgateAngle[4]
Definition d_a_b_mgn.h:200
u32 field_0x25f8[4]
Definition d_a_b_mgn.h:185
void onBodyShield()
Definition d_a_b_mgn.cpp:731
void setDownEnd()
Definition d_a_b_mgn.cpp:1687
Z2CreatureEnemy mSound
Definition d_a_b_mgn.h:126
dCcU_AtInfo mAtInfo
Definition d_a_b_mgn.h:184
u8 field_0xb0b
Definition d_a_b_mgn.h:169
static int JointCallBack(J3DJoint *, int)
Definition d_a_b_mgn.cpp:90
u32 mHeadLightEmitterID
Definition d_a_b_mgn.h:187
u8 field_0xb09
Definition d_a_b_mgn.h:167
int CreateHeap()
Definition d_a_b_mgn.cpp:3169
u8 field_0x26b4[4]
Definition d_a_b_mgn.h:197
void setHeadLightEffect()
Definition d_a_b_mgn.cpp:413
u8 field_0xafb
Definition d_a_b_mgn.h:153
mDoExt_btkAnm * mpMgnBtk
Definition d_a_b_mgn.h:116
void mtx_set()
Definition d_a_b_mgn.cpp:2970
s16 field_0xae0
Definition d_a_b_mgn.h:143
void setSlideSmokeEffect()
Definition d_a_b_mgn.cpp:287
cXyz mBloodEffSize[20]
Definition d_a_b_mgn.h:122
u8 field_0xb04
Definition d_a_b_mgn.h:162
void offBodyCo()
Definition d_a_b_mgn.cpp:804
void executeDownBiteDamage()
Definition d_a_b_mgn.cpp:1960
u8 field_0xafe
Definition d_a_b_mgn.h:156
u8 field_0xafd
Definition d_a_b_mgn.h:155
void calcJointAngle(s16)
Definition d_a_b_mgn.cpp:1014
void onBodyFallAt()
Definition d_a_b_mgn.cpp:778
u32 field_0x1fb8
Definition d_a_b_mgn.h:180
void setBloodEffect()
Definition d_a_b_mgn.cpp:570
dCcD_Sph mBodyCcSph[15]
Definition d_a_b_mgn.h:179
mDoExt_brkAnm * mpGdgateAppearBrk[4]
Definition d_a_b_mgn.h:192
int field_0xaa4
Definition d_a_b_mgn.h:134
void offBodySlideAt()
Definition d_a_b_mgn.cpp:758
cXyz mGdgatePos[4]
Definition d_a_b_mgn.h:194
u8 mGdgateType[4]
Definition d_a_b_mgn.h:199
u8 field_0xb03
Definition d_a_b_mgn.h:161
daB_MGN_ACTION
Definition d_a_b_mgn.h:38
@ ACTION_WARP_e
Definition d_a_b_mgn.h:46
@ ACTION_FALL_e
Definition d_a_b_mgn.h:47
@ ACTION_JUMP_e
Definition d_a_b_mgn.h:49
@ ACTION_CIRCLE_e
Definition d_a_b_mgn.h:40
@ ACTION_DASH_e
Definition d_a_b_mgn.h:41
@ ACTION_THROWN_e
Definition d_a_b_mgn.h:42
@ ACTION_DOWN_DAMAGE_e
Definition d_a_b_mgn.h:44
@ ACTION_DOWN_BITE_DAMAGE_e
Definition d_a_b_mgn.h:45
@ ACTION_DEATH_e
Definition d_a_b_mgn.h:48
@ ACTION_DOWN_e
Definition d_a_b_mgn.h:43
@ ACTION_OPENING_e
Definition d_a_b_mgn.h:39
s16 field_0xa90
Definition d_a_b_mgn.h:128
u8 field_0xb0a
Definition d_a_b_mgn.h:168
void executeWarp()
Definition d_a_b_mgn.cpp:2049
u8 mMoveMode
Definition d_a_b_mgn.h:152
u8 field_0xb07
Definition d_a_b_mgn.h:165
void setDashSmokeEffect()
Definition d_a_b_mgn.cpp:197
f32 field_0x940[20]
Definition d_a_b_mgn.h:124
dCcD_Sph field_0x2364[2]
Definition d_a_b_mgn.h:183
u8 field_0xb1a
Definition d_a_b_mgn.h:175
f32 mKankyoBlend
Definition d_a_b_mgn.h:149
void calcBloodMove()
Definition d_a_b_mgn.cpp:593
static int DemoSkipCallBack(void *, int)
Definition d_a_b_mgn.cpp:2333
void damage_check()
Definition d_a_b_mgn.cpp:860
f32 field_0xadc
Definition d_a_b_mgn.h:142
int field_0xaa0
Definition d_a_b_mgn.h:133
f32 mDemoCamFovy
Definition d_a_b_mgn.h:140
void executeDeath()
Definition d_a_b_mgn.cpp:2627
cXyz mNextGdgatePos
Definition d_a_b_mgn.h:137
s16 field_0xb18
Definition d_a_b_mgn.h:174
f32 field_0x8f0[20]
Definition d_a_b_mgn.h:123
int setHideSmokeEffect(cXyz *, u8)
Definition d_a_b_mgn.cpp:443
u8 mJewelColorMode
Definition d_a_b_mgn.h:118
void offBodyFallAt()
Definition d_a_b_mgn.cpp:787
mDoExt_McaMorfSO * mpGdgateModelMorf[4]
Definition d_a_b_mgn.h:190
u8 field_0xae4[0xae8 - 0xae4]
Definition d_a_b_mgn.h:145
s16 field_0xb16
Definition d_a_b_mgn.h:173
u8 field_0xb00
Definition d_a_b_mgn.h:158
void setActionMode(int, int)
Definition d_a_b_mgn.cpp:704
s16 field_0xb14
Definition d_a_b_mgn.h:172
f32 field_0xad8
Definition d_a_b_mgn.h:141
u32 field_0x2608[4]
Definition d_a_b_mgn.h:186
cXyz field_0xa84
Definition d_a_b_mgn.h:127
request_of_phase_process_class mMgnePhase
Definition d_a_b_mgn.h:113
cXyz getNearHitPos(cXyz *)
Definition d_a_b_mgn.cpp:814
int field_0xaa8
Definition d_a_b_mgn.h:135
u8 mGdgateStatus[4]
Definition d_a_b_mgn.h:198
int field_0xaac
Definition d_a_b_mgn.h:136
int create()
Definition d_a_b_mgn.cpp:3279
u8 mKankyoColMode
Definition d_a_b_mgn.h:150
dBgS_AcchCir mAcchCir
Definition d_a_b_mgn.h:176
u8 mGdgateNum
Definition d_a_b_mgn.h:160
void executeJump()
Definition d_a_b_mgn.cpp:2788
s16 field_0xae2
Definition d_a_b_mgn.h:144
u32 field_0x26a4[4]
Definition d_a_b_mgn.h:196
void executeDash()
Definition d_a_b_mgn.cpp:1162
void executeDownDamage()
Definition d_a_b_mgn.cpp:1855
u8 field_0xb05
Definition d_a_b_mgn.h:163
Definition f_op_actor.h:255
Definition m_Do_ext.h:84
STATIC_ASSERT(sizeof(daB_MGN_c)==0x26cc)
Definition d_a_hozelda.cpp:239
Definition d_a_hozelda.cpp:146
Definition d_a_hozelda.cpp:20
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_a_npc_fguard.cpp:70
Definition d_cc_uty.h:20
Definition d_a_npc_fguard.cpp:23
Definition d_a_hozelda.cpp:47
Definition d_a_hozelda.cpp:14
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
unsigned char u8
Definition types.h:5