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:
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();
60 void setAfterTalkMotion();
61 void srchActors();
62 BOOL evtTalk();
64 void action();
65 void beforeMove();
66 void setAttnPos();
67 void setCollision();
68 int drawDbgInfo();
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
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition JORMContext.h:120
Definition d_cc_d.h:461
Definition d_a_npc.h:516
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:40
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_shaman.cpp:16
daNpc_Sha_HIO_c()
Definition d_a_npc_shaman.cpp:12
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:195
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:329
static const u16 mEvtBitLabels[6]
Definition d_a_npc_shaman.h:1137
static char * mCutNameList[2]
Definition d_a_npc_shaman.h:167
BOOL query288()
Definition d_a_npc_shaman.cpp:1215
void setAfterTalkMotion()
Definition d_a_npc_shaman.cpp:499
BOOL isDelete()
Definition d_a_npc_shaman.cpp:384
void setCollision()
Definition d_a_npc_shaman.cpp:644
void setParam()
Definition d_a_npc_shaman.cpp:434
int Execute()
Definition d_a_npc_shaman.cpp:336
u8 field_0xfa4
Definition d_a_npc_shaman.h:131
void srchActors()
Definition d_a_npc_shaman.cpp:523
void beforeMove()
Definition d_a_npc_shaman.cpp:598
BOOL query266()
Definition d_a_npc_shaman.cpp:1200
BOOL query542()
Definition d_a_npc_shaman.cpp:1205
cPhs__Step create()
Definition d_a_npc_shaman.cpp:239
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_shaman.cpp:353
int getSceneChangeNoTableIx()
Definition d_a_npc_shaman.cpp:728
BOOL query078()
Definition d_a_npc_shaman.cpp:1190
int(daNpc_Sha_c::*) cutFunc(int)
Definition d_a_npc_shaman.h:43
BOOL query267()
Definition d_a_npc_shaman.cpp:1185
actionFunc mAction
Definition d_a_npc_shaman.h:125
int drawDbgInfo()
Definition d_a_npc_shaman.cpp:683
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:534
BOOL(daNpc_Sha_c::*) queryFunc()
Definition d_a_npc_shaman.h:44
void reset()
Definition d_a_npc_shaman.cpp:399
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:340
void afterJntAnm(int)
Definition d_a_npc_shaman.cpp:424
int(daNpc_Sha_c::*) actionFunc(void *)
Definition d_a_npc_shaman.h:42
static const u16 mTmpBitLabels[6]
Definition d_a_npc_shaman.h:1141
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:1224
BOOL chkAction(actionFunc)
Definition d_a_npc_shaman.cpp:707
void action()
Definition d_a_npc_shaman.cpp:572
BOOL selectAction()
Definition d_a_npc_shaman.cpp:687
int mSceneChangeNoTableIx
Definition d_a_npc_shaman.h:126
static const int mSceneChangeNoTable[48]
Definition d_a_npc_shaman.h:1145
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:852
int getFlowNodeNo()
Definition d_a_npc_shaman.h:108
int talk(void *)
Definition d_a_npc_shaman.cpp:1075
BOOL checkChangeEvt()
Definition d_a_npc_shaman.cpp:466
int CreateHeap()
Definition d_a_npc_shaman.cpp:300
BOOL query000()
Definition d_a_npc_shaman.cpp:1220
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:1000
BOOL evtCutProc()
Definition d_a_npc_shaman.cpp:556
void setAttnPos()
Definition d_a_npc_shaman.cpp:610
u8 field_0xfa2
Definition d_a_npc_shaman.h:129
BOOL setAction(actionFunc)
Definition d_a_npc_shaman.cpp:711
BOOL query461()
Definition d_a_npc_shaman.cpp:1210
int test(void *)
Definition d_a_npc_shaman.cpp:1117
void setTempBit(int)
Definition d_a_npc_shaman.cpp:834
static queryFunc mQueries[48]
Definition d_a_npc_shaman.h:1160
u8 getType()
Definition d_a_npc_shaman.cpp:370
~daNpc_Sha_c()
Definition d_a_npc_shaman.cpp:179
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_shaman.h:105
u8 field_0xfa3
Definition d_a_npc_shaman.h:130
BOOL query268()
Definition d_a_npc_shaman.cpp:1180
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_shaman.cpp:358
BOOL query264()
Definition d_a_npc_shaman.cpp:1195
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_shaman.h:106
static cutFunc mCutList[2]
Definition d_a_npc_shaman.h:172
NPC_SHA_HIO_CLASS * mpHIO
Definition d_a_npc_shaman.h:121
BOOL query265()
Definition d_a_npc_shaman.cpp:1175
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_Sha_c)==0xfa8)
int BOOL
Definition types.h:33
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
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_shaman.h:15
daNpcT_HIOParam common
Definition d_a_npc_shaman.h:16