Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_toby.h
Go to the documentation of this file.
1#ifndef D_A_NPC_TOBY_H
2#define D_A_NPC_TOBY_H
3
4#include "dolphin/types.h"
5#include "d/actor/d_a_npc.h"
6
14
16public:
18
19 static const daNpc_Toby_HIOParam m;
20};
21
22#if DEBUG
32
33#define NPC_TOBY_HIO_CLASS daNpc_Toby_HIO_c
34#else
35#define NPC_TOBY_HIO_CLASS daNpc_Toby_Param_c
36#endif
37
46class daNpc_Toby_c : public daNpcT_c {
47public:
48 typedef int (daNpc_Toby_c::*cutFunc)(int);
49 typedef int (daNpc_Toby_c::*actionFunc)(void*);
50
52 int create();
53 int CreateHeap();
54 int Delete();
55 int Execute();
56 int Draw();
57 static int createHeapCallBack(fopAc_ac_c*);
58 static int ctrlJointCallBack(J3DJoint*, int);
59 static void* srchToby(void*, void*);
61 u8 getType();
62 int isDelete();
63 void reset();
64 void afterJntAnm(int);
65 void setParam();
67 void setAfterTalkMotion();
68 void srchActors();
69 BOOL evtTalk();
71 void action();
72 void beforeMove();
73 void setAttnPos();
74 void setCollision();
75 int drawDbgInfo();
76 void drawOtherMdl();
77 bool afterSetFaceMotionAnm(int, int, f32, int);
78 bool afterSetMotionAnm(int, int, f32, int);
79 int selectAction();
82 int cutTobyHouseFire(int);
83 int cutTalkToOneself(int);
84 int cutRepairSCannon(int);
85 int cutSCannon(int);
88 int chkAttnZra();
89 int wait(void*);
90 int walk(void*);
91 int play(void*);
92 int talk(void*);
93 int test(void*);
95 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
96 daNpcT_motionAnmData_c const* i_motionAnmData,
97 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
98 int i_faceMotionStepNum,
99 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
100 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
101 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
102 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
103 i_arcNames) {
104 // "|%06d:%x|daNpc_Toby_c -> Construct\n"
105 OS_REPORT("|%06d:%x|daNpc_Toby_c -> コンストラクト\n", g_Counter.mCounter0, this);
106 }
107 u16 getEyeballMaterialNo() { return 2; }
108 s32 getHeadJointNo() { return 4; }
109 s32 getNeckJointNo() { return 3; }
110 s32 getBackboneJointNo() { return 1; }
111 BOOL checkChangeJoint(int arg0) { return arg0 == 4; }
112 BOOL checkRemoveJoint(int arg0) { return arg0 == 8; }
113 s32 getFootLJointNo() { return 24; }
114 s32 getFootRJointNo() { return 27; }
115 BOOL chkXYItems() { return TRUE; }
116
118 u16 nodeNo = home.angle.x;
119 u32 rv;
120 if (nodeNo == 0xffff) {
121 rv = -1;
122 } else {
123 rv = nodeNo;
124 }
125
126 return rv;
127 }
128
129 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
130 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
131
132 static char* mCutNameList[7];
133 static cutFunc mCutList[7];
134
135private:
136 /* 0x0E40 */ NPC_TOBY_HIO_CLASS* mpHIO;
137 /* 0x0E44 */ J3DModel* mpTobyModels[1];
138 /* 0x0E48 */ dCcD_Cyl mCyl1;
139 /* 0x0F84 */ u8 mType;
141 /* 0x0FA8 */ actionFunc mActFunc_0;
142 /* 0x0FB4 */ actionFunc mActFunc_1;
143 /* 0x0FC0 */ daNpcT_Path_c mPath;
144 /* 0x0FE8 */ cXyz field_0x0FE8;
145 /* 0x0FF4 */ int field_0x0FF4;
146 /* 0x0FF8 */ f32 mPlaySpeed;
147 /* 0x0FFC */ u16 field_0x0FFC;
148 /* 0x0FFE */ u8 field_0x0FFE;
149 /* 0x0FFF */ u8 field_0x0FFF;
150 /* 0x1000 */ u8 field_0x1000;
151 /* 0x1001 */ bool field_0x1001;
152 /* 0x1002 */ bool field_0x1002;
153 /* 0x1003 */ u8 field_0x1003;
154 /* 0x1004 */ u8 field_0x1004;
155};
156
157STATIC_ASSERT(sizeof(daNpc_Toby_c) == 0x1008);
158
159#endif /* D_A_NPC_TOBY_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:63
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition d_cc_d.h:461
Definition d_a_npc.h:30
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_toby.h:23
void genMessage(JORMContext *)
Definition d_a_npc_toby.cpp:106
daNpc_Toby_HIOParam m
Definition d_a_npc_toby.h:30
daNpc_Toby_HIO_c()
Definition d_a_npc_toby.cpp:67
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_toby.cpp:71
Definition d_a_npc_toby.h:15
static const daNpc_Toby_HIOParam m
Definition d_a_npc_toby.h:17
virtual ~daNpc_Toby_Param_c()
Definition d_a_npc_toby.h:17
Fyer.
Definition d_a_npc_toby.h:46
void setParam()
Definition d_a_npc_toby.cpp:577
int chkAttnZra()
Definition d_a_npc_toby.cpp:1863
int drawDbgInfo()
Definition d_a_npc_toby.cpp:890
int field_0x0FF4
Definition d_a_npc_toby.h:145
dCcD_Cyl mCyl1
Definition d_a_npc_toby.h:138
u8 field_0x1004
Definition d_a_npc_toby.h:154
u8 getBitSW()
Definition d_a_npc_toby.h:130
int Draw()
Definition d_a_npc_toby.cpp:411
int setAction(actionFunc)
Definition d_a_npc_toby.cpp:1020
u8 field_0x1000
Definition d_a_npc_toby.h:150
daNpc_Toby_c(daNpcT_faceMotionAnmData_c const *i_faceMotionAnmData, daNpcT_motionAnmData_c const *i_motionAnmData, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *i_faceMotionSequenceData, int i_faceMotionStepNum, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *i_motionSequenceData, int i_motionStepNum, daNpcT_evtData_c const *i_evtData, char **i_arcNames)
Definition d_a_npc_toby.h:94
BOOL evtCutProc()
Definition d_a_npc_toby.cpp:757
s32 getHeadJointNo()
Definition d_a_npc_toby.h:108
u8 getType()
Definition d_a_npc_toby.cpp:476
void setCollision()
Definition d_a_npc_toby.cpp:848
f32 mPlaySpeed
Definition d_a_npc_toby.h:146
J3DModel * mpTobyModels[1]
Definition d_a_npc_toby.h:137
u16 getEyeballMaterialNo()
Definition d_a_npc_toby.h:107
u16 field_0x0FFC
Definition d_a_npc_toby.h:147
fopAc_ac_c * getOtherTobyP(int)
Definition d_a_npc_toby.cpp:458
int Delete()
Definition d_a_npc_toby.cpp:400
BOOL checkRemoveJoint(int arg0)
Definition d_a_npc_toby.h:112
BOOL checkChangeEvt()
Definition d_a_npc_toby.cpp:616
cXyz field_0x0FE8
Definition d_a_npc_toby.h:144
int cutConversationAboutSCannon(int)
Definition d_a_npc_toby.cpp:1564
s32 getFootLJointNo()
Definition d_a_npc_toby.h:113
s32 getNeckJointNo()
Definition d_a_npc_toby.h:109
int create()
Definition d_a_npc_toby.cpp:284
~daNpc_Toby_c()
Definition d_a_npc_toby.cpp:269
int wait(void *)
Definition d_a_npc_toby.cpp:1870
daNpcT_Path_c mPath
Definition d_a_npc_toby.h:143
int getFlowNodeNo()
Definition d_a_npc_toby.h:117
daNpcT_ActorMngr_c mActorMngr[4]
Definition d_a_npc_toby.h:140
void setAfterTalkMotion()
Definition d_a_npc_toby.cpp:682
actionFunc mActFunc_1
Definition d_a_npc_toby.h:142
int cutTalkToOneself(int)
Definition d_a_npc_toby.cpp:1130
void reset()
Definition d_a_npc_toby.cpp:521
int selectAction()
Definition d_a_npc_toby.cpp:986
int cutRepairSCannon(int)
Definition d_a_npc_toby.cpp:1312
BOOL checkChangeJoint(int arg0)
Definition d_a_npc_toby.h:111
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_toby.cpp:432
void beforeMove()
Definition d_a_npc_toby.cpp:803
int test(void *)
Definition d_a_npc_toby.cpp:2186
BOOL evtTalk()
Definition d_a_npc_toby.cpp:747
u8 field_0x1003
Definition d_a_npc_toby.h:153
bool field_0x1001
Definition d_a_npc_toby.h:151
actionFunc mActFunc_0
Definition d_a_npc_toby.h:141
BOOL chkXYItems()
Definition d_a_npc_toby.h:115
int talk(void *)
Definition d_a_npc_toby.cpp:2115
u8 mType
Definition d_a_npc_toby.h:139
int walk(void *)
Definition d_a_npc_toby.cpp:1996
int(daNpc_Toby_c::*) cutFunc(int)
Definition d_a_npc_toby.h:48
int play(void *)
Definition d_a_npc_toby.cpp:2037
static char * mCutNameList[7]
Definition d_a_npc_toby.h:247
bool afterSetFaceMotionAnm(int, int, f32, int)
Definition d_a_npc_toby.cpp:943
void afterJntAnm(int)
Definition d_a_npc_toby.cpp:567
u8 getPathID()
Definition d_a_npc_toby.h:129
void srchActors()
Definition d_a_npc_toby.cpp:705
int Execute()
Definition d_a_npc_toby.cpp:407
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_toby.cpp:427
bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_toby.cpp:964
u8 field_0x0FFE
Definition d_a_npc_toby.h:148
s32 getBackboneJointNo()
Definition d_a_npc_toby.h:110
void drawOtherMdl()
Definition d_a_npc_toby.cpp:927
int cutTobyHouseFire(int)
Definition d_a_npc_toby.cpp:1035
static void * srchToby(void *, void *)
Definition d_a_npc_toby.cpp:444
NPC_TOBY_HIO_CLASS * mpHIO
Definition d_a_npc_toby.h:136
int chkAction(actionFunc)
Definition d_a_npc_toby.cpp:1016
int cutSCannon(int)
Definition d_a_npc_toby.cpp:1451
void action()
Definition d_a_npc_toby.cpp:772
int CreateHeap()
Definition d_a_npc_toby.cpp:346
int cutConversationAboutZra(int)
Definition d_a_npc_toby.cpp:1808
int isDelete()
Definition d_a_npc_toby.cpp:496
bool field_0x1002
Definition d_a_npc_toby.h:152
void setAttnPos()
Definition d_a_npc_toby.cpp:814
u8 field_0x0FFF
Definition d_a_npc_toby.h:149
s32 getFootRJointNo()
Definition d_a_npc_toby.h:114
static cutFunc mCutList[7]
Definition d_a_npc_toby.h:257
int(daNpc_Toby_c::*) actionFunc(void *)
Definition d_a_npc_toby.h:49
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_Toby_c)==0x1008)
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
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
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
Definition c_xyz.h:7
u32 mCounter0
Definition c_counter.h:7
Definition d_a_npc.h:836
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_toby.h:7
daNpcT_HIOParam common
Definition d_a_npc_toby.h:8
f32 init_play_speed
Definition d_a_npc_toby.h:11
f32 speedup_performance
Definition d_a_npc_toby.h:10
f32 switching_speed
Definition d_a_npc_toby.h:12
f32 performance_speed
Definition d_a_npc_toby.h:9