Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_kasi_mich.h
Go to the documentation of this file.
1#ifndef D_A_NPC_KASI_MICH_H
2#define D_A_NPC_KASI_MICH_H
3
4#include "d/actor/d_a_npc4.h"
6
18 /* 0x6C */ s16 escape_time; // 逃げるまでの時間 - Escape Time
19 /* 0x70 */ f32 escape_spd; // 逃げる速度 - Escape Speed
20};
21
23public:
25
26 static daNpcKasiMich_HIOParam const m;
27};
28
29#if DEBUG
31public:
33
34 void genMessage(JORMContext*);
35
37};
38
39#define NPC_KASI_MICH_HIO_CLASS daNpcKasiMich_HIO_c
40#else
41#define NPC_KASI_MICH_HIO_CLASS daNpcKasiMich_Param_c
42#endif
43
44class daNpcKasiMich_c : public daNpcF_c {
45public:
46 typedef int (daNpcKasiMich_c::*actionFunc)(int);
47 typedef BOOL (daNpcKasiMich_c::*EventFn)(int);
48
52 int CreateHeap();
53 int Delete();
54 int Execute();
55 int Draw();
56 int ctrlJoint(J3DJoint*, J3DModel*);
57 static int createHeapCallBack(fopAc_ac_c*);
58 static int ctrlJointCallBack(J3DJoint*, int);
59 void setParam();
60 BOOL main();
61 void setAttnPos();
62 void setMotionAnm(int, f32);
63 void setMotion(int, f32, int);
64 BOOL drawDbgInfo();
65 void reset();
66 void playMotion();
69 void setLookMode(int);
70 void lookat();
71 BOOL step(s16, int);
72 BOOL chkFindPlayer();
73 int wait(int);
74 int fear(int);
76 static void* _srch_escape_tag(void*, void*);
78 int chace_st(int);
79 int chace(int);
81 int turn_link(int);
82 int turn_home(int);
83 int turn_center(int);
84 int talk_dummy(int);
85 int kya(int);
86 int kya2(int);
87 int kya_stop(int);
88 int iyan(int);
89 int escape(int);
90 int iyan_look(int);
91 int turn_hana(int);
92 int wait_dummy(int);
93 int cheer(int);
94 BOOL _turn_to_link(s16);
95 BOOL _turn_pos(cXyz const&, s16);
97 void _getOffset(cXyz const&, cXyz&);
99
100 s8 getType() {
101 s8 rv = fopAcM_GetParam(this) & 0xFF;
102
103 // !@bug Comparison of s8 with 0xFF will always evaluate to false
104 if (rv == 0xFF) {
105 rv = 0;
106 }
107
108 return rv;
109 }
110 int getMessageNo() { return home.angle.x; }
111 u8 getRailNo() { return fopAcM_GetParam(this) >> 8; }
112 void setSygnal(int i_sygnal) { mSygnal = i_sygnal; }
113 void setChacePos(const cXyz& i_chacePos) { mChacePos = i_chacePos; }
114 void setCenterPos(const cXyz& i_centerPos) { mCenterPos = i_centerPos; }
115 void setPlPoint(const int& i_plPoint) { mPlPoint = i_plPoint; }
116 void off_talked() { mTalked = false; }
117 BOOL is_talked() { return mTalked; }
118 BOOL is_fear() { return mFear; }
119 BOOL is_escape() { return mEscape; }
123
124 static EventFn mEvtSeqList[1];
126 static f32 mTargetTagDist;
127 static s16 mWolfAngle;
128
129private:
131 /* 0x0BEC */ u8 field_0xbec[0xbf0 - 0xbec];
134 /* 0x0C94 */ daNpcF_Path_c mPath;
135 /* 0x12C4 */ NPC_KASI_MICH_HIO_CLASS* mpHIO;
136 /* 0x12C8 */ dCcD_Cyl mCyl;
137 /* 0x1404 */ s16 mMode;
138 /* 0x1408 */ actionFunc mAction;
141 /* 0x1430 */ int field_0x1430;
142 /* 0x1434 */ int field_0x1434;
143 /* 0x1438 */ int mMessageNo;
144 /* 0x143C */ s16 mLookMode;
145 /* 0x143E */ s16 field_0x143e;
146 /* 0x1440 */ s16 field_0x1440;
147 /* 0x1444 */ int mSygnal;
148 /* 0x1448 */ cXyz mChacePos;
149 /* 0x1454 */ cXyz mCenterPos;
150 /* 0x1460 */ int mPlPoint;
151 /* 0x1464 */ s8 mType;
152 /* 0x1465 */ s8 field_0x1465;
153 /* 0x1466 */ bool mTalked;
154 /* 0x1467 */ bool mFear;
155 /* 0x1468 */ bool mEscape;
156 /* 0x1469 */ u8 field_0x1469;
157};
158
160
161#endif /* D_A_NPC_KASI_MICH_H */
int cPhs_Step
Definition c_phase.h:8
Definition Z2Creature.h:60
void SetWeight(u8 weight)
Definition c_cc_d.h:184
Definition d_cc_d.h:472
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:72
Definition d_a_npc4.h:170
dCcD_Stts mCcStts
Definition d_a_npc4.h:178
Definition d_a_npc_kasi_mich.h:30
void genMessage(JORMContext *)
Definition d_a_npc_kasi_mich.cpp:190
daNpcKasiMich_HIOParam m
Definition d_a_npc_kasi_mich.h:36
daNpcKasiMich_HIO_c()
Definition d_a_npc_kasi_mich.cpp:186
Definition d_a_npc_kasi_mich.h:22
virtual ~daNpcKasiMich_Param_c()
Definition d_a_npc_kasi_mich.h:24
static daNpcKasiMich_HIOParam const m
Definition d_a_npc_kasi_mich.h:147
Misha.
Definition d_a_npc_kasi_mich.h:44
BOOL is_talked()
Definition d_a_npc_kasi_mich.h:117
s8 mType
Definition d_a_npc_kasi_mich.h:151
int field_0x1430
Definition d_a_npc_kasi_mich.h:141
int chace_st(int)
Definition d_a_npc_kasi_mich.cpp:951
s16 mMode
Definition d_a_npc_kasi_mich.h:137
cXyz mChacePos
Definition d_a_npc_kasi_mich.h:148
BOOL _turn_pos(cXyz const &, s16)
Definition d_a_npc_kasi_mich.cpp:1356
void setParam()
Definition d_a_npc_kasi_mich.cpp:362
daNpcF_Path_c mPath
Definition d_a_npc_kasi_mich.h:134
int kya2(int)
Definition d_a_npc_kasi_mich.cpp:1144
int turn_center(int)
Definition d_a_npc_kasi_mich.cpp:1075
void off_talked()
Definition d_a_npc_kasi_mich.h:116
void playMotionAnmLoop(daNpcF_c::daNpcF_anmPlayData ***)
Definition d_a_npc_kasi_mich.cpp:582
void setMotion(int, f32, int)
Definition d_a_npc_kasi_mich.cpp:457
daNpcKasiMich_c()
Definition d_a_npc_kasi_mich.cpp:195
cXyz getChacePos()
Definition d_a_npc_kasi_mich.cpp:1008
NPC_KASI_MICH_HIO_CLASS * mpHIO
Definition d_a_npc_kasi_mich.h:135
void chgWeightLight()
Definition d_a_npc_kasi_mich.h:121
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_kasi_mich.h:133
void _getOffset(cXyz const &, cXyz &)
Definition d_a_npc_kasi_mich.cpp:1377
BOOL(daNpcKasiMich_c::*) EventFn(int)
Definition d_a_npc_kasi_mich.h:47
static f32 mTargetTagDist
Definition d_a_npc_kasi_mich.h:126
static daTagEscape_c * mTargetTag
Definition d_a_npc_kasi_mich.h:125
int wait(int)
Definition d_a_npc_kasi_mich.cpp:747
int wait_dummy(int)
Definition d_a_npc_kasi_mich.cpp:1278
void chgWeightHeavy()
Definition d_a_npc_kasi_mich.h:120
s16 field_0x143e
Definition d_a_npc_kasi_mich.h:145
~daNpcKasiMich_c()
Definition d_a_npc_kasi_mich.cpp:197
int(daNpcKasiMich_c::*) actionFunc(int)
Definition d_a_npc_kasi_mich.h:46
BOOL pl_front_check()
Definition d_a_npc_kasi_mich.h:122
int mSygnal
Definition d_a_npc_kasi_mich.h:147
int getWolfPathNearIdx()
Definition d_a_npc_kasi_mich.cpp:914
s16 field_0x1440
Definition d_a_npc_kasi_mich.h:146
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_kasi_mich.cpp:315
int talk_dummy(int)
Definition d_a_npc_kasi_mich.cpp:1097
int fear(int)
Definition d_a_npc_kasi_mich.cpp:830
void setChacePos(const cXyz &i_chacePos)
Definition d_a_npc_kasi_mich.h:113
s8 getType()
Definition d_a_npc_kasi_mich.h:100
BOOL step(s16, int)
Definition d_a_npc_kasi_mich.cpp:698
void reset()
Definition d_a_npc_kasi_mich.cpp:472
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_kasi_mich.cpp:349
void setAttnPos()
Definition d_a_npc_kasi_mich.cpp:411
cXyz mCenterPos
Definition d_a_npc_kasi_mich.h:149
void setSygnal(int i_sygnal)
Definition d_a_npc_kasi_mich.h:112
int mMessageNo
Definition d_a_npc_kasi_mich.h:143
BOOL is_fear()
Definition d_a_npc_kasi_mich.h:118
static EventFn mEvtSeqList[1]
Definition d_a_npc_kasi_mich.h:143
static s16 mWolfAngle
Definition d_a_npc_kasi_mich.h:127
int iyan(int)
Definition d_a_npc_kasi_mich.cpp:1187
static void * _srch_escape_tag(void *, void *)
Definition d_a_npc_kasi_mich.cpp:886
s16 mLookMode
Definition d_a_npc_kasi_mich.h:144
int turn_hana(int)
Definition d_a_npc_kasi_mich.cpp:1259
void adjustShapeAngle()
Definition d_a_npc_kasi_mich.h:98
fpc_ProcID field_0x142c
Definition d_a_npc_kasi_mich.h:140
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_kasi_mich.cpp:344
int cheer(int)
Definition d_a_npc_kasi_mich.cpp:1297
int mPlPoint
Definition d_a_npc_kasi_mich.h:150
dCcD_Cyl mCyl
Definition d_a_npc_kasi_mich.h:136
bool mFear
Definition d_a_npc_kasi_mich.h:154
BOOL _turn_to_link(s16)
Definition d_a_npc_kasi_mich.cpp:1350
int turn_link(int)
Definition d_a_npc_kasi_mich.cpp:1028
void playMotion()
Definition d_a_npc_kasi_mich.cpp:521
int Execute()
Definition d_a_npc_kasi_mich.cpp:301
BOOL is_escape()
Definition d_a_npc_kasi_mich.h:119
bool mTalked
Definition d_a_npc_kasi_mich.h:153
BOOL main()
Definition d_a_npc_kasi_mich.cpp:375
u8 getRailNo()
Definition d_a_npc_kasi_mich.h:111
Z2CreatureCitizen mSound
Definition d_a_npc_kasi_mich.h:130
BOOL chkFindPlayer()
Definition d_a_npc_kasi_mich.cpp:725
void setLookMode(int)
Definition d_a_npc_kasi_mich.cpp:637
int Delete()
Definition d_a_npc_kasi_mich.cpp:296
void setPlPoint(const int &i_plPoint)
Definition d_a_npc_kasi_mich.h:115
int kya(int)
Definition d_a_npc_kasi_mich.cpp:1115
request_of_phase_process_class mPhases[3]
Definition d_a_npc_kasi_mich.h:139
daTagEscape_c * srchWolfTag()
Definition d_a_npc_kasi_mich.cpp:879
int field_0x1434
Definition d_a_npc_kasi_mich.h:142
void setCenterPos(const cXyz &i_centerPos)
Definition d_a_npc_kasi_mich.h:114
int getMessageNo()
Definition d_a_npc_kasi_mich.h:110
int chace(int)
Definition d_a_npc_kasi_mich.cpp:972
cPhs_Step Create()
Definition d_a_npc_kasi_mich.cpp:213
int turn_home(int)
Definition d_a_npc_kasi_mich.cpp:1049
int iyan_look(int)
Definition d_a_npc_kasi_mich.cpp:1235
u8 field_0x1469
Definition d_a_npc_kasi_mich.h:156
void setMotionAnm(int, f32)
Definition d_a_npc_kasi_mich.cpp:446
bool mEscape
Definition d_a_npc_kasi_mich.h:155
BOOL setAction(actionFunc)
Definition d_a_npc_kasi_mich.cpp:620
daNpcF_Lookat_c mLookat
Definition d_a_npc_kasi_mich.h:132
actionFunc mAction
Definition d_a_npc_kasi_mich.h:138
int kya_stop(int)
Definition d_a_npc_kasi_mich.cpp:1164
u8 field_0xbec[0xbf0 - 0xbec]
Definition d_a_npc_kasi_mich.h:131
int escape(int)
Definition d_a_npc_kasi_mich.cpp:1205
void lookat()
Definition d_a_npc_kasi_mich.cpp:643
BOOL drawDbgInfo()
Definition d_a_npc_kasi_mich.cpp:468
BOOL actor_front_check(fopAc_ac_c *)
Definition d_a_npc_kasi_mich.cpp:1363
int Draw()
Definition d_a_npc_kasi_mich.cpp:307
s8 field_0x1465
Definition d_a_npc_kasi_mich.h:152
int CreateHeap()
Definition d_a_npc_kasi_mich.cpp:266
Definition d_a_tag_escape.h:6
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpcKasiMich_c)==0x146c)
daPy_py_c * daPy_getPlayerActorClass()
Definition d_a_player.h:1258
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
unsigned int fpc_ProcID
Definition f_pc_base.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:247
Definition c_xyz.h:7
Definition d_a_npc4.h:430
Definition d_a_npc4.h:264
Definition d_a_npc_kasi_mich.h:16
daNpcF_HIOParam common
Definition d_a_npc_kasi_mich.h:17
s16 escape_time
Definition d_a_npc_kasi_mich.h:18
f32 escape_spd
Definition d_a_npc_kasi_mich.h:19
Definition c_phase.h:19