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
19public:
21
22 void listenPropertyEvent(const JORPropertyEvent*);
23 void genMessage(JORMContext*);
24
26};
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();
55 u32 getFlowNodeNo();
56 BOOL isDelete();
57 void reset();
58 void afterJntAnm(int);
59 void setParam();
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 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; }
94 BOOL evtEndProc() {
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 */
int cPhs_Step
Definition c_phase.h:8
void OnTgSetBit()
Definition c_cc_d.h:365
void OffTgSetBit()
Definition c_cc_d.h:366
void OffCoSetBit()
Definition c_cc_d.h:361
void OnCoSetBit()
Definition c_cc_d.h:367
Definition d_cc_d.h:472
void setIdx(u8 i_idx)
Definition f_op_actor.h:225
void lookNone(u8 isDirect)
Definition d_a_npc.h:379
Definition d_a_npc.h:146
Definition d_a_npc.h:517
u16 mEvtNo
Definition d_a_npc.h:614
daNpcT_JntAnm_c mJntAnm
Definition d_a_npc.h:550
Definition d_a_npc_yamis.h:18
void genMessage(JORMContext *)
Definition d_a_npc_yamis.cpp:35
daNpc_yamiS_HIO_c()
Definition d_a_npc_yamis.cpp:27
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_yamis.cpp:31
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:97
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:402
void setParam()
Definition d_a_npc_yamis.cpp:364
s8 field_0xf82
Definition d_a_npc_yamis.h:135
void drawGhost()
Definition d_a_npc_yamis.cpp:513
void vanish_on()
Definition d_a_npc_yamis.h:116
u8 getType()
Definition d_a_npc_yamis.cpp:276
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:530
int selectAction()
Definition d_a_npc_yamis.cpp:520
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:80
int Delete()
Definition d_a_npc_yamis.cpp:235
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:509
daNpcT_Path_c mPath
Definition d_a_npc_yamis.h:139
BOOL _cutStopper_Main(int const &)
Definition d_a_npc_yamis.cpp:674
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_yamis.cpp:258
int Execute()
Definition d_a_npc_yamis.cpp:241
int CreateHeap()
Definition d_a_npc_yamis.cpp:196
static cutFunc mCutList[2]
Definition d_a_npc_yamis.h:85
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:290
BOOL(daNpc_yamiS_c::*) cutFunc(int)
Definition d_a_npc_yamis.h:43
int talk(void *)
Definition d_a_npc_yamis.cpp:607
void afterJntAnm(int)
Definition d_a_npc_yamis.cpp:354
void reset()
Definition d_a_npc_yamis.cpp:324
s32 getHeadJointNo()
Definition d_a_npc_yamis.h:89
BOOL cutStopper(int)
Definition d_a_npc_yamis.cpp:649
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:662
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:526
void action()
Definition d_a_npc_yamis.cpp:429
BOOL isDelete()
Definition d_a_npc_yamis.cpp:306
BOOL evtCutProc()
Definition d_a_npc_yamis.cpp:412
void setAfterTalkMotion()
Definition d_a_npc_yamis.cpp:393
u8 getPathID()
Definition d_a_npc_yamis.h:101
cPhs_Step create()
Definition d_a_npc_yamis.cpp:143
void setCollision()
Definition d_a_npc_yamis.cpp:473
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:444
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:90
void setAttnPos()
Definition d_a_npc_yamis.cpp:450
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_yamis.cpp:263
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:245
BOOL _is_vanish_prm()
Definition d_a_npc_yamis.h:106
int wait(void *)
Definition d_a_npc_yamis.cpp:547
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:400
Definition f_op_actor.h:271
dEvt_info_c eventInfo
Definition f_op_actor.h:279
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_yamiS_c)==0xfcc)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
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_yamis.h:6
daNpcT_HIOParam common
Definition d_a_npc_yamis.h:7