blob: b073dae952869f8af4fcac90a9a6de3043f1e3ac (
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
|
#ifndef D_A_E_SW_H
#define D_A_E_SW_H
#include "d/d_bg_s_acch.h"
#include "d/d_cc_d.h"
#include "d/d_cc_uty.h"
#include "f_op/f_op_actor_mng.h"
/**
* @ingroup actors-enemies
* @class daE_SW_c
* @brief Moldorm
*
* @details
*
*/
class daE_SW_c : public fopEn_enemy_c {
public:
typedef void (daE_SW_c::*actionFunc)();
void bckSet(int, f32, u8, f32);
int draw();
void setBeforeJumpEffect();
void setJumpEffect();
void setSmokeEffect();
void setDiveEffect();
void setHideEffect();
void setActionMode(s16, s16);
fopAc_ac_c* search_bomb();
BOOL bomb_check();
bool setModeBack();
void checkFall();
bool checkBeforeWall();
void executeWait();
int checkRunChase();
void executeChaseSlow();
void executeChaseFast();
void executeBomb();
void executeAttack();
void executeHook();
void executeMoveOut();
void executeChance();
void executeDive();
void executeDamage();
void executeDie();
void executeMaster();
bool checkSuddenAttack(int);
void executeSuddenAttack();
void executeFall();
void action();
void mtx_set();
void cc_set();
void damage_check();
void checkGroundSand();
int execute();
int _delete();
int CreateHeap();
cPhs_Step create();
void d_setAction(void (daE_SW_c::*)());
void d_checkFall();
void d_damage_check();
void d_action();
bool d_bomb_check();
void d_bm_chase();
void d_wait();
bool d_chaseCheck();
void d_chase();
void d_attk();
void d_chance();
void d_chance2();
void d_dive();
void d_damage();
void d_die();
void d_hook();
void d_fall();
int d_execute();
bool d_checkAction(void (daE_SW_c::*action)()) {
return field_0xafc == action;
}
bool d_checkOldAction(void (daE_SW_c::*action)()) {
return field_0xb0c == action;
}
private:
/* 0x5AC */ request_of_phase_process_class mPhase;
/* 0x5B4 */ mDoExt_McaMorfSO* mpModelMorf;
/* 0x5B8 */ Z2CreatureEnemy mSound;
/* 0x65C */ cXyz field_0x65c;
/* 0x668 */ cXyz field_0x668;
/* 0x674 */ cXyz field_0x674;
/* 0x680 */ s16 mMoveMode;
/* 0x682 */ s16 mActionMode;
/* 0x684 */ u8 field_0x684;
/* 0x688 */ fpc_ProcID field_0x688;
/* 0x68C */ u8 field_0x68c;
/* 0x690 */ f32 field_0x690;
/* 0x694 */ u8 field_0x694;
/* 0x695 */ u8 field_0x695;
/* 0x696 */ u8 field_0x696;
/* 0x697 */ u8 field_0x697;
/* 0x698 */ int field_0x698;
/* 0x69C */ s16 field_0x69c;
/* 0x69E */ s16 field_0x69e;
/* 0x6A0 */ s16 field_0x6a0;
/* 0x6A2 */ s16 field_0x6a2;
/* 0x6A4 */ s16 field_0x6a4;
/* 0x6A8 */ cXyz field_0x6a8;
/* 0x6B4 */ f32 field_0x6b4;
/* 0x6B8 */ f32 field_0x6b8;
/* 0x6BC */ s16 field_0x6bc;
/* 0x6BE */ u8 field_0x6be[0x6c8 - 0x6be];
/* 0x6C8 */ f32 field_0x6c8;
/* 0x6CC */ s16 field_0x6cc;
/* 0x6D0 */ f32 field_0x6d0;
/* 0x6D4 */ f32 field_0x6d4;
/* 0x6D8 */ f32 field_0x6d8;
/* 0x6DC */ f32 field_0x6dc;
/* 0x6E0 */ u32 mShadowKey;
/* 0x6E4 */ u8 field_0x6e4;
/* 0x6E5 */ u8 field_0x6e5;
/* 0x6E6 */ u8 field_0x6e6;
/* 0x6E7 */ u8 field_0x6e7;
/* 0x6E8 */ u8 field_0x6e8;
/* 0x6E9 */ u8 field_0x6e9;
/* 0x6EA */ s16 field_0x6ea;
/* 0x6EC */ s16 field_0x6ec;
/* 0x6EE */ s16 field_0x6ee;
/* 0x6F0 */ s16 field_0x6f0;
/* 0x6F2 */ s16 field_0x6f2;
/* 0x6F4 */ u8 field_0x6f4[0x6f6 - 0x6f4];
/* 0x6F6 */ s16 field_0x6f6;
/* 0x6F8 */ dBgS_AcchCir field_0x6f8[2];
/* 0x778 */ dBgS_ObjAcch mBgc;
/* 0x950 */ dCcD_Stts mStts;
/* 0x98C */ dCcD_Sph field_0x98c;
/* 0xAC4 */ dCcU_AtInfo mAtInfo;
/* 0xAE8 */ u32 field_0xae8;
/* 0xAEC */ u32 field_0xaec;
/* 0xAF0 */ u32 field_0xaf0;
/* 0xAF4 */ u32 field_0xaf4;
/* 0xAF8 */ u8 field_0xaf8;
/* 0xAF9 */ u8 field_0xaf9;
/* 0xAFC */ actionFunc field_0xafc;
/* 0xB0C */ actionFunc field_0xb0c;
/* 0xB14 */ bool field_0xb14;
};
STATIC_ASSERT(sizeof(daE_SW_c) == 0xb18);
#endif /* D_A_E_SW_H */
|