Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_lud.h
Go to the documentation of this file.
1#ifndef D_A_NPC_LUD_H
2#define D_A_NPC_LUD_H
3
4#include "d/actor/d_a_npc.h"
5
8 /* 0x8C */ f32 play_speed;
9};
10
12public:
13 virtual ~daNpc_Lud_Param_c() {}
14
15 static const daNpc_Lud_HIOParam m;
16};
17
18#if DEBUG
28
29#define NPC_LUD_HIO_CLASS daNpc_Lud_HIO_c
30#else
31#define NPC_LUD_HIO_CLASS daNpc_Lud_Param_c
32#endif
33
42class daNpc_Lud_c : public daNpcT_c {
43public:
44 typedef int (daNpc_Lud_c::*actionFunc)(void*);
45 typedef int (daNpc_Lud_c::*cutFunc)(int);
46
48 int create();
49 int CreateHeap();
50 int Delete();
51 int Execute();
52 int Draw();
53 static int createHeapCallBack(fopAc_ac_c*);
54 static int ctrlJointCallBack(J3DJoint*, int);
55 u8 getType();
56 BOOL isDelete();
57 void reset();
58 void afterJntAnm(int);
59 void setParam();
61 void setAfterTalkMotion();
62 void srchActors();
63 BOOL evtTalk();
65 void action();
66 void beforeMove();
67 void setAttnPos();
68 void setCollision();
69 int drawDbgInfo();
70 void drawOtherMdl();
71 bool setBowlAnm(int, int, f32);
72 bool afterSetMotionAnm(int, int, f32, int);
73 int selectAction();
76 void mop(int, int);
77 int cutHurry(int);
81 int cutNurse(int);
82 int cutClothTry(int);
83 int cutThankYou(int);
84 int wait(void*);
85 int nurse(void*);
86 int giveSoup(void*);
87 int talk(void*);
89 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
90 daNpcT_motionAnmData_c const* i_motionAnmData,
91 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
92 int i_faceMotionStepNum,
93 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
94 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
95 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
96 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
97 i_arcNames) {}
98 u16 getEyeballMaterialNo() { return 1; }
99 s32 getHeadJointNo() { return 4; }
100 s32 getNeckJointNo() { return 3; }
101 s32 getBackboneJointNo() { return 1; }
102 BOOL checkChangeJoint(int param_0) { return param_0 == 4; }
103 BOOL checkRemoveJoint(int param_0) { return param_0 == 10; }
104
106 u16 nodeNo = home.angle.x;
107 if (nodeNo == 0xffff) {
108 return -1;
109 }
110 return nodeNo;
111 }
112 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xff0000) >> 16; }
113
114 static char* mCutNameList[8];
115 static cutFunc mCutList[8];
116
117private:
119 /* 0xE44 */ NPC_LUD_HIO_CLASS* mpHIO;
120 /* 0xE48 */ J3DModel* mpModel[2];
121 /* 0xE50 */ dCcD_Cyl mCyl;
122 /* 0xF8C */ u8 mType;
125 /* 0xFB4 */ actionFunc mAction;
126 /* 0xFC0 */ int field_0xfc0;
127 /* 0xFC4 */ int field_0xfc4;
128 /* 0xFC8 */ int field_0xfc8;
129 /* 0xFCC */ int field_0xfcc;
130 /* 0xFD0 */ s16 field_0xfd0;
131 /* 0xFD2 */ u8 field_0xfd2;
132 /* 0xFD3 */ u8 field_0xfd3;
133 /* 0xFD4 */ u8 field_0xfd4;
134 /* 0xFD5 */ u8 field_0xfd5;
135 /* 0xFD8 */ int field_0xfd8;
136};
137
138STATIC_ASSERT(sizeof(daNpc_Lud_c) == 0xfdc);
139
140#endif /* D_A_NPC_LUD_H */
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:516
Definition d_a_npc_lud.h:19
daNpc_Lud_HIO_c()
Definition d_a_npc_lud.cpp:57
daNpc_Lud_HIOParam m
Definition d_a_npc_lud.h:26
void genMessage(JORMContext *)
Definition d_a_npc_lud.cpp:65
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_lud.cpp:61
Definition d_a_npc_lud.h:11
static const daNpc_Lud_HIOParam m
Definition d_a_npc_lud.h:11
virtual ~daNpc_Lud_Param_c()
Definition d_a_npc_lud.h:13
Luda.
Definition d_a_npc_lud.h:42
BOOL checkRemoveJoint(int param_0)
Definition d_a_npc_lud.h:103
u8 field_0xfd2
Definition d_a_npc_lud.h:131
int giveSoup(void *)
Definition d_a_npc_lud.cpp:1436
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_lud.cpp:399
u8 field_0xfd4
Definition d_a_npc_lud.h:133
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_lud.cpp:403
int setAction(actionFunc)
Definition d_a_npc_lud.cpp:909
BOOL evtCutProc()
Definition d_a_npc_lud.cpp:636
int cutNurse(int)
Definition d_a_npc_lud.cpp:1158
u8 field_0xfd3
Definition d_a_npc_lud.h:132
int field_0xfc8
Definition d_a_npc_lud.h:128
BOOL isDelete()
Definition d_a_npc_lud.cpp:438
void mop(int, int)
Definition d_a_npc_lud.cpp:924
void beforeMove()
Definition d_a_npc_lud.cpp:685
int field_0xfc0
Definition d_a_npc_lud.h:126
void srchActors()
Definition d_a_npc_lud.cpp:609
s32 getBackboneJointNo()
Definition d_a_npc_lud.h:101
u8 getType()
Definition d_a_npc_lud.cpp:416
int cutClothTry(int)
Definition d_a_npc_lud.cpp:1215
int field_0xfd8
Definition d_a_npc_lud.h:135
int selectAction()
Definition d_a_npc_lud.cpp:885
void setAttnPos()
Definition d_a_npc_lud.cpp:698
~daNpc_Lud_c()
Definition d_a_npc_lud.cpp:236
daNpcT_ActorMngr_c mActorMngr[3]
Definition d_a_npc_lud.h:123
actionFunc field_0xfa8
Definition d_a_npc_lud.h:124
void setParam()
Definition d_a_npc_lud.cpp:507
NPC_LUD_HIO_CLASS * mpHIO
Definition d_a_npc_lud.h:119
bool setBowlAnm(int, int, f32)
Definition d_a_npc_lud.cpp:852
int Execute()
Definition d_a_npc_lud.cpp:387
BOOL evtTalk()
Definition d_a_npc_lud.cpp:627
s32 getHeadJointNo()
Definition d_a_npc_lud.h:99
int(daNpc_Lud_c::*) cutFunc(int)
Definition d_a_npc_lud.h:45
int talk(void *)
Definition d_a_npc_lud.cpp:1453
BOOL checkChangeEvt()
Definition d_a_npc_lud.cpp:563
int getFlowNodeNo()
Definition d_a_npc_lud.h:105
actionFunc mAction
Definition d_a_npc_lud.h:125
s16 field_0xfd0
Definition d_a_npc_lud.h:130
int(daNpc_Lud_c::*) actionFunc(void *)
Definition d_a_npc_lud.h:44
int field_0xfcc
Definition d_a_npc_lud.h:129
J3DModel * mpModel[2]
Definition d_a_npc_lud.h:120
dCcD_Cyl mCyl
Definition d_a_npc_lud.h:121
u8 field_0xfd5
Definition d_a_npc_lud.h:134
int cutConversationAboutGoron(int)
Definition d_a_npc_lud.cpp:1103
int nurse(void *)
Definition d_a_npc_lud.cpp:1369
int cutConversationAboutDeathMt(int)
Definition d_a_npc_lud.cpp:1047
static char * mCutNameList[8]
Definition d_a_npc_lud.h:214
s32 getNeckJointNo()
Definition d_a_npc_lud.h:100
int cutThankYou(int)
Definition d_a_npc_lud.cpp:1235
daNpc_Lud_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_lud.h:88
void reset()
Definition d_a_npc_lud.cpp:460
BOOL checkChangeJoint(int param_0)
Definition d_a_npc_lud.h:102
int CreateHeap()
Definition d_a_npc_lud.cpp:297
void afterJntAnm(int)
Definition d_a_npc_lud.cpp:497
int Delete()
Definition d_a_npc_lud.cpp:381
bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_lud.cpp:878
mDoExt_McaMorfSO * mpBowlMorf
Definition d_a_npc_lud.h:118
void action()
Definition d_a_npc_lud.cpp:650
u8 mType
Definition d_a_npc_lud.h:122
static cutFunc mCutList[8]
Definition d_a_npc_lud.h:225
int create()
Definition d_a_npc_lud.cpp:248
u16 getEyeballMaterialNo()
Definition d_a_npc_lud.h:98
void drawOtherMdl()
Definition d_a_npc_lud.cpp:820
void setAfterTalkMotion()
Definition d_a_npc_lud.cpp:599
int cutConversationInHotel(int)
Definition d_a_npc_lud.cpp:971
int cutHurry(int)
Definition d_a_npc_lud.cpp:942
int field_0xfc4
Definition d_a_npc_lud.h:127
void setCollision()
Definition d_a_npc_lud.cpp:772
int drawDbgInfo()
Definition d_a_npc_lud.cpp:816
int Draw()
Definition d_a_npc_lud.cpp:391
BOOL chkAction(actionFunc)
Definition d_a_npc_lud.cpp:905
u8 getBitSW()
Definition d_a_npc_lud.h:112
int wait(void *)
Definition d_a_npc_lud.cpp:1268
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_ext.h:331
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_Lud_c)==0xfdc)
int BOOL
Definition types.h:33
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
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 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_lud.h:6
daNpcT_HIOParam common
Definition d_a_npc_lud.h:7
f32 play_speed
Definition d_a_npc_lud.h:8