Loading [MathJax]/extensions/MathMenu.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
d_a_npc_yelia.h
Go to the documentation of this file.
1#ifndef D_A_NPC_YELIA_H
2#define D_A_NPC_YELIA_H
3
4#include "d/actor/d_a_npc.h"
5
14class daNpc_Yelia_c : public daNpcT_c {
15public:
16 /* 80B4D30C */ ~daNpc_Yelia_c();
17 /* 80B4D458 */ cPhs__Step create();
18 /* 80B4D754 */ int CreateHeap();
19 /* 80B4DC20 */ int Delete();
20 /* 80B4DC54 */ int Execute();
21 /* 80B4DC74 */ int Draw();
22 /* 80B4DD08 */ static int createHeapCallBack(fopAc_ac_c*);
23 /* 80B4DD28 */ static int ctrlJointCallBack(J3DJoint*, int);
24 /* 80B4DD80 */ u8 getType();
25 /* 80B4DDF8 */ BOOL isDelete();
26 /* 80B4DF10 */ void reset();
27 /* 80B4E068 */ void afterJntAnm(int);
28 /* 80B4E0F4 */ void setParam();
29 /* 80B4E2C0 */ BOOL checkChangeEvt();
30 /* 80B4E5BC */ void setAfterTalkMotion();
31 /* 80B4E6A0 */ void srchActors();
32 /* 80B4E7C8 */ BOOL evtTalk();
33 /* 80B4E868 */ BOOL evtCutProc();
34 /* 80B4E930 */ void action();
35 /* 80B4EA28 */ void beforeMove();
36 /* 80B4EAEC */ void setAttnPos();
37 /* 80B4EE4C */ void setCollision();
38 /* 80B4EFA4 */ BOOL drawDbgInfo();
39 /* 80B4EFAC */ BOOL selectAction();
40 /* 80B4F054 */ BOOL chkAction(BOOL (daNpc_Yelia_c::*)(void*));
41 /* 80B4F080 */ BOOL setAction(BOOL (daNpc_Yelia_c::*)(void*));
42 /* 80B4F128 */ BOOL cutConversationAboutLoopHole(int);
43 /* 80B4F3E0 */ BOOL cutTWResistance(int);
44 /* 80B4F534 */ BOOL cutTakeWoodStatue(int);
45 /* 80B4FDD8 */ BOOL cutClothTry(int);
46 /* 80B4FE78 */ BOOL cutThankYou(int);
47 /* 80B50084 */ BOOL wait(void*);
48 /* 80B5080C */ BOOL horseWait(void*);
49 /* 80B50A0C */ BOOL reminiscence(void*);
50 /* 80B50B60 */ BOOL talk(void*);
51 /* 80B52104 */ daNpc_Yelia_c(daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
52 daNpcT_motionAnmData_c const* i_motionAnmData,
53 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
54 int i_faceMotionStepNum,
55 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
56 int i_motionStepNum,
57 daNpcT_evtData_c const* i_evtData, char** i_arcNames)
58 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
59 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
60 i_arcNames) {}
61 /* 80B521E4 */ s32 getEyeballMaterialNo() { return 1; }
62 /* 80B521EC */ s32 getHeadJointNo() { return 4; }
63 /* 80B521F4 */ s32 getNeckJointNo() { return 3; }
64 /* 80B521FC */ s32 getBackboneJointNo() { return 1; }
65 /* 80B52204 */ BOOL checkChangeJoint(int i_jointNo) { return i_jointNo == 4; }
66 /* 80B52214 */ BOOL checkRemoveJoint(int i_jointNo) {return i_jointNo == 9; }
67 /* 80B52224 */ BOOL chkXYItems() { return true; }
68
70 u16 no = home.angle.x;
71 if (no == 0xffff) {
72 return -1;
73 }
74 return no;
75 }
76
77 static char* mCutNameList[6];
78 static int (daNpc_Yelia_c::*mCutList[6])(int);
79private:
80 /* 0xE40 */ u8 field_0xe40[0xe44 - 0xe40];
81 /* 0xE44 */ dCcD_Cyl mCcCyl;
82 /* 0xF80 */ u8 mType;
84 /* 0xFA4 */ BOOL (daNpc_Yelia_c::*mpNextAction)(void*);
85 /* 0xFB0 */ BOOL (daNpc_Yelia_c::*mpAction)(void*);
86 /* 0xFBC */ daNpcT_Path_c mPath;
87 /* 0xFE4 */ fpc_ProcID mItemId;
88 /* 0xFE8 */ int mPendantTimer;
89 /* 0xFEC */ u8 field_0xfec;
90};
91
92STATIC_ASSERT(sizeof(daNpc_Yelia_c) == 0xff0);
93
95public:
96 struct param {
97 /* 0x00 */ f32 mAttnOffsetY;
98 /* 0x04 */ f32 mGravity;
99 /* 0x08 */ f32 mScale;
100 /* 0x0C */ f32 mShadowDepth;
101 /* 0x10 */ f32 mCcWeight;
102 /* 0x14 */ f32 mCylH;
103 /* 0x18 */ f32 mWallH;
104 /* 0x1C */ f32 mWallR;
105 /* 0x20 */ f32 mBodyUpAngle;
106 /* 0x24 */ f32 mBodyDownAngle;
107 /* 0x28 */ f32 mBodyLeftAngle;
109 /* 0x30 */ f32 mHeadUpAngle;
110 /* 0x34 */ f32 mHeadDownAngle;
111 /* 0x38 */ f32 mHeadLeftAngle;
113 /* 0x40 */ f32 mNeckAngleScl;
114 /* 0x44 */ f32 mMorfFrames;
115 /* 0x48 */ s16 mSpeakDistIdx;
116 /* 0x4A */ s16 mSpeakAngleIdx;
117 /* 0x4C */ s16 mTalkDistIdx;
118 /* 0x4E */ s16 mTalkAngleIdx;
119 /* 0x50 */ f32 mAttnFovY;
120 /* 0x54 */ f32 mAttnRadius;
121 /* 0x58 */ f32 mAttnUpperY;
122 /* 0x5C */ f32 mAttnLowerY;
123 /* 0x60 */ s16 field_0x60;
124 /* 0x62 */ s16 mDamageTimer;
126 /* 0x66 */ s16 mTestMotion;
127 /* 0x68 */ s16 mTestLookMode;
128 /* 0x6A */ bool mTest;
129 /* 0x6C */ f32 field_0x6c;
130 /* 0x70 */ f32 field_0x70;
131 /* 0x74 */ f32 field_0x74;
132 /* 0x78 */ f32 field_0x78;
133 /* 0x7C */ f32 field_0x7c;
134 /* 0x80 */ f32 field_0x80;
135 /* 0x84 */ f32 field_0x84;
136 /* 0x88 */ f32 field_0x88;
137 };
138
139 /* 80B5222C */ virtual ~daNpc_Yelia_Param_c() {}
140
141 static param const m;
142};
143
144#endif /* D_A_NPC_YELIA_H */
cPhs__Step
Definition c_phase.h:8
Definition d_a_npc.h:24
Definition d_a_npc.h:378
Definition d_a_npc.h:424
Definition d_a_npc_yelia.h:94
virtual ~daNpc_Yelia_Param_c()
Definition d_a_npc_yelia.h:139
static param const m
Definition d_a_npc_yelia.h:315
Ilia.
Definition d_a_npc_yelia.h:14
BOOL evtCutProc()
Definition d_a_npc_yelia.cpp:803
~daNpc_Yelia_c()
Definition d_a_npc_yelia.cpp:362
int Delete()
Definition d_a_npc_yelia.cpp:475
BOOL cutClothTry(int)
Definition d_a_npc_yelia.cpp:1256
u8 field_0xe40[0xe44 - 0xe40]
Definition d_a_npc_yelia.h:80
BOOL checkRemoveJoint(int i_jointNo)
Definition d_a_npc_yelia.h:66
BOOL cutTakeWoodStatue(int)
Definition d_a_npc_yelia.cpp:1061
void action()
Definition d_a_npc_yelia.cpp:818
s32 getBackboneJointNo()
Definition d_a_npc_yelia.h:64
BOOL checkChangeEvt()
Definition d_a_npc_yelia.cpp:647
void setAttnPos()
Definition d_a_npc_yelia.cpp:845
s32 getEyeballMaterialNo()
Definition d_a_npc_yelia.h:61
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_yelia.cpp:496
BOOL drawDbgInfo()
Definition d_a_npc_yelia.cpp:917
BOOL chkXYItems()
Definition d_a_npc_yelia.h:67
u8 field_0xfec
Definition d_a_npc_yelia.h:89
void setCollision()
Definition d_a_npc_yelia.cpp:882
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_yelia.cpp:502
s32 getNeckJointNo()
Definition d_a_npc_yelia.h:63
u8 getType()
Definition d_a_npc_yelia.cpp:514
void setParam()
Definition d_a_npc_yelia.cpp:592
BOOL talk(void *)
Definition d_a_npc_yelia.cpp:1539
static int(daNpc_Yelia_c::* mCutList[6])(int)
Definition d_a_npc_yelia.h:218
BOOL wait(void *)
Definition d_a_npc_yelia.cpp:1341
BOOL selectAction()
Definition d_a_npc_yelia.cpp:922
fpc_ProcID mItemId
Definition d_a_npc_yelia.h:87
void beforeMove()
Definition d_a_npc_yelia.cpp:834
cPhs__Step create()
Definition d_a_npc_yelia.cpp:370
daNpc_Yelia_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_yelia.h:51
u8 mType
Definition d_a_npc_yelia.h:82
int CreateHeap()
Definition d_a_npc_yelia.cpp:428
int mPendantTimer
Definition d_a_npc_yelia.h:88
int Execute()
Definition d_a_npc_yelia.cpp:481
BOOL evtTalk()
Definition d_a_npc_yelia.cpp:793
void setAfterTalkMotion()
Definition d_a_npc_yelia.cpp:715
u32 getFlowNodeNo()
Definition d_a_npc_yelia.h:69
static char * mCutNameList[6]
Definition d_a_npc_yelia.h:208
void srchActors()
Definition d_a_npc_yelia.cpp:759
void afterJntAnm(int)
Definition d_a_npc_yelia.cpp:581
BOOL isDelete()
Definition d_a_npc_yelia.cpp:540
BOOL(daNpc_Yelia_c::* mpNextAction)(void *)
Definition d_a_npc_yelia.h:84
BOOL checkChangeJoint(int i_jointNo)
Definition d_a_npc_yelia.h:65
BOOL setAction(BOOL(daNpc_Yelia_c::*)(void *))
Definition d_a_npc_yelia.cpp:946
BOOL reminiscence(void *)
Definition d_a_npc_yelia.cpp:1509
BOOL cutTWResistance(int)
Definition d_a_npc_yelia.cpp:1022
dCcD_Cyl mCcCyl
Definition d_a_npc_yelia.h:81
BOOL cutConversationAboutLoopHole(int)
Definition d_a_npc_yelia.cpp:963
daNpcT_ActorMngr_c mActorMngr[4]
Definition d_a_npc_yelia.h:83
daNpcT_Path_c mPath
Definition d_a_npc_yelia.h:86
BOOL cutThankYou(int)
Definition d_a_npc_yelia.cpp:1277
BOOL horseWait(void *)
Definition d_a_npc_yelia.cpp:1469
int Draw()
Definition d_a_npc_yelia.cpp:486
BOOL(daNpc_Yelia_c::* mpAction)(void *)
Definition d_a_npc_yelia.h:85
void reset()
Definition d_a_npc_yelia.cpp:566
s32 getHeadJointNo()
Definition d_a_npc_yelia.h:62
BOOL chkAction(BOOL(daNpc_Yelia_c::*)(void *))
Definition d_a_npc_yelia.cpp:940
STATIC_ASSERT(sizeof(daNpc_Yelia_c)==0xff0)
unsigned int fpc_ProcID
Definition f_pc_base.h:10
Definition d_a_hozelda.cpp:239
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:172
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc.h:325
Definition d_a_npc.h:330
Definition d_a_npc.h:345
Definition d_a_npc_yelia.h:96
f32 mAttnLowerY
Definition d_a_npc_yelia.h:122
f32 mAttnOffsetY
Definition d_a_npc_yelia.h:97
f32 mBodyDownAngle
Definition d_a_npc_yelia.h:106
f32 mHeadLeftAngle
Definition d_a_npc_yelia.h:111
f32 mMorfFrames
Definition d_a_npc_yelia.h:114
s16 mTalkDistIdx
Definition d_a_npc_yelia.h:117
f32 mHeadUpAngle
Definition d_a_npc_yelia.h:109
f32 mShadowDepth
Definition d_a_npc_yelia.h:100
f32 mBodyRightAngle
Definition d_a_npc_yelia.h:108
s16 mSpeakAngleIdx
Definition d_a_npc_yelia.h:116
f32 mScale
Definition d_a_npc_yelia.h:99
f32 mHeadRightAngle
Definition d_a_npc_yelia.h:112
f32 mBodyUpAngle
Definition d_a_npc_yelia.h:105
f32 mWallR
Definition d_a_npc_yelia.h:104
s16 mDamageTimer
Definition d_a_npc_yelia.h:124
f32 mAttnUpperY
Definition d_a_npc_yelia.h:121
f32 mBodyLeftAngle
Definition d_a_npc_yelia.h:107
f32 mCylH
Definition d_a_npc_yelia.h:102
s16 mTestExpression
Definition d_a_npc_yelia.h:125
f32 field_0x6c
Definition d_a_npc_yelia.h:129
s16 mTestMotion
Definition d_a_npc_yelia.h:126
f32 field_0x88
Definition d_a_npc_yelia.h:136
s16 mTalkAngleIdx
Definition d_a_npc_yelia.h:118
f32 mHeadDownAngle
Definition d_a_npc_yelia.h:110
s16 mSpeakDistIdx
Definition d_a_npc_yelia.h:115
f32 mCcWeight
Definition d_a_npc_yelia.h:101
f32 field_0x70
Definition d_a_npc_yelia.h:130
f32 mAttnFovY
Definition d_a_npc_yelia.h:119
f32 field_0x74
Definition d_a_npc_yelia.h:131
f32 mGravity
Definition d_a_npc_yelia.h:98
f32 mNeckAngleScl
Definition d_a_npc_yelia.h:113
f32 mWallH
Definition d_a_npc_yelia.h:103
s16 field_0x60
Definition d_a_npc_yelia.h:123
bool mTest
Definition d_a_npc_yelia.h:128
f32 field_0x78
Definition d_a_npc_yelia.h:132
f32 field_0x7c
Definition d_a_npc_yelia.h:133
s16 mTestLookMode
Definition d_a_npc_yelia.h:127
f32 mAttnRadius
Definition d_a_npc_yelia.h:120
f32 field_0x84
Definition d_a_npc_yelia.h:135
f32 field_0x80
Definition d_a_npc_yelia.h:134
Definition d_a_hozelda.cpp:74
actor_place home
Definition f_op_actor.h:219
int BOOL
Definition types.h:30
unsigned long u32
Definition types.h:9
signed short int s16
Definition types.h:6
float f32
Definition types.h:22
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5