Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_shaman.h
Go to the documentation of this file.
1#ifndef D_A_NPC_SHAMAN_H
2#define D_A_NPC_SHAMAN_H
3
4#include "d/actor/d_a_npc.h"
5
18
20public:
21 virtual ~daNpc_Sha_Param_c() {}
22
23 static daNpc_Sha_HIOParam const m;
24};
25
26#if DEBUG
28public:
30 void listenPropertyEvent(const JORPropertyEvent*);
31 void genMessage(JORMContext*);
32
34};
35#define NPC_SHA_HIO_CLASS daNpc_Sha_HIO_c
36#else
37#define NPC_SHA_HIO_CLASS daNpc_Sha_Param_c
38#endif
39
40class daNpc_Sha_c : public daNpcT_c {
41public:
42 typedef int (daNpc_Sha_c::*actionFunc)(void*);
43 typedef int (daNpc_Sha_c::*cutFunc)(int);
44 typedef BOOL (daNpc_Sha_c::*queryFunc)();
45
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 u8 getType();
55 BOOL isDelete();
56 void reset();
57 void afterJntAnm(int);
58 void setParam();
59 BOOL checkChangeEvt();
60 void setAfterTalkMotion();
61 void srchActors();
62 BOOL evtTalk();
63 BOOL evtCutProc();
64 void action();
65 void beforeMove();
66 void setAttnPos();
67 void setCollision();
68 int drawDbgInfo();
69 BOOL selectAction();
73 void setTempBit(int);
74 int cutPerformAugury(int);
75 int wait(void*);
76 int talk(void*);
77 int test(void*);
78 BOOL query265();
79 BOOL query268();
80 BOOL query267();
81 BOOL query078();
82 BOOL query264();
83 BOOL query266();
84 BOOL query542();
85 BOOL query461();
86 BOOL query288();
87 BOOL query000();
88 BOOL query999();
90 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
91 daNpcT_motionAnmData_c const* i_motionAnmData,
92 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
93 int i_faceMotionStepNum,
94 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
95 int i_motionStepNum,
96 daNpcT_evtData_c const* i_evtData,
97 char** i_arcNames)
98 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
99 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
100 i_arcNames) { OS_REPORT("|%06d:%x|daNpc_Sha_c -> コンストラクト\n", g_Counter.mCounter0, this); }
101 u16 getEyeballMaterialNo() { return 1; }
102 s32 getHeadJointNo() { return 4; }
103 s32 getNeckJointNo() { return 3; }
104 s32 getBackboneJointNo() { return 1; }
105 BOOL checkChangeJoint(int i_joint) { return i_joint == 4; }
106 BOOL checkRemoveJoint(int i_joint) { return i_joint == 8; }
107
109 u16 nodeNo = home.angle.x;
110 return nodeNo == 0xFFFF ? -1 : nodeNo;
111 }
112
113 static char* mCutNameList[2];
114 static cutFunc mCutList[2];
115 static const u16 mEvtBitLabels[6];
116 static const u16 mTmpBitLabels[6];
117 static const int mSceneChangeNoTable[48];
118 static queryFunc mQueries[48];
119
120private:
121 /* 0xE40 */ NPC_SHA_HIO_CLASS* mpHIO;
122 /* 0xE44 */ dCcD_Cyl mCyl;
123 /* 0xF80 */ u8 mType;
125 /* 0xF90 */ actionFunc mAction;
126 /* 0xF9C */ int mSceneChangeNoTableIx;
127 /* 0xFA0 */ u8 field_0xfa0;
128 /* 0xFA1 */ u8 field_0xfa1;
129 /* 0xFA2 */ u8 field_0xfa2;
130 /* 0xFA3 */ u8 field_0xfa3;
131 /* 0xFA4 */ u8 field_0xfa4;
132};
133
134STATIC_ASSERT(sizeof(daNpc_Sha_c) == 0xfa8);
135
136#endif /* D_A_NPC_SHAMAN_H */
counter_class g_Counter
Definition c_counter.cpp:8
int cPhs_Step
Definition c_phase.h:8
Definition d_cc_d.h:472
Definition d_a_npc.h:517
Definition d_a_npc_shaman.h:27
daNpc_Sha_HIOParam m
Definition d_a_npc_shaman.h:33
void genMessage(JORMContext *)
Definition d_a_npc_shaman.cpp:41
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_shaman.cpp:17
daNpc_Sha_HIO_c()
Definition d_a_npc_shaman.cpp:13
Definition d_a_npc_shaman.h:19
virtual ~daNpc_Sha_Param_c()
Definition d_a_npc_shaman.h:21
static daNpc_Sha_HIOParam const m
Definition d_a_npc_shaman.h:196
Fanadi.
Definition d_a_npc_shaman.h:40
actionFunc mNextAction
Definition d_a_npc_shaman.h:124
int Delete()
Definition d_a_npc_shaman.cpp:330
static const u16 mEvtBitLabels[6]
Definition d_a_npc_shaman.h:1134
static char * mCutNameList[2]
Definition d_a_npc_shaman.h:168
BOOL query288()
Definition d_a_npc_shaman.cpp:1212
void setAfterTalkMotion()
Definition d_a_npc_shaman.cpp:496
BOOL isDelete()
Definition d_a_npc_shaman.cpp:381
void setCollision()
Definition d_a_npc_shaman.cpp:641
void setParam()
Definition d_a_npc_shaman.cpp:431
int Execute()
Definition d_a_npc_shaman.cpp:337
u8 field_0xfa4
Definition d_a_npc_shaman.h:131
void srchActors()
Definition d_a_npc_shaman.cpp:520
void beforeMove()
Definition d_a_npc_shaman.cpp:595
BOOL query266()
Definition d_a_npc_shaman.cpp:1197
BOOL query542()
Definition d_a_npc_shaman.cpp:1202
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_shaman.cpp:350
int getSceneChangeNoTableIx()
Definition d_a_npc_shaman.cpp:725
BOOL query078()
Definition d_a_npc_shaman.cpp:1187
int(daNpc_Sha_c::*) cutFunc(int)
Definition d_a_npc_shaman.h:43
BOOL query267()
Definition d_a_npc_shaman.cpp:1182
actionFunc mAction
Definition d_a_npc_shaman.h:125
int drawDbgInfo()
Definition d_a_npc_shaman.cpp:680
dCcD_Cyl mCyl
Definition d_a_npc_shaman.h:122
u8 field_0xfa1
Definition d_a_npc_shaman.h:128
BOOL evtTalk()
Definition d_a_npc_shaman.cpp:531
BOOL(daNpc_Sha_c::*) queryFunc()
Definition d_a_npc_shaman.h:44
void reset()
Definition d_a_npc_shaman.cpp:396
u8 mType
Definition d_a_npc_shaman.h:123
s32 getHeadJointNo()
Definition d_a_npc_shaman.h:102
int Draw()
Definition d_a_npc_shaman.cpp:341
void afterJntAnm(int)
Definition d_a_npc_shaman.cpp:421
int(daNpc_Sha_c::*) actionFunc(void *)
Definition d_a_npc_shaman.h:42
static const u16 mTmpBitLabels[6]
Definition d_a_npc_shaman.h:1138
u8 field_0xfa0
Definition d_a_npc_shaman.h:127
s32 getNeckJointNo()
Definition d_a_npc_shaman.h:103
BOOL query999()
Definition d_a_npc_shaman.cpp:1221
BOOL chkAction(actionFunc)
Definition d_a_npc_shaman.cpp:704
void action()
Definition d_a_npc_shaman.cpp:569
BOOL selectAction()
Definition d_a_npc_shaman.cpp:684
int mSceneChangeNoTableIx
Definition d_a_npc_shaman.h:126
static const int mSceneChangeNoTable[48]
Definition d_a_npc_shaman.h:1142
u16 getEyeballMaterialNo()
Definition d_a_npc_shaman.h:101
s32 getBackboneJointNo()
Definition d_a_npc_shaman.h:104
int cutPerformAugury(int)
Definition d_a_npc_shaman.cpp:849
int getFlowNodeNo()
Definition d_a_npc_shaman.h:108
int talk(void *)
Definition d_a_npc_shaman.cpp:1072
BOOL checkChangeEvt()
Definition d_a_npc_shaman.cpp:463
int CreateHeap()
Definition d_a_npc_shaman.cpp:301
BOOL query000()
Definition d_a_npc_shaman.cpp:1217
daNpc_Sha_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_shaman.h:89
int wait(void *)
Definition d_a_npc_shaman.cpp:997
BOOL evtCutProc()
Definition d_a_npc_shaman.cpp:553
void setAttnPos()
Definition d_a_npc_shaman.cpp:607
u8 field_0xfa2
Definition d_a_npc_shaman.h:129
BOOL setAction(actionFunc)
Definition d_a_npc_shaman.cpp:708
BOOL query461()
Definition d_a_npc_shaman.cpp:1207
int test(void *)
Definition d_a_npc_shaman.cpp:1114
void setTempBit(int)
Definition d_a_npc_shaman.cpp:831
static queryFunc mQueries[48]
Definition d_a_npc_shaman.h:1157
u8 getType()
Definition d_a_npc_shaman.cpp:367
~daNpc_Sha_c()
Definition d_a_npc_shaman.cpp:180
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_shaman.h:105
cPhs_Step create()
Definition d_a_npc_shaman.cpp:240
u8 field_0xfa3
Definition d_a_npc_shaman.h:130
BOOL query268()
Definition d_a_npc_shaman.cpp:1177
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_shaman.cpp:355
BOOL query264()
Definition d_a_npc_shaman.cpp:1192
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_shaman.h:106
static cutFunc mCutList[2]
Definition d_a_npc_shaman.h:173
NPC_SHA_HIO_CLASS * mpHIO
Definition d_a_npc_shaman.h:121
BOOL query265()
Definition d_a_npc_shaman.cpp:1172
Definition f_op_actor.h:271
actor_place home
Definition f_op_actor.h:290
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Sha_c)==0xfa8)
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:247
u32 mCounter0
Definition c_counter.h:7
Definition d_a_npc.h:843
Definition d_a_npc.h:484
Definition d_a_npc.h:489
Definition d_a_npc.h:504
Definition d_a_npc_shaman.h:15
daNpcT_HIOParam common
Definition d_a_npc_shaman.h:16