Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_yamis.h
Go to the documentation of this file.
1#ifndef D_A_NPC_YAMIS_H
2#define D_A_NPC_YAMIS_H
3
4#include "d/actor/d_a_npc.h"
5
9
11public:
13
14 static const daNpc_yamiS_HIOParam m;
15};
16
17#if DEBUG
27
28#define NPC_YAMIS_HIO_CLASS daNpc_yamiS_HIO_c
29#else
30#define NPC_YAMIS_HIO_CLASS daNpc_yamiS_Param_c
31#endif
32
41class daNpc_yamiS_c : public daNpcT_c {
42public:
43 typedef BOOL (daNpc_yamiS_c::*cutFunc)(int);
44 typedef int (daNpc_yamiS_c::*actionFunc)(void*);
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();
56 BOOL isDelete();
57 void reset();
58 void afterJntAnm(int);
59 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();
69 void drawGhost();
70 int selectAction();
71 BOOL chkAction(int (daNpc_yamiS_c::*)(void*));
72 int setAction(int (daNpc_yamiS_c::*)(void*));
73 int wait(void*);
74 int talk(void*);
75 BOOL cutStopper(int);
76 BOOL _cutStopper_Init(int const&);
77 BOOL _cutStopper_Main(int const&);
79 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
80 daNpcT_motionAnmData_c const* i_motionAnmData,
81 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
82 int i_faceMotionStepNum,
83 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
84 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
85 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
86 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
87 i_arcNames) {}
88 u16 getEyeballMaterialNo() { return 1; }
89 s32 getHeadJointNo() { return 4; }
90 s32 getNeckJointNo() { return 3; }
91 s32 getBackboneJointNo() { return 1; }
92 BOOL checkChangeJoint(int i_joint) { return i_joint == 4; }
93 BOOL checkRemoveJoint(int i_joint) { return i_joint == 6; }
97 mEvtNo = 0;
98 return TRUE;
99 }
100
101 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
103 u32 full_prm = fopAcM_GetParam(this);
104 return (full_prm >> 16) & 0xFF;
105 }
107 int reg_r31 = (fopAcM_GetParam(this) >> 28) != 0;
108 if (reg_r31 == 15) {
109 reg_r31 = 0;
110 }
111
112 return reg_r31;
113 }
114
115 BOOL is_vanish() { return mVanish; }
116 void vanish_on() { mVanish = 1; }
117 void vanish_off() { mVanish = 0; }
126
127 static char* mCutNameList[2];
128 static cutFunc mCutList[2];
129
130private:
131 /* 0xE40 */ NPC_YAMIS_HIO_CLASS* mpHIO;
133 /* 0xF80 */ u8 mType;
134 /* 0xF81 */ s8 mVanish;
135 /* 0xF82 */ s8 field_0xf82;
136 /* 0xF83 */ u8 field_0xf83;
138 /* 0xF90 */ actionFunc mAction;
139 /* 0xF9C */ daNpcT_Path_c mPath;
140 /* 0xFC4 */ u8 field_0xfc4;
141 /* 0xFC8 */ int field_0xfc8;
142};
143
144STATIC_ASSERT(sizeof(daNpc_yamiS_c) == 0xfcc);
145
146#endif /* D_A_NPC_YAMIS_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DJoint.h:63
Definition JORMContext.h:120
void OnTgSetBit()
Definition c_cc_d.h:354
void OffTgSetBit()
Definition c_cc_d.h:355
void OffCoSetBit()
Definition c_cc_d.h:350
void OnCoSetBit()
Definition c_cc_d.h:356
Definition d_cc_d.h:461
void setIdx(u8 i_idx)
Definition f_op_actor.h:184
void lookNone(u8 isDirect)
Definition d_a_npc.h:378
Definition d_a_npc.h:145
Definition d_a_npc.h:516
u16 mEvtNo
Definition d_a_npc.h:613
daNpcT_JntAnm_c mJntAnm
Definition d_a_npc.h:549
Definition d_a_npc_yamis.h:18
void genMessage(JORMContext *)
Definition d_a_npc_yamis.cpp:34
daNpc_yamiS_HIO_c()
Definition d_a_npc_yamis.cpp:26
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_yamis.cpp:30
daNpc_yamiS_HIOParam m
Definition d_a_npc_yamis.h:25
Definition d_a_npc_yamis.h:10
static const daNpc_yamiS_HIOParam m
Definition d_a_npc_yamis.h:96
virtual ~daNpc_yamiS_Param_c()
Definition d_a_npc_yamis.h:12
Twili (Short)
Definition d_a_npc_yamis.h:41
BOOL evtTalk()
Definition d_a_npc_yamis.cpp:401
void setParam()
Definition d_a_npc_yamis.cpp:363
s8 field_0xf82
Definition d_a_npc_yamis.h:135
void drawGhost()
Definition d_a_npc_yamis.cpp:512
void vanish_on()
Definition d_a_npc_yamis.h:116
u8 getType()
Definition d_a_npc_yamis.cpp:275
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_yamis.h:92
int setAction(int(daNpc_yamiS_c::*)(void *))
Definition d_a_npc_yamis.cpp:529
int selectAction()
Definition d_a_npc_yamis.cpp:519
daNpc_yamiS_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_yamis.h:78
int(daNpc_yamiS_c::*) actionFunc(void *)
Definition d_a_npc_yamis.h:44
static char * mCutNameList[2]
Definition d_a_npc_yamis.h:79
int Delete()
Definition d_a_npc_yamis.cpp:234
BOOL evtEndProc()
Definition d_a_npc_yamis.h:94
u8 field_0xfc4
Definition d_a_npc_yamis.h:140
int field_0xfc8
Definition d_a_npc_yamis.h:141
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_yamis.h:93
int drawDbgInfo()
Definition d_a_npc_yamis.cpp:508
daNpcT_Path_c mPath
Definition d_a_npc_yamis.h:139
BOOL _cutStopper_Main(int const &)
Definition d_a_npc_yamis.cpp:673
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_yamis.cpp:257
int Execute()
Definition d_a_npc_yamis.cpp:240
int CreateHeap()
Definition d_a_npc_yamis.cpp:195
static cutFunc mCutList[2]
Definition d_a_npc_yamis.h:84
actionFunc mNextAction
Definition d_a_npc_yamis.h:137
s8 mVanish
Definition d_a_npc_yamis.h:134
u32 getFlowNodeNo()
Definition d_a_npc_yamis.cpp:289
BOOL(daNpc_yamiS_c::*) cutFunc(int)
Definition d_a_npc_yamis.h:43
int talk(void *)
Definition d_a_npc_yamis.cpp:606
void afterJntAnm(int)
Definition d_a_npc_yamis.cpp:353
void reset()
Definition d_a_npc_yamis.cpp:323
s32 getHeadJointNo()
Definition d_a_npc_yamis.h:89
BOOL cutStopper(int)
Definition d_a_npc_yamis.cpp:648
NPC_YAMIS_HIO_CLASS * mpHIO
Definition d_a_npc_yamis.h:131
s32 getBackboneJointNo()
Definition d_a_npc_yamis.h:91
BOOL _cutStopper_Init(int const &)
Definition d_a_npc_yamis.cpp:661
s32 getNeckJointNo()
Definition d_a_npc_yamis.h:90
void off_CoHit()
Definition d_a_npc_yamis.h:122
BOOL chkAction(int(daNpc_yamiS_c::*)(void *))
Definition d_a_npc_yamis.cpp:525
void action()
Definition d_a_npc_yamis.cpp:428
BOOL isDelete()
Definition d_a_npc_yamis.cpp:305
BOOL evtCutProc()
Definition d_a_npc_yamis.cpp:411
void setAfterTalkMotion()
Definition d_a_npc_yamis.cpp:392
u8 getPathID()
Definition d_a_npc_yamis.h:101
void setCollision()
Definition d_a_npc_yamis.cpp:472
u16 getEyeballMaterialNo()
Definition d_a_npc_yamis.h:88
dCcD_Cyl field_0xe44
Definition d_a_npc_yamis.h:132
void beforeMove()
Definition d_a_npc_yamis.cpp:443
void vanish_off()
Definition d_a_npc_yamis.h:117
actionFunc mAction
Definition d_a_npc_yamis.h:138
~daNpc_yamiS_c()
Definition d_a_npc_yamis.cpp:89
void setAttnPos()
Definition d_a_npc_yamis.cpp:449
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_yamis.cpp:262
u8 field_0xf83
Definition d_a_npc_yamis.h:136
void on_CoHit()
Definition d_a_npc_yamis.h:118
int getSwitchBitNo()
Definition d_a_npc_yamis.h:102
int Draw()
Definition d_a_npc_yamis.cpp:244
BOOL _is_vanish_prm()
Definition d_a_npc_yamis.h:106
int wait(void *)
Definition d_a_npc_yamis.cpp:546
u8 mType
Definition d_a_npc_yamis.h:133
BOOL is_vanish()
Definition d_a_npc_yamis.h:115
void srchActors()
Definition d_a_npc_yamis.cpp:399
cPhs__Step create()
Definition d_a_npc_yamis.cpp:142
Definition f_op_actor.h:230
dEvt_info_c eventInfo
Definition f_op_actor.h:238
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_yamiS_c)==0xfcc)
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
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
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_yamis.h:6
daNpcT_HIOParam common
Definition d_a_npc_yamis.h:7