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
8 /* 0x6C */ f32 demo_start_dist;
9};
10
12public:
14
15 static const daNpcImpal_HIOParam m;
16};
17
18#if DEBUG
20public:
22
23 void genMessage(JORMContext*);
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();
87 BOOL CreateHeap();
88 int Delete();
89 int Execute();
90 int Draw();
91 bool ctrlJoint(J3DJoint*, J3DModel*);
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*);
104 BOOL EvCut_ImpalAppear1(int);
105 BOOL EvCut_ImpalAppear2(int);
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
114 s16 getMessageNo() { return s16(shape_angle.x); }
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 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_impal.h:19
daNpcImpal_HIOParam m
Definition d_a_npc_impal.h:25
void genMessage(JORMContext *)
Definition d_a_npc_impal.cpp:87
daNpcImpal_HIO_c()
Definition d_a_npc_impal.cpp:83
Definition d_a_npc_impal.h:11
static const daNpcImpal_HIOParam m
Definition d_a_npc_impal.h:12
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:300
void setExpression(int, f32)
Definition d_a_npc_impal.cpp:785
actionFunc mpActionFn
Definition d_a_npc_impal.h:133
int Delete()
Definition d_a_npc_impal.cpp:222
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:94
bool(daNpcImpal_c::*) actionFunc(void *)
Definition d_a_npc_impal.h:44
bool demo(void *)
Definition d_a_npc_impal.cpp:856
bool ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_impal.cpp:245
BOOL drawDbgInfo()
Definition d_a_npc_impal.cpp:1230
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:678
void setLookMode(int i_lookMode)
Definition d_a_npc_impal.cpp:672
u16 mMode
Definition d_a_npc_impal.h:141
void reset()
Definition d_a_npc_impal.cpp:537
void playMotion()
Definition d_a_npc_impal.cpp:356
BOOL EvCut_ImpalAppear1(int)
Definition d_a_npc_impal.cpp:904
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:1152
bool talk(void *)
Definition d_a_npc_impal.cpp:794
NPC_IMPAL_HIO_CLASS * mpHIO
Definition d_a_npc_impal.h:131
void lookat()
Definition d_a_npc_impal.cpp:588
int Create()
Definition d_a_npc_impal.cpp:119
void setMotionAnm(int, f32)
Definition d_a_npc_impal.cpp:494
BOOL chkFindPlayer()
Definition d_a_npc_impal.cpp:648
BOOL ctrlBtk()
Definition d_a_npc_impal.cpp:1170
int Execute()
Definition d_a_npc_impal.cpp:228
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:330
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_impal.cpp:389
BOOL EvCut_ImpalAppear2(int)
Definition d_a_npc_impal.cpp:998
bool wait(void *)
Definition d_a_npc_impal.cpp:682
void setParam()
Definition d_a_npc_impal.cpp:1133
s16 getMessageNo()
Definition d_a_npc_impal.h:114
int Draw()
Definition d_a_npc_impal.cpp:233
bool setExpressionBtp(int)
Definition d_a_npc_impal.cpp:470
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:186
void setExpressionTalkAfter()
Definition d_a_npc_impal.cpp:280
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:575
daNpcF_Lookat_c mLookat
Definition d_a_npc_impal.h:129
~daNpcImpal_c()
Definition d_a_npc_impal.cpp:103
void setMotion(int, f32, BOOL)
Definition d_a_npc_impal.cpp:775
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:101
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_impal.cpp:394
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:1188
BOOL EvCut_CopyRod(int)
Definition d_a_npc_impal.cpp:1042
bool setExpressionAnm(int, bool)
Definition d_a_npc_impal.cpp:405
Definition f_op_actor.h:271
csXyz shape_angle
Definition f_op_actor.h:293
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpcImpal_c)==0xdec)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
s16 x
Definition c_sxyz.h:7
Definition d_a_npc4.h:430
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:19