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
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
#ifndef D_A_NPC_ZL1_H
#define D_A_NPC_ZL1_H
#include "d/d_npc.h"
#include "d/d_particle.h"
class J3DMaterial;
class J3DNode;
class daNpc_Zl1_matAnm_c : public J3DMaterialAnm{
public:
void clrMoveFlag() { field_0x7C = false; }
f32* getNowOffsetX() { return &mOffset.x; }
f32* getNowOffsetY() { return &mOffset.y; }
void setMoveFlag() { field_0x7C = true; }
daNpc_Zl1_matAnm_c();
void calc(J3DMaterial*) const;
public:
/* 0x6C */ cXy mOffset;
/* 0x74 */ cXy field_0x74;
/* 0x7C */ bool field_0x7C;
}; // Size: 0x7D
class daNpc_Zl1_c : public fopNpc_npc_c {
public:
typedef int (daNpc_Zl1_c::*ActionFunc)(void*);
struct anm_prm_c {
s8 field_0x0;
s8 field_0x1;
f32 mMorf;
f32 mPlaySpeed;
int mLoopMode;
};
void _nodeCB_Head(J3DNode*, J3DModel*);
void _nodeCB_BackBone(J3DNode*, J3DModel*);
BOOL set_startPos(int);
bool init_ZL1_0();
bool init_ZL1_1();
bool init_ZL1_2();
bool init_ZL1_3();
bool init_ZL1_4();
bool init_ZL1_5();
bool init_ZL1_6();
bool init_ZL1_7();
bool createInit();
void play_animation();
bool swoon_OnShip();
void setMtx(bool);
char* bckResID(int);
char* btpResID(int);
char* btkResID(int);
bool setBtp(s8, bool);
void setMat();
bool setBtk(s8, bool);
bool init_texPttrnAnm(s8, bool);
void play_btp_anm();
void eye_ctrl();
void play_btk_anm();
void setAnm_anm(daNpc_Zl1_c::anm_prm_c*);
void setAnm_NUM(int, int);
void setAnm();
void chngAnmTag();
void ctrlAnmTag();
void chngAnmAtr(u8);
void ctrlAnmAtr();
void setAnm_ATR();
void anmAtr(u16);
u16 next_msgStatus(u32*);
u32 getMsg_ZL1_2();
u32 getMsg_ZL1_4();
u32 getMsg_ZL1_5();
u32 getMsg();
void eventOrder();
void checkOrder();
bool chk_talk();
bool chk_parts_notMov();
fopAc_ac_c* searchByID(fpc_ProcID, BOOL*);
bool partner_search_sub(fpcLyIt_JudgeFunc);
void partner_search();
void setEyeCtrl();
void clrEyeCtrl();
void lookBack();
bool chkAttention();
void setAttention(bool);
bool decideType(int);
f32 get_prmFloat(f32*, f32);
cXyz set_LightPos();
void init_Light();
void incEnvironment();
void decEnvironment();
void darkProc();
void cut_init_LOK_PLYER(int);
BOOL cut_move_LOK_PLYER();
void cut_init_LOK_PARTNER(int);
BOOL cut_move_LOK_PARTNER();
void cut_init_CHG_ANM_ATR(int);
BOOL cut_move_CHG_ANM_ATR();
void cut_init_PLYER_TRN_PARTNER(int);
BOOL cut_move_PLYER_TRN_PARTNER();
void cut_init_PLYER_TRN_TETRA(int);
BOOL cut_move_PLYER_TRN_TETRA();
void cut_init_MAJYU_START(int);
BOOL cut_move_MAJYU_START();
void cut_init_OKIRU(int);
BOOL cut_move_OKIRU();
void cut_init_OKIRU_2(int);
BOOL cut_move_OKIRU_2();
void cut_init_DRW_ONOFF(int);
BOOL cut_move_DRW_ONOFF();
void cut_init_PLYER_DRW_ONOFF(int);
BOOL cut_move_PLYER_DRW_ONOFF();
void cut_init_JMP_OFF(int);
BOOL cut_move_JMP_OFF();
void cut_init_OMAMORI_ONOFF(int);
BOOL cut_move_OMAMORI_ONOFF();
#if VERSION > VERSION_DEMO
void cut_init_SURPRISED(int);
#endif
BOOL cut_move_SURPRISED();
void privateCut(int);
void endEvent();
int isEventEntry();
void event_proc(int);
bool set_action(ActionFunc, void*);
void setStt(s8);
bool chk_areaIN(f32, f32, s16, cXyz);
void setWaterRipple();
void setWaterSplash();
#if VERSION > VERSION_DEMO
void set_simpleLand(bool);
#else
void set_simpleLand();
#endif
void setEff();
BOOL setFrontWallType();
bool move_jmp();
cXyz kyoroPos(int);
BOOL kyorokyoro();
BOOL wait_1();
BOOL talk_1();
BOOL demo_1();
BOOL demo_2();
BOOL demo_3();
BOOL demo_4();
BOOL optn_1();
BOOL optn_2();
BOOL optn_3();
int wait_action1(void*);
int demo_action1(void*);
int demo_action2(void*);
int optn_action1(void*);
u8 demo();
void shadowDraw();
BOOL _draw();
BOOL _execute();
BOOL _delete();
cPhs_State _create();
BOOL bodyCreateHeap();
BOOL itemCreateHeap();
BOOL CreateHeap();
public:
/* 0x6C4 */ request_of_phase_process_class mPhs;
/* 0x6CC */ s8 m_hed_jnt_num;
/* 0x6CD */ s8 m_bbone_jnt_num;
/* 0x6CE */ u8 field_0x6CE[0x6D0 - 0x6CE];
/* 0x6D0 */ J3DModel* mpModel;
/* 0x6D4 */ daNpc_Zl1_matAnm_c* field_0x6D4[2];
/* 0x6DC */ char mArcName[3];
/* 0x6E0 */ u32 mShadowId;
/* 0x6E4 */ u8 field_0x6E4[0x6E8 - 0x6E4];
/* 0x6E8 */ mDoExt_btkAnm mBtkAnm;
/* 0x6FC */ u8 mBtkAnmFrame;
/* 0x700 */ mDoExt_btpAnm mBtpAnm;
/* 0x714 */ u8 mBtpAnmFrame;
/* 0x716 */ s16 mTimer;
/* 0x718 */ ActionFunc mCurrActionFunc;
/* 0x724 */ fpc_ProcID mProcId1;
/* 0x728 */ fpc_ProcID mProcId2;
/* 0x72C */ cXyz field_0x72C;
/* 0x738 */ csXyz field_0x738;
/* 0x73E */ csXyz field_0x73E;
/* 0x744 */ csXyz field_0x744;
/* 0x74A */ u8 field_0x74A[0x74C - 0x74A];
/* 0x74C */ cXyz field_0x74C;
/* 0x758 */ cXyz field_0x758;
/* 0x764 */ cXyz field_0x764;
/* 0x770 */ cXyz field_0x770;
/* 0x77C */ cXyz field_0x77C;
/* 0x788 */ f32 mRatio;
/* 0x78C */ f32 mFrame;
/* 0x790 */ u8 field_0x790[0x794 - 0x790];
/* 0x794 */ csXyz field_0x794;
/* 0x79C */ BOOL field_0x79C;
/* 0x7A0 */ s16 mEventIdx[6];
/* 0x7AC */ u8 field_0x7AC[0x7AE - 0x7AC];
/* 0x7AE */ s16 field_0x7AE;
/* 0x7B0 */ s16 field_0x7B0;
/* 0x7B2 */ s16 field_0x7B2;
/* 0x7B4 */ u8 field_0x7B4[0x7B6 - 0x7B4];
/* 0x7B6 */ s16 field_0x7B6;
/* 0x7B8 */ s16 field_0x7B8;
/* 0x7BA */ s16 field_0x7BA;
/* 0x7BC */ s16 field_0x7BC;
/* 0x7BE */ u8 field_0x7BE[0x7C0 - 0x7BE];
/* 0x7C0 */ s16 field_0x7C0;
/* 0x7C2 */ s8 field_0x7C2;
/* 0x7C3 */ s8 field_0x7C3;
/* 0x7C4 */ s8 field_0x7C4;
/* 0x7C5 */ u8 mItemNo;
/* 0x7C6 */ bool field_0x7C6;
/* 0x7C7 */ bool field_0x7C7;
/* 0x7C8 */ bool field_0x7C8;
/* 0x7C9 */ bool field_0x7C9;
/* 0x7CA */ bool field_0x7CA;
/* 0x7CB */ bool field_0x7CB;
/* 0x7CC */ bool field_0x7CC;
/* 0x7CD */ u8 field_0x7CD[0x7CE - 0x7CD];
/* 0x7CE */ bool field_0x7CE;
/* 0x7CF */ bool mStateIsComplaete;
/* 0x7D0 */ bool field_0x7D0;
/* 0x7D1 */ bool field_0x7D1;
/* 0x7D2 */ bool field_0x7D2;
/* 0x7D3 */ bool field_0x7D3;
/* 0x7D4 */ bool field_0x7D4;
/* 0x7D5 */ bool field_0x7D5;
/* 0x7D6 */ bool mHasAttention;
/* 0x7D7 */ bool field_0x7D7;
/* 0x7D8 */ bool field_0x7D8;
/* 0x7D9 */ bool field_0x7D9;
/* 0x7DC */ dPa_rippleEcallBack mRippleCallBack;
/* 0x7F0 */ LIGHT_INFLUENCE mLightInfluence1;
/* 0x810 */ LIGHT_INFLUENCE mLightInfluence2;
/* 0x830 */ cXyz field_0x830;
/* 0x83C */ s16 field_0x83C;
/* 0x83E */ s16 field_0x83E;
/* 0x840 */ s16 field_0x840;
/* 0x842 */ s16 field_0x842;
/* 0x844 */ s8 mActIdx;
/* 0x845 */ u8 field_0x845;
/* 0x846 */ u8 field_0x846;
/* 0x847 */ s8 field_0x847;
/* 0x848 */ s8 field_0x848;
/* 0x849 */ s8 field_0x849;
/* 0x84A */ s8 field_0x84A;
/* 0x84B */ s8 field_0x84B;
/* 0x84C */ s8 field_0x84C;
/* 0x84D */ s8 field_0x84D;
/* 0x84E */ s8 field_0x84E;
/* 0x84F */ s8 field_0x84F;
/* 0x850 */ s8 field_0x850;
/* 0x851 */ s8 field_0x851;
/* 0x854 */ J3DJoint* mJoint1;
/* 0x858 */ J3DJoint* mJoint2;
/* 0x85C */ J3DJoint* mJoint3;
/* 0x860 */ J3DMaterial* field_0x860[6];
/* 0x878 */ J3DMaterial* field_0x878[6];
/* 0x890 */ J3DShape* field_0x890[6];
/* 0x8A8 */ J3DShape* field_0x8A8[6];
/* 0x8C0 */ mDoExt_offCupOnAupPacket mOffCupOnAupPacket1;
/* 0x8D0 */ mDoExt_offCupOnAupPacket mOffCupOnAupPacket2;
/* 0x8E0 */ mDoExt_onCupOffAupPacket mOnCupOffAupPacket1;
/* 0x8F0 */ mDoExt_onCupOffAupPacket mOnCupOffAupPacket2;
}; // Size: 0x900
#endif /* D_A_NPC_ZL1_H */
|