Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc4.h
Go to the documentation of this file.
1#ifndef D_A_NPC4
2#define D_A_NPC4
3
5#include "d/d_msg_flow.h"
6#include "d/d_bg_s_gnd_chk.h"
7#include "d/d_bg_s_lin_chk.h"
8#include "d/d_path.h"
9#include "f_op/f_op_actor.h"
10#include "f_pc/f_pc_base.h"
11#include "m_Do/m_Do_ext.h"
13
15private:
17
18public:
20
21 void initialize();
22 void entry(unsigned int);
23 void entry(fopAc_ac_c*);
24 void remove();
26
28
30};
31
33void daNpcF_onEvtBit(u32 i_idx);
35void daNpcF_onTmpBit(u32 i_idx);
36void daNpcF_offTmpBit(u32 i_idx);
37u8 daNpcF_getDistTableIdx(int param_0, int param_1);
38#if DEBUG
39class daNpcF_HIOParam;
42#endif
45int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz& param_2, csXyz& param_3);
47BOOL daNpcF_pntVsLineSegmentLengthSquare2D(f32 i_pntX, f32 i_pntZ, f32 i_startX, f32 i_startZ,
48 f32 i_endX, f32 i_endZ, f32* o_projX, f32* o_projZ,
49 f32* o_dist2);
50BOOL daNpcF_chkPassed(cXyz i_pos, dPnt* i_points, u16 i_idx, u16 i_num, BOOL i_isClosed,
51 BOOL i_isReversed);
53
54class daNpcF_c : public fopAc_ac_c {
55protected:
61 /* 0x5D0 */ dBgS_ObjAcch mAcch;
62 /* 0x7A8 */ dCcD_Stts mCcStts;
66 /* 0x854 */ cXyz mLookatPos[3];
67 /* 0x878 */ cXyz mLookPos;
68 /* 0x884 */ cXyz field_0x884;
69 /* 0x890 */ cXyz field_0x890;
70 /* 0x89C */ cXyz field_0x89c;
71 /* 0x8A8 */ cXyz field_0x8a8;
72 /* 0x8B4 */ cXyz field_0x8b4;
73 /* 0x8C0 */ cXyz field_0x8c0;
74 /* 0x8CC */ cXyz field_0x8cc;
75 /* 0x8D8 */ cXyz field_0x8d8;
76 /* 0x8E4 */ cXyz mHeadPos;
77 /* 0x8F0 */ csXyz mCurAngle;
78 /* 0x8F6 */ csXyz mOldAngle;
79 /* 0x8FC */ csXyz mEyeAngle;
80 /* 0x902 */ csXyz mHeadAngle;
81 /* 0x908 */ csXyz field_0x908[3];
82 /* 0x91A */ csXyz mLookatAngle[3];
83 /* 0x92C */ int mStaffID;
84 /* 0x930 */ int mCutType;
85 /* 0x934 */ int mAttnIdx;
86 /* 0x938 */ int mAttnChangeTimer;
87 /* 0x93C */ int mAttnActorTimer[5];
88 /* 0x950 */ int mMsgTimer;
89 /* 0x954 */ int mDamageTimer;
90 /* 0x958 */ int mTotalDamageTimer;
91 /* 0x95C */ int field_0x95c;
92 /* 0x960 */ int mEventTimer;
93 /* 0x964 */ int mBtpTimer;
94 /* 0x968 */ int mTurnAmount;
95 /* 0x96C */ int mTurnMode;
96 /* 0x970 */ f32 mTurnStepNum;
98 /* 0x978 */ f32 mExpressionMorf;
100 /* 0x980 */ f32 mGroundH;
101 /* 0x984 */ f32 field_0x984[3];
102 /* 0x990 */ s16 field_0x990;
103 /* 0x992 */ s16 field_0x992;
104 /* 0x994 */ s16 mTurnStartAngle;
106 /* 0x998 */ s16 field_0x998;
107 /* 0x99C */ u32 mAnmFlags;
108 /* 0x9A0 */ u32 mShadowKey;
109 /* 0x9A4 */ u32 field_0x9a4;
110 /* 0x9A8 */ u32 mHitodamaParticleKey[2];
111 /* 0x9B0 */ u32 mPolySound;
112 /* 0x9B4 */ int mFlowNodeNo;
113 /* 0x9B8 */ cXyz field_0x9b8;
114 /* 0x9C4 */ cXyz field_0x9c4;
115 /* 0x9D0 */ s16 field_0x9d0;
116 /* 0x9D2 */ s16 field_0x9d2;
117 /* 0x9D4 */ s16 mEventIdx;
120 /* 0x9DA */ s16 mMotionPhase;
122 /* 0x9DE */ s16 mExpression;
123 /* 0x9E0 */ s16 mMotion;
124 /* 0x9E2 */ u16 mMotionLoops;
126 /* 0x9E6 */ u16 mOrderEvtNo;
127 /* 0x9E8 */ s8 mReverb;
128 /* 0x9E9 */ bool mOrderSpeakEvt;
129 /* 0x9EA */ bool field_0x9ea;
130 /* 0x9EB */ bool field_0x9eb;
131 /* 0x9EC */ bool field_0x9ec;
132 /* 0x9ED */ bool mOrderNewEvt;
133 /* 0x9EE */ bool field_0x9ee;
134 /* 0x9EF */ u8 field_0x9ef;
135 /* 0x9F0 */ bool mIsDamaged;
136 /* 0x9F1 */ u8 field_0x9f1;
137 /* 0x9F2 */ bool mHide;
138 /* 0x9F3 */ u8 field_0x9f3;
139 /* 0x9F4 */ u8 mTwilight;
140 /* 0x9F5 */ u8 field_0x9f5;
141 /* 0x9F6 */ u8 field_0x9f6;
142 /* 0x9F8 */ dMsgFlow_c mFlow;
143 /* 0xA44 */ cBgS_GndChk mGndChk;
146
147public:
153
177
178 enum LookMode {
179 /* 0 */ LOOK_NONE,
180 /* 1 */ LOOK_RESET,
181 /* 2 */ LOOK_PLAYER,
183 /* 4 */ LOOK_ACTOR,
184 /* 5 */ LOOK_ATTN,
185 };
186
188 initialize();
189 }
190 BOOL execute();
191 int draw(BOOL, BOOL, f32, _GXColorS10*, BOOL);
193 dCcD_GObjInf*);
194 static void* srchAttnActor1(void*, void*);
195 static void* srchActor(void*, void*);
196
197 void initialize();
199 J3DAnmTexPattern* getTexPtrnAnmP(char*, int);
202 BOOL setMcaMorfAnm(J3DAnmTransformKey* i_anm, f32 i_rate, f32 i_morf, int i_attr,
203 int i_start, int i_end);
204 BOOL setBckAnm(J3DAnmTransform* i_bck, f32 i_rate, int i_attr, int i_start,
205 int i_end, bool i_modify);
206 BOOL setBtpAnm(J3DAnmTexPattern* i_btp, J3DModelData* i_modelData, f32 i_rate,
207 int i_attr);
208 BOOL setBtkAnm(J3DAnmTextureSRTKey* i_btk, J3DModelData* i_modelData, f32 i_rate,
209 int i_attr);
210 BOOL setBrkAnm(J3DAnmTevRegKey* i_brk, J3DModelData* i_modelData, f32 i_rate,
211 int i_attr);
212 void setEnvTevColor();
213 void setRoomNo();
219 void setLookatMtx(int, int*, f32);
221 void setDamage(int, int, int);
222 int ctrlMsgAnm(int&, int&, fopAc_ac_c*, BOOL);
223 void orderEvent(int, char*, u16, u16, u8, u16);
224 void changeEvent(char*, char*, u16, u16);
228 BOOL initTalk(int, fopAc_ac_c**);
229 BOOL talkProc(int*, BOOL, fopAc_ac_c**);
230 BOOL turn(s16, f32, int);
231 BOOL step(s16, int, int, int);
232 void setAngle(s16);
233 u8 getDistTableIdx(int, int);
234 fopAc_ac_c* getEvtAreaTagP(int, int);
236 int, BOOL);
242 void setHitodamaPrtcl();
243
244 virtual ~daNpcF_c() {}
245 virtual void setParam() {}
246 virtual BOOL main() { return TRUE; }
247 virtual BOOL ctrlBtk() { return FALSE; }
248 virtual void adjustShapeAngle() {}
249 virtual void setMtx();
250 virtual void setMtx2();
251 virtual void setAttnPos() {}
252 virtual void setCollisions() {}
253 virtual bool setExpressionAnm(int i_idx, bool i_modify) { return true; }
254 virtual bool setExpressionBtp(int i_idx) { return true; }
255 virtual void setExpression(int i_expression, f32 i_morf) {}
256 virtual void setMotionAnm(int i_idx, f32 i_morf) {}
257 virtual void setMotion(int i_motion, f32 i_morf, int i_restart) {}
258 virtual BOOL drawDbgInfo() { return TRUE; }
259 virtual void drawOtherMdls() {}
260
261 BOOL chkActorInSpeakArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) {
262 return chkActorInAttnArea(i_actorCheck, i_actorArea, attention_info.distances[fopAc_attn_SPEAK_e]);
263 }
267 BOOL chkActorInTalkArea(fopAc_ac_c* i_actorCheck, fopAc_ac_c* i_actorArea) {
268 return chkActorInAttnArea(i_actorCheck, i_actorArea, attention_info.distances[fopAc_attn_TALK_e]);
269 }
274 void setIntDemander(fopAc_ac_c* i_actor) { field_0x824.entry(i_actor); }
275 void setIntFlowNodeNo(int i_flowNodeNo) { mFlowNodeNo = i_flowNodeNo; }
276 void setCutType(int i_cutType) { mCutType = i_cutType; }
277 void onInterrupt(u8 param_0) { field_0x9ef = param_0; }
278 void onHide() { mHide = true; }
279 void offHide() { mHide = false; }
280
281 static dCcD_SrcGObjInf const mCcDObjInfo;
282 static dCcD_SrcCyl mCcDCyl;
283 static dCcD_SrcSph mCcDSph;
287 static char mFileNameBuf[0x15];
288};
289
290STATIC_ASSERT(sizeof(daNpcF_c) == 0xB48);
291
293private:
294 /* 0x0F4 */ mutable f32 field_0xF4;
295 /* 0x0F8 */ mutable f32 field_0xF8;
296 /* 0x0FC */ f32 mNowOffsetX;
297 /* 0x100 */ f32 mNowOffsetY;
298 /* 0x104 */ u8 mEyeMoveFlag;
299 /* 0x105 */ u8 mMorfFrm;
300
301public:
303 void initialize();
304 void calc(J3DMaterial*) const;
306 void setNowOffsetX(float i_nowOffsetX) { mNowOffsetX = i_nowOffsetX; }
307 void setNowOffsetY(float i_nowOffsetY) { mNowOffsetY = i_nowOffsetY; }
310};
311
313private:
314 /* 0x00 */ u16 mNurbs;
315 /* 0x02 */ u16 field_0x02;
316 /* 0x04 */ u8 mIsReversed;
317 /* 0x05 */ u8 mIsClosed;
318 /* 0x08 */ dPnt mPoints[96];
319
320public:
321 void initialize(dPath*, int);
322
324 initialize(NULL, 0);
325 }
326
327 virtual ~daNpcF_SPCurve_c() {}
328}; // Size: 0x60C
329
331protected:
332 /* 0x00 */ u16 mIdx;
333 /* 0x02 */ u8 mIsReversed;
334 /* 0x03 */ u8 mIsClosed;
335 /* 0x04 */ dPath* mPathInfo;
336 /* 0x08 */ f32 mRange;
337 /* 0x0C */ f32 mPosDst;
338 /* 0x10 */ f32 field_0x10;
339 /* 0x14 */ cXyz mPosition;
341
342public:
343 void initialize();
344 int setPathInfo(u8, s8, u8);
347 void reverse();
349 int getNextIdx();
350 int getBeforeIdx();
354 void setNextIdxDst(cXyz);
355
357 initialize();
358 }
359
360 virtual ~daNpcF_Path_c() {}
361
362 int getIdx() { return mIdx; };
363 void setIdx(int i_idx) { mIdx = i_idx; }
364 int getArg0() { return mPathInfo->m_points[mIdx].mArg0; }
365 u8 getArg0(int i_idx) { return mPathInfo->m_points[i_idx].mArg0; }
366 Vec getPntPos(int i_idx) { return mPathInfo->m_points[i_idx].m_position; }
368 BOOL chkReverse() { return mIsReversed == true; }
369 void onReverse() { mIsReversed = true; }
370 void offReverse() { mIsReversed = false; }
372 void setRange(f32 i_range) { mRange = i_range; }
373 int getNumPnts() { return mPathInfo->m_num; }
374#if DEBUG
375 void drawDbgInfoXyz();
376#endif
377}; // Size: 0x630
378
380private:
381 /* 0x00 */ cXyz mJointPos[4];
382 /* 0x30 */ cXyz* mAttnPos_p;
383 /* 0x34 */ csXyz mAngularMoveDis[4];
384 /* 0x4C */ csXyz mMinAngle[4];
385 /* 0x64 */ csXyz mMaxAngle[4];
386 /* 0x7C */ csXyz mRotAngle[4];
387 /* 0x94 */ bool field_0x94[4];
388 /* 0x98 vtable */
389
390public:
391 void initialize();
392 void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16,
393 cXyz*);
394 void calc(fopAc_ac_c*, Mtx, csXyz**, BOOL, int, BOOL);
395 void adjustMoveDisAngle(s16&, s16, s16, s16);
396 void initCalc(fopAc_ac_c*, Mtx, cXyz*, csXyz*, f32*, cXyz&, BOOL);
397 void update(cXyz*, csXyz*, f32*);
398 void calcMoveDisAngle(int, cXyz*, csXyz*, cXyz, int, BOOL);
399 void setRotAngle();
400 void clrRotAngle();
401
403 virtual ~daNpcF_Lookat_c() {}
404
406 void setAttnPos(cXyz* i_attnPos) { mAttnPos_p = i_attnPos; }
407};
408
410private:
411public:
413 virtual bool CreateHeap() { return true; }
414 virtual bool Create() { return true; }
415 virtual bool Execute(Mtx**) { return true; }
416 virtual bool Draw() { return true; }
417 virtual bool Delete() { return true; }
418 virtual bool IsDelete() { return true; }
419 virtual bool ToFore() { return true; }
420 virtual bool ToBack() { return true; }
421};
422
425 /* 0x04 */ f32 gravity;
426 /* 0x08 */ f32 scale;
428 /* 0x10 */ f32 weight;
429 /* 0x14 */ f32 height;
430 /* 0x18 */ f32 knee_length;
431 /* 0x1C */ f32 width;
441 /* 0x44 */ f32 morf_frame;
442 /* 0x48 */ s16 talk_distance;
443 /* 0x4A */ s16 talk_angle;
446 /* 0x50 */ f32 fov;
448 /* 0x58 */ f32 search_height;
449 /* 0x5C */ f32 search_depth;
450 /* 0x60 */ s16 attention_time;
451 /* 0x62 */ s16 damage_time;
453 /* 0x66 */ s16 motion;
454 /* 0x68 */ s16 look_mode;
455 /* 0x6A */ u8 debug_mode_ON;
456 /* 0x6B */ u8 debug_info_ON;
457};
458
459#endif /* D_A_NPC4 */
Definition J3DAnimation.h:672
Definition J3DAnimation.h:642
Definition J3DAnimation.h:578
Definition J3DAnimation.h:525
Definition J3DAnimation.h:504
Definition J3DAnimation.h:919
Definition J3DMaterialAnm.h:190
Definition J3DMaterial.h:16
Definition J3DModelData.h:17
Definition JORMContext.h:120
Definition c_bg_s_gnd_chk.h:8
Definition c_bg_s_poly_info.h:7
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_gnd_chk.h:7
Definition d_bg_s_lin_chk.h:9
Definition d_bg_s_acch.h:247
Definition d_cc_d.h:461
Definition d_cc_d.h:282
Definition d_cc_d.h:269
Definition d_msg_flow.h:49
Definition d_a_npc4.h:14
void entry(unsigned int)
Definition d_a_npc4.cpp:75
void initialize()
Definition d_a_npc4.cpp:67
fpc_ProcID mActorID
Definition d_a_npc4.h:16
virtual ~daNpcF_ActorMngr_c()
Definition d_a_npc4.h:29
fopAc_ac_c * getActorP()
Definition d_a_npc4.cpp:83
fpc_ProcID getPId()
Definition d_a_npc4.h:27
void remove()
Definition d_a_npc4.cpp:79
daNpcF_ActorMngr_c()
Definition d_a_npc4.h:19
Definition d_a_npc4.h:379
void calcMoveDisAngle(int, cXyz *, csXyz *, cXyz, int, BOOL)
Definition d_a_npc4.cpp:486
csXyz mMaxAngle[4]
Definition d_a_npc4.h:385
void clrRotAngle()
Definition d_a_npc4.cpp:553
bool field_0x94[4]
Definition d_a_npc4.h:387
daNpcF_Lookat_c()
Definition d_a_npc4.h:402
virtual ~daNpcF_Lookat_c()
Definition d_a_npc4.h:403
void adjustMoveDisAngle(s16 &, s16, s16, s16)
Definition d_a_npc4.cpp:397
void setRotAngle()
Definition d_a_npc4.cpp:538
cXyz mJointPos[4]
Definition d_a_npc4.h:381
csXyz mRotAngle[4]
Definition d_a_npc4.h:386
void setParam(f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, f32, s16, cXyz *)
Definition d_a_npc4.cpp:304
cXyz * getAttnPos()
Definition d_a_npc4.h:405
void setAttnPos(cXyz *i_attnPos)
Definition d_a_npc4.h:406
void calc(fopAc_ac_c *, Mtx, csXyz **, BOOL, int, BOOL)
Definition d_a_npc4.cpp:337
csXyz mAngularMoveDis[4]
Definition d_a_npc4.h:383
cXyz * mAttnPos_p
Definition d_a_npc4.h:382
csXyz mMinAngle[4]
Definition d_a_npc4.h:384
void initCalc(fopAc_ac_c *, Mtx, cXyz *, csXyz *, f32 *, cXyz &, BOOL)
Definition d_a_npc4.cpp:419
void initialize()
Definition d_a_npc4.cpp:291
void update(cXyz *, csXyz *, f32 *)
Definition d_a_npc4.cpp:465
Definition d_a_npc4.h:292
f32 mNowOffsetY
Definition d_a_npc4.h:297
daNpcF_MatAnm_c()
Definition d_a_npc4.h:302
void initialize()
Definition d_a_npc4.cpp:94
u8 mMorfFrm
Definition d_a_npc4.h:299
void calc(J3DMaterial *) const
Definition d_a_npc4.cpp:103
void offEyeMoveFlag()
Definition d_a_npc4.h:309
f32 mNowOffsetX
Definition d_a_npc4.h:296
u8 mEyeMoveFlag
Definition d_a_npc4.h:298
void setNowOffsetX(float i_nowOffsetX)
Definition d_a_npc4.h:306
void onEyeMoveFlag()
Definition d_a_npc4.h:308
f32 field_0xF4
Definition d_a_npc4.h:294
~daNpcF_MatAnm_c()
Definition d_a_npc4.h:305
void setNowOffsetY(float i_nowOffsetY)
Definition d_a_npc4.h:307
f32 field_0xF8
Definition d_a_npc4.h:295
Definition d_a_npc4.h:409
virtual bool CreateHeap()
Definition d_a_npc4.h:413
virtual bool IsDelete()
Definition d_a_npc4.h:418
virtual bool Create()
Definition d_a_npc4.h:414
virtual bool Draw()
Definition d_a_npc4.h:416
virtual bool ToBack()
Definition d_a_npc4.h:420
virtual bool ToFore()
Definition d_a_npc4.h:419
virtual bool Execute(Mtx **)
Definition d_a_npc4.h:415
virtual bool Delete()
Definition d_a_npc4.h:417
~daNpcF_MoveBgActor_c()
Definition d_a_npc4.h:412
Definition d_a_npc4.h:330
void setRange(f32 i_range)
Definition d_a_npc4.h:372
void initialize()
Definition d_a_npc4.cpp:150
void drawDbgInfoXyz()
Definition d_a_npc4.cpp:164
BOOL getBeforePos(cXyz &)
Definition d_a_npc4.cpp:247
BOOL setNextIdx()
Definition d_a_npc4.cpp:231
int getIdx()
Definition d_a_npc4.h:362
u8 mIsReversed
Definition d_a_npc4.h:333
f32 mPosDst
Definition d_a_npc4.h:337
void onReverse()
Definition d_a_npc4.h:369
int getBeforeIdx()
Definition d_a_npc4.cpp:241
void offReverse()
Definition d_a_npc4.h:370
int setPathInfo(u8, s8, u8)
Definition d_a_npc4.cpp:195
BOOL getDstPos(cXyz, cXyz &)
Definition d_a_npc4.cpp:266
int getNextIdx()
Definition d_a_npc4.cpp:235
void setIdx(int i_idx)
Definition d_a_npc4.h:363
BOOL chkClose()
Definition d_a_npc4.h:367
virtual ~daNpcF_Path_c()
Definition d_a_npc4.h:360
u8 getArg0(int i_idx)
Definition d_a_npc4.h:365
int getArg0()
Definition d_a_npc4.h:364
BOOL chkPassedDst(cXyz)
Definition d_a_npc4.cpp:219
cXyz mPosition
Definition d_a_npc4.h:339
f32 field_0x10
Definition d_a_npc4.h:338
BOOL chkPassed(cXyz)
Definition d_a_npc4.cpp:214
daNpcF_SPCurve_c mSPCurve
Definition d_a_npc4.h:340
BOOL chkReverse()
Definition d_a_npc4.h:368
BOOL getNextPos(cXyz &)
Definition d_a_npc4.cpp:256
daNpcF_Path_c()
Definition d_a_npc4.h:356
Vec getPntPos(int i_idx)
Definition d_a_npc4.h:366
u8 mIsClosed
Definition d_a_npc4.h:334
void reverse()
Definition d_a_npc4.cpp:223
dPath * getPathInfo()
Definition d_a_npc4.h:371
u16 mIdx
Definition d_a_npc4.h:332
dPath * mPathInfo
Definition d_a_npc4.h:335
f32 mRange
Definition d_a_npc4.h:336
void setNextIdxDst(cXyz)
Definition d_a_npc4.cpp:284
int getNumPnts()
Definition d_a_npc4.h:373
Definition d_a_npc4.h:312
virtual ~daNpcF_SPCurve_c()
Definition d_a_npc4.h:327
u8 mIsClosed
Definition d_a_npc4.h:317
void initialize(dPath *, int)
Definition d_a_npc4.cpp:132
u16 field_0x02
Definition d_a_npc4.h:315
dPnt mPoints[96]
Definition d_a_npc4.h:318
daNpcF_SPCurve_c()
Definition d_a_npc4.h:323
u16 mNurbs
Definition d_a_npc4.h:314
u8 mIsReversed
Definition d_a_npc4.h:316
Definition d_a_npc4.h:54
bool mOrderNewEvt
Definition d_a_npc4.h:132
u32 mAnmFlags
Definition d_a_npc4.h:107
void playExpressionAnm(daNpcF_c::daNpcF_anmPlayData ***)
Definition d_a_npc4.cpp:1075
bool mOrderSpeakEvt
Definition d_a_npc4.h:128
void setDamage(int, int, int)
Definition d_a_npc4.cpp:1218
int ctrlMsgAnm(int &, int &, fopAc_ac_c *, BOOL)
Definition d_a_npc4.cpp:1236
cXyz field_0x8c0
Definition d_a_npc4.h:73
virtual ~daNpcF_c()
Definition d_a_npc4.h:244
s16 field_0x992
Definition d_a_npc4.h:103
BOOL hitChk2(dCcD_Cyl *, BOOL, BOOL)
Definition d_a_npc4.cpp:1187
csXyz mCurAngle
Definition d_a_npc4.h:77
u8 getDistTableIdx(int, int)
Definition d_a_npc4.cpp:1501
s16 field_0x990
Definition d_a_npc4.h:102
virtual void setMotion(int i_motion, f32 i_morf, int i_restart)
Definition d_a_npc4.h:257
J3DAnmTexPattern * getTexPtrnAnmP(char *, int)
Definition d_a_npc4.cpp:897
cXyz mHeadPos
Definition d_a_npc4.h:76
bool field_0x9ec
Definition d_a_npc4.h:131
bool field_0x9eb
Definition d_a_npc4.h:130
u16 mMotionLoops
Definition d_a_npc4.h:124
int mTotalDamageTimer
Definition d_a_npc4.h:90
J3DAnmTevRegKey * getTevRegKeyAnmP(char *, int)
Definition d_a_npc4.cpp:907
f32 mTurnStepNum
Definition d_a_npc4.h:96
s16 mMotionPhase
Definition d_a_npc4.h:120
int mCutType
Definition d_a_npc4.h:84
int mStaffID
Definition d_a_npc4.h:83
static dCcD_SrcCyl mCcDCyl
Definition d_a_npc4.h:710
u8 field_0x9f6
Definition d_a_npc4.h:141
s16 field_0x998
Definition d_a_npc4.h:106
void setRoomNo()
Definition d_a_npc4.cpp:947
f32 mExpressionMorfOverride
Definition d_a_npc4.h:97
void setIntFlowNodeNo(int i_flowNodeNo)
Definition d_a_npc4.h:275
int mAttnIdx
Definition d_a_npc4.h:85
s16 mTurnStartAngle
Definition d_a_npc4.h:104
static char mFileNameBuf[0x15]
Definition d_a_npc4.h:287
u8 mTwilight
Definition d_a_npc4.h:139
mDoExt_btkAnm mBtkAnm
Definition d_a_npc4.h:59
BOOL step(s16, int, int, int)
Definition d_a_npc4.cpp:1457
virtual void adjustShapeAngle()
Definition d_a_npc4.h:248
BOOL talkProc(int *, BOOL, fopAc_ac_c **)
Definition d_a_npc4.cpp:1388
BOOL setBckAnm(J3DAnmTransform *i_bck, f32 i_rate, int i_attr, int i_start, int i_end, bool i_modify)
Definition d_a_npc4.cpp:920
f32 mExpressionMorf
Definition d_a_npc4.h:98
BOOL chkActorInTalkArea(fopAc_ac_c *i_actorCheck, fopAc_ac_c *i_actorArea)
Definition d_a_npc4.h:267
bool mIsDamaged
Definition d_a_npc4.h:135
virtual BOOL ctrlBtk()
Definition d_a_npc4.h:247
bool field_0x9ee
Definition d_a_npc4.h:133
u8 field_0x9ef
Definition d_a_npc4.h:134
virtual void setExpression(int i_expression, f32 i_morf)
Definition d_a_npc4.h:255
BOOL chkPlayerInTalkArea(fopAc_ac_c *i_actor)
Definition d_a_npc4.h:270
static dCcD_SrcSph mCcDSph
Definition d_a_npc4.h:719
dBgS_AcchCir mAcchCir
Definition d_a_npc4.h:63
AnmFlags
Definition d_a_npc4.h:154
@ ANM_FLAG_400
Definition d_a_npc4.h:165
@ ANM_PAUSE_MORF
Definition d_a_npc4.h:155
@ ANM_EXPRESSION_FLAGS
Definition d_a_npc4.h:172
@ ANM_PLAY_BTP
Definition d_a_npc4.h:164
@ ANM_FLAG_800
Definition d_a_npc4.h:166
@ ANM_PAUSE_BPK
Definition d_a_npc4.h:168
@ ANM_PLAY_BCK
Definition d_a_npc4.h:163
@ ANM_PAUSE_ALL
Definition d_a_npc4.h:174
@ ANM_PLAY_BTK
Definition d_a_npc4.h:159
@ ANM_PAUSE_BRK
Definition d_a_npc4.h:157
@ ANM_PAUSE_BTK
Definition d_a_npc4.h:156
@ ANM_PAUSE_EXPRESSION
Definition d_a_npc4.h:167
@ ANM_PAUSE_BCK
Definition d_a_npc4.h:161
@ ANM_PLAY_BRK
Definition d_a_npc4.h:160
@ ANM_PAUSE_BTP
Definition d_a_npc4.h:162
@ ANM_PLAY_MORF
Definition d_a_npc4.h:158
@ ANM_PLAY_BPK
Definition d_a_npc4.h:169
@ ANM_MOTION_FLAGS
Definition d_a_npc4.h:170
csXyz mHeadAngle
Definition d_a_npc4.h:80
f32 field_0x984[3]
Definition d_a_npc4.h:101
int mDamageTimer
Definition d_a_npc4.h:89
int mTurnMode
Definition d_a_npc4.h:95
daNpcF_c()
Definition d_a_npc4.h:187
s16 field_0x9d0
Definition d_a_npc4.h:115
cXyz field_0x884
Definition d_a_npc4.h:68
s16 mExpression
Definition d_a_npc4.h:122
u8 field_0x9f1
Definition d_a_npc4.h:136
cXyz field_0x8d8
Definition d_a_npc4.h:75
BOOL execute()
Definition d_a_npc4.cpp:561
u32 mPolySound
Definition d_a_npc4.h:111
void onInterrupt(u8 param_0)
Definition d_a_npc4.h:277
virtual void drawOtherMdls()
Definition d_a_npc4.h:259
BOOL turn(s16, f32, int)
Definition d_a_npc4.cpp:1423
fopAc_ac_c * getAttnActorP(BOOL, fpcLyIt_JudgeFunc, f32, f32, f32, f32, s16, int, BOOL)
Definition d_a_npc4.cpp:1521
cXyz field_0x89c
Definition d_a_npc4.h:70
cXyz field_0x8a8
Definition d_a_npc4.h:71
BOOL chkPointInArea(cXyz, cXyz, f32, f32, f32, s16)
Definition d_a_npc4.cpp:1630
static void * srchAttnActor1(void *, void *)
Definition d_a_npc4.cpp:732
s8 mReverb
Definition d_a_npc4.h:127
BOOL chkActorInArea(fopAc_ac_c *, cXyz, cXyz, s16)
Definition d_a_npc4.cpp:1330
dBgS_LinChk field_0xad4
Definition d_a_npc4.h:145
fopAc_ac_c * getEvtAreaTagP(int, int)
Definition d_a_npc4.cpp:1505
void setAngle(s16)
Definition d_a_npc4.cpp:1493
int mAttnActorTimer[5]
Definition d_a_npc4.h:87
f32 mMotionMorfOverride
Definition d_a_npc4.h:99
dMsgFlow_c mFlow
Definition d_a_npc4.h:142
cXyz field_0x9b8
Definition d_a_npc4.h:113
virtual BOOL drawDbgInfo()
Definition d_a_npc4.h:258
BOOL setBrkAnm(J3DAnmTevRegKey *i_brk, J3DModelData *i_modelData, f32 i_rate, int i_attr)
Definition d_a_npc4.cpp:937
virtual void setParam()
Definition d_a_npc4.h:245
BOOL chkActorInSpeakArea(fopAc_ac_c *i_actorCheck, fopAc_ac_c *i_actorArea)
Definition d_a_npc4.h:261
virtual void setMotionAnm(int i_idx, f32 i_morf)
Definition d_a_npc4.h:256
static fopAc_ac_c * mFindActorPList[100]
Definition d_a_npc4.h:284
void offHide()
Definition d_a_npc4.h:279
s16 mExpressionPhase
Definition d_a_npc4.h:118
cXyz getAttentionPos(fopAc_ac_c *)
Definition d_a_npc4.cpp:1655
s16 mExpressionPrevPhase
Definition d_a_npc4.h:119
csXyz field_0x908[3]
Definition d_a_npc4.h:81
BOOL chkPlayerInSpeakArea(fopAc_ac_c *i_actor)
Definition d_a_npc4.h:264
u16 mExpressionLoops
Definition d_a_npc4.h:125
virtual bool setExpressionBtp(int i_idx)
Definition d_a_npc4.h:254
LookMode
Definition d_a_npc4.h:178
@ LOOK_ACTOR
Definition d_a_npc4.h:183
@ LOOK_NONE
Definition d_a_npc4.h:179
@ LOOK_PLAYER
Definition d_a_npc4.h:181
@ LOOK_ATTN
Definition d_a_npc4.h:184
@ LOOK_RESET
Definition d_a_npc4.h:180
@ LOOK_PLAYER_TALK
Definition d_a_npc4.h:182
void setCutType(int i_cutType)
Definition d_a_npc4.h:276
static void * srchActor(void *, void *)
Definition d_a_npc4.cpp:749
J3DAnmTextureSRTKey * getTexSRTKeyAnmP(char *, int)
Definition d_a_npc4.cpp:902
static void tgHitCallBack(fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
Definition d_a_npc4.cpp:698
bool field_0x9ea
Definition d_a_npc4.h:129
u32 field_0x9a4
Definition d_a_npc4.h:109
cXyz field_0x890
Definition d_a_npc4.h:69
cXyz field_0x9c4
Definition d_a_npc4.h:114
BOOL chkEndAnm(f32)
Definition d_a_npc4.cpp:953
cXyz mLookPos
Definition d_a_npc4.h:67
void initialize()
Definition d_a_npc4.cpp:803
void changeEvent(char *, char *, u16, u16)
Definition d_a_npc4.cpp:1302
cXyz mLookatPos[3]
Definition d_a_npc4.h:66
BOOL chkActorInSight(fopAc_ac_c *, f32)
Definition d_a_npc4.cpp:1315
int mMsgTimer
Definition d_a_npc4.h:88
u32 mHitodamaParticleKey[2]
Definition d_a_npc4.h:110
static s32 mFindCount
Definition d_a_npc4.h:285
s16 mMotion
Definition d_a_npc4.h:123
csXyz mOldAngle
Definition d_a_npc4.h:78
virtual void setCollisions()
Definition d_a_npc4.h:252
csXyz mEyeAngle
Definition d_a_npc4.h:79
dCcD_Stts mCcStts
Definition d_a_npc4.h:62
static s16 mSrchActorName
Definition d_a_npc4.h:286
daNpcF_ActorMngr_c mAttnActor[5]
Definition d_a_npc4.h:65
void playMotionAnm(daNpcF_c::daNpcF_anmPlayData ***)
Definition d_a_npc4.cpp:1112
virtual void setAttnPos()
Definition d_a_npc4.h:251
int mTurnAmount
Definition d_a_npc4.h:94
BOOL chkFindPlayer2(BOOL, s16)
Definition d_a_npc4.cpp:1665
BOOL initTalk(int, fopAc_ac_c **)
Definition d_a_npc4.cpp:1379
BOOL setBtpAnm(J3DAnmTexPattern *i_btp, J3DModelData *i_modelData, f32 i_rate, int i_attr)
Definition d_a_npc4.cpp:927
mDoExt_btpAnm mBtpAnm
Definition d_a_npc4.h:58
int mBtpTimer
Definition d_a_npc4.h:93
s16 mMotionPrevPhase
Definition d_a_npc4.h:121
s16 mTurnTargetAngle
Definition d_a_npc4.h:105
BOOL checkHide()
Definition d_a_npc4.h:273
s16 mEventIdx
Definition d_a_npc4.h:117
void onHide()
Definition d_a_npc4.h:278
mDoExt_brkAnm mBrkAnm
Definition d_a_npc4.h:60
void setEnvTevColor()
Definition d_a_npc4.cpp:942
f32 mGroundH
Definition d_a_npc4.h:100
daNpcF_ActorMngr_c field_0x824
Definition d_a_npc4.h:64
mDoExt_bckAnm mBckAnm
Definition d_a_npc4.h:57
void setHitodamaPrtcl()
Definition d_a_npc4.cpp:1701
virtual void setMtx2()
Definition d_a_npc4.cpp:780
virtual BOOL main()
Definition d_a_npc4.h:246
int draw(BOOL, BOOL, f32, _GXColorS10 *, BOOL)
Definition d_a_npc4.cpp:617
BOOL chkActorInSight2(fopAc_ac_c *, f32, s16)
Definition d_a_npc4.cpp:1614
virtual void setMtx()
Definition d_a_npc4.cpp:763
bool mHide
Definition d_a_npc4.h:137
s16 field_0x9d2
Definition d_a_npc4.h:116
J3DAnmTransformKey * getTrnsfrmKeyAnmP(char *, int)
Definition d_a_npc4.cpp:892
u8 field_0x9f5
Definition d_a_npc4.h:140
int mAttnChangeTimer
Definition d_a_npc4.h:86
dBgS_ObjAcch mAcch
Definition d_a_npc4.h:61
void orderEvent(int, char *, u16, u16, u8, u16)
Definition d_a_npc4.cpp:1281
BOOL setBtkAnm(J3DAnmTextureSRTKey *i_btk, J3DModelData *i_modelData, f32 i_rate, int i_attr)
Definition d_a_npc4.cpp:932
u8 field_0x9f3
Definition d_a_npc4.h:138
u16 mOrderEvtNo
Definition d_a_npc4.h:126
static dCcD_SrcGObjInf const mCcDObjInfo
Definition d_a_npc4.h:2153
void setLookatMtx(int, int *, f32)
Definition d_a_npc4.cpp:1149
int mEventTimer
Definition d_a_npc4.h:92
cXyz field_0x8b4
Definition d_a_npc4.h:72
virtual bool setExpressionAnm(int i_idx, bool i_modify)
Definition d_a_npc4.h:253
int field_0x95c
Definition d_a_npc4.h:91
csXyz mLookatAngle[3]
Definition d_a_npc4.h:82
cBgS_GndChk mGndChk
Definition d_a_npc4.h:143
BOOL setMcaMorfAnm(J3DAnmTransformKey *i_anm, f32 i_rate, f32 i_morf, int i_attr, int i_start, int i_end)
Definition d_a_npc4.cpp:912
void setIntDemander(fopAc_ac_c *i_actor)
Definition d_a_npc4.h:274
BOOL chkActorInAttnArea(fopAc_ac_c *, fopAc_ac_c *, int)
Definition d_a_npc4.cpp:1359
cXyz field_0x8cc
Definition d_a_npc4.h:74
mDoExt_McaMorfSO * mAnm_p
Definition d_a_npc4.h:56
int mFlowNodeNo
Definition d_a_npc4.h:112
u32 mShadowKey
Definition d_a_npc4.h:108
dBgS_GndChk field_0xa80
Definition d_a_npc4.h:144
BOOL playAllAnm()
Definition d_a_npc4.cpp:988
Definition f_op_actor.h:230
actor_attention_types attention_info
Definition f_op_actor.h:267
Definition m_Do_ext.h:331
Definition m_Do_ext.h:151
Definition m_Do_ext.h:94
Definition m_Do_ext.h:65
Definition m_Do_ext.h:182
void daNpcF_commonGenMessage(JORMContext *, daNpcF_HIOParam *)
Definition d_a_npc4.cpp:2025
void daNpcF_commonListenPropertyEvent(char *, int *, daNpcF_HIOParam *)
Definition d_a_npc4.cpp:1955
BOOL daNpcF_chkTmpBit(u32 i_idx)
Definition d_a_npc4.cpp:1858
void daNpcF_clearMessageTmpBit()
Definition d_a_npc4.cpp:2120
s16 daNpcF_getGroundAngle(cBgS_PolyInfo *, s16)
Definition d_a_npc4.cpp:1835
void daNpcF_onEvtBit(u32 i_idx)
Definition d_a_npc4.cpp:1854
BOOL daNpcF_chkEvtBit(u32 i_idx)
Definition d_a_npc4.cpp:1850
void daNpcF_onTmpBit(u32 i_idx)
Definition d_a_npc4.cpp:1862
BOOL daNpcF_chkPointInArea(cXyz, cXyz, cXyz, s16)
Definition d_a_npc4.cpp:1921
void daNpcF_offTmpBit(u32 i_idx)
Definition d_a_npc4.cpp:1866
BOOL daNpcF_pntVsLineSegmentLengthSquare2D(f32 i_pntX, f32 i_pntZ, f32 i_startX, f32 i_startZ, f32 i_endX, f32 i_endZ, f32 *o_projX, f32 *o_projZ, f32 *o_dist2)
Definition d_a_npc4.cpp:1730
BOOL daNpcF_chkDoBtnEqSpeak(fopAc_ac_c *i_actor_p)
Definition d_a_npc4.cpp:1889
STATIC_ASSERT(sizeof(daNpcF_c)==0xB48)
BOOL daNpcF_chkPassed(cXyz i_pos, dPnt *i_points, u16 i_idx, u16 i_num, BOOL i_isClosed, BOOL i_isReversed)
Definition d_a_npc4.cpp:1763
int daNpcF_getPlayerInfoFromPlayerList(int param_0, int i_roomNo, cXyz &param_2, csXyz &param_3)
Definition d_a_npc4.cpp:1870
u8 daNpcF_getDistTableIdx(int param_0, int param_1)
Definition d_a_npc4.cpp:1950
daPy_py_c * daPy_getPlayerActorClass()
Definition d_a_player.h:1260
BOOL dComIfGs_wolfeye_effect_check()
Definition d_com_inf_game.cpp:2594
BOOL dPath_ChkClose(const dPath *i_path)
Definition d_path.h:28
f32 Mtx[3][4]
Definition mtx.h:25
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
@ fopAc_attn_SPEAK_e
Definition f_op_actor.h:96
@ fopAc_attn_TALK_e
Definition f_op_actor.h:87
unsigned int fpc_ProcID
Definition f_pc_base.h:10
void *(* fpcLyIt_JudgeFunc)(void *, void *)
Definition f_pc_layer_iter.h:14
Definition mtx.h:13
Definition GXStruct.h:34
u8 distances[fopAc_attn_MAX_e]
Definition f_op_actor.h:212
Definition c_xyz.h:7
Definition d_cc_d.h:104
Definition d_cc_d.h:87
Definition d_cc_d.h:94
Definition d_path.h:18
u16 m_num
Definition d_path.h:19
dPnt * m_points
Definition d_path.h:25
Definition d_path.h:10
Vec m_position
Definition d_path.h:15
u8 mArg0
Definition d_path.h:14
Definition d_a_npc4.h:423
f32 body_angleX_min
Definition d_a_npc4.h:433
f32 search_distance
Definition d_a_npc4.h:447
s16 damage_time
Definition d_a_npc4.h:451
f32 head_angleX_max
Definition d_a_npc4.h:436
f32 head_angleX_min
Definition d_a_npc4.h:437
s16 look_mode
Definition d_a_npc4.h:454
f32 attention_offset
Definition d_a_npc4.h:424
f32 body_angleY_min
Definition d_a_npc4.h:435
f32 fov
Definition d_a_npc4.h:446
f32 head_angleY_min
Definition d_a_npc4.h:439
s16 face_expression
Definition d_a_npc4.h:452
f32 gravity
Definition d_a_npc4.h:425
s16 attention_angle
Definition d_a_npc4.h:445
f32 body_angleX_max
Definition d_a_npc4.h:432
s16 attention_distance
Definition d_a_npc4.h:444
f32 search_height
Definition d_a_npc4.h:448
f32 morf_frame
Definition d_a_npc4.h:441
s16 talk_angle
Definition d_a_npc4.h:443
f32 neck_rotation_ratio
Definition d_a_npc4.h:440
f32 width
Definition d_a_npc4.h:431
f32 real_shadow_size
Definition d_a_npc4.h:427
f32 body_angleY_max
Definition d_a_npc4.h:434
s16 motion
Definition d_a_npc4.h:453
s16 attention_time
Definition d_a_npc4.h:450
f32 scale
Definition d_a_npc4.h:426
f32 weight
Definition d_a_npc4.h:428
f32 height
Definition d_a_npc4.h:429
s16 talk_distance
Definition d_a_npc4.h:442
u8 debug_mode_ON
Definition d_a_npc4.h:455
f32 knee_length
Definition d_a_npc4.h:430
f32 search_depth
Definition d_a_npc4.h:449
u8 debug_info_ON
Definition d_a_npc4.h:456
f32 head_angleY_max
Definition d_a_npc4.h:438
Definition d_a_npc4.h:148
f32 morf
Definition d_a_npc4.h:150
u16 idx
Definition d_a_npc4.h:149
int numLoops
Definition d_a_npc4.h:151