Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_tks.h
Go to the documentation of this file.
1#ifndef D_A_NPC_TKS_H
2#define D_A_NPC_TKS_H
3
4#include "d/actor/d_a_npc4.h"
5
17 /* 0x6C */ s32 hide_time_1; // Hide 時間 - Hide Time
18 /* 0x70 */ s32 hide_time_2; // Hide 時間 - Hide Time
19 /* 0x74 */ s32 show_up_wait_time_1; // ShowUpWait時間 - Show Up Wait Time
20 /* 0x78 */ s32 show_up_wait_time_2; // ShowUpWait時間 - Show Up Wait Time
21 /* 0x7C */ f32 area_a_dist; // エリアA距離 - Area A Distance
22 /* 0x80 */ f32 area_b_dist; // エリアB距離 - Area B Distance
23 /* 0x84 */ f32 jar_enter_exit_spd; // 壷出入り速度 - Jar Enter and Exit Speed
24 /* 0x88 */ f32 launch_spd; // 打ち上げ速度 - Launch Speed
25 /* 0x8C */ f32 movement_spd; // 移動速度 - Movement Speed
26 /* 0x90 */ f32 walk_spd; // 歩行速度 - Walk Speed
27 /* 0x94 */ f32 run_spd; // 走行速度 - Run Speed
28};
29
31public:
32 virtual ~daNpcTks_Param_c() {}
33
34 static daNpcTks_HIOParam const m;
35};
36
37#if DEBUG
39public:
41
43
45
47};
48
49#define NPC_TKS_HIO_CLASS daNpcTks_HIO_c
50#else
51#define NPC_TKS_HIO_CLASS daNpcTks_Param_c
52#endif
53
55public:
57 /* 0x004 */ dKy_tevstr_c mTevStr;
58 /* 0x38C */ Z2Creature mSound;
59 /* 0x41C */ dCcD_Cyl mCyl;
61 /* 0x568 */ f32 mGroundH;
62 /* 0x56C */ u32 mShadowKey;
63 /* 0x570 */ u32 mAnmFlags;
64 /* 0x574 */ cXyz mPos;
65 /* 0x580 */ csXyz mAngle;
66 /* 0x586 */ u8 field_0x586;
67 /* 0x587 */ u8 mTsuboType;
68};
69
70class daNpcTks_c : public daNpcF_c {
71public:
72 typedef void (daNpcTks_c::*actionFunc)();
73
74 daNpcTks_c();
77 int CreateHeap();
78 int Delete();
79 int Execute();
80 int Draw();
82 static int createHeapCallBack(fopAc_ac_c*);
83 static int ctrlJointCallBack(J3DJoint*, int);
84 void setMtx();
85 bool setExpressionAnm(int, bool);
86 bool setExpressionBtp(int);
87 void setMotion(int, f32, int);
88 void reset();
90 void wait();
91 void setMotionAnm(int, f32);
92 void waitNude();
93 void waitLv6();
94 void talk();
95 void setExpression(int, f32);
96 void hide();
97 void shake();
98 void showUp();
99 void showUpWait();
100 void lookAroundA();
101 void lookAroundB();
102 void in();
103 void damage();
104 void broken();
105 void demo_appear();
106 void demo_scannon();
107 void demo_Lv6Gate();
108 void demo_farewell();
109 void demo_warpBack();
110 void demo_walkBack();
111 void demo_Lv7Start();
112 void demo_Lv3PickUp();
113 void demo_Lv6PickUp();
114 inline void setParam();
115 inline BOOL main();
116 inline BOOL ctrlBtk();
117 inline void setAttnPos();
118 inline void lookat();
119 inline BOOL drawDbgInfo();
120 inline void drawOtherMdls();
121
122 u8 getType() { return fopAcM_GetParam(this) & 0xFF; }
123 u8 getSwitchNo() { return (fopAcM_GetParam(this) >> 8) & 0xFF; }
124 u8 getTsuboType() { return 1 - (fopAcM_GetParam(this) >> 24) == 0; }
125 int getMessageNo() { return shape_angle.x; }
126 u8 getTBoxNo() { return (fopAcM_GetParam(this) >> 16) & 0xFF; }
127 inline BOOL checkFindPlayer();
128 inline void setLookMode(int, fopAc_ac_c*);
129 inline void setTsuboMotionAnm(int, f32);
130 inline void setExpressionTalkAfter();
131 inline BOOL step(s16, int);
132 inline void playExpression();
133 inline void playMotion();
134 inline void playTsuboAnm();
135 inline int getPlayerArea();
136
137private:
138 /* 0x0B48 */ Z2Creature mSound;
144 /* 0x120C */ NPC_TKS_HIO_CLASS* mpHIO;
145 /* 0x1210 */ dCcD_Cyl mCyl;
146 /* 0x134C */ actionFunc mAction;
148 /* 0x1368 */ fpc_ProcID mItemID;
149 /* 0x136C */ f32 field_0x136c;
150 /* 0x1370 */ int field_0x1370;
151 /* 0x1374 */ int field_0x1374;
152 /* 0x1378 */ int mPlayerArea;
153 /* 0x137C */ u32 field_0x137c[2];
154 /* 0x1384 */ s16 mMessageNo;
155 /* 0x1386 */ s16 mLookMode;
156 /* 0x1388 */ u16 mMode;
157 /* 0x138A */ bool field_0x138a;
158 /* 0x138B */ bool field_0x138b;
159};
160
161STATIC_ASSERT(sizeof(daNpcTks_c) == 0x138c);
162
163#endif /* D_A_NPC_TKS_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 c_bg_s_poly_info.h:7
Definition c_sxyz.h:10
Definition d_cc_d.h:472
Definition d_kankyo_tev_str.h:8
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_tks.h:54
u8 field_0x586
Definition d_a_npc_tks.h:66
dKy_tevstr_c mTevStr
Definition d_a_npc_tks.h:57
cBgS_PolyInfo polyBase
Definition d_a_npc_tks.h:60
cXyz mPos
Definition d_a_npc_tks.h:64
csXyz mAngle
Definition d_a_npc_tks.h:65
f32 mGroundH
Definition d_a_npc_tks.h:61
u32 mAnmFlags
Definition d_a_npc_tks.h:63
Z2Creature mSound
Definition d_a_npc_tks.h:58
dCcD_Cyl mCyl
Definition d_a_npc_tks.h:59
u32 mShadowKey
Definition d_a_npc_tks.h:62
u8 mTsuboType
Definition d_a_npc_tks.h:67
mDoExt_McaMorfSO * mpModelMorf
Definition d_a_npc_tks.h:56
Definition d_a_npc_tks.h:38
void genMessage(JORMContext *)
Definition d_a_npc_tks.cpp:260
daNpcTks_HIOParam m
Definition d_a_npc_tks.h:46
daNpcTks_HIO_c()
Definition d_a_npc_tks.cpp:252
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_tks.cpp:256
Definition d_a_npc_tks.h:30
static daNpcTks_HIOParam const m
Definition d_a_npc_tks.h:204
virtual ~daNpcTks_Param_c()
Definition d_a_npc_tks.h:32
Ooccoo.
Definition d_a_npc_tks.h:70
void playMotion()
Definition d_a_npc_tks.cpp:813
int mPlayerArea
Definition d_a_npc_tks.h:152
void setMotion(int, f32, int)
Definition d_a_npc_tks.cpp:580
BOOL step(s16, int)
Definition d_a_npc_tks.cpp:1146
u8 getType()
Definition d_a_npc_tks.h:122
void setAttnPos()
Definition d_a_npc_tks.cpp:2933
int Delete()
Definition d_a_npc_tks.cpp:416
void setExpressionTalkAfter()
Definition d_a_npc_tks.cpp:1142
u32 field_0x137c[2]
Definition d_a_npc_tks.h:153
bool setExpressionAnm(int, bool)
Definition d_a_npc_tks.cpp:514
daNpcF_MatAnm_c * mpMatAnm
Definition d_a_npc_tks.h:140
int getPlayerArea()
Definition d_a_npc_tks.cpp:780
f32 field_0x136c
Definition d_a_npc_tks.h:149
void demo_scannon()
Definition d_a_npc_tks.cpp:1712
bool field_0x138b
Definition d_a_npc_tks.h:158
void damage()
Definition d_a_npc_tks.cpp:1480
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_tks.cpp:432
u8 getTBoxNo()
Definition d_a_npc_tks.h:126
void setExpression(int, f32)
Definition d_a_npc_tks.cpp:1238
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_tks.cpp:467
int CreateHeap()
Definition d_a_npc_tks.cpp:368
void showUp()
Definition d_a_npc_tks.cpp:1320
Z2Creature mSound
Definition d_a_npc_tks.h:138
int field_0x1374
Definition d_a_npc_tks.h:151
int field_0x1370
Definition d_a_npc_tks.h:150
void in()
Definition d_a_npc_tks.cpp:1456
BOOL setAction(actionFunc)
Definition d_a_npc_tks.cpp:763
void demo_walkBack()
Definition d_a_npc_tks.cpp:2182
void reset()
Definition d_a_npc_tks.cpp:621
u8 getTsuboType()
Definition d_a_npc_tks.h:124
void demo_Lv3PickUp()
Definition d_a_npc_tks.cpp:2620
void setTsuboMotionAnm(int, f32)
Definition d_a_npc_tks.cpp:985
BOOL ctrlBtk()
Definition d_a_npc_tks.cpp:2916
void lookat()
Definition d_a_npc_tks.cpp:849
void setLookMode(int, fopAc_ac_c *)
Definition d_a_npc_tks.cpp:943
~daNpcTks_c()
Definition d_a_npc_tks.cpp:267
int Execute()
Definition d_a_npc_tks.cpp:421
void talk()
Definition d_a_npc_tks.cpp:1180
fpc_ProcID mItemID
Definition d_a_npc_tks.h:148
void playTsuboAnm()
Definition d_a_npc_tks.cpp:910
void demo_warpBack()
Definition d_a_npc_tks.cpp:2058
daNpcTks_c()
Definition d_a_npc_tks.cpp:265
void waitLv6()
Definition d_a_npc_tks.cpp:1090
void drawOtherMdls()
Definition d_a_npc_tks.cpp:2996
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_tks.h:142
NPC_TKS_HIO_CLASS * mpHIO
Definition d_a_npc_tks.h:144
void hide()
Definition d_a_npc_tks.cpp:1247
int getMessageNo()
Definition d_a_npc_tks.h:125
void demo_Lv6Gate()
Definition d_a_npc_tks.cpp:1818
void shake()
Definition d_a_npc_tks.cpp:1292
dCcD_Cyl mCyl
Definition d_a_npc_tks.h:145
void setMotionAnm(int, f32)
Definition d_a_npc_tks.cpp:997
void demo_Lv6PickUp()
Definition d_a_npc_tks.cpp:2759
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_tks.cpp:471
fopAc_ac_c * field_0x1208
Definition d_a_npc_tks.h:143
daNpcTksTsubo_c mTksTsubo
Definition d_a_npc_tks.h:139
u8 getSwitchNo()
Definition d_a_npc_tks.h:123
u16 mMode
Definition d_a_npc_tks.h:156
void demo_farewell()
Definition d_a_npc_tks.cpp:1883
void wait()
Definition d_a_npc_tks.cpp:950
void playExpression()
Definition d_a_npc_tks.cpp:797
int Draw()
Definition d_a_npc_tks.cpp:426
cPhs_Step Create()
Definition d_a_npc_tks.cpp:287
s16 mLookMode
Definition d_a_npc_tks.h:155
void demo_Lv7Start()
Definition d_a_npc_tks.cpp:2311
void demo_appear()
Definition d_a_npc_tks.cpp:1547
bool setExpressionBtp(int)
Definition d_a_npc_tks.cpp:555
void lookAroundB()
Definition d_a_npc_tks.cpp:1428
BOOL main()
Definition d_a_npc_tks.cpp:590
actionFunc mAction
Definition d_a_npc_tks.h:146
daNpcF_Lookat_c mLookat
Definition d_a_npc_tks.h:141
void(daNpcTks_c::*) actionFunc()
Definition d_a_npc_tks.h:72
void lookAroundA()
Definition d_a_npc_tks.cpp:1400
bool field_0x138a
Definition d_a_npc_tks.h:157
void waitNude()
Definition d_a_npc_tks.cpp:1048
void setMtx()
Definition d_a_npc_tks.cpp:484
s16 mMessageNo
Definition d_a_npc_tks.h:154
BOOL drawDbgInfo()
Definition d_a_npc_tks.cpp:2992
void showUpWait()
Definition d_a_npc_tks.cpp:1344
void broken()
Definition d_a_npc_tks.cpp:1510
request_of_phase_process_class mPhases[2]
Definition d_a_npc_tks.h:147
void setParam()
Definition d_a_npc_tks.cpp:2909
BOOL checkFindPlayer()
Definition d_a_npc_tks.cpp:930
Definition f_op_actor.h:243
csXyz shape_angle
Definition f_op_actor.h:265
Definition m_Do_ext.h:408
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpcTks_c)==0x138c)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
unsigned int fpc_ProcID
Definition f_pc_base.h:10
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
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
Definition c_xyz.h:7
Definition d_a_npc4.h:430
Definition d_a_npc_tks.h:15
f32 jar_enter_exit_spd
Definition d_a_npc_tks.h:23
s32 hide_time_2
Definition d_a_npc_tks.h:18
f32 area_b_dist
Definition d_a_npc_tks.h:22
f32 movement_spd
Definition d_a_npc_tks.h:25
s32 show_up_wait_time_1
Definition d_a_npc_tks.h:19
f32 area_a_dist
Definition d_a_npc_tks.h:21
daNpcF_HIOParam common
Definition d_a_npc_tks.h:16
s32 show_up_wait_time_2
Definition d_a_npc_tks.h:20
f32 run_spd
Definition d_a_npc_tks.h:27
s32 hide_time_1
Definition d_a_npc_tks.h:17
f32 launch_spd
Definition d_a_npc_tks.h:24
f32 walk_spd
Definition d_a_npc_tks.h:26
Definition c_phase.h:19