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
8 /* 0x70 */ f32 walk_speed; // 歩行速度 - Walking Speed
9};
10
12public:
13 virtual ~daNpcIns_Param_c() {}
14
15 static daNpcIns_HIOParam const m;
16};
17
18#if DEBUG
20public:
22
24
26};
27
28#define NPC_INS_HIO_CLASS daNpcIns_HIO_c
29#else
30#define NPC_INS_HIO_CLASS daNpcIns_Param_c
31#endif
32
39
48class daNpcIns_c : public daNpcF_c {
49public:
50 typedef int (daNpcIns_c::*actionFunc)(void*);
51 typedef BOOL (daNpcIns_c::*eventFunc)(int);
52
53 daNpcIns_c();
56 int CreateHeap();
57 int Delete();
58 int Execute();
59 int Draw();
61 static int createHeapCallBack(fopAc_ac_c*);
62 static int ctrlJointCallBack(J3DJoint*, int);
63 bool setExpressionAnm(int, bool);
64 bool setExpressionBtp(int);
65 void setMotionAnm(int, f32);
66 void reset();
67 int waitShop(void*);
68 void setMotion(int, f32, int);
69 void setExpression(int, f32);
70 int waitPresent(void*);
71 int waitOutSide1(void*);
72 int waitOutSide2(void*);
73 int goHome(void*);
74 int talk(void*);
75 int demo(void*);
76 bool isInsectComplete();
78 void setWaitAction();
79 bool setPath(int);
80 bool checkPoint(cXyz&, f32);
81 bool setNextPoint();
82 inline void getTargetPoint(int, Vec*);
83 void pathMoveF();
84 inline void setParam();
85 inline BOOL main();
86 inline void playMotion();
87 inline BOOL ctrlBtk();
88 inline void setAttnPos();
89 inline void lookat();
90 inline void setMtx();
91 inline int drawDbgInfo();
92
93 int getStartTime() { return fopAcM_GetParam(this) & 0xFF; }
94 int getEndTime() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
95 int getTimeHour() { return dKy_getdaytime_hour(); }
97 int getTime() { return getTimeMinute() + getTimeHour() * 60; }
99 int getPathID1() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
100 int getPathID2() { return fopAcM_GetParam(this) >> 24; }
101 inline BOOL setAction(actionFunc);
102 inline void waitEventMng();
103 inline BOOL step(s16, int);
104 void setLookMode(int i_lookMode) { if (i_lookMode >= 0 && i_lookMode < 4 && i_lookMode != mLookMode) mLookMode = i_lookMode; }
105 inline BOOL chkFindPlayer();
106 inline void checkPlayerSearch();
107 bool isInsect(int type) {
108 bool rv = false;
109
110 if (type >= fpcNm_ITEM_M_BEETLE && type <= fpcNm_ITEM_F_MAYFLY) {
111 rv = true;
112 }
113
114 return rv;
115 }
118 inline void setExpressionTalkAfter();
119 inline void playExpression();
121
122 static eventFunc mEvtSeqList[1];
123
124private:
125 /* 0xB48 */ Z2Creature mSound;
127 /* 0xBDC */ J3DModel* mpKagoModel;
131 /* 0xC88 */ NPC_INS_HIO_CLASS* mpHIO;
132 /* 0xC8C */ dCcD_Cyl mCyl;
133 /* 0xDC8 */ actionFunc mAction;
136 /* 0xDF8 */ fpc_ProcID mItemID;
137 /* 0xDFC */ int field_0xdfc;
138 /* 0xE00 */ int mRndValue;
139 /* 0xE04 */ dPath* mPath;
140 /* 0xE08 */ int mPntIndex;
141 /* 0xE0C */ f32 field_0xe0c;
142 /* 0xE10 */ f32 mCurrentPosY;
143 /* 0xE14 */ s16 field_0xe14;
144 /* 0xE16 */ s16 field_0xe16;
145 /* 0xE18 */ s16 mInsectMsgNo;
146 /* 0xE1A */ s16 mLookMode;
147 /* 0xE1C */ u16 mGoHomeTime;
148 /* 0xE1E */ u16 mMode;
149 /* 0xE20 */ u8 mOrderSpeakEvent;
150 /* 0xE21 */ u8 mType;
151};
152
153STATIC_ASSERT(sizeof(daNpcIns_c) == 0xe24);
154
155#endif /* D_A_NPC_INS_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DJoint.h:66
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition Z2Creature.h:7
Definition d_cc_d.h:472
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:121
Definition d_a_npc4.h:170
Definition d_a_npc_ins.h:19
daNpcIns_HIO_c()
Definition d_a_npc_ins.cpp:359
void genMessage(JORMContext *)
Definition d_a_npc_ins.cpp:363
daNpcIns_HIOParam m
Definition d_a_npc_ins.h:25
Definition d_a_npc_ins.h:11
virtual ~daNpcIns_Param_c()
Definition d_a_npc_ins.h:13
static daNpcIns_HIOParam const m
Definition d_a_npc_ins.h:321
Agitha.
Definition d_a_npc_ins.h:48
actionFunc mAction
Definition d_a_npc_ins.h:133
int Delete()
Definition d_a_npc_ins.cpp:535
void waitEventMng()
Definition d_a_npc_ins.cpp:1077
s16 mInsectMsgNo
Definition d_a_npc_ins.h:145
u16 mMode
Definition d_a_npc_ins.h:148
int getEndTime()
Definition d_a_npc_ins.h:94
int getPathID1()
Definition d_a_npc_ins.h:99
void setAttnPos()
Definition d_a_npc_ins.cpp:943
int getTimeHour()
Definition d_a_npc_ins.h:95
u8 mOrderSpeakEvent
Definition d_a_npc_ins.h:149
BOOL main()
Definition d_a_npc_ins.cpp:730
cPhs_Step Create()
Definition d_a_npc_ins.cpp:386
void checkPlayerSearch()
Definition d_a_npc_ins.cpp:1150
int waitOutSide1(void *)
Definition d_a_npc_ins.cpp:1289
void reset()
Definition d_a_npc_ins.cpp:876
void setParam()
Definition d_a_npc_ins.cpp:711
s16 field_0xe16
Definition d_a_npc_ins.h:144
bool setPath(int)
Definition d_a_npc_ins.cpp:1727
int Draw()
Definition d_a_npc_ins.cpp:545
J3DModel * mpUmbrellaModel
Definition d_a_npc_ins.h:126
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_ins.cpp:566
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_ins.cpp:601
int Execute()
Definition d_a_npc_ins.cpp:540
bool setNextPoint()
Definition d_a_npc_ins.cpp:1754
daNpcIns_c()
Definition d_a_npc_ins.cpp:368
NPC_INS_HIO_CLASS * mpHIO
Definition d_a_npc_ins.h:131
bool isInsectComplete()
Definition d_a_npc_ins.cpp:1593
BOOL(daNpcIns_c::*) eventFunc(int)
Definition d_a_npc_ins.h:51
s16 getInsectMessageNo(int type)
Definition d_a_npc_ins.h:116
int waitOutSide2(void *)
Definition d_a_npc_ins.cpp:1338
int getTime()
Definition d_a_npc_ins.h:97
BOOL chkAction(actionFunc action)
Definition d_a_npc_ins.h:120
int waitPresent(void *)
Definition d_a_npc_ins.cpp:1233
Z2Creature mSound
Definition d_a_npc_ins.h:125
int waitShop(void *)
Definition d_a_npc_ins.cpp:1160
void setMotionAnm(int, f32)
Definition d_a_npc_ins.cpp:848
u8 mType
Definition d_a_npc_ins.h:150
int drawDbgInfo()
Definition d_a_npc_ins.cpp:726
BOOL setAction(actionFunc)
Definition d_a_npc_ins.cpp:1059
dCcD_Cyl mCyl
Definition d_a_npc_ins.h:132
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_ins.h:128
void setExpressionTalkAfter()
Definition d_a_npc_ins.cpp:1434
fpc_ProcID mItemID
Definition d_a_npc_ins.h:136
s16 field_0xe14
Definition d_a_npc_ins.h:143
f32 mCurrentPosY
Definition d_a_npc_ins.h:142
daNpcF_Lookat_c mLookat
Definition d_a_npc_ins.h:129
s16 getMessageNo()
Definition d_a_npc_ins.h:98
int talk(void *)
Definition d_a_npc_ins.cpp:1458
~daNpcIns_c()
Definition d_a_npc_ins.cpp:370
void getTargetPoint(int, Vec *)
Definition d_a_npc_ins.cpp:1769
static eventFunc mEvtSeqList[1]
Definition d_a_npc_ins.h:290
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_ins.h:130
bool checkPoint(cXyz &, f32)
Definition d_a_npc_ins.cpp:1739
int mPntIndex
Definition d_a_npc_ins.h:140
int demo(void *)
Definition d_a_npc_ins.cpp:1547
int getStartTime()
Definition d_a_npc_ins.h:93
void setLookMode(int i_lookMode)
Definition d_a_npc_ins.h:104
J3DModel * mpKagoModel
Definition d_a_npc_ins.h:127
actionFunc mPrevAction
Definition d_a_npc_ins.h:134
BOOL ctrlBtk()
Definition d_a_npc_ins.cpp:926
void setMtx()
Definition d_a_npc_ins.cpp:1038
void pathMoveF()
Definition d_a_npc_ins.cpp:1775
bool isInsect(int type)
Definition d_a_npc_ins.h:107
void playMotion()
Definition d_a_npc_ins.cpp:658
void playExpression()
Definition d_a_npc_ins.cpp:618
void setExpression(int, f32)
Definition d_a_npc_ins.cpp:1224
request_of_phase_process_class mPhases[3]
Definition d_a_npc_ins.h:135
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_ins.cpp:605
int field_0xdfc
Definition d_a_npc_ins.h:137
int CreateHeap()
Definition d_a_npc_ins.cpp:466
f32 field_0xe0c
Definition d_a_npc_ins.h:141
const insect_param_data & getInsectParamData(int)
Definition d_a_npc_ins.cpp:1605
int(daNpcIns_c::*) actionFunc(void *)
Definition d_a_npc_ins.h:50
u32 getInsectEvtBitNo(int type)
Definition d_a_npc_ins.h:117
void setWaitAction()
Definition d_a_npc_ins.cpp:1711
int getTimeMinute()
Definition d_a_npc_ins.h:96
int getPathID2()
Definition d_a_npc_ins.h:100
BOOL step(s16, int)
Definition d_a_npc_ins.cpp:1093
void setMotion(int, f32, int)
Definition d_a_npc_ins.cpp:1199
s16 mLookMode
Definition d_a_npc_ins.h:146
int mRndValue
Definition d_a_npc_ins.h:138
void lookat()
Definition d_a_npc_ins.cpp:979
BOOL chkFindPlayer()
Definition d_a_npc_ins.cpp:1127
u16 mGoHomeTime
Definition d_a_npc_ins.h:147
bool setExpressionAnm(int, bool)
Definition d_a_npc_ins.cpp:747
bool setExpressionBtp(int)
Definition d_a_npc_ins.cpp:824
dPath * mPath
Definition d_a_npc_ins.h:139
int goHome(void *)
Definition d_a_npc_ins.cpp:1369
Definition f_op_actor.h:243
csXyz shape_angle
Definition f_op_actor.h:265
Definition m_Do_hostIO.h:26
static void action(b_bh_class *i_this)
Definition d_a_b_bh.cpp:1016
STATIC_ASSERT(sizeof(daNpcIns_c)==0xe24)
int dKy_getdaytime_hour()
Definition d_kankyo.cpp:1698
int dKy_getdaytime_minute()
Definition d_kankyo.cpp:1703
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
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
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
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:430
Definition d_a_npc_ins.h:6
daNpcF_HIOParam common
Definition d_a_npc_ins.h:7
f32 walk_speed
Definition d_a_npc_ins.h:8
Definition d_a_npc_ins.h:33
int evt_bit_no
Definition d_a_npc_ins.h:34
s16 msg_no
Definition d_a_npc_ins.h:35
u8 field_0x7
Definition d_a_npc_ins.h:37
u8 field_0x6
Definition d_a_npc_ins.h:36
Definition c_phase.h:19