Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_impal.h
Go to the documentation of this file.
1#ifndef D_A_NPC_IMPAL_H
2#define D_A_NPC_IMPAL_H
3
4#include "d/actor/d_a_npc4.h"
5
10
12public:
14
15 static const daNpcImpal_HIOParam m;
16};
17
18#if DEBUG
20public:
22
24
26};
27
28#define NPC_IMPAL_HIO_CLASS daNpcImpal_HIO_c
29#else
30#define NPC_IMPAL_HIO_CLASS daNpcImpal_Param_c
31#endif
32
41class daNpcImpal_c : public daNpcF_c {
42public:
43 typedef int (daNpcImpal_c::*cutFunc)(int);
44 typedef bool (daNpcImpal_c::*actionFunc)(void*);
45 typedef BOOL (daNpcImpal_c::*EventFn)(int);
46
47 enum Animation {
48 /* 0x00 */ ANM_0,
49 /* 0x01 */ ANM_1,
50 /* 0x02 */ ANM_2,
51 /* 0x03 */ ANM_3,
52 /* 0x04 */ ANM_4,
53 /* 0x05 */ ANM_5,
54 /* 0x06 */ ANM_6,
55 /* 0x07 */ ANM_7,
56 /* 0x08 */ ANM_8,
57 /* 0x09 */ ANM_9,
58 /* 0x10 */ ANM_10,
59 /* 0x11 */ ANM_11,
60 /* 0x12 */ ANM_12,
61 };
62
64 /* 0x0 */ EXPR_0,
65 /* 0x1 */ EXPR_1,
66 /* 0x2 */ EXPR_2,
67 /* 0x3 */ EXPR_3,
68 /* 0x4 */ EXPR_4,
69 /* 0x5 */ EXPR_5,
70 /* 0x6 */ EXPR_6,
71 /* 0x7 */ EXPR_7,
72 };
73
74 enum Motion {
75 /* 0x00 */ MOT_0,
76 /* 0x01 */ MOT_1,
77 /* 0x02 */ MOT_2,
78 /* 0x03 */ MOT_3,
79 /* 0x04 */ MOT_4,
80 /* 0x05 */ MOT_5,
81 /* 0x06 */ MOT_6,
82 };
83
86 int Create();
88 int Delete();
89 int Execute();
90 int Draw();
92 static int createHeapCallBack(fopAc_ac_c*);
93 static int ctrlJointCallBack(J3DJoint*, int);
94 inline bool setExpressionAnm(int, bool);
95 inline bool setExpressionBtp(int);
96 void setMotionAnm(int, f32);
97 inline void reset();
99 bool wait(void*);
100 void setMotion(int, f32, BOOL);
101 void setExpression(int, f32);
102 bool talk(void*);
103 bool demo(void*);
106 BOOL EvCut_CopyRod(int);
107 inline void setParam();
108 inline BOOL main();
109 inline BOOL ctrlBtk();
110 inline void setAttnPos();
111 inline void lookat();
112 inline BOOL drawDbgInfo();
113
115 int getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
116 inline void playExpression();
117 inline void playMotion();
118 inline int step(s16, int);
119 inline void setExpressionTalkAfter();
120 inline BOOL chkFindPlayer();
121 inline void setLookMode(int i_lookMode);
122 inline void deleteObstacle();
123
124 static EventFn mEvtSeqList[4];
125
126private:
131 /* 0xC80 */ NPC_IMPAL_HIO_CLASS* mpHIO;
132 /* 0xC84 */ dCcD_Cyl mCyl;
135 /* 0xDD4 */ u32 mItemPartnerId;
136 /* 0xDD8 */ u32 field_0xdd8;
137 /* 0xDDC */ u32 field_0xddc;
138 /* 0xDE0 */ s16 mFlowID;
139 /* 0xDE2 */ s16 field_de2;
140 /* 0xDE4 */ s16 mLookMode;
141 /* 0xDE6 */ u16 mMode;
142 /* 0xDE8 */ bool field_0xde8;
143 /* 0xDE9 */ bool field_0xde9;
144};
145
146STATIC_ASSERT(sizeof(daNpcImpal_c) == 0xdec);
147
148#endif /* D_A_NPC_IMPAL_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition JORMContext.h:120
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_impal.h:19
daNpcImpal_HIOParam m
Definition d_a_npc_impal.h:25
void genMessage(JORMContext *)
Definition d_a_npc_impal.cpp:86
daNpcImpal_HIO_c()
Definition d_a_npc_impal.cpp:82
Definition d_a_npc_impal.h:11
static const daNpcImpal_HIOParam m
Definition d_a_npc_impal.h:11
virtual ~daNpcImpal_Param_c()
Definition d_a_npc_impal.h:13
Impaz.
Definition d_a_npc_impal.h:41
int step(s16, int)
Definition d_a_npc_impal.cpp:299
void setExpression(int, f32)
Definition d_a_npc_impal.cpp:784
actionFunc mpActionFn
Definition d_a_npc_impal.h:133
int Delete()
Definition d_a_npc_impal.cpp:221
Expression
Definition d_a_npc_impal.h:63
@ EXPR_0
Definition d_a_npc_impal.h:64
@ EXPR_5
Definition d_a_npc_impal.h:69
@ EXPR_6
Definition d_a_npc_impal.h:70
@ EXPR_1
Definition d_a_npc_impal.h:65
@ EXPR_4
Definition d_a_npc_impal.h:68
@ EXPR_7
Definition d_a_npc_impal.h:71
@ EXPR_2
Definition d_a_npc_impal.h:66
@ EXPR_3
Definition d_a_npc_impal.h:67
static EventFn mEvtSeqList[4]
Definition d_a_npc_impal.h:93
bool(daNpcImpal_c::*) actionFunc(void *)
Definition d_a_npc_impal.h:44
bool demo(void *)
Definition d_a_npc_impal.cpp:855
bool ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_impal.cpp:244
BOOL drawDbgInfo()
Definition d_a_npc_impal.cpp:1229
bool field_0xde8
Definition d_a_npc_impal.h:142
int getSwitchNo()
Definition d_a_npc_impal.h:115
void deleteObstacle()
Definition d_a_npc_impal.cpp:677
void setLookMode(int i_lookMode)
Definition d_a_npc_impal.cpp:671
u16 mMode
Definition d_a_npc_impal.h:141
void reset()
Definition d_a_npc_impal.cpp:536
void playMotion()
Definition d_a_npc_impal.cpp:355
BOOL EvCut_ImpalAppear1(int)
Definition d_a_npc_impal.cpp:903
Animation
Definition d_a_npc_impal.h:47
@ ANM_1
Definition d_a_npc_impal.h:49
@ ANM_12
Definition d_a_npc_impal.h:60
@ ANM_8
Definition d_a_npc_impal.h:56
@ ANM_11
Definition d_a_npc_impal.h:59
@ ANM_10
Definition d_a_npc_impal.h:58
@ ANM_0
Definition d_a_npc_impal.h:48
@ ANM_2
Definition d_a_npc_impal.h:50
@ ANM_6
Definition d_a_npc_impal.h:54
@ ANM_7
Definition d_a_npc_impal.h:55
@ ANM_9
Definition d_a_npc_impal.h:57
@ ANM_5
Definition d_a_npc_impal.h:53
@ ANM_3
Definition d_a_npc_impal.h:51
@ ANM_4
Definition d_a_npc_impal.h:52
s16 mFlowID
Definition d_a_npc_impal.h:138
BOOL main()
Definition d_a_npc_impal.cpp:1151
bool talk(void *)
Definition d_a_npc_impal.cpp:793
NPC_IMPAL_HIO_CLASS * mpHIO
Definition d_a_npc_impal.h:131
void lookat()
Definition d_a_npc_impal.cpp:587
int Create()
Definition d_a_npc_impal.cpp:118
void setMotionAnm(int, f32)
Definition d_a_npc_impal.cpp:493
BOOL chkFindPlayer()
Definition d_a_npc_impal.cpp:647
BOOL ctrlBtk()
Definition d_a_npc_impal.cpp:1169
int Execute()
Definition d_a_npc_impal.cpp:227
u32 mItemPartnerId
Definition d_a_npc_impal.h:135
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_impal.h:130
int(daNpcImpal_c::*) cutFunc(int)
Definition d_a_npc_impal.h:43
u32 field_0xddc
Definition d_a_npc_impal.h:137
Z2Creature mCreatureSound
Definition d_a_npc_impal.h:127
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_impal.h:128
void playExpression()
Definition d_a_npc_impal.cpp:329
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_impal.cpp:388
BOOL EvCut_ImpalAppear2(int)
Definition d_a_npc_impal.cpp:997
bool wait(void *)
Definition d_a_npc_impal.cpp:681
void setParam()
Definition d_a_npc_impal.cpp:1132
s16 getMessageNo()
Definition d_a_npc_impal.h:114
int Draw()
Definition d_a_npc_impal.cpp:232
bool setExpressionBtp(int)
Definition d_a_npc_impal.cpp:469
Motion
Definition d_a_npc_impal.h:74
@ MOT_0
Definition d_a_npc_impal.h:75
@ MOT_5
Definition d_a_npc_impal.h:80
@ MOT_3
Definition d_a_npc_impal.h:78
@ MOT_6
Definition d_a_npc_impal.h:81
@ MOT_2
Definition d_a_npc_impal.h:77
@ MOT_1
Definition d_a_npc_impal.h:76
@ MOT_4
Definition d_a_npc_impal.h:79
s16 mLookMode
Definition d_a_npc_impal.h:140
BOOL CreateHeap()
Definition d_a_npc_impal.cpp:185
void setExpressionTalkAfter()
Definition d_a_npc_impal.cpp:279
bool field_0xde9
Definition d_a_npc_impal.h:143
BOOL(daNpcImpal_c::*) EventFn(int)
Definition d_a_npc_impal.h:45
bool setAction(daNpcImpal_c::actionFunc)
Definition d_a_npc_impal.cpp:574
daNpcF_Lookat_c mLookat
Definition d_a_npc_impal.h:129
~daNpcImpal_c()
Definition d_a_npc_impal.cpp:102
void setMotion(int, f32, BOOL)
Definition d_a_npc_impal.cpp:774
dCcD_Cyl mCyl
Definition d_a_npc_impal.h:132
s16 field_de2
Definition d_a_npc_impal.h:139
daNpcImpal_c()
Definition d_a_npc_impal.cpp:100
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_impal.cpp:393
request_of_phase_process_class mPhase[1]
Definition d_a_npc_impal.h:134
u32 field_0xdd8
Definition d_a_npc_impal.h:136
void setAttnPos()
Definition d_a_npc_impal.cpp:1187
BOOL EvCut_CopyRod(int)
Definition d_a_npc_impal.cpp:1041
bool setExpressionAnm(int, bool)
Definition d_a_npc_impal.cpp:404
Definition f_op_actor.h:230
csXyz shape_angle
Definition f_op_actor.h:252
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpcImpal_c)==0xdec)
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
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
s16 x
Definition c_sxyz.h:7
Definition d_a_npc4.h:423
Definition d_a_npc_impal.h:6
f32 demo_start_dist
Definition d_a_npc_impal.h:8
daNpcF_HIOParam common
Definition d_a_npc_impal.h:7
Definition c_phase.h:17