Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_b_dr.h
Go to the documentation of this file.
1#ifndef D_A_B_DR_H
2#define D_A_B_DR_H
3
6#include "d/d_cc_d.h"
7#include "d/d_msg_flow.h"
8#include "d/d_bg_s_acch.h"
9#include "m_Do/m_Do_hostIO.h"
10
19class daB_DR_c : public fopEn_enemy_c {
20public:
22 static int JointCallBack(J3DJoint*, int);
23 int draw();
24 void setBck(int, u8, f32, f32);
25 void setActionMode(int, int);
26 void mGlider_WindPosSet();
27 void mBoot_c_tranceSet(bool);
28 void mStatusONOFF(int);
29 void setSe();
31 void chkPartCreate(bool);
32 void mHabatakiAnmSet(int);
33 void mGlider_AniSet(bool);
34 void mGliderAtAniSet();
35 void tail_hit_check();
36 void week_hit_check();
37 void mTimerClr();
38 void mCountClr();
39 void mAllClr();
40 void mHeadAngleSet();
41 bool flapMove(bool);
42 bool revolutionMove();
43 bool mPlayerHighCheck();
44 bool mBgFallGroundCheck();
45 void normalHoverMove();
46 void executeWait();
47 void executeFlyWait();
48 void executeTailHit();
49 void executeWeekHit();
50 void mBreathSet();
51 bool mBreathHighSet(bool);
52 bool mFeintBreath();
54 void executeWindAttack();
55 bool mGliderMoveSub(f32);
58 void executePillarWait();
59 bool startDemoCheck();
60 void executeDamageDemo();
61 void executeMiddleDemo();
62 void executeDead();
63 void executeBullet();
64 void executeParts();
65 void action();
66 void action_fire();
67 void action_parts();
68 void mtx_set();
69 void parts_mtx_set();
70 void cc_set();
71 void down_cc_set();
72 void demo_skip(int);
73 static int DemoSkipCallBack(void*, int);
74 int execute();
75 int _delete();
76 int CreateHeap();
77 int create();
78 daB_DR_c();
79
81
82 void onTarget() { mTarget = true; }
83 bool isBack() { return arg0; }
84
85private:
88 /* 0x05B8 */ J3DModel* mpPartModel;
89 /* 0x05BC */ mDoExt_brkAnm* mpCoreBrk;
90 /* 0x05C0 */ Z2CreatureEnemy mSound;
92 /* 0x0708 */ int mActionMode;
93 /* 0x070C */ int mMoveMode;
94 /* 0x0710 */ int mAnm;
95 /* 0x0714 */ u8 field_0x714[0x0718 - 0x0714];
96 /* 0x0718 */ int field_0x718;
97 /* 0x071C */ u32 mShadowKey;
98 /* 0x0720 */ f32 mTargetHeight;
99 /* 0x0724 */ f32 field_0x724;
100 /* 0x0728 */ f32 field_0x728;
101 /* 0x072C */ f32 field_0x72c;
102 /* 0x0730 */ f32 field_0x730;
103 /* 0x0734 */ f32 field_0x734;
104 /* 0x0738 */ f32 field_0x738;
105 /* 0x073C */ f32 field_0x73c;
106 /* 0x0740 */ f32 field_0x740;
107 /* 0x0744 */ f32 field_0x744;
108 /* 0x0748 */ f32 field_0x748;
109 /* 0x074C */ s16 field_0x74c;
110 /* 0x074E */ s16 field_0x74e;
111 /* 0x0750 */ s16 field_0x750;
112 /* 0x0752 */ s16 field_0x752;
113 /* 0x0754 */ s16 field_0x754;
114 /* 0x0756 */ s16 field_0x756;
115 /* 0x0758 */ csXyz mHeadAngle;
116 /* 0x0760 */ cXyz field_0x760;
117 /* 0x076C */ cXyz mBoot_c_trance;
118 /* 0x0778 */ cXyz field_0x778;
119 /* 0x0784 */ cXyz field_0x784;
120 /* 0x0790 */ cXyz field_0x790;
121 /* 0x079C */ cXyz mGlider_WindPos;
122 /* 0x07A8 */ cXyz field_0x7a8;
123 /* 0x07B4 */ cXyz field_0x7b4;
124 /* 0x07C0 */ int mTimer[4];
125 /* 0x07D0 */ u8 field_0x7d0;
126 /* 0x07D1 */ u8 field_0x7d1;
127 /* 0x07D2 */ u8 mBreakPartsNo;
128 /* 0x07D3 */ u8 field_0x7d3;
129 /* 0x07D4 */ u8 field_0x7d4;
130 /* 0x07D5 */ u8 field_0x7d5;
131 /* 0x07D6 */ u8 field_0x7d6;
132 /* 0x07D7 */ u8 field_0x7d7;
133 /* 0x07D8 */ u8 field_0x7d8;
134 /* 0x07D9 */ u8 mTarget;
135 /* 0x07DA */ u8 field_0x7da;
136 /* 0x07DB */ u8 field_0x7db;
137 /* 0x07DC */ u8 field_0x7dc;
138 /* 0x07E0 */ int field_0x7e0;
139 /* 0x07E4 */ u8 mCount[4];
140 /* 0x07E8 */ u8 field_0x7e8;
141 /* 0x07E9 */ u8 field_0x7e9;
142 /* 0x07EA */ u8 arg0;
143 /* 0x07EB */ u8 mPartNo;
144 /* 0x07EC */ u8 bitSw;
145 /* 0x07ED */ u8 bitSw2;
146 /* 0x07EE */ u8 bitSw3;
147 /* 0x07F0 */ dBgS_AcchCir mAcchCir;
148 /* 0x0830 */ dBgS_ObjAcch mAcch;
150 /* 0x0A44 */ dCcD_Cyl mWeekCc;
151 /* 0x0B80 */ dCcD_Sph mFootAtCc[2];
152 /* 0x0DF0 */ dCcD_Sph field_0xdf0;
153 /* 0x0F28 */ dCcD_Sph mBreathAtCc;
154 /* 0x1060 */ dCcD_Sph mWindAtCc;
155 /* 0x1198 */ dCcD_Sph mWindAtCc2;
156 /* 0x12D0 */ dCcD_Sph mWindAtCc3;
157 /* 0x1408 */ dCcD_Sph mTailCc;
158 /* 0x1540 */ dCcD_Cyl mPillarCc;
159 /* 0x167C */ dCcD_Sph mDownSphCc[9];
160 /* 0x2174 */ dCcD_Cyl mDownCc[5];
161 /* 0x27A0 */ u8 field_0x27A0[0x27A8 - 0x27A0];
163 /* 0x27AC */ u8 field_0x27AC[0x27BE - 0x27AC];
164 /* 0x27BE */ u8 field_0x27be;
165 /* 0x27BF */ u8 field_0x27bf[0x27C4 - 0x27BF];
166 /* 0x27C4 */ cXyz mDemoCamEye;
167 /* 0x27D0 */ cXyz mDemoCamCenter;
168 /* 0x27DC */ u32 field_0x27dc[4];
169 /* 0x27EC */ u32 field_0x27ec[4];
170 /* 0x27FC */ u32 field_0x27fc[4];
171 /* 0x280C */ u32 field_0x280c;
172 /* 0x2810 */ u8 mInitHIO;
173 /* 0x2814 */ dMsgFlow_c mMsgFlow;
174};
175
176STATIC_ASSERT(sizeof(daB_DR_c) == 0x2860);
177
178#endif /* D_A_B_DR_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
MtxP getAnmMtx(int jointNo)
Definition J3DModel.h:105
Definition Z2Creature.h:37
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:461
Definition d_cc_d.h:473
Definition d_cc_d.h:269
Definition d_msg_flow.h:49
Argorok.
Definition d_a_b_dr.h:19
u8 field_0x7d7
Definition d_a_b_dr.h:132
dCcD_Sph mWindAtCc2
Definition d_a_b_dr.h:155
void mHeadAngleSet()
Definition d_a_b_dr.cpp:1033
u8 bitSw
Definition d_a_b_dr.h:144
s16 field_0x752
Definition d_a_b_dr.h:112
bool mBreathHighSet(bool)
Definition d_a_b_dr.cpp:2010
void down_cc_set()
Definition d_a_b_dr.cpp:3748
dCcD_Sph mFootAtCc[2]
Definition d_a_b_dr.h:151
dCcD_Sph mWindAtCc3
Definition d_a_b_dr.h:156
u8 field_0x27bf[0x27C4 - 0x27BF]
Definition d_a_b_dr.h:165
s16 field_0x74c
Definition d_a_b_dr.h:109
void executeBullet()
Definition d_a_b_dr.cpp:3304
cXyz field_0x7b4
Definition d_a_b_dr.h:123
u8 mPartNo
Definition d_a_b_dr.h:143
u8 field_0x27A0[0x27A8 - 0x27A0]
Definition d_a_b_dr.h:161
Z2CreatureEnemy mSound2
Definition d_a_b_dr.h:91
int create()
Definition d_a_b_dr.cpp:4028
void executeGliderAttack()
Definition d_a_b_dr.cpp:2519
void action_fire()
Definition d_a_b_dr.cpp:3542
u8 field_0x7d1
Definition d_a_b_dr.h:126
void executeWait()
Definition d_a_b_dr.cpp:1246
u8 field_0x27be
Definition d_a_b_dr.h:164
void executeWindAttack()
Definition d_a_b_dr.cpp:2362
Z2CreatureEnemy * field_0x27a8
Definition d_a_b_dr.h:162
Z2CreatureEnemy mSound
Definition d_a_b_dr.h:90
u8 field_0x7dc
Definition d_a_b_dr.h:137
dBgS_ObjAcch mAcch
Definition d_a_b_dr.h:148
int CreateHeap()
Definition d_a_b_dr.cpp:3980
dCcD_Sph mDownSphCc[9]
Definition d_a_b_dr.h:159
void executeParts()
Definition d_a_b_dr.cpp:3347
void mTimerClr()
Definition d_a_b_dr.cpp:1016
static int JointCallBack(J3DJoint *, int)
Definition d_a_b_dr.cpp:323
void setSe()
Definition d_a_b_dr.cpp:542
void executeMiddleDemo()
Definition d_a_b_dr.cpp:3235
void mGlider_WindPosSet()
Definition d_a_b_dr.cpp:487
f32 field_0x738
Definition d_a_b_dr.h:104
u8 field_0x7d6
Definition d_a_b_dr.h:131
u8 field_0x7e8
Definition d_a_b_dr.h:140
void mBoot_c_tranceSet(bool)
Definition d_a_b_dr.cpp:498
u8 field_0x7e9
Definition d_a_b_dr.h:141
void onTarget()
Definition d_a_b_dr.h:82
s16 field_0x74e
Definition d_a_b_dr.h:110
int _delete()
Definition d_a_b_dr.cpp:3950
u8 bitSw2
Definition d_a_b_dr.h:145
void executeDamageDemo()
Definition d_a_b_dr.cpp:3040
u32 field_0x280c
Definition d_a_b_dr.h:171
request_of_phase_process_class mPhase
Definition d_a_b_dr.h:86
u32 field_0x27fc[4]
Definition d_a_b_dr.h:170
u8 field_0x27AC[0x27BE - 0x27AC]
Definition d_a_b_dr.h:163
cXyz field_0x784
Definition d_a_b_dr.h:119
f32 field_0x728
Definition d_a_b_dr.h:100
f32 field_0x73c
Definition d_a_b_dr.h:105
dMsgFlow_c mMsgFlow
Definition d_a_b_dr.h:173
int mActionMode
Definition d_a_b_dr.h:92
dCcD_Cyl mPillarCc
Definition d_a_b_dr.h:158
bool mPlayerHighCheck()
Definition d_a_b_dr.cpp:1151
u8 mInitHIO
Definition d_a_b_dr.h:172
void executeFlyWait()
Definition d_a_b_dr.cpp:1310
int field_0x7e0
Definition d_a_b_dr.h:138
cXyz mBoot_c_trance
Definition d_a_b_dr.h:117
bool flapMove(bool)
Definition d_a_b_dr.cpp:1072
dCcD_Stts mColliderStts
Definition d_a_b_dr.h:149
s16 field_0x756
Definition d_a_b_dr.h:114
bool mBgFallGroundCheck()
Definition d_a_b_dr.cpp:1172
dCcD_Cyl mWeekCc
Definition d_a_b_dr.h:150
static int DemoSkipCallBack(void *, int)
Definition d_a_b_dr.cpp:3825
s16 field_0x750
Definition d_a_b_dr.h:111
u8 field_0x7d4
Definition d_a_b_dr.h:129
int execute()
Definition d_a_b_dr.cpp:3834
u8 mBreakPartsNo
Definition d_a_b_dr.h:127
dCcD_Sph mBreathAtCc
Definition d_a_b_dr.h:153
void executeWeekHit()
Definition d_a_b_dr.cpp:1733
mDoExt_brkAnm * mpCoreBrk
Definition d_a_b_dr.h:89
u8 field_0x7d5
Definition d_a_b_dr.h:130
mDoExt_McaMorfSO * mpModelMorf
Definition d_a_b_dr.h:87
int field_0x718
Definition d_a_b_dr.h:96
void setActionMode(int, int)
Definition d_a_b_dr.cpp:480
dBgS_AcchCir mAcchCir
Definition d_a_b_dr.h:147
cXyz field_0x760
Definition d_a_b_dr.h:116
cXyz field_0x7a8
Definition d_a_b_dr.h:122
int mTimer[4]
Definition d_a_b_dr.h:124
f32 field_0x724
Definition d_a_b_dr.h:99
void chkPartCreate(bool)
Definition d_a_b_dr.cpp:733
void mtx_set()
Definition d_a_b_dr.cpp:3555
void executeDead()
Definition d_a_b_dr.cpp:3266
cXyz mGlider_WindPos
Definition d_a_b_dr.h:121
void action_parts()
Definition d_a_b_dr.cpp:3548
u8 field_0x714[0x0718 - 0x0714]
Definition d_a_b_dr.h:95
int draw()
Definition d_a_b_dr.cpp:336
f32 field_0x744
Definition d_a_b_dr.h:107
u8 field_0x7d0
Definition d_a_b_dr.h:125
cXyz mDemoCamCenter
Definition d_a_b_dr.h:167
csXyz mHeadAngle
Definition d_a_b_dr.h:115
f32 field_0x72c
Definition d_a_b_dr.h:101
MtxP getMtx()
Definition d_a_b_dr.h:80
cXyz field_0x778
Definition d_a_b_dr.h:118
void executePillarSearch()
Definition d_a_b_dr.cpp:2823
u8 bitSw3
Definition d_a_b_dr.h:146
void demo_skip(int)
Definition d_a_b_dr.cpp:3807
dCcD_Cyl mDownCc[5]
Definition d_a_b_dr.h:160
daB_DR_c()
Definition d_a_b_dr.cpp:4276
bool revolutionMove()
Definition d_a_b_dr.cpp:1106
void tail_hit_check()
Definition d_a_b_dr.cpp:982
bool startDemoCheck()
Definition d_a_b_dr.cpp:3022
void mStatusONOFF(int)
Definition d_a_b_dr.cpp:519
void mGliderAtAniSet()
Definition d_a_b_dr.cpp:957
dCcD_Sph mWindAtCc
Definition d_a_b_dr.h:154
f32 field_0x734
Definition d_a_b_dr.h:103
f32 mTargetHeight
Definition d_a_b_dr.h:98
f32 field_0x748
Definition d_a_b_dr.h:108
int mAnm
Definition d_a_b_dr.h:94
cXyz field_0x790
Definition d_a_b_dr.h:120
void mGlider_AniSet(bool)
Definition d_a_b_dr.cpp:906
u8 field_0x7d8
Definition d_a_b_dr.h:133
void setBck(int, u8, f32, f32)
Definition d_a_b_dr.cpp:475
void mAllClr()
Definition d_a_b_dr.cpp:1028
f32 field_0x730
Definition d_a_b_dr.h:102
u8 field_0x7d3
Definition d_a_b_dr.h:128
u8 field_0x7da
Definition d_a_b_dr.h:135
u32 field_0x27ec[4]
Definition d_a_b_dr.h:169
void executePillarWait()
Definition d_a_b_dr.cpp:2902
void parts_mtx_set()
Definition d_a_b_dr.cpp:3617
void setDeathLightEffect()
Definition d_a_b_dr.cpp:724
s16 field_0x754
Definition d_a_b_dr.h:113
u32 mShadowKey
Definition d_a_b_dr.h:97
void executeBreathAttack()
Definition d_a_b_dr.cpp:2126
f32 field_0x740
Definition d_a_b_dr.h:106
void week_hit_check()
Definition d_a_b_dr.cpp:998
int mMoveMode
Definition d_a_b_dr.h:93
void mHabatakiAnmSet(int)
Definition d_a_b_dr.cpp:848
u8 arg0
Definition d_a_b_dr.h:142
void normalHoverMove()
Definition d_a_b_dr.cpp:1225
u8 field_0x7db
Definition d_a_b_dr.h:136
dCcD_Sph field_0xdf0
Definition d_a_b_dr.h:152
dCcD_Sph mTailCc
Definition d_a_b_dr.h:157
u32 field_0x27dc[4]
Definition d_a_b_dr.h:168
J3DModel * mpPartModel
Definition d_a_b_dr.h:88
bool mGliderMoveSub(f32)
Definition d_a_b_dr.cpp:2487
void action()
Definition d_a_b_dr.cpp:3418
void executeTailHit()
Definition d_a_b_dr.cpp:1380
void mCountClr()
Definition d_a_b_dr.cpp:1022
void mBreathSet()
Definition d_a_b_dr.cpp:1968
bool isBack()
Definition d_a_b_dr.h:83
bool mFeintBreath()
Definition d_a_b_dr.cpp:2058
u8 mTarget
Definition d_a_b_dr.h:134
cXyz mDemoCamEye
Definition d_a_b_dr.h:166
u8 mCount[4]
Definition d_a_b_dr.h:139
void cc_set()
Definition d_a_b_dr.cpp:3624
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_b_dr.cpp:289
Definition f_op_actor.h:285
Definition m_Do_ext.h:331
J3DModel * getModel()
Definition m_Do_ext.h:350
Definition m_Do_ext.h:94
STATIC_ASSERT(sizeof(daB_DR_c)==0x2860)
f32(* MtxP)[4]
Definition mtx.h:38
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned char u8
Definition types.h:8
Definition c_xyz.h:7
Definition c_phase.h:17