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
179
|
#ifndef D_A_NI_H
#define D_A_NI_H
#include "f_op/f_op_actor_mng.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "d/d_bg_s_acch.h"
#define BCK_FALL 5
#define BCK_FLY 6
#define BCK_IKAKU 7
#define BCK_MIWATASI 8
#define BCK_MOGAKU 9
#define BCK_NAKU 10
#define BCK_WAIT1 11
#define BCK_WALK_A 12
#define BCK_WALK_B 13
enum daNi_color {
COLOR_WHITE,
COLOR_BLACK,
COLOR_BROWN,
COLOR_GOLD,
COLOR_RANDOM = 0xFF,
};
enum daNi_action {
ACTION_NORMAL_e,
ACTION_AWAY_e,
ACTION_SWIM_e,
ACTION_CARRY_e,
ACTION_FLY_e,
ACTION_DROP_e,
ACTION_RETURN_e,
ACTION_MESSAGE_e,
ACTION_DAMAGE_e,
ACTION_WINDSPIN_e,
ACTION_DEMO0_e,
ACTION_PLAY_e = 15,
};
/**
* @ingroup actors-unsorted
* @class ni_class
* @brief Cucco
*
* @details
*
*/
class ni_class : public fopEn_enemy_c {
public:
bool checkGold() { return mColor == COLOR_GOLD; }
void setMtx(MtxP mtx) {
cXyz newPos;
field_0xb08 = 1;
mDoMtx_stack_c::copy(mtx);
mDoMtx_stack_c::multVecZero(&newPos);
current.pos = newPos;
old.pos = current.pos;
speedF = speed.y = 0.0f;
mpMorf->getModel()->setBaseTRMtx(mtx);
}
void changeMode() { field_0x5fe = 1; }
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ u8 field_0x5b4;
/* 0x5B5 */ u8 mType;
/* 0x5B6 */ u8 field_0x5b6[0x5C0 - 0x5B6];
/* 0x5C0 */ cXyz field_0x5c0;
/* 0x5CC */ cXyz mDemoInitPos;
/* 0x5D8 */ f32 field_0x5d8;
/* 0x5DC */ s16 mMoveAngle;
/* 0x5E0 */ f32 mDistToPlayer;
/* 0x5E4 */ s16 mAngleToPlayer;
/* 0x5E8 */ mDoExt_McaMorf* mpMorf;
/* 0x5EC */ mDoExt_btkAnm* mpBtk;
/* 0x5F0 */ s8 mColor;
/* 0x5F4 */ int mAnmID;
/* 0x5F8 */ s16 mCounter;
/* 0x5FA */ s16 mAction;
/* 0x5FC */ s16 mMode;
/* 0x5FE */ s16 field_0x5fe;
/* 0x600 */ u32 mShadowKey;
/* 0x604 */ s16 mTimers[4];
/* 0x60C */ s16 field_0x60c;
/* 0x60E */ s16 field_0x60e;
/* 0x610 */ f32 field_0x610;
/* 0x614 */ s16 field_0x614;
/* 0x616 */ s16 field_0x616;
/* 0x618 */ s16 field_0x618;
/* 0x61A */ s16 field_0x61a;
/* 0x61C */ s16 field_0x61c;
/* 0x61E */ s16 field_0x61e;
/* 0x620 */ s16 field_0x620;
/* 0x622 */ s16 field_0x622;
/* 0x624 */ s16 field_0x624;
/* 0x626 */ s16 field_0x626;
/* 0x628 */ s16 field_0x628;
/* 0x62A */ s16 field_0x62a;
/* 0x62C */ int mTargetActorID;
/* 0x630 */ dBgS_AcchCir mAcchCir;
/* 0x670 */ dBgS_ObjAcch mAcch;
/* 0x848 */ s8 field_0x848;
/* 0x84C */ dCcD_Stts mCcStts;
/* 0x888 */ dCcD_Sph mCcSph;
/* 0x9C0 */ dCcU_AtInfo mAtInfo;
/* 0x9E4 */ s8 field_0x9e4;
/* 0x9E6 */ s16 field_0x9e6;
/* 0x9E8 */ f32 field_0x9e8;
/* 0x9EC */ s16 field_0x9ec;
/* 0x9EE */ s16 field_0x9ee[4];
/* 0x9F8 */ f32 mSplGroundH;
/* 0x9FC */ f32 mBoomerangMoveMaxStep;
/* 0xA00 */ f32 field_0xa00;
/* 0xA04 */ s16 field_0xa04;
/* 0xA06 */ s8 field_0xa06;
/* 0xA08 */ u32 field_0xa08[4];
/* 0xA18 */ u32 mHamonEmtrID;
/* 0xA1C */ u8 field_0xA1C[0xA20 - 0xA1C];
/* 0xA20 */ u32 mEnoEmtrIDs[2];
/* 0xA28 */ Z2SoundObjSimple mSound;
/* 0xA48 */ s8 field_0xa48;
/* 0xA4C */ u32 mHaneEmitterID;
/* 0xA50 */ s8 field_0xa50;
/* 0xA52 */ s16 field_0xa52;
/* 0xA54 */ s16 mFlowNo;
/* 0xA58 */ dMsgFlow_c mMsgFlow;
/* 0xAA4 */ f32 mPadMainStickX;
/* 0xAA8 */ f32 mPadMainStickY;
/* 0xAAC */ f32 mPadSubStickX;
/* 0xAB0 */ f32 mPadSubStickY;
/* 0xAB4 */ f32 mPadAnalogL;
/* 0xAB8 */ u32 mPadHoldL;
/* 0xABC */ f32 field_0xabc;
/* 0xAC0 */ f32 mPlayAnmSpeed;
/* 0xAC4 */ s16 mPlayCamMode;
/* 0xAC6 */ s16 mPlayCamModeTimer;
/* 0xAC8 */ cXyz field_0xac8;
/* 0xAD4 */ cXyz field_0xad4;
/* 0xAE0 */ u8 field_0xAE0[0xAEC - 0xAE0];
/* 0xAEC */ f32 field_0xaec;
/* 0xAF0 */ f32 field_0xaf0;
/* 0xAF4 */ s16 field_0xaf4;
/* 0xAF8 */ f32 field_0xaf8;
/* 0xAFC */ f32 field_0xafc;
/* 0xB00 */ f32 field_0xb00;
/* 0xB04 */ f32 field_0xb04;
/* 0xB08 */ u8 field_0xb08;
/* 0xB09 */ u8 mInitHIO;
};
STATIC_ASSERT(sizeof(ni_class) == 0xb0c);
class daNi_HIO_c {
public:
daNi_HIO_c();
virtual ~daNi_HIO_c() {}
/* 0x04 */ s8 field_0x04;
/* 0x08 */ f32 mBaseSize;
/* 0x0C */ f32 mMoveSpeed;
/* 0x10 */ f32 mMotionSpeed;
/* 0x14 */ u8 mRecognizeLink;
/* 0x18 */ f32 mRecognizeRange;
/* 0x1C */ f32 mFleeWalkSpeed;
/* 0x20 */ f32 mFleeFlySpeed;
/* 0x24 */ f32 mFleeJumpPower;
/* 0x28 */ f32 mFleeJumpGravity;
/* 0x2C */ f32 mThrowSpeed;
/* 0x30 */ f32 mThrowJumpPower;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ u8 mMogakuModelShake;
/* 0x39 */ u8 field_0x39;
};
#endif /* D_A_NI_H */
|