blob: e15a6e7ca5134b5126a341aeff3a7e49a91e2622 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
#ifndef D_A_B_DR_H
#define D_A_B_DR_H
#include "f_op/f_op_actor_mng.h"
#include "Z2AudioLib/Z2Creature.h"
#include "d/d_cc_d.h"
#include "d/d_msg_flow.h"
#include "d/d_bg_s_acch.h"
#include "m_Do/m_Do_hostIO.h"
/**
* @ingroup actors-enemies
* @class daB_DR_c
* @brief Argorok
*
* @details City in the Sky dungeon boss.
*
*/
class daB_DR_c : public fopEn_enemy_c {
public:
int ctrlJoint(J3DJoint*, J3DModel*);
static int JointCallBack(J3DJoint*, int);
int draw();
void setBck(int, u8, f32, f32);
void setActionMode(int, int);
void mGlider_WindPosSet();
void mBoot_c_tranceSet(bool);
void mStatusONOFF(int);
void setSe();
void setDeathLightEffect();
void chkPartCreate(bool);
void mHabatakiAnmSet(int);
void mGlider_AniSet(bool);
void mGliderAtAniSet();
void tail_hit_check();
void week_hit_check();
void mTimerClr();
void mCountClr();
void mAllClr();
void mHeadAngleSet();
bool flapMove(bool);
bool revolutionMove();
bool mPlayerHighCheck();
bool mBgFallGroundCheck();
void normalHoverMove();
void executeWait();
void executeFlyWait();
void executeTailHit();
void executeWeekHit();
void mBreathSet();
bool mBreathHighSet(bool);
bool mFeintBreath();
void executeBreathAttack();
void executeWindAttack();
bool mGliderMoveSub(f32);
void executeGliderAttack();
void executePillarSearch();
void executePillarWait();
bool startDemoCheck();
void executeDamageDemo();
void executeMiddleDemo();
void executeDead();
void executeBullet();
void executeParts();
void action();
void action_fire();
void action_parts();
void mtx_set();
void parts_mtx_set();
void cc_set();
void down_cc_set();
void demo_skip(int);
static int DemoSkipCallBack(void*, int);
int execute();
int _delete();
int CreateHeap();
int create();
daB_DR_c();
MtxP getMtx() { return mpModelMorf->getModel()->getAnmMtx(15); }
u8 onTarget() { return mTarget = true; }
u8 isBack() { return arg0; }
private:
/* 0x05AC */ request_of_phase_process_class mPhase;
/* 0x05B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x05B8 */ J3DModel* mpPartModel;
/* 0x05BC */ mDoExt_brkAnm* mpCoreBrk;
/* 0x05C0 */ Z2CreatureEnemy mSound;
/* 0x0664 */ Z2CreatureEnemy mSound2;
/* 0x0708 */ int mActionMode;
/* 0x070C */ int mMoveMode;
/* 0x0710 */ int mAnm;
/* 0x0714 */ u8 field_0x714[0x0718 - 0x0714];
/* 0x0718 */ int field_0x718;
/* 0x071C */ u32 mShadowKey;
/* 0x0720 */ f32 mTargetHeight;
/* 0x0724 */ f32 field_0x724;
/* 0x0728 */ f32 field_0x728;
/* 0x072C */ f32 field_0x72c;
/* 0x0730 */ f32 field_0x730;
/* 0x0734 */ f32 field_0x734;
/* 0x0738 */ f32 field_0x738;
/* 0x073C */ f32 field_0x73c;
/* 0x0740 */ f32 field_0x740;
/* 0x0744 */ f32 field_0x744;
/* 0x0748 */ f32 field_0x748;
/* 0x074C */ s16 field_0x74c;
/* 0x074E */ s16 field_0x74e;
/* 0x0750 */ s16 field_0x750;
/* 0x0752 */ s16 field_0x752;
/* 0x0754 */ s16 field_0x754;
/* 0x0756 */ s16 field_0x756;
/* 0x0758 */ csXyz mHeadAngle;
/* 0x0760 */ cXyz field_0x760;
/* 0x076C */ cXyz mBoot_c_trance;
/* 0x0778 */ cXyz field_0x778;
/* 0x0784 */ cXyz field_0x784;
/* 0x0790 */ cXyz field_0x790;
/* 0x079C */ cXyz mGlider_WindPos;
/* 0x07A8 */ cXyz field_0x7a8;
/* 0x07B4 */ cXyz field_0x7b4;
/* 0x07C0 */ int mTimer[4];
/* 0x07D0 */ u8 field_0x7d0;
/* 0x07D1 */ u8 field_0x7d1;
/* 0x07D2 */ u8 mBreakPartsNo;
/* 0x07D3 */ u8 field_0x7d3;
/* 0x07D4 */ u8 field_0x7d4;
/* 0x07D5 */ u8 field_0x7d5;
/* 0x07D6 */ u8 field_0x7d6;
/* 0x07D7 */ u8 field_0x7d7;
/* 0x07D8 */ u8 field_0x7d8;
/* 0x07D9 */ u8 mTarget;
/* 0x07DA */ u8 field_0x7da;
/* 0x07DB */ u8 field_0x7db;
/* 0x07DC */ u8 field_0x7dc;
/* 0x07E0 */ int field_0x7e0;
/* 0x07E4 */ u8 mCount[4];
/* 0x07E8 */ u8 field_0x7e8;
/* 0x07E9 */ u8 field_0x7e9;
/* 0x07EA */ u8 arg0;
/* 0x07EB */ u8 mPartNo;
/* 0x07EC */ u8 bitSw;
/* 0x07ED */ u8 bitSw2;
/* 0x07EE */ u8 bitSw3;
/* 0x07F0 */ dBgS_AcchCir mAcchCir;
/* 0x0830 */ dBgS_ObjAcch mAcch;
/* 0x0A08 */ dCcD_Stts mColliderStts;
/* 0x0A44 */ dCcD_Cyl mWeekCc;
/* 0x0B80 */ dCcD_Sph mFootAtCc[2];
/* 0x0DF0 */ dCcD_Sph field_0xdf0;
/* 0x0F28 */ dCcD_Sph mBreathAtCc;
/* 0x1060 */ dCcD_Sph mWindAtCc;
/* 0x1198 */ dCcD_Sph mWindAtCc2;
/* 0x12D0 */ dCcD_Sph mWindAtCc3;
/* 0x1408 */ dCcD_Sph mTailCc;
/* 0x1540 */ dCcD_Cyl mPillarCc;
/* 0x167C */ dCcD_Sph mDownSphCc[9];
/* 0x2174 */ dCcD_Cyl mDownCc[5];
/* 0x27A0 */ u8 field_0x27A0[0x27A8 - 0x27A0];
/* 0x27A8 */ Z2CreatureEnemy* field_0x27a8;
/* 0x27AC */ u8 field_0x27AC[0x27BE - 0x27AC];
/* 0x27BE */ u8 field_0x27be;
/* 0x27BF */ u8 field_0x27bf[0x27C4 - 0x27BF];
/* 0x27C4 */ cXyz mDemoCamEye;
/* 0x27D0 */ cXyz mDemoCamCenter;
/* 0x27DC */ u32 field_0x27dc[4];
/* 0x27EC */ u32 field_0x27ec[4];
/* 0x27FC */ u32 field_0x27fc[4];
/* 0x280C */ u32 field_0x280c;
/* 0x2810 */ u8 mInitHIO;
/* 0x2814 */ dMsgFlow_c mMsgFlow;
};
STATIC_ASSERT(sizeof(daB_DR_c) == 0x2860);
#endif /* D_A_B_DR_H */
|