Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_chin.h
Go to the documentation of this file.
1#ifndef D_A_NPC_CHIN_H
2#define D_A_NPC_CHIN_H
3
4#include "d/actor/d_a_npc4.h"
6
10
12public:
13 virtual ~daNpcChin_Param_c() {}
14
15 static daNpcChin_HIOParam const m;
16};
17
18#if DEBUG
20public:
22
25
27};
28
29#define NPC_CHIN_HIO_CLASS daNpcChin_HIO_c
30#else
31#define NPC_CHIN_HIO_CLASS daNpcChin_Param_c
32#endif
33
42class daNpcChin_c : public daNpcF_c {
43public:
45 public:
46 /* 0x00 */ J3DModel* mpModel;
48 /* 0x1C */ cXyz mPos;
49 /* 0x28 */ csXyz mRot;
50 /* 0x30 */ cXyz mScale;
51 /* 0x3C */ s8 mSwitch;
52
53 int loadModel();
54
55 inline void switch_off() {
56 setSwitch(false);
57 setPlaySpeed(0.0f);
58 }
59
60 inline void switch_on() {
61 setSwitch(true);
62 setPlaySpeed(1.0f);
63 }
64
65 inline void setPlaySpeed(f32 i_speed) {
66 mBtkAnm.setPlaySpeed(i_speed);
67 }
68
69 inline void setSwitch(s8 i_active) {
70 mSwitch = i_active;
71 }
72
73 void setMtx();
74
75 inline bool is_switch_on() {
76 return mSwitch == TRUE;
77 }
78
79 void draw(dKy_tevstr_c*);
80
81 inline void setPos(cXyz& i_pos) {
82 mPos = i_pos;
83 }
84
85 inline void playBtk() {
86 mBtkAnm.play();
87 }
88
90 mpModel = NULL;
91 mRot.set(0, 0, 0);
92 mScale.set(1.0f, 1.0f, 1.0f);
93 }
94
96 };
97
98 typedef bool (daNpcChin_c::*actionFunc)(void*);
99 typedef int (daNpcChin_c::*eventFunc)(int);
100
101 daNpcChin_c();
102 virtual ~daNpcChin_c();
103 int Create();
104 int CreateHeap();
105 int Delete();
106 int Execute();
107 int Draw();
109 static int createHeapCallBack(fopAc_ac_c*);
110 static int ctrlJointCallBack(J3DJoint*, int);
111 virtual void setParam();
112 virtual int main();
113 virtual int ctrlBtk();
114 virtual void setAttnPos();
115 virtual bool setExpressionAnm(int, bool);
116 virtual bool setExpressionBtp(int);
117 virtual void setMotionAnm(int, f32);
118 virtual void setExpression(int, f32);
119 virtual void setMotion(int, f32, int);
120 virtual int drawDbgInfo();
121 void reset();
122 void playExpression();
123 void playMotion();
124 int setAction(actionFunc i_func);
125 void setLookMode(int);
126 void lookat();
127 bool step(s16, int, int);
130 bool wait(void*);
131 bool talk(void*);
132 void _talk_motion();
133 bool demo(void*);
134 bool watch_game(void*);
135 void Event_DT();
138 mOrderEvtNo = 0;
139 mEventIdx = -1;
140 }
141 BOOL isGameEnd(int&);
143 void SphereReset();
144 int _Evt_GameStart(int);
145 int _Evt_GameStart_CutInit(int const&);
146 int _Evt_GameStart_CutMain(int const&);
147 int _Evt_GameFailed(int);
148 int _Evt_GameFailed_CutInit(int const&);
149 int _Evt_GameFailed_CutMain(int const&);
150 int _Evt_GameSucceed(int);
151 int _Evt_GameSucceed_CutInit(int const&);
152 int _Evt_GameSucceed_CutMain(int const&);
153 int _Evt_SelectGiveUp(int);
154 int _Evt_SelectGiveUp_CutInit(int const&);
155 int _Evt_SelectGiveUp_CutMain(int const&);
156 int _Evt_GameGiveUp(int);
157 int _Evt_GameGiveUp_CutInit(int const&);
158 int _Evt_GameGiveUp_CutMain(int const&);
159 int _Evt_Appear(int);
160 int _Evt_Appear_CutInit(int const&);
161 int _Evt_Appear_CutMain(int const&);
162 int _Evt_SpotLight_Off(int);
163 int _Evt_SpotLight_Off_CutInit(int const&);
164 int _Evt_SpotLight_Off_CutMain(int const&);
165 void setMtx() {
168 }
169
171
172 inline s8 getSWBit() { return (fopAcM_GetParam(this) >> 8) & 0xff; }
173
174 inline s16 getMessageNo() { return (s16)shape_angle.x; }
175
176 inline void Action() {
177 if (mAction != NULL) {
178 (this->*mAction)(0);
179 }
180 }
181
182 inline void ForcibleTalk_On() { field_0xe06 = 1; }
183 inline void ForcibleTalk_Off() { field_0xe06 = 0; }
184 inline u8 getForcibleTalk2() { return field_0xe06; }
185
186 static eventFunc mEvtSeqList[8];
187
188 /* 0xB48 */ Z2Creature mSound;
191 /* 0xC78 */ NPC_CHIN_HIO_CLASS* mpHIO;
192 /* 0xC7C */ dCcD_Cyl mObjInf;
193 /* 0xDB8 */ actionFunc mAction;
196 /* 0xDF8 */ int field_0xdf8;
197 /* 0xDFC */ int field_0xdfc;
198 /* 0xE00 */ s16 field_0xe00;
199 /* 0xE02 */ s16 mLookMode;
200 /* 0xE04 */ s16 mActionMode;
201 /* 0xE06 */ u8 field_0xe06;
202 /* 0xE07 */ s8 field_0xe07;
204 /* 0xE0C */ _GlSph_Mng_c* mpSphMng;
205 /* 0xE10 */ u32 mGameTime;
206 /* 0xE14 */ int field_0xe14;
207 /* 0xE18 */ int field_0xe18;
208 /* 0xE1C */ f32 field_0xe1c;
209 /* 0xE20 */ f32 field_0xe20;
210 /* 0xE24 */ s8 field_0xe24;
211 /* 0xE25 */ s8 field_0xe25;
212 /* 0xE26 */ u8 field_0xe26[0xe30 - 0xe26];
215};
216
217STATIC_ASSERT(sizeof(daNpcChin_c) == 0xe78);
218
219#endif /* D_A_NPC_CHIN_H */
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition Z2Creature.h:7
Definition d_a_obj_glowSphere.h:38
Definition c_sxyz.h:10
void set(s16 oX, s16 oY, s16 oZ)
Definition c_sxyz.h:24
Definition d_cc_d.h:461
Definition d_kankyo_tev_str.h:7
Definition d_a_npc_chin.h:19
daNpcChin_HIO_c()
Definition d_a_npc_chin.cpp:149
daNpcChin_HIOParam m
Definition d_a_npc_chin.h:26
void genMessage(JORMContext *)
Definition d_a_npc_chin.cpp:153
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_chin.h:11
virtual ~daNpcChin_Param_c()
Definition d_a_npc_chin.h:13
static daNpcChin_HIOParam const m
Definition d_a_npc_chin.h:29
Definition d_a_npc_chin.h:44
void setMtx()
Definition d_a_npc_chin.cpp:180
_SpotLight_c()
Definition d_a_npc_chin.h:89
void switch_off()
Definition d_a_npc_chin.h:55
J3DModel * mpModel
Definition d_a_npc_chin.h:46
void setPlaySpeed(f32 i_speed)
Definition d_a_npc_chin.h:65
s8 mSwitch
Definition d_a_npc_chin.h:51
bool is_switch_on()
Definition d_a_npc_chin.h:75
void playBtk()
Definition d_a_npc_chin.h:85
void draw(dKy_tevstr_c *)
Definition d_a_npc_chin.cpp:189
void setSwitch(s8 i_active)
Definition d_a_npc_chin.h:69
cXyz mPos
Definition d_a_npc_chin.h:48
int loadModel()
Definition d_a_npc_chin.cpp:158
csXyz mRot
Definition d_a_npc_chin.h:49
mDoExt_btkAnm mBtkAnm
Definition d_a_npc_chin.h:47
void setPos(cXyz &i_pos)
Definition d_a_npc_chin.h:81
cXyz mScale
Definition d_a_npc_chin.h:50
void switch_on()
Definition d_a_npc_chin.h:60
~_SpotLight_c()
Definition d_a_npc_chin.h:95
Purlo.
Definition d_a_npc_chin.h:42
s16 mLookMode
Definition d_a_npc_chin.h:199
bool talk(void *)
Definition d_a_npc_chin.cpp:1246
dCcD_Cyl mObjInf
Definition d_a_npc_chin.h:192
BOOL _chkGameClear()
Definition d_a_npc_chin.cpp:1570
daNpcF_Lookat_c mLookat1
Definition d_a_npc_chin.h:190
s8 field_0xe24
Definition d_a_npc_chin.h:210
int _Evt_SelectGiveUp_CutMain(int const &)
Definition d_a_npc_chin.cpp:1874
int field_0xe18
Definition d_a_npc_chin.h:207
virtual int main()
Definition d_a_npc_chin.cpp:485
int _Evt_GameSucceed_CutMain(int const &)
Definition d_a_npc_chin.cpp:1785
int field_0xdf8
Definition d_a_npc_chin.h:196
virtual ~daNpcChin_c()
Definition d_a_npc_chin.cpp:204
int _Evt_SpotLight_Off_CutInit(int const &)
Definition d_a_npc_chin.cpp:2059
virtual void setAttnPos()
Definition d_a_npc_chin.cpp:517
void Event_DT()
Definition d_a_npc_chin.cpp:1451
virtual bool setExpressionBtp(int)
Definition d_a_npc_chin.cpp:637
int _Evt_GameFailed_CutInit(int const &)
Definition d_a_npc_chin.cpp:1680
int _Evt_SpotLight_Off_CutMain(int const &)
Definition d_a_npc_chin.cpp:2075
int field_0xe14
Definition d_a_npc_chin.h:206
int _Evt_GameFailed(int)
Definition d_a_npc_chin.cpp:1661
_SpotLight_c mSpotLight
Definition d_a_npc_chin.h:213
bool wait(void *)
Definition d_a_npc_chin.cpp:1133
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_chin.cpp:445
int _Evt_SelectGiveUp_CutInit(int const &)
Definition d_a_npc_chin.cpp:1853
int _Evt_Appear(int)
Definition d_a_npc_chin.cpp:1960
bool demo(void *)
Definition d_a_npc_chin.cpp:1324
int Execute()
Definition d_a_npc_chin.cpp:383
void SphereReset()
Definition d_a_npc_chin.cpp:1574
int Delete()
Definition d_a_npc_chin.cpp:376
int _Evt_GameGiveUp_CutMain(int const &)
Definition d_a_npc_chin.cpp:1940
BOOL isMiniGamePlaying()
Definition d_a_npc_chin.h:170
s16 field_0xe00
Definition d_a_npc_chin.h:198
s8 mIsMiniGamePlaying
Definition d_a_npc_chin.h:203
int field_0xdfc
Definition d_a_npc_chin.h:197
void Action()
Definition d_a_npc_chin.h:176
u32 mGameTime
Definition d_a_npc_chin.h:205
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_chin.h:189
int _Evt_Appear_CutInit(int const &)
Definition d_a_npc_chin.cpp:1979
bool(daNpcChin_c::*) actionFunc(void *)
Definition d_a_npc_chin.h:98
void _talk_motion()
Definition d_a_npc_chin.cpp:1311
bool step(s16, int, int)
Definition d_a_npc_chin.cpp:1049
u8 getForcibleTalk2()
Definition d_a_npc_chin.h:184
actionFunc mAction
Definition d_a_npc_chin.h:193
virtual int drawDbgInfo()
Definition d_a_npc_chin.cpp:764
int _Evt_GameStart_CutMain(int const &)
Definition d_a_npc_chin.cpp:1637
int _Evt_GameGiveUp(int)
Definition d_a_npc_chin.cpp:1897
s16 getMessageNo()
Definition d_a_npc_chin.h:174
BOOL chkFindPlayer()
Definition d_a_npc_chin.cpp:1085
virtual bool setExpressionAnm(int, bool)
Definition d_a_npc_chin.cpp:559
virtual void setMotion(int, f32, int)
Definition d_a_npc_chin.cpp:754
s8 field_0xe07
Definition d_a_npc_chin.h:202
_GlSph_Mng_c * mpSphMng
Definition d_a_npc_chin.h:204
s16 mActionMode
Definition d_a_npc_chin.h:200
int CreateHeap()
Definition d_a_npc_chin.cpp:322
bool watch_game(void *)
Definition d_a_npc_chin.cpp:1377
BOOL isGameEnd(int &)
Definition d_a_npc_chin.cpp:1530
f32 field_0xe1c
Definition d_a_npc_chin.h:208
int _Evt_GameStart_CutInit(int const &)
Definition d_a_npc_chin.cpp:1601
void ForcibleTalk_Off()
Definition d_a_npc_chin.h:183
NPC_CHIN_HIO_CLASS * mpHIO
Definition d_a_npc_chin.h:191
int Draw()
Definition d_a_npc_chin.cpp:394
void setMtx()
Definition d_a_npc_chin.h:165
daNpcF_ActorMngr_c mActorMngrs[1]
Definition d_a_npc_chin.h:214
void playMotion()
Definition d_a_npc_chin.cpp:899
u8 field_0xe26[0xe30 - 0xe26]
Definition d_a_npc_chin.h:212
int Create()
Definition d_a_npc_chin.cpp:232
virtual void setParam()
Definition d_a_npc_chin.cpp:457
int _Evt_GameFailed_CutMain(int const &)
Definition d_a_npc_chin.cpp:1705
int _Evt_GameGiveUp_CutInit(int const &)
Definition d_a_npc_chin.cpp:1917
s8 field_0xe25
Definition d_a_npc_chin.h:211
s8 getSWBit()
Definition d_a_npc_chin.h:172
request_of_phase_process_class mPhases[6]
Definition d_a_npc_chin.h:194
Z2Creature mSound
Definition d_a_npc_chin.h:188
void ForcibleTalk_On()
Definition d_a_npc_chin.h:182
void setLookMode(int)
Definition d_a_npc_chin.cpp:990
int setAction(actionFunc i_func)
Definition d_a_npc_chin.cpp:973
int _Evt_GameSucceed_CutInit(int const &)
Definition d_a_npc_chin.cpp:1743
int _Evt_GameSucceed(int)
Definition d_a_npc_chin.cpp:1724
int _Evt_GameStart(int)
Definition d_a_npc_chin.cpp:1578
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_chin.cpp:440
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_chin.cpp:404
int(daNpcChin_c::*) eventFunc(int)
Definition d_a_npc_chin.h:99
void setExpressionTalkAfter()
Definition d_a_npc_chin.cpp:1107
void playExpression()
Definition d_a_npc_chin.cpp:844
fpc_ProcID field_0xdf4
Definition d_a_npc_chin.h:195
void lookat()
Definition d_a_npc_chin.cpp:996
virtual void setExpression(int, f32)
Definition d_a_npc_chin.cpp:745
int _Evt_SpotLight_Off(int)
Definition d_a_npc_chin.cpp:2040
virtual void setMotionAnm(int, f32)
Definition d_a_npc_chin.cpp:665
virtual int ctrlBtk()
Definition d_a_npc_chin.cpp:501
void Event_DT_Base()
Definition d_a_npc_chin.h:136
static eventFunc mEvtSeqList[8]
Definition d_a_npc_chin.h:133
void reset()
Definition d_a_npc_chin.cpp:812
int _Evt_Appear_CutMain(int const &)
Definition d_a_npc_chin.cpp:2009
u8 field_0xe06
Definition d_a_npc_chin.h:201
f32 field_0xe20
Definition d_a_npc_chin.h:209
int _Evt_SelectGiveUp(int)
Definition d_a_npc_chin.cpp:1834
daNpcChin_c()
Definition d_a_npc_chin.cpp:200
Definition d_a_npc4.h:14
Definition d_a_npc4.h:379
Definition d_a_npc4.h:292
Definition d_a_npc4.h:54
s16 mEventIdx
Definition d_a_npc4.h:117
virtual void setMtx()
Definition d_a_npc4.cpp:763
u16 mOrderEvtNo
Definition d_a_npc4.h:126
Definition f_op_actor.h:230
csXyz shape_angle
Definition f_op_actor.h:252
int play()
Definition m_Do_ext.cpp:104
void setPlaySpeed(f32 speed)
Definition m_Do_ext.h:37
Definition m_Do_ext.h:65
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpcChin_c)==0xe78)
void dComIfGp_event_reset()
Definition d_com_inf_game.h:3631
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
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
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
Definition c_xyz.h:7
void set(f32 pX, f32 pY, f32 pZ)
Definition c_xyz.h:97
Definition d_a_npc_chin.h:7
daNpcF_HIOParam common
Definition d_a_npc_chin.h:8
Definition d_a_npc4.h:423
Definition c_phase.h:17