Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_yamit.h
Go to the documentation of this file.
1#ifndef D_A_NPC_YAMIT_H
2#define D_A_NPC_YAMIT_H
3
4#include "d/actor/d_a_npc.h"
6
10
12public:
14
15 static const daNpc_yamiT_HIOParam m;
16};
17
18#if DEBUG
28
29#define NPC_YAMIT_HIO_CLASS daNpc_yamiT_HIO_c
30#else
31#define NPC_YAMIT_HIO_CLASS daNpc_yamiT_Param_c
32#endif
33
42class daNpc_yamiT_c : public daNpcT_c {
43public:
44 typedef BOOL (daNpc_yamiT_c::*cutFunc)(int);
45 typedef int (daNpc_yamiT_c::*actionFunc)(void*);
46
49 int CreateHeap();
50 int Delete();
51 int Execute();
52 static void* _search_Tag(void*, void*);
53 int Draw();
54 static int createHeapCallBack(fopAc_ac_c*);
55 static int ctrlJointCallBack(J3DJoint*, int);
56 u8 getType();
58 BOOL isDelete();
59 void reset();
60 void afterJntAnm(int);
61 void setParam();
62 void setAfterTalkMotion();
63 void srchActors();
64 BOOL evtTalk();
66 void action();
67 void beforeMove();
68 void setAttnPos();
69 void setCollision();
70 int drawDbgInfo();
72 void drawGhost();
73 int selectAction();
74 BOOL chkAction(int (daNpc_yamiT_c::*)(void*));
75 int setAction(int (daNpc_yamiT_c::*)(void*));
76 int wait(void*);
77 int talk(void*);
78 BOOL cutStopper(int);
79 BOOL _cutStopper_Init(int const&);
80 BOOL _cutStopper_Main(int const&);
82 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
83 daNpcT_motionAnmData_c const* i_motionAnmData,
84 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
85 int i_faceMotionStepNum,
86 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
87 daNpcT_evtData_c const* i_evtData, 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 u16 getEyeballMaterialNo() { return 1; }
92 s32 getHeadJointNo() { return 4; }
93 s32 getNeckJointNo() { return 3; }
94 s32 getBackboneJointNo() { return 1; }
95 BOOL checkChangeJoint(int i_joint) { return i_joint == 4; }
96 BOOL checkRemoveJoint(int i_joint) { return i_joint == 6; }
97
98 u8 getPathID() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
100 u32 full_prm = fopAcM_GetParam(this);
101 return (full_prm >> 16) & 0xFF;
102 }
103 u8 _chk_TagPrm(fopAc_ac_c* i_tag) { return (fopAcM_GetParam(i_tag) & 0xFF) == 2; }
105 int reg_r31 = (fopAcM_GetParam(this) >> 28) != 0;
106 if (reg_r31 == 15) {
107 reg_r31 = 0;
108 }
109
110 return reg_r31;
111 }
112
113 BOOL is_vanish() { return mVanish; }
114 void vanish_on() { mVanish = 1; }
115 void vanish_off() { mVanish = 0; }
124 u8 _is_stopper_off() { return fopAcM_isSwitch(this, 0x3D) && fopAcM_isSwitch(this, 0x3E); }
125
126 static char* mCutNameList[2];
127 static cutFunc mCutList[2];
128
129private:
130 /* 0xE40 */ NPC_YAMIT_HIO_CLASS* mpHIO;
132 /* 0xF80 */ u8 mType;
133 /* 0xF81 */ s8 mVanish;
134 /* 0xF82 */ s8 field_0xf82;
135 /* 0xF83 */ s8 field_0xf83;
136 /* 0xF84 */ daTagYami_c* mpTagYami;
138 /* 0xF90 */ actionFunc mAction;
139 /* 0xF9C */ daNpcT_Path_c mPath;
140 /* 0xFC4 */ u8 field_0xfc4;
141};
142
143STATIC_ASSERT(sizeof(daNpc_yamiT_c) == 0xfcc);
144
145#endif /* D_A_NPC_YAMIT_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
Definition d_a_npc.h:145
Definition d_a_npc.h:516
Definition d_a_npc_yamit.h:19
daNpc_yamiT_HIOParam m
Definition d_a_npc_yamit.h:26
void genMessage(JORMContext *)
Definition d_a_npc_yamit.cpp:35
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_yamit.cpp:31
daNpc_yamiT_HIO_c()
Definition d_a_npc_yamit.cpp:27
Definition d_a_npc_yamit.h:11
static const daNpc_yamiT_HIOParam m
Definition d_a_npc_yamit.h:99
virtual ~daNpc_yamiT_Param_c()
Definition d_a_npc_yamit.h:13
Twili (Tall)
Definition d_a_npc_yamit.h:42
int CreateHeap()
Definition d_a_npc_yamit.cpp:198
BOOL checkChangeJoint(int i_joint)
Definition d_a_npc_yamit.h:95
u16 getEyeballMaterialNo()
Definition d_a_npc_yamit.h:91
void off_CoHit()
Definition d_a_npc_yamit.h:120
BOOL is_vanish()
Definition d_a_npc_yamit.h:113
BOOL(daNpc_yamiT_c::*) cutFunc(int)
Definition d_a_npc_yamit.h:44
BOOL evtCutProc()
Definition d_a_npc_yamit.cpp:441
BOOL chkAction(int(daNpc_yamiT_c::*)(void *))
Definition d_a_npc_yamit.cpp:564
void reset()
Definition d_a_npc_yamit.cpp:340
static char * mCutNameList[2]
Definition d_a_npc_yamit.h:82
s32 getBackboneJointNo()
Definition d_a_npc_yamit.h:94
void setParam()
Definition d_a_npc_yamit.cpp:376
void setAfterTalkMotion()
Definition d_a_npc_yamit.cpp:410
void vanish_off()
Definition d_a_npc_yamit.h:115
BOOL _is_vanish_prm()
Definition d_a_npc_yamit.h:104
u8 getType()
Definition d_a_npc_yamit.cpp:292
int(daNpc_yamiT_c::*) actionFunc(void *)
Definition d_a_npc_yamit.h:45
int getSwitchBitNo()
Definition d_a_npc_yamit.h:99
BOOL _cutStopper_Init(int const &)
Definition d_a_npc_yamit.cpp:714
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_yamit.cpp:274
u8 mType
Definition d_a_npc_yamit.h:132
int setAction(int(daNpc_yamiT_c::*)(void *))
Definition d_a_npc_yamit.cpp:568
cPhs__Step create()
Definition d_a_npc_yamit.cpp:145
static void * _search_Tag(void *, void *)
Definition d_a_npc_yamit.cpp:247
~daNpc_yamiT_c()
Definition d_a_npc_yamit.cpp:92
s8 field_0xf82
Definition d_a_npc_yamit.h:134
u32 getFlowNodeNo()
Definition d_a_npc_yamit.cpp:306
void on_CoHit()
Definition d_a_npc_yamit.h:116
static cutFunc mCutList[2]
Definition d_a_npc_yamit.h:87
void action()
Definition d_a_npc_yamit.cpp:458
actionFunc mAction
Definition d_a_npc_yamit.h:138
dCcD_Cyl field_0xe44
Definition d_a_npc_yamit.h:131
NPC_YAMIT_HIO_CLASS * mpHIO
Definition d_a_npc_yamit.h:130
BOOL evtEndProc()
Definition d_a_npc_yamit.cpp:541
void vanish_on()
Definition d_a_npc_yamit.h:114
void setCollision()
Definition d_a_npc_yamit.cpp:502
daNpcT_Path_c mPath
Definition d_a_npc_yamit.h:139
int Draw()
Definition d_a_npc_yamit.cpp:261
BOOL evtTalk()
Definition d_a_npc_yamit.cpp:431
s8 field_0xf83
Definition d_a_npc_yamit.h:135
daNpc_yamiT_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_yamit.h:81
void setAttnPos()
Definition d_a_npc_yamit.cpp:479
int Execute()
Definition d_a_npc_yamit.cpp:243
void beforeMove()
Definition d_a_npc_yamit.cpp:473
u8 _chk_TagPrm(fopAc_ac_c *i_tag)
Definition d_a_npc_yamit.h:103
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_yamit.cpp:279
BOOL cutStopper(int)
Definition d_a_npc_yamit.cpp:701
void afterJntAnm(int)
Definition d_a_npc_yamit.cpp:366
void srchActors()
Definition d_a_npc_yamit.cpp:417
int wait(void *)
Definition d_a_npc_yamit.cpp:585
daTagYami_c * mpTagYami
Definition d_a_npc_yamit.h:136
int selectAction()
Definition d_a_npc_yamit.cpp:558
BOOL _cutStopper_Main(int const &)
Definition d_a_npc_yamit.cpp:723
BOOL checkRemoveJoint(int i_joint)
Definition d_a_npc_yamit.h:96
int drawDbgInfo()
Definition d_a_npc_yamit.cpp:537
BOOL isDelete()
Definition d_a_npc_yamit.cpp:322
actionFunc mNextAction
Definition d_a_npc_yamit.h:137
void drawGhost()
Definition d_a_npc_yamit.cpp:551
u8 field_0xfc4
Definition d_a_npc_yamit.h:140
int talk(void *)
Definition d_a_npc_yamit.cpp:659
s32 getHeadJointNo()
Definition d_a_npc_yamit.h:92
s32 getNeckJointNo()
Definition d_a_npc_yamit.h:93
int Delete()
Definition d_a_npc_yamit.cpp:237
u8 getPathID()
Definition d_a_npc_yamit.h:98
s8 mVanish
Definition d_a_npc_yamit.h:133
u8 _is_stopper_off()
Definition d_a_npc_yamit.h:124
Definition d_a_tag_yami.h:7
Definition f_op_actor.h:230
Definition m_Do_hostIO.h:27
STATIC_ASSERT(sizeof(daNpc_yamiT_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
BOOL fopAcM_isSwitch(const fopAc_ac_c *i_actor, int sw)
Definition f_op_actor_mng.h:459
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_yamit.h:7
daNpcT_HIOParam common
Definition d_a_npc_yamit.h:8