Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
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
19class daB_MGN_c : public fopEn_enemy_c {
20public:
34
36 static int JointCallBack(J3DJoint*, int);
37 int draw();
38 void setDashSmokeEffect();
39 void setBackJumpEffect();
41 void setBodySlideEffect();
42 void setOpeningEffect();
43 void setStepEffect();
45 void setHeadLightEffect();
46 void setHeadHitEffect();
50 void setBloodEffect();
51 void calcBloodMove();
52 void checkDownBeforeBG();
53 void setBck(int, u8, f32, f32);
54 bool checkBck(int);
55 void setActionMode(int, int);
56 void setExitMode(int);
57 void onBodyShield();
58 void offBodyShield();
59 void onBodySlideAt();
60 void offBodySlideAt();
61 bool checkHitSlideAt();
62 void onBodyFallAt();
63 void offBodyFallAt();
64 void onBodyCo();
65 void offBodyCo();
67 void damage_check();
68 void calcJointAngle(s16);
69 void executeCircle();
70 void executeDash();
71 void executeThrown();
72 void setDownEnd();
73 void executeDown();
74 void executeDownDamage();
76 void executeWarp();
77 void executeFall();
78 void demo_skip(int);
79 static int DemoSkipCallBack(void*, int);
80 void executeOpening();
81 void executeDeath();
82 void executeJump();
83 void checkStartJump();
84 void action();
85 void mtx_set();
86 void cc_set();
87 int execute();
88 int _delete();
89 int CreateHeap();
90 int create();
91
92 bool isDown() { return mDownFlag != 0; }
93 bool isAppear() { return mAppearFlag != 0; }
94
95private:
100 /* 0x05C4 */ mDoExt_btkAnm* mpMgnBtk;
102 /* 0x05CC */ u8 mJewelColorMode;
103 /* 0x05D0 */ J3DModel* mpMgnTaiekiModel[20];
104 /* 0x0620 */ cXyz mBloodEffPos[20];
105 /* 0x0714 */ cXyz field_0x710[20];
106 /* 0x0800 */ cXyz mBloodEffSize[20];
107 /* 0x08F0 */ f32 field_0x8f0[20];
108 /* 0x0940 */ f32 field_0x940[20];
109 /* 0x0990 */ int mBloodEffMode[20];
111 /* 0x0A84 */ cXyz field_0xa84;
112 /* 0x0A90 */ s16 field_0xa90;
113 /* 0x0A92 */ s16 field_0xa92;
114 /* 0x0A94 */ u32 mShadowKey;
116 /* 0x0A9C */ int field_0xa9c;
117 /* 0x0AA0 */ int field_0xaa0;
118 /* 0x0AA4 */ int mBloodEffTimer;
119 /* 0x0AA8 */ int field_0xaa8;
120 /* 0x0AAC */ int field_0xaac;
121 /* 0x0AB0 */ cXyz mNextGdgatePos;
122 /* 0x0ABC */ cXyz mDemoCamEye;
123 /* 0x0AC8 */ cXyz mDemoCamCenter;
124 /* 0x0AD4 */ f32 mDemoCamFovy;
125 /* 0x0AD4 */ f32 mDemoCamEyeStep;
126 /* 0x0ADC */ f32 field_0xadc;
127 /* 0x0AE0 */ s16 field_0xae0;
128 /* 0x0AE2 */ s16 field_0xae2;
129 /* 0x0AE4 */ u8 field_0xae4[0xae8 - 0xae4];
130 /* 0x0AE8 */ f32 field_0xae8;
131 /* 0x0AEC */ u8 field_0xaec[0xaf0 - 0xaec];
132 /* 0x0AF0 */ f32 mBlurRate;
133 /* 0x0AF4 */ f32 mKankyoBlend;
134 /* 0x0AF8 */ u8 mKankyoColMode;
135 /* 0x0AF9 */ u8 mActionMode;
136 /* 0x0AFA */ u8 mMoveMode;
137 /* 0x0AFB */ u8 mSwBit;
138 /* 0x0AFC */ u8 mLeftRightFlag;
139 /* 0x0AFD */ u8 field_0xafd;
140 /* 0x0AFE */ u8 field_0xafe;
141 /* 0x0AFF */ u8 field_0xaff;
142 /* 0x0B00 */ u8 field_0xb00;
143 /* 0x0B01 */ u8 mDownFlag;
144 /* 0x0B02 */ u8 mGdgateNum;
145 /* 0x0B03 */ u8 field_0xb03;
146 /* 0x0B04 */ u8 field_0xb04;
147 /* 0x0B05 */ u8 mAppearFlag;
148 /* 0x0B06 */ u8 field_0xb06;
149 /* 0x0B07 */ u8 field_0xb07;
150 /* 0x0B06 */ u8 field_0xb08;
151 /* 0x0B09 */ u8 mHeadLightEffFlag;
152 /* 0x0B0A */ u8 mHeadHitEffTimer;
153 /* 0x0B0B */ u8 field_0xb0b;
154 /* 0x0B0C */ u8 field_0xb0c;
155 /* 0x0B10 */ int mGdgateStatusIdx;
156 /* 0x0B14 */ s16 field_0xb14;
157 /* 0x0B16 */ s16 field_0xb16;
158 /* 0x0B18 */ s16 field_0xb18;
159 /* 0x0B1C */ dBgS_AcchCir mAcchCir;
160 /* 0x0B5C */ dBgS_ObjAcch mAcch;
161 /* 0x0D34 */ dCcD_Stts mCcStts;
162 /* 0x0D70 */ dCcD_Sph mBodyCcSph[15];
163 /* 0x1FB8 */ u32 mTgType;
164 /* 0x1FBC */ dCcD_Sph mAtSph;
165 /* 0x20F4 */ dCcD_Sph field_0x20f4[2];
166 /* 0x2364 */ dCcD_Sph field_0x2364[2];
167 /* 0x25D4 */ dCcU_AtInfo mAtInfo;
168 /* 0x25F8 */ u32 field_0x25f8[4];
169 /* 0x2608 */ u32 field_0x2608[4];
171 /* 0x261C */ u32 mHeadHitEmitterID;
176 /* 0x2654 */ mDoExt_btkAnm* mpGdgateBtk[4];
177 /* 0x2664 */ cXyz mGdgatePos[4];
178 /* 0x2670 */ u8 field_0x2694[0x26a4 - 0x2694];
179 /* 0x26A4 */ u32 mGdgateStartEffID[4];
180 /* 0x26B4 */ u8 field_0x26b4[4];
181 /* 0x26B8 */ u8 mGdgateStatus[4];
182 /* 0x26BC */ u8 mGdgateType[4];
183 /* 0x26C0 */ s16 mGdgateAngle[4];
184 /* 0x26C8 */ u8 mInitHIO;
185};
186
187STATIC_ASSERT(sizeof(daB_MGN_c) == 0x26cc);
188
189#endif /* D_A_B_MGN_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition Z2Creature.h:37
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Beast Ganon.
Definition d_a_b_mgn.h:19
cXyz mDemoCamCenter
Definition d_a_b_mgn.h:123
bool isDown()
Definition d_a_b_mgn.h:92
int _delete()
Definition d_a_b_mgn.cpp:3365
f32 mJewelColorStrength
Definition d_a_b_mgn.h:101
void setBck(int, u8, f32, f32)
Definition d_a_b_mgn.cpp:851
f32 mDemoCamEyeStep
Definition d_a_b_mgn.h:125
u32 mGdgateStartEffID[4]
Definition d_a_b_mgn.h:179
cXyz mDemoCamEye
Definition d_a_b_mgn.h:122
void onBodyCo()
Definition d_a_b_mgn.cpp:945
mDoExt_brkAnm * mpMgnCoreBrk
Definition d_a_b_mgn.h:99
void executeThrown()
Definition d_a_b_mgn.cpp:1642
u8 mInitHIO
Definition d_a_b_mgn.h:184
void action()
Definition d_a_b_mgn.cpp:3065
u8 mDownFlag
Definition d_a_b_mgn.h:143
u8 field_0xb06
Definition d_a_b_mgn.h:148
void drawHideSmokeEffect()
Definition d_a_b_mgn.cpp:709
u8 field_0xaec[0xaf0 - 0xaec]
Definition d_a_b_mgn.h:131
dCcD_Sph field_0x20f4[2]
Definition d_a_b_mgn.h:165
s16 field_0xa92
Definition d_a_b_mgn.h:113
int draw()
Definition d_a_b_mgn.cpp:286
bool checkHitSlideAt()
Definition d_a_b_mgn.cpp:919
dBgS_ObjAcch mAcch
Definition d_a_b_mgn.h:160
u32 mHeadHitEmitter2ID
Definition d_a_b_mgn.h:172
u8 field_0xb0c
Definition d_a_b_mgn.h:154
cXyz field_0x710[20]
Definition d_a_b_mgn.h:105
u8 field_0x2694[0x26a4 - 0x2694]
Definition d_a_b_mgn.h:178
u16 mDamageInvulnerabilityTimer
Definition d_a_b_mgn.h:115
u8 mHeadHitEffTimer
Definition d_a_b_mgn.h:152
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_b_mgn.cpp:253
void executeFall()
Definition d_a_b_mgn.cpp:2266
u8 mHeadLightEffFlag
Definition d_a_b_mgn.h:151
void executeCircle()
Definition d_a_b_mgn.cpp:1171
void setOpeningEffect()
Definition d_a_b_mgn.cpp:503
mDoExt_brkAnm * mpGdgateStartBrk[4]
Definition d_a_b_mgn.h:174
void offBodyShield()
Definition d_a_b_mgn.cpp:896
void setBodySlideEffect()
Definition d_a_b_mgn.cpp:477
dCcD_Stts mCcStts
Definition d_a_b_mgn.h:161
f32 field_0xae8
Definition d_a_b_mgn.h:130
request_of_phase_process_class mMgnPhase
Definition d_a_b_mgn.h:96
void executeDown()
Definition d_a_b_mgn.cpp:1879
void executeOpening()
Definition d_a_b_mgn.cpp:2530
void onBodySlideAt()
Definition d_a_b_mgn.cpp:903
void demo_skip(int)
Definition d_a_b_mgn.cpp:2490
int field_0xa9c
Definition d_a_b_mgn.h:116
void setStepEffect()
Definition d_a_b_mgn.cpp:529
int mGdgateStatusIdx
Definition d_a_b_mgn.h:155
mDoExt_McaMorfSO * mpMgnModelMorf
Definition d_a_b_mgn.h:98
cXyz mBloodEffPos[20]
Definition d_a_b_mgn.h:104
bool checkBck(int)
Definition d_a_b_mgn.cpp:856
void calcHideSmokeEffect()
Definition d_a_b_mgn.cpp:623
u8 mActionMode
Definition d_a_b_mgn.h:135
void setHeadHitEffect()
Definition d_a_b_mgn.cpp:584
u8 field_0xb08
Definition d_a_b_mgn.h:150
u8 field_0xaff
Definition d_a_b_mgn.h:141
void setBackJumpEffect()
Definition d_a_b_mgn.cpp:416
bool isAppear()
Definition d_a_b_mgn.h:93
J3DModel * mpMgnTaiekiModel[20]
Definition d_a_b_mgn.h:103
u32 mShadowKey
Definition d_a_b_mgn.h:114
void cc_set()
Definition d_a_b_mgn.cpp:3192
u32 mTgType
Definition d_a_b_mgn.h:163
int mBloodEffTimer
Definition d_a_b_mgn.h:118
u32 mHeadHitEmitterID
Definition d_a_b_mgn.h:171
void checkDownBeforeBG()
Definition d_a_b_mgn.cpp:824
dCcD_Sph mAtSph
Definition d_a_b_mgn.h:164
void setFallAttackEffect()
Definition d_a_b_mgn.cpp:549
int mBloodEffMode[20]
Definition d_a_b_mgn.h:109
f32 mBlurRate
Definition d_a_b_mgn.h:132
mDoExt_btkAnm * mpGdgateBtk[4]
Definition d_a_b_mgn.h:176
void setExitMode(int)
Definition d_a_b_mgn.cpp:874
void checkStartJump()
Definition d_a_b_mgn.cpp:3023
u8 mSwBit
Definition d_a_b_mgn.h:137
int execute()
Definition d_a_b_mgn.cpp:3297
s16 mGdgateAngle[4]
Definition d_a_b_mgn.h:183
u32 field_0x25f8[4]
Definition d_a_b_mgn.h:168
void onBodyShield()
Definition d_a_b_mgn.cpp:889
void setDownEnd()
Definition d_a_b_mgn.cpp:1861
Z2CreatureEnemy mSound
Definition d_a_b_mgn.h:110
dCcU_AtInfo mAtInfo
Definition d_a_b_mgn.h:167
u8 field_0xb0b
Definition d_a_b_mgn.h:153
static int JointCallBack(J3DJoint *, int)
Definition d_a_b_mgn.cpp:269
u32 mHeadLightEmitterID
Definition d_a_b_mgn.h:170
int CreateHeap()
Definition d_a_b_mgn.cpp:3390
u8 field_0x26b4[4]
Definition d_a_b_mgn.h:180
void setHeadLightEffect()
Definition d_a_b_mgn.cpp:574
mDoExt_btkAnm * mpMgnBtk
Definition d_a_b_mgn.h:100
void mtx_set()
Definition d_a_b_mgn.cpp:3181
s16 field_0xae0
Definition d_a_b_mgn.h:127
void setSlideSmokeEffect()
Definition d_a_b_mgn.cpp:457
cXyz mBloodEffSize[20]
Definition d_a_b_mgn.h:106
u8 field_0xb04
Definition d_a_b_mgn.h:146
void offBodyCo()
Definition d_a_b_mgn.cpp:954
void executeDownBiteDamage()
Definition d_a_b_mgn.cpp:2142
u8 field_0xafe
Definition d_a_b_mgn.h:140
u8 field_0xafd
Definition d_a_b_mgn.h:139
void calcJointAngle(s16)
Definition d_a_b_mgn.cpp:1161
void onBodyFallAt()
Definition d_a_b_mgn.cpp:931
void setBloodEffect()
Definition d_a_b_mgn.cpp:730
dCcD_Sph mBodyCcSph[15]
Definition d_a_b_mgn.h:162
mDoExt_brkAnm * mpGdgateAppearBrk[4]
Definition d_a_b_mgn.h:175
void offBodySlideAt()
Definition d_a_b_mgn.cpp:913
cXyz mGdgatePos[4]
Definition d_a_b_mgn.h:177
u8 mGdgateType[4]
Definition d_a_b_mgn.h:182
u8 field_0xb03
Definition d_a_b_mgn.h:145
daB_MGN_ACTION
Definition d_a_b_mgn.h:21
@ ACTION_WARP_e
Definition d_a_b_mgn.h:29
@ ACTION_FALL_e
Definition d_a_b_mgn.h:30
@ ACTION_JUMP_e
Definition d_a_b_mgn.h:32
@ ACTION_CIRCLE_e
Definition d_a_b_mgn.h:23
@ ACTION_DASH_e
Definition d_a_b_mgn.h:24
@ ACTION_THROWN_e
Definition d_a_b_mgn.h:25
@ ACTION_DOWN_DAMAGE_e
Definition d_a_b_mgn.h:27
@ ACTION_DOWN_BITE_DAMAGE_e
Definition d_a_b_mgn.h:28
@ ACTION_DEATH_e
Definition d_a_b_mgn.h:31
@ ACTION_DOWN_e
Definition d_a_b_mgn.h:26
@ ACTION_OPENING_e
Definition d_a_b_mgn.h:22
s16 field_0xa90
Definition d_a_b_mgn.h:112
void executeWarp()
Definition d_a_b_mgn.cpp:2232
u8 mMoveMode
Definition d_a_b_mgn.h:136
u8 field_0xb07
Definition d_a_b_mgn.h:149
void setDashSmokeEffect()
Definition d_a_b_mgn.cpp:370
f32 field_0x940[20]
Definition d_a_b_mgn.h:108
dCcD_Sph field_0x2364[2]
Definition d_a_b_mgn.h:166
f32 mKankyoBlend
Definition d_a_b_mgn.h:133
void calcBloodMove()
Definition d_a_b_mgn.cpp:752
static int DemoSkipCallBack(void *, int)
Definition d_a_b_mgn.cpp:2521
void damage_check()
Definition d_a_b_mgn.cpp:1008
f32 field_0xadc
Definition d_a_b_mgn.h:126
int field_0xaa0
Definition d_a_b_mgn.h:117
f32 mDemoCamFovy
Definition d_a_b_mgn.h:124
void executeDeath()
Definition d_a_b_mgn.cpp:2822
cXyz mNextGdgatePos
Definition d_a_b_mgn.h:121
s16 field_0xb18
Definition d_a_b_mgn.h:158
f32 field_0x8f0[20]
Definition d_a_b_mgn.h:107
int setHideSmokeEffect(cXyz *, u8)
Definition d_a_b_mgn.cpp:602
u8 mJewelColorMode
Definition d_a_b_mgn.h:102
void offBodyFallAt()
Definition d_a_b_mgn.cpp:939
mDoExt_McaMorfSO * mpGdgateModelMorf[4]
Definition d_a_b_mgn.h:173
u8 field_0xae4[0xae8 - 0xae4]
Definition d_a_b_mgn.h:129
s16 field_0xb16
Definition d_a_b_mgn.h:157
u8 field_0xb00
Definition d_a_b_mgn.h:142
void setActionMode(int, int)
Definition d_a_b_mgn.cpp:863
s16 field_0xb14
Definition d_a_b_mgn.h:156
u32 field_0x2608[4]
Definition d_a_b_mgn.h:169
cXyz field_0xa84
Definition d_a_b_mgn.h:111
u8 mAppearFlag
Definition d_a_b_mgn.h:147
u8 mLeftRightFlag
Definition d_a_b_mgn.h:138
request_of_phase_process_class mMgnePhase
Definition d_a_b_mgn.h:97
cXyz getNearHitPos(cXyz *)
Definition d_a_b_mgn.cpp:963
int field_0xaa8
Definition d_a_b_mgn.h:119
u8 mGdgateStatus[4]
Definition d_a_b_mgn.h:181
int field_0xaac
Definition d_a_b_mgn.h:120
int create()
Definition d_a_b_mgn.cpp:3498
u8 mKankyoColMode
Definition d_a_b_mgn.h:134
dBgS_AcchCir mAcchCir
Definition d_a_b_mgn.h:159
u8 mGdgateNum
Definition d_a_b_mgn.h:144
void executeJump()
Definition d_a_b_mgn.cpp:2985
s16 field_0xae2
Definition d_a_b_mgn.h:128
void executeDash()
Definition d_a_b_mgn.cpp:1311
void executeDownDamage()
Definition d_a_b_mgn.cpp:2033
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
Definition m_Do_ext.h:94
Definition m_Do_ext.h:65
STATIC_ASSERT(sizeof(daB_MGN_c)==0x26cc)
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition c_xyz.h:7
Definition d_cc_uty.h:20
Definition c_phase.h:17