Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_ins.h
Go to the documentation of this file.
1#ifndef D_A_NPC_INS_H
2#define D_A_NPC_INS_H
3
4#include "d/actor/d_a_npc4.h"
5
17 /* 0x70 */ f32 walk_speed; // 歩行速度 - Walking Speed
18};
19
23
25public:
26 virtual ~daNpcIns_Param_c() {}
27
28 static daNpcIns_HIOParam const m;
29};
30
37
38class daNpcIns_c : public daNpcF_c {
39public:
40 typedef int (daNpcIns_c::*actionFunc)(void*);
41 typedef BOOL (daNpcIns_c::*eventFunc)(int);
42
43 daNpcIns_c();
46 int CreateHeap();
47 int Delete();
48 int Execute();
49 int Draw();
51 static int createHeapCallBack(fopAc_ac_c*);
52 static int ctrlJointCallBack(J3DJoint*, int);
53 bool setExpressionAnm(int, bool);
54 bool setExpressionBtp(int);
55 void setMotionAnm(int, f32);
56 void reset();
57 int waitShop(void*);
58 void setMotion(int, f32, int);
59 void setExpression(int, f32);
60 int waitPresent(void*);
61 int waitOutSide1(void*);
62 int waitOutSide2(void*);
63 int goHome(void*);
64 int talk(void*);
65 int demo(void*);
66 bool isInsectComplete();
68 void setWaitAction();
69 bool setPath(int);
70 bool checkPoint(cXyz&, f32);
71 bool setNextPoint();
72 inline void getTargetPoint(int, Vec*);
73 void pathMoveF();
74 inline void setParam();
75 inline BOOL main();
76 inline void playMotion();
77 inline BOOL ctrlBtk();
78 inline void setAttnPos();
79 inline void lookat();
80 inline void setMtx();
81 inline int drawDbgInfo();
82
83 int getStartTime() { return fopAcM_GetParam(this) & 0xFF; }
84 int getEndTime() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
85 int getTimeHour() { return dKy_getdaytime_hour(); }
87 int getTime() { return getTimeMinute() + getTimeHour() * 60; }
89 int getPathID1() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
90 int getPathID2() { return fopAcM_GetParam(this) >> 24; }
92 inline void waitEventMng();
93 inline BOOL step(s16, int);
94 void setLookMode(int i_lookMode) { if (i_lookMode >= 0 && i_lookMode < 4 && i_lookMode != mLookMode) mLookMode = i_lookMode; }
95 inline BOOL chkFindPlayer();
96 inline void checkPlayerSearch();
97 bool isInsect(int type) {
98 bool rv = false;
99
100 if (type >= fpcNm_ITEM_M_BEETLE && type <= fpcNm_ITEM_F_MAYFLY) {
101 rv = true;
102 }
103
104 return rv;
105 }
108 inline void setExpressionTalkAfter();
109 inline void playExpression();
111
112 static eventFunc mEvtSeqList[1];
113
114private:
115 /* 0xB48 */ Z2Creature mSound;
117 /* 0xBDC */ J3DModel* mpKagoModel;
121 /* 0xC88 */ daNpcIns_HIO_c* mHIO;
122 /* 0xC8C */ dCcD_Cyl mCyl;
123 /* 0xDC8 */ actionFunc mAction;
126 /* 0xDF8 */ fpc_ProcID mItemID;
127 /* 0xDFC */ int field_0xdfc;
128 /* 0xE00 */ int mRndValue;
129 /* 0xE04 */ dPath* mPath;
130 /* 0xE08 */ int mPntIndex;
131 /* 0xE0C */ f32 field_0xe0c;
132 /* 0xE10 */ f32 mCurrentPosY;
133 /* 0xE14 */ s16 field_0xe14;
134 /* 0xE16 */ s16 field_0xe16;
135 /* 0xE18 */ s16 mInsectMsgNo;
136 /* 0xE1A */ s16 mLookMode;
137 /* 0xE1C */ u16 mGoHomeTime;
138 /* 0xE1E */ u16 mMode;
139 /* 0xE20 */ u8 mOrderSpeakEvent;
140 /* 0xE21 */ u8 mType;
141};
142
143STATIC_ASSERT(sizeof(daNpcIns_c) == 0xe24);
144
145#endif /* D_A_NPC_INS_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition Z2Creature.h:7
Definition d_cc_d.h:461
Definition d_a_npc4.h:14
Definition d_a_npc4.h:379
Definition d_a_npc4.h:292
Definition d_a_npc4.h:54
Definition d_a_npc_ins.h:20
daNpcIns_HIOParam param
Definition d_a_npc_ins.h:21
Definition d_a_npc_ins.h:24
virtual ~daNpcIns_Param_c()
Definition d_a_npc_ins.h:26
static daNpcIns_HIOParam const m
Definition d_a_npc_ins.h:333
Agitha.
Definition d_a_npc_ins.h:38
actionFunc mAction
Definition d_a_npc_ins.h:123
int Delete()
Definition d_a_npc_ins.cpp:513
void waitEventMng()
Definition d_a_npc_ins.cpp:1055
s16 mInsectMsgNo
Definition d_a_npc_ins.h:135
u16 mMode
Definition d_a_npc_ins.h:138
int getEndTime()
Definition d_a_npc_ins.h:84
int getPathID1()
Definition d_a_npc_ins.h:89
void setAttnPos()
Definition d_a_npc_ins.cpp:921
int getTimeHour()
Definition d_a_npc_ins.h:85
u8 mOrderSpeakEvent
Definition d_a_npc_ins.h:139
cPhs__Step Create()
Definition d_a_npc_ins.cpp:370
BOOL main()
Definition d_a_npc_ins.cpp:708
void checkPlayerSearch()
Definition d_a_npc_ins.cpp:1128
int waitOutSide1(void *)
Definition d_a_npc_ins.cpp:1267
void reset()
Definition d_a_npc_ins.cpp:854
void setParam()
Definition d_a_npc_ins.cpp:689
s16 field_0xe16
Definition d_a_npc_ins.h:134
bool setPath(int)
Definition d_a_npc_ins.cpp:1705
int Draw()
Definition d_a_npc_ins.cpp:523
J3DModel * mpUmbrellaModel
Definition d_a_npc_ins.h:116
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_ins.cpp:544
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_ins.cpp:579
int Execute()
Definition d_a_npc_ins.cpp:518
bool setNextPoint()
Definition d_a_npc_ins.cpp:1732
daNpcIns_c()
Definition d_a_npc_ins.cpp:294
bool isInsectComplete()
Definition d_a_npc_ins.cpp:1571
BOOL(daNpcIns_c::*) eventFunc(int)
Definition d_a_npc_ins.h:41
s16 getInsectMessageNo(int type)
Definition d_a_npc_ins.h:106
int waitOutSide2(void *)
Definition d_a_npc_ins.cpp:1316
int getTime()
Definition d_a_npc_ins.h:87
BOOL chkAction(actionFunc action)
Definition d_a_npc_ins.h:110
int waitPresent(void *)
Definition d_a_npc_ins.cpp:1211
Z2Creature mSound
Definition d_a_npc_ins.h:115
int waitShop(void *)
Definition d_a_npc_ins.cpp:1138
void setMotionAnm(int, f32)
Definition d_a_npc_ins.cpp:826
u8 mType
Definition d_a_npc_ins.h:140
int drawDbgInfo()
Definition d_a_npc_ins.cpp:704
BOOL setAction(actionFunc)
Definition d_a_npc_ins.cpp:1037
dCcD_Cyl mCyl
Definition d_a_npc_ins.h:122
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_ins.h:118
void setExpressionTalkAfter()
Definition d_a_npc_ins.cpp:1412
fpc_ProcID mItemID
Definition d_a_npc_ins.h:126
s16 field_0xe14
Definition d_a_npc_ins.h:133
f32 mCurrentPosY
Definition d_a_npc_ins.h:132
daNpcIns_HIO_c * mHIO
Definition d_a_npc_ins.h:121
daNpcF_Lookat_c mLookat
Definition d_a_npc_ins.h:119
s16 getMessageNo()
Definition d_a_npc_ins.h:88
int talk(void *)
Definition d_a_npc_ins.cpp:1436
~daNpcIns_c()
Definition d_a_npc_ins.cpp:296
void getTargetPoint(int, Vec *)
Definition d_a_npc_ins.cpp:1747
static eventFunc mEvtSeqList[1]
Definition d_a_npc_ins.h:290
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_ins.h:120
bool checkPoint(cXyz &, f32)
Definition d_a_npc_ins.cpp:1717
int mPntIndex
Definition d_a_npc_ins.h:130
int demo(void *)
Definition d_a_npc_ins.cpp:1525
int getStartTime()
Definition d_a_npc_ins.h:83
void setLookMode(int i_lookMode)
Definition d_a_npc_ins.h:94
J3DModel * mpKagoModel
Definition d_a_npc_ins.h:117
actionFunc mPrevAction
Definition d_a_npc_ins.h:124
BOOL ctrlBtk()
Definition d_a_npc_ins.cpp:904
void setMtx()
Definition d_a_npc_ins.cpp:1016
void pathMoveF()
Definition d_a_npc_ins.cpp:1753
bool isInsect(int type)
Definition d_a_npc_ins.h:97
void playMotion()
Definition d_a_npc_ins.cpp:636
void playExpression()
Definition d_a_npc_ins.cpp:596
void setExpression(int, f32)
Definition d_a_npc_ins.cpp:1202
request_of_phase_process_class mPhases[3]
Definition d_a_npc_ins.h:125
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_ins.cpp:583
int field_0xdfc
Definition d_a_npc_ins.h:127
int CreateHeap()
Definition d_a_npc_ins.cpp:444
f32 field_0xe0c
Definition d_a_npc_ins.h:131
const insect_param_data & getInsectParamData(int)
Definition d_a_npc_ins.cpp:1583
int(daNpcIns_c::*) actionFunc(void *)
Definition d_a_npc_ins.h:40
u32 getInsectEvtBitNo(int type)
Definition d_a_npc_ins.h:107
void setWaitAction()
Definition d_a_npc_ins.cpp:1689
int getTimeMinute()
Definition d_a_npc_ins.h:86
int getPathID2()
Definition d_a_npc_ins.h:90
BOOL step(s16, int)
Definition d_a_npc_ins.cpp:1071
void setMotion(int, f32, int)
Definition d_a_npc_ins.cpp:1177
s16 mLookMode
Definition d_a_npc_ins.h:136
int mRndValue
Definition d_a_npc_ins.h:128
void lookat()
Definition d_a_npc_ins.cpp:957
BOOL chkFindPlayer()
Definition d_a_npc_ins.cpp:1105
u16 mGoHomeTime
Definition d_a_npc_ins.h:137
bool setExpressionAnm(int, bool)
Definition d_a_npc_ins.cpp:725
bool setExpressionBtp(int)
Definition d_a_npc_ins.cpp:802
dPath * mPath
Definition d_a_npc_ins.h:129
int goHome(void *)
Definition d_a_npc_ins.cpp:1347
Definition f_op_actor.h:230
csXyz shape_angle
Definition f_op_actor.h:252
Definition m_Do_hostIO.h:27
static void action(b_bh_class *i_this)
Definition d_a_b_bh.cpp:1017
STATIC_ASSERT(sizeof(daNpcIns_c)==0xe24)
int dKy_getdaytime_hour()
Definition d_kankyo.cpp:1711
int dKy_getdaytime_minute()
Definition d_kankyo.cpp:1716
int BOOL
Definition types.h:33
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
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
unsigned int fpc_ProcID
Definition f_pc_base.h:10
@ fpcNm_ITEM_F_MAYFLY
Definition f_pc_name.h:227
@ fpcNm_ITEM_M_BEETLE
Definition f_pc_name.h:204
s16 x
Definition c_sxyz.h:7
Definition mtx.h:13
Definition c_xyz.h:7
Definition d_path.h:18
Definition d_a_npc4.h:423
Definition d_a_npc_ins.h:15
daNpcF_HIOParam common
Definition d_a_npc_ins.h:16
f32 walk_speed
Definition d_a_npc_ins.h:17
Definition d_a_npc_ins.h:31
int evt_bit_no
Definition d_a_npc_ins.h:32
s16 msg_no
Definition d_a_npc_ins.h:33
u8 field_0x7
Definition d_a_npc_ins.h:35
u8 field_0x6
Definition d_a_npc_ins.h:34
Definition c_phase.h:17