Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_yamid.h
Go to the documentation of this file.
1#ifndef D_A_NPC_YAMID_H
2#define D_A_NPC_YAMID_H
3
4#include "d/actor/d_a_npc.h"
5
18
20public:
22
23 static daNpc_yamiD_HIOParam const m;
24};
25
26#if DEBUG
36
37#define NPC_YAMID_HIO_CLASS daNpc_yamiD_HIO_c
38#else
39#define NPC_YAMID_HIO_CLASS daNpc_yamiD_Param_c
40#endif
41
42class daNpc_yamiD_c : public daNpcT_c {
43public:
44 typedef BOOL (daNpc_yamiD_c::*cutFunc)(int);
45 typedef int (daNpc_yamiD_c::*actionFunc)(void*);
46
49 int CreateHeap();
50 int Delete();
51 int Execute();
52 int Draw();
53 static int createHeapCallBack(fopAc_ac_c*);
54 static int ctrlJointCallBack(J3DJoint*, int);
55 u8 getType();
57 BOOL isDelete();
58 void reset();
59 void afterJntAnm(int);
60 void setParam();
61 void setAfterTalkMotion();
62 void srchActors();
63 BOOL evtTalk();
65 void action();
66 void beforeMove();
67 void setAttnPos();
68 void setCollision();
69 int drawDbgInfo();
70 void drawGhost();
71 int selectAction();
72 BOOL chkAction(int (daNpc_yamiD_c::*)(void*));
73 int setAction(int (daNpc_yamiD_c::*)(void*));
74 int wait(void*);
75 int talk(void*);
76 BOOL cutStopper(int);
77 BOOL _cutStopper_Init(int const&);
78 BOOL _cutStopper_Main(int const&);
80 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
81 daNpcT_motionAnmData_c const* i_motionAnmData,
82 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
83 int i_faceMotionStepNum,
84 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
85 int i_motionStepNum,
86 daNpcT_evtData_c const* i_evtData,
87 char** i_arcNames)
88 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
89 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
90 i_arcNames) {
91 OS_REPORT("|%06d:%x|daNpc_yamiD_c -> コンストラクト\n", g_Counter.mCounter0, this);
92 }
93 u16 getEyeballMaterialNo() { return 1; }
94 s32 getHeadJointNo() { return 4; }
95 s32 getNeckJointNo() { return 3; }
96 s32 getBackboneJointNo() { return 1; }
97 BOOL checkChangeJoint(int i_joint) { return i_joint == 4; }
98 BOOL checkRemoveJoint(int i_joint) { return i_joint == 6; }
100 mJntAnm.lookNone(0);
101 eventInfo.setIdx(0);
102 mEvtNo = 0;
103 return TRUE;
104 }
105
106 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
108 u32 full_prm = fopAcM_GetParam(this);
109 return (full_prm >> 16) & 0xFF;
110 }
112 int reg_r31 = (fopAcM_GetParam(this) >> 28) != 0;
113 if (reg_r31 == 15) {
114 reg_r31 = 0;
115 }
116
117 return reg_r31;
118 }
119
120 BOOL is_vanish() { return mVanish; }
121 void vanish_on() { mVanish = 1; }
122 void vanish_off() { mVanish = 0; }
127 void off_CoHit() {
132 static char* mCutNameList[2];
133 static cutFunc mCutList[2];
134
135private:
136 /* 0xE40 */ NPC_YAMID_HIO_CLASS* mpHIO;
138 /* 0xF80 */ u8 mType;
139 /* 0xF81 */ s8 mVanish;
140 /* 0xF82 */ s8 field_0xf82;
141 /* 0xF83 */ u8 field_0xf83;
143 /* 0xF90 */ actionFunc mAction;
144 /* 0xF9C */ daNpcT_Path_c mPath;
145 /* 0xFC4 */ u8 field_0xfc4;
146 /* 0xFC8 */ int field_0xfc8;
148
149STATIC_ASSERT(sizeof(daNpc_yamiD_c) == 0xfcc);
150
151
152#endif /* D_A_NPC_YAMID_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
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_yamid.h:27
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_yamid.cpp:50
daNpc_yamiD_HIO_c()
Definition d_a_npc_yamid.cpp:46
daNpc_yamiD_HIOParam m
Definition d_a_npc_yamid.h:34
void genMessage(JORMContext *)
Definition d_a_npc_yamid.cpp:73
Definition d_a_npc_yamid.h:19
virtual ~daNpc_yamiD_Param_c()
Definition d_a_npc_yamid.h:21
static daNpc_yamiD_HIOParam const m
Definition d_a_npc_yamid.h:147
Twili (Fat)
Definition d_a_npc_yamid.h:42
void afterJntAnm(int)
Definition d_a_npc_yamid.cpp:418
int drawDbgInfo()
Definition d_a_npc_yamid.cpp:575
void setCollision()
Definition d_a_npc_yamid.cpp:540
u8 field_0xf83
Definition d_a_npc_yamid.h:141
void setParam()
Definition d_a_npc_yamid.cpp:428
void reset()
Definition d_a_npc_yamid.cpp:388
int field_0xfc8
Definition d_a_npc_yamid.h:146
BOOL(daNpc_yamiD_c::*) cutFunc(int)
Definition d_a_npc_yamid.h:44
u8 getType()
Definition d_a_npc_yamid.cpp:340
BOOL isDelete()
Definition d_a_npc_yamid.cpp:370
u8 field_0xfc4
Definition d_a_npc_yamid.h:145
dCcD_Cyl field_0xe44
Definition d_a_npc_yamid.h:137
int getSwitchBitNo()
Definition d_a_npc_yamid.h:107
u8 mType
Definition d_a_npc_yamid.h:138
BOOL _cutStopper_Main(int const &)
Definition d_a_npc_yamid.cpp:741
BOOL _is_vanish_prm()
Definition d_a_npc_yamid.h:111
BOOL _cutStopper_Init(int const &)
Definition d_a_npc_yamid.cpp:729
int(daNpc_yamiD_c::*) actionFunc(void *)
Definition d_a_npc_yamid.h:45
actionFunc mNextAction
Definition d_a_npc_yamid.h:142
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_yamid.cpp:327
BOOL is_vanish()
Definition d_a_npc_yamid.h:120
NPC_YAMID_HIO_CLASS * mpHIO
Definition d_a_npc_yamid.h:136
void drawGhost()
Definition d_a_npc_yamid.cpp:579
BOOL evtTalk()
Definition d_a_npc_yamid.cpp:470
int Delete()
Definition d_a_npc_yamid.cpp:298
int setAction(int(daNpc_yamiD_c::*)(void *))
Definition d_a_npc_yamid.cpp:596
int selectAction()
Definition d_a_npc_yamid.cpp:586
u16 getEyeballMaterialNo()
Definition d_a_npc_yamid.h:93
int Execute()
Definition d_a_npc_yamid.cpp:305
int wait(void *)
Definition d_a_npc_yamid.cpp:613
int Draw()
Definition d_a_npc_yamid.cpp:309
int talk(void *)
Definition d_a_npc_yamid.cpp:673
daNpc_yamiD_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_yamid.h:79
void off_CoHit()
Definition d_a_npc_yamid.h:127
BOOL evtEndProc()
Definition d_a_npc_yamid.h:99
BOOL cutStopper(int)
Definition d_a_npc_yamid.cpp:715
void srchActors()
Definition d_a_npc_yamid.cpp:463
s8 field_0xf82
Definition d_a_npc_yamid.h:140
cPhs__Step create()
Definition d_a_npc_yamid.cpp:193
void vanish_off()
Definition d_a_npc_yamid.h:122
s32 getBackboneJointNo()
Definition d_a_npc_yamid.h:96
void beforeMove()
Definition d_a_npc_yamid.cpp:512
u32 getFlowNodeNo()
Definition d_a_npc_yamid.cpp:354
s8 mVanish
Definition d_a_npc_yamid.h:139
actionFunc mAction
Definition d_a_npc_yamid.h:143
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_yamid.cpp:322
void setAttnPos()
Definition d_a_npc_yamid.cpp:518
daNpcT_Path_c mPath
Definition d_a_npc_yamid.h:144
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_yamid.h:98
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_yamid.h:97
void vanish_on()
Definition d_a_npc_yamid.h:121
void action()
Definition d_a_npc_yamid.cpp:497
s32 getNeckJointNo()
Definition d_a_npc_yamid.h:95
void on_CoHit()
Definition d_a_npc_yamid.h:123
static cutFunc mCutList[2]
Definition d_a_npc_yamid.h:128
static char * mCutNameList[2]
Definition d_a_npc_yamid.h:123
void setAfterTalkMotion()
Definition d_a_npc_yamid.cpp:456
u8 getPathID()
Definition d_a_npc_yamid.h:106
~daNpc_yamiD_c()
Definition d_a_npc_yamid.cpp:133
BOOL evtCutProc()
Definition d_a_npc_yamid.cpp:480
BOOL chkAction(int(daNpc_yamiD_c::*)(void *))
Definition d_a_npc_yamid.cpp:592
int CreateHeap()
Definition d_a_npc_yamid.cpp:258
s32 getHeadJointNo()
Definition d_a_npc_yamid.h:94
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_yamiD_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
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_yamid.h:15
daNpcT_HIOParam common
Definition d_a_npc_yamid.h:16