Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_chat.h
Go to the documentation of this file.
1#ifndef D_A_NPC_CHAT_H
2#define D_A_NPC_CHAT_H
3
4#include "d/actor/d_a_npc4.h"
5
18
24
26public:
27 virtual ~daNpcChat_Param_c() {}
28
29 static daNpcChat_HIOParam const m;
30};
31
32class daNpcChat_c : public daNpcF_c {
33public:
34 typedef bool (daNpcChat_c::*actionFunc)(void*);
35 typedef BOOL (daNpcChat_c::*eventFunc)(int);
36
39 BOOL NpcCreate(int);
40 int getObjNum();
41 J3DModel* ObjCreate(int);
43 bool isM_();
44 cPhs__Step loadResrc(int, int);
48 BOOL removeResrc(int, int);
49 BOOL setAttention(int);
52 int Delete();
53 int Execute();
54 int Draw();
55 int draw(int, int, f32, _GXColorS10*, int);
57 static int createHeapCallBack(fopAc_ac_c*);
58 static int ctrlJointCallBack(J3DJoint*, int);
62 void setParam();
63 BOOL main();
64 void setAttnPos();
65 bool setExpressionBtp(int);
66 void setMotionAnm(int, f32);
67 void setMotion(int, f32, int);
68 int drawDbgInfo();
69 void drawOtherMdls();
71 bool getLookPlayerCheck();
72 void reset();
73 void playMotion();
76 bool step(s16, int);
78 bool wait(void*);
79 bool fear(void*);
80 bool talk(void*);
81 bool demo(void*);
83
84 u8 getType() { return fopAcM_GetParam(this) & 0xFF; }
85 u8 getTalkGroupNoParam() { return (fopAcM_GetParam(this) >> 12) & 0xF; }
86 u8 getTalkMenberNumParam() { return (fopAcM_GetParam(this) >> 16) & 0xF; }
87 u8 getTalkNoParam() { return (fopAcM_GetParam(this) >> 20) & 0xF; }
88 u8 getTalkIconTypeParam() { return (fopAcM_GetParam(this) >> 24) & 0xF; }
89 s16 getMessageNo() { return (int)home.angle.x; }
93 u8 getTalkNo() { return mTalkNo; }
94 void setFear() { mFear = true; }
95 void setTalkFlag() { mTalkFlag = true; }
96
97 static eventFunc mEvtSeqList[1];
98
99private:
101 /* 0xBEC */ u8 field_0xbec[0xbf0 - 0xbec];
102 /* 0xBF0 */ J3DModel* mObjModel;
105 /* 0xC98 */ daNpcChat_HIO_c* mHIO;
106 /* 0xC9C */ dCcD_Cyl mCyl;
107 /* 0xDD8 */ actionFunc mAction;
113 /* 0xE08 */ int field_0xe08;
114 /* 0xE0C */ int field_0xe0c;
115 /* 0xE10 */ u8 mType;
116 /* 0xE14 */ int mObjNum;
117 /* 0xE18 */ int mMsgNo;
118 /* 0xE1C */ s16 field_0xe1c;
119 /* 0xE1E */ u16 mMode;
120 /* 0xE20 */ u8 mTalkNo;
121 /* 0xE21 */ u8 mTalkMemberNum;
122 /* 0xE22 */ u8 mTalkGroupNo;
123 /* 0xE23 */ u8 mTalkIconType;
124 /* 0xE24 */ daNpcChat_c* mTalkMembers[5];
125 /* 0xE38 */ u8 field_0xe38;
126 /* 0xE3C */ cXyz mBaseAttnPos;
127 /* 0xE48 */ bool mFear;
128 /* 0xE4A */ s16 mPlayerAngleY;
129 /* 0xE4C */ u8 mMotionAnm;
130 /* 0xE4D */ bool mTalkFlag;
131 /* 0xE4E */ u8 mTalkMotionNo;
132 /* 0xE4F */ bool field_0xe4f;
133 /* 0xE50 */ u8 mLookPlayerCheck;
134 /* 0xE51 */ u8 field_0xe51;
135};
136
137STATIC_ASSERT(sizeof(daNpcChat_c) == 0xe54);
138
139#endif /* D_A_NPC_CHAT_H */
cPhs__Step
Definition c_phase.h:8
Definition J3DAnimation.h:642
Definition J3DJoint.h:63
Definition J3DModelData.h:17
Definition J3DModel.h:43
Definition JORMContext.h:120
Definition Z2Creature.h:60
Definition d_cc_d.h:461
Definition d_a_npc_chat.h:19
daNpcChat_HIOParam param
Definition d_a_npc_chat.h:22
void genMessage(JORMContext *)
Definition d_a_npc_chat.h:25
virtual ~daNpcChat_Param_c()
Definition d_a_npc_chat.h:27
static daNpcChat_HIOParam const m
Definition d_a_npc_chat.h:2231
NPC Chat.
Definition d_a_npc_chat.h:32
u8 getTalkMenberNumParam()
Definition d_a_npc_chat.h:86
void playMotionAnmLoop(daNpcF_c::daNpcF_anmPlayData ***)
Definition d_a_npc_chat.cpp:3750
fpc_ProcID field_0xe04
Definition d_a_npc_chat.h:112
void playMotion()
Definition d_a_npc_chat.cpp:3582
dCcD_Cyl mCyl
Definition d_a_npc_chat.h:106
u8 field_0xe38
Definition d_a_npc_chat.h:125
daNpcChat_HIO_c * mHIO
Definition d_a_npc_chat.h:105
bool talk(void *)
Definition d_a_npc_chat.cpp:3971
u8 getTalkMotionNo()
Definition d_a_npc_chat.cpp:3513
int Execute()
Definition d_a_npc_chat.cpp:2772
void setTalkMember(daNpcChat_c *)
Definition d_a_npc_chat.cpp:3829
BOOL NpcCreate(int)
Definition d_a_npc_chat.cpp:2267
~daNpcChat_c()
Definition d_a_npc_chat.cpp:2191
int draw(int, int, f32, _GXColorS10 *, int)
Definition d_a_npc_chat.cpp:2799
int Delete()
Definition d_a_npc_chat.cpp:2766
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_chat.h:104
void setMotionAnm(int, f32)
Definition d_a_npc_chat.cpp:3122
cPhs__Step Create()
Definition d_a_npc_chat.cpp:2662
u8 mTalkNo
Definition d_a_npc_chat.h:120
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_chat.cpp:2901
u8 getTalkNoParam()
Definition d_a_npc_chat.h:87
u8 getType()
Definition d_a_npc_chat.h:84
request_of_phase_process_class mPhase4
Definition d_a_npc_chat.h:111
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_chat.cpp:2889
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_chat.cpp:2906
u8 mTalkMemberNum
Definition d_a_npc_chat.h:121
daNpcChat_c()
Definition d_a_npc_chat.cpp:2189
BOOL(daNpcChat_c::*) eventFunc(int)
Definition d_a_npc_chat.h:35
u8 field_0xbec[0xbf0 - 0xbec]
Definition d_a_npc_chat.h:101
J3DModel * ChairCreate(f32)
Definition d_a_npc_chat.cpp:2448
u8 getTalkIconTypeParam()
Definition d_a_npc_chat.h:88
bool fear(void *)
Definition d_a_npc_chat.cpp:3932
bool isM_()
Definition d_a_npc_chat.cpp:2471
void setParam()
Definition d_a_npc_chat.cpp:3057
cXyz & getBaseAttnPos()
Definition d_a_npc_chat.h:90
bool setExpressionBtp(int)
Definition d_a_npc_chat.cpp:3106
actionFunc mAction
Definition d_a_npc_chat.h:107
BOOL appearCheck()
Definition d_a_npc_chat.cpp:3009
int mObjNum
Definition d_a_npc_chat.h:116
int Draw()
Definition d_a_npc_chat.cpp:2794
s16 getMessageNo()
Definition d_a_npc_chat.h:89
J3DModelData * getNpcMdlDataP(int)
Definition d_a_npc_chat.cpp:2522
Z2CreatureCitizen mSound
Definition d_a_npc_chat.h:100
u8 getTalkGroupNo()
Definition d_a_npc_chat.h:92
void setAttnPos()
Definition d_a_npc_chat.cpp:3085
int mMsgNo
Definition d_a_npc_chat.h:117
BOOL searchGroup()
Definition d_a_npc_chat.cpp:2926
BOOL removeResrc(int, int)
Definition d_a_npc_chat.cpp:2557
static eventFunc mEvtSeqList[1]
Definition d_a_npc_chat.h:2185
bool(daNpcChat_c::*) actionFunc(void *)
Definition d_a_npc_chat.h:34
void reset()
Definition d_a_npc_chat.cpp:3531
void setMotion(int, f32, int)
Definition d_a_npc_chat.cpp:3457
u8 getTalkNo()
Definition d_a_npc_chat.h:93
s16 mPlayerAngleY
Definition d_a_npc_chat.h:128
cPhs__Step loadResrc(int, int)
Definition d_a_npc_chat.cpp:2481
int field_0xe0c
Definition d_a_npc_chat.h:114
daNpcF_Lookat_c mLookat
Definition d_a_npc_chat.h:103
J3DModel * ObjCreate(int)
Definition d_a_npc_chat.cpp:2439
u8 mLookPlayerCheck
Definition d_a_npc_chat.h:133
BOOL main()
Definition d_a_npc_chat.cpp:3076
BOOL CreateHeap()
Definition d_a_npc_chat.cpp:2738
bool field_0xe4f
Definition d_a_npc_chat.h:132
u16 mMode
Definition d_a_npc_chat.h:119
cXyz mBaseAttnPos
Definition d_a_npc_chat.h:126
bool wait(void *)
Definition d_a_npc_chat.cpp:3842
void setTalkFlag()
Definition d_a_npc_chat.h:95
bool mTalkFlag
Definition d_a_npc_chat.h:130
request_of_phase_process_class mPhase3
Definition d_a_npc_chat.h:110
void adjustShapeAngle()
Definition d_a_npc_chat.h:82
u8 field_0xe51
Definition d_a_npc_chat.h:134
int drawDbgInfo()
Definition d_a_npc_chat.cpp:3468
void setFear()
Definition d_a_npc_chat.h:94
J3DModelData * getObjMdlDataP(int)
Definition d_a_npc_chat.cpp:2533
daNpcChat_c * mTalkMembers[5]
Definition d_a_npc_chat.h:124
bool mFear
Definition d_a_npc_chat.h:127
BOOL setAction(actionFunc)
Definition d_a_npc_chat.cpp:3785
u8 mTalkMotionNo
Definition d_a_npc_chat.h:131
u8 mMotionAnm
Definition d_a_npc_chat.h:129
s16 field_0xe1c
Definition d_a_npc_chat.h:118
BOOL appearTimeCheck()
Definition d_a_npc_chat.cpp:2952
u8 getTalkGroupNoParam()
Definition d_a_npc_chat.h:85
bool demo(void *)
Definition d_a_npc_chat.cpp:4057
u8 mType
Definition d_a_npc_chat.h:115
int getObjNum()
Definition d_a_npc_chat.cpp:2342
u8 mTalkGroupNo
Definition d_a_npc_chat.h:122
int field_0xe08
Definition d_a_npc_chat.h:113
BOOL chkAction(actionFunc action)
Definition d_a_npc_chat.h:91
bool getLookPlayerCheck()
Definition d_a_npc_chat.cpp:3522
request_of_phase_process_class mPhase2
Definition d_a_npc_chat.h:109
request_of_phase_process_class mPhase1
Definition d_a_npc_chat.h:108
J3DAnmTexPattern * getTexAnmP(int)
Definition d_a_npc_chat.cpp:2544
J3DModel * mObjModel
Definition d_a_npc_chat.h:102
void drawOtherMdls()
Definition d_a_npc_chat.cpp:3472
BOOL setAttention(int)
Definition d_a_npc_chat.cpp:2581
bool step(s16, int)
Definition d_a_npc_chat.cpp:3802
u8 mTalkIconType
Definition d_a_npc_chat.h:123
Definition d_a_npc4.h:14
Definition d_a_npc4.h:379
Definition d_a_npc4.h:54
Definition f_op_actor.h:230
actor_place home
Definition f_op_actor.h:249
Definition m_Do_hostIO.h:27
static void action(b_bh_class *i_this)
Definition d_a_b_bh.cpp:1017
STATIC_ASSERT(sizeof(daNpcChat_c)==0xe54)
int BOOL
Definition types.h:33
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
unsigned int fpc_ProcID
Definition f_pc_base.h:10
s16 x
Definition c_sxyz.h:7
Definition GXStruct.h:34
csXyz angle
Definition f_op_actor.h:206
Definition c_xyz.h:7
Definition d_a_npc_chat.h:15
daNpcF_HIOParam common
Definition d_a_npc_chat.h:16
Definition d_a_npc4.h:423
Definition d_a_npc4.h:148
Definition c_phase.h:17