Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_doc.h
Go to the documentation of this file.
1#ifndef D_A_NPC_DOC_H
2#define D_A_NPC_DOC_H
3
4#include "d/actor/d_a_npc.h"
5
8 /* 0x8C */ f32 field_0x8c;
9};
10
12public:
13 virtual ~daNpc_Doc_Param_c() {}
14
15 static const daNpc_Doc_HIOParam m;
16};
17
18#if DEBUG
27
28#define NPC_DOC_HIO_CLASS daNpc_Doc_HIO_c
29#else
30#define NPC_DOC_HIO_CLASS daNpc_Doc_Param_c
31#endif
32
41class daNpc_Doc_c : public daNpcT_c {
42public:
43 typedef int (daNpc_Doc_c::*actionFunc)(int);
44 typedef int (daNpc_Doc_c::*cutFunc)(int);
45
46 virtual ~daNpc_Doc_c();
47 int create();
48 int CreateHeap();
49 int Delete();
50 int Execute();
51 int Draw();
52 static int createHeapCallBack(fopAc_ac_c*);
53 static int ctrlJointCallBack(J3DJoint*, int);
54 int getType();
55 int isDelete();
56 void reset();
57 void srchActors();
59 int chkAction(int (daNpc_Doc_c::*)(void*));
60 int setAction(int (daNpc_Doc_c::*)(void*));
61 int wait(void*);
62 int walk(void*);
63 int talk(void*);
64 daNpc_Doc_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
65 daNpcT_motionAnmData_c const* i_motionAnmData,
66 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
67 int i_faceMotionStepNum,
68 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
69 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
70 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
71 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
72 i_arcNames)
73 {
74 OS_REPORT("|%06d:%x|daNpc_Doc_c -> コンストラクト\n", g_Counter.mCounter0, this);
75 }
76
77 int test(void*);
78
79 BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 4; }
80 BOOL checkRemoveJoint(int i_jointNo) { return i_jointNo == 8; }
81 s32 getBackboneJointNo() { return 1; }
82 s32 getNeckJointNo() { return 3; }
83 s32 getHeadJointNo() { return 4; }
84 s32 getFootLJointNo() { return 24; }
85 s32 getFootRJointNo() { return 27; }
86 u16 getEyeballMaterialNo() { return 4; }
87 void afterJntAnm(int);
93 void action();
94 void beforeMove();
95 void setAttnPos();
96 void setCollision();
97 BOOL chkXYItems() { return mType == 1; }
99
101 u16 nodeNo = home.angle.x;
102 return nodeNo == 0xFFFF ? -1 : nodeNo;
103 }
104
106 u16 var_r31 = (u16)home.angle.z;
107 var_r31 &= (u16)0x3E0;
108 var_r31 = var_r31 >> 5;
109
110 if (var_r31 < 24) {
111 return var_r31;
112 }
113
114 return -1;
115 }
116
117 int getOnHour() {
118 u16 var_r31 = (u16)home.angle.z;
119 var_r31 &= (u16)0x1F;
120
121 if (var_r31 < 24) {
122 return var_r31;
123 }
124
125 return -1;
126 }
127
129 return (fopAcM_GetParam(this) & 0xFF0000) >> 16;
130 }
131
133 return (fopAcM_GetParam(this) & 0xFF00) >> 8;
134 }
135
136 static char* mCutNameList[1];
137 static cutFunc mCutList[1];
138
139private:
140 /* 0xE40 */ NPC_DOC_HIO_CLASS* mpHIO;
141 /* 0xE44 */ dCcD_Cyl mCyl;
142 /* 0xF80 */ u8 mType;
143 /* 0xF84 */ daNpcT_Path_c mPath;
144 /* 0xFAC */ int (daNpc_Doc_c::*field_0xfac)(void*);
145 /* 0xFB8 */ int (daNpc_Doc_c::*mAction)(void*);
146 /* 0xFC4 */ u8 field_0xfc4;
147 /* 0xFC5 */ u8 field_0xfc5;
148 /* 0xFC6 */ u8 field_0xfc6;
149 /* 0xFC7 */ u8 field_0xfc7;
150 /* 0xFC8 */ u8 field_0xfc8;
151};
152
153STATIC_ASSERT(sizeof(daNpc_Doc_c) == 0xfcc);
154
155#endif /* D_A_NPC_DOC_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:63
Definition JORMContext.h:120
Definition d_cc_d.h:461
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_doc.h:19
void genMessage(JORMContext *)
void listenPropertyEvent(const JORPropertyEvent *)
daNpc_Doc_HIOParam m
Definition d_a_npc_doc.h:25
Definition d_a_npc_doc.h:11
static const daNpc_Doc_HIOParam m
Definition d_a_npc_doc.h:92
virtual ~daNpc_Doc_Param_c()
Definition d_a_npc_doc.h:13
Dr. Borville.
Definition d_a_npc_doc.h:41
int getType()
Definition d_a_npc_doc.cpp:303
u8 field_0xfc6
Definition d_a_npc_doc.h:148
BOOL drawDbgInfo()
Definition d_a_npc_doc.cpp:606
void beforeMove()
Definition d_a_npc_doc.cpp:502
daNpcT_Path_c mPath
Definition d_a_npc_doc.h:143
int Draw()
Definition d_a_npc_doc.cpp:271
int(daNpc_Doc_c::*) cutFunc(int)
Definition d_a_npc_doc.h:44
BOOL chkXYItems()
Definition d_a_npc_doc.h:97
void setAfterTalkMotion()
Definition d_a_npc_doc.cpp:438
static char * mCutNameList[1]
Definition d_a_npc_doc.h:86
dCcD_Cyl mCyl
Definition d_a_npc_doc.h:141
int chkAction(int(daNpc_Doc_c::*)(void *))
Definition d_a_npc_doc.cpp:629
void srchActors()
Definition d_a_npc_doc.cpp:449
BOOL evtCutProc()
Definition d_a_npc_doc.cpp:461
u8 field_0xfc7
Definition d_a_npc_doc.h:149
int wait(void *)
Definition d_a_npc_doc.cpp:650
int(daNpc_Doc_c::* field_0xfac)(void *)
Definition d_a_npc_doc.h:144
void setParam()
Definition d_a_npc_doc.cpp:376
int walk(void *)
Definition d_a_npc_doc.cpp:725
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_doc.cpp:287
void action()
Definition d_a_npc_doc.cpp:477
int CreateHeap()
Definition d_a_npc_doc.cpp:220
void setAttnPos()
Definition d_a_npc_doc.cpp:528
static cutFunc mCutList[1]
Definition d_a_npc_doc.h:88
int isDelete()
Definition d_a_npc_doc.cpp:315
BOOL selectAction()
Definition d_a_npc_doc.cpp:610
s32 getFootLJointNo()
Definition d_a_npc_doc.h:84
int getFlowNodeNo()
Definition d_a_npc_doc.h:100
s32 getNeckJointNo()
Definition d_a_npc_doc.h:82
int Execute()
Definition d_a_npc_doc.cpp:267
u8 getBitSW()
Definition d_a_npc_doc.h:128
u8 field_0xfc8
Definition d_a_npc_doc.h:150
u8 mType
Definition d_a_npc_doc.h:142
int Delete()
Definition d_a_npc_doc.cpp:260
int test(void *)
Definition d_a_npc_doc.cpp:833
int getOffHour()
Definition d_a_npc_doc.h:105
int create()
Definition d_a_npc_doc.cpp:155
BOOL evtTalk()
Definition d_a_npc_doc.cpp:451
NPC_DOC_HIO_CLASS * mpHIO
Definition d_a_npc_doc.h:140
u8 field_0xfc5
Definition d_a_npc_doc.h:147
void setCollision()
Definition d_a_npc_doc.cpp:561
int talk(void *)
Definition d_a_npc_doc.cpp:760
int(daNpc_Doc_c::*) actionFunc(int)
Definition d_a_npc_doc.h:43
u16 getEyeballMaterialNo()
Definition d_a_npc_doc.h:86
int setAction(int(daNpc_Doc_c::*)(void *))
Definition d_a_npc_doc.cpp:633
int(daNpc_Doc_c::* mAction)(void *)
Definition d_a_npc_doc.h:145
int getOnHour()
Definition d_a_npc_doc.h:117
BOOL checkRemoveJoint(int i_jointNo)
Definition d_a_npc_doc.h:80
BOOL checkChangeEvt()
Definition d_a_npc_doc.cpp:411
void afterJntAnm(int)
Definition d_a_npc_doc.cpp:366
s32 getBackboneJointNo()
Definition d_a_npc_doc.h:81
s32 getHeadJointNo()
Definition d_a_npc_doc.h:83
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_doc.cpp:291
virtual ~daNpc_Doc_c()
Definition d_a_npc_doc.cpp:139
void reset()
Definition d_a_npc_doc.cpp:326
u8 field_0xfc4
Definition d_a_npc_doc.h:146
daNpc_Doc_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_doc.h:64
u8 getPathID()
Definition d_a_npc_doc.h:132
BOOL checkChangeJoint(int i_jointNo)
Definition d_a_npc_doc.h:79
s32 getFootRJointNo()
Definition d_a_npc_doc.h:85
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_Doc_c)==0xfcc)
int BOOL
Definition types.h:33
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
s16 z
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:206
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_doc.h:6
daNpcT_HIOParam common
Definition d_a_npc_doc.h:7
f32 field_0x8c
Definition d_a_npc_doc.h:8