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
9
11public:
12 virtual ~daNpcChat_Param_c() {}
13
14 static daNpcChat_HIOParam const m;
15};
16
17#if DEBUG
19public:
21
23
25};
26
27#define NPC_CHAT_HIO_CLASS daNpcChat_HIO_c
28#else
29#define NPC_CHAT_HIO_CLASS daNpcChat_Param_c
30#endif
31
40class daNpcChat_c : public daNpcF_c {
41public:
42 typedef bool (daNpcChat_c::*actionFunc)(void*);
43 typedef BOOL (daNpcChat_c::*eventFunc)(int);
44
47 BOOL NpcCreate(int);
48 int getObjNum();
49 J3DModel* ObjCreate(int);
51 bool isM_();
52 cPhs_Step loadResrc(int, int);
56 BOOL removeResrc(int, int);
57 BOOL setAttention(int);
60 int Delete();
61 int Execute();
62 int Draw();
63 int draw(int, int, f32, _GXColorS10*, int);
65 static int createHeapCallBack(fopAc_ac_c*);
66 static int ctrlJointCallBack(J3DJoint*, int);
70 void setParam();
71 BOOL main();
72 void setAttnPos();
73 bool setExpressionBtp(int);
74 void setMotionAnm(int, f32);
75 void setMotion(int, f32, int);
76 int drawDbgInfo();
77 void drawOtherMdls();
79 bool getLookPlayerCheck();
80 void reset();
81 void playMotion();
84 bool step(s16, int);
86 bool wait(void*);
87 bool fear(void*);
88 bool talk(void*);
89 bool demo(void*);
91
92 u8 getType() { return fopAcM_GetParam(this) & 0xFF; }
93 u8 getTalkGroupNoParam() { return (fopAcM_GetParam(this) >> 12) & 0xF; }
94 u8 getTalkMenberNumParam() { return (fopAcM_GetParam(this) >> 16) & 0xF; }
95 u8 getTalkNoParam() { return (fopAcM_GetParam(this) >> 20) & 0xF; }
96 u8 getTalkIconTypeParam() { return (fopAcM_GetParam(this) >> 24) & 0xF; }
97 s16 getMessageNo() { return (int)home.angle.x; }
101 u8 getTalkNo() { return mTalkNo; }
102 void setFear() { mFear = true; }
103 void setTalkFlag() { mTalkFlag = true; }
104
105 static eventFunc mEvtSeqList[1];
106
107private:
109 /* 0xBEC */ u8 field_0xbec[0xbf0 - 0xbec];
110 /* 0xBF0 */ J3DModel* mObjModel;
113 /* 0xC98 */ NPC_CHAT_HIO_CLASS* mpHIO;
114 /* 0xC9C */ dCcD_Cyl mCyl;
115 /* 0xDD8 */ actionFunc mAction;
121 /* 0xE08 */ int field_0xe08;
122 /* 0xE0C */ int field_0xe0c;
123 /* 0xE10 */ u8 mType;
124 /* 0xE14 */ int mObjNum;
125 /* 0xE18 */ int mMsgNo;
126 /* 0xE1C */ s16 field_0xe1c;
127 /* 0xE1E */ u16 mMode;
128 /* 0xE20 */ u8 mTalkNo;
129 /* 0xE21 */ u8 mTalkMemberNum;
130 /* 0xE22 */ u8 mTalkGroupNo;
131 /* 0xE23 */ u8 mTalkIconType;
132 /* 0xE24 */ daNpcChat_c* mTalkMembers[5];
133 /* 0xE38 */ u8 field_0xe38;
134 /* 0xE3C */ cXyz mBaseAttnPos;
135 /* 0xE48 */ bool mFear;
136 /* 0xE4A */ s16 mPlayerAngleY;
137 /* 0xE4C */ u8 mMotionAnm;
138 /* 0xE4D */ bool mTalkFlag;
139 /* 0xE4E */ u8 mTalkMotionNo;
140 /* 0xE4F */ bool field_0xe4f;
141 /* 0xE50 */ u8 mLookPlayerCheck;
142 /* 0xE51 */ u8 field_0xe51;
143};
144
145STATIC_ASSERT(sizeof(daNpcChat_c) == 0xe54);
146
147#endif /* D_A_NPC_CHAT_H */
int cPhs_Step
Definition c_phase.h:8
Definition J3DAnimation.h:880
Definition J3DJoint.h:66
Definition J3DModelData.h:15
Definition J3DModel.h:43
Definition JORMContext.h:128
Definition Z2Creature.h:60
Definition d_cc_d.h:472
Definition d_a_npc_chat.h:18
daNpcChat_HIO_c()
Definition d_a_npc_chat.cpp:2258
daNpcChat_HIOParam m
Definition d_a_npc_chat.h:24
void genMessage(JORMContext *)
Definition d_a_npc_chat.cpp:2262
Definition d_a_npc_chat.h:10
virtual ~daNpcChat_Param_c()
Definition d_a_npc_chat.h:12
static daNpcChat_HIOParam const m
Definition d_a_npc_chat.h:2221
NPC Chat.
Definition d_a_npc_chat.h:40
u8 getTalkMenberNumParam()
Definition d_a_npc_chat.h:94
void playMotionAnmLoop(daNpcF_c::daNpcF_anmPlayData ***)
Definition d_a_npc_chat.cpp:3766
fpc_ProcID field_0xe04
Definition d_a_npc_chat.h:120
void playMotion()
Definition d_a_npc_chat.cpp:3598
dCcD_Cyl mCyl
Definition d_a_npc_chat.h:114
u8 field_0xe38
Definition d_a_npc_chat.h:133
bool talk(void *)
Definition d_a_npc_chat.cpp:3986
u8 getTalkMotionNo()
Definition d_a_npc_chat.cpp:3529
int Execute()
Definition d_a_npc_chat.cpp:2785
void setTalkMember(daNpcChat_c *)
Definition d_a_npc_chat.cpp:3845
BOOL NpcCreate(int)
Definition d_a_npc_chat.cpp:2283
~daNpcChat_c()
Definition d_a_npc_chat.cpp:2269
int draw(int, int, f32, _GXColorS10 *, int)
Definition d_a_npc_chat.cpp:2812
int Delete()
Definition d_a_npc_chat.cpp:2779
daNpcF_ActorMngr_c mActorMngr[1]
Definition d_a_npc_chat.h:112
void setMotionAnm(int, f32)
Definition d_a_npc_chat.cpp:3138
u8 mTalkNo
Definition d_a_npc_chat.h:128
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_chat.cpp:2914
u8 getTalkNoParam()
Definition d_a_npc_chat.h:95
u8 getType()
Definition d_a_npc_chat.h:92
request_of_phase_process_class mPhase4
Definition d_a_npc_chat.h:119
int ctrlJoint(J3DJoint *, J3DModel *)
Definition d_a_npc_chat.cpp:2902
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_chat.cpp:2919
u8 mTalkMemberNum
Definition d_a_npc_chat.h:129
daNpcChat_c()
Definition d_a_npc_chat.cpp:2267
BOOL(daNpcChat_c::*) eventFunc(int)
Definition d_a_npc_chat.h:43
u8 field_0xbec[0xbf0 - 0xbec]
Definition d_a_npc_chat.h:109
J3DModel * ChairCreate(f32)
Definition d_a_npc_chat.cpp:2464
u8 getTalkIconTypeParam()
Definition d_a_npc_chat.h:96
bool fear(void *)
Definition d_a_npc_chat.cpp:3947
bool isM_()
Definition d_a_npc_chat.cpp:2487
cPhs_Step loadResrc(int, int)
Definition d_a_npc_chat.cpp:2497
NPC_CHAT_HIO_CLASS * mpHIO
Definition d_a_npc_chat.h:113
void setParam()
Definition d_a_npc_chat.cpp:3070
cXyz & getBaseAttnPos()
Definition d_a_npc_chat.h:98
bool setExpressionBtp(int)
Definition d_a_npc_chat.cpp:3122
actionFunc mAction
Definition d_a_npc_chat.h:115
BOOL appearCheck()
Definition d_a_npc_chat.cpp:3022
int mObjNum
Definition d_a_npc_chat.h:124
int Draw()
Definition d_a_npc_chat.cpp:2807
s16 getMessageNo()
Definition d_a_npc_chat.h:97
J3DModelData * getNpcMdlDataP(int)
Definition d_a_npc_chat.cpp:2538
Z2CreatureCitizen mSound
Definition d_a_npc_chat.h:108
u8 getTalkGroupNo()
Definition d_a_npc_chat.h:100
void setAttnPos()
Definition d_a_npc_chat.cpp:3101
int mMsgNo
Definition d_a_npc_chat.h:125
BOOL searchGroup()
Definition d_a_npc_chat.cpp:2939
BOOL removeResrc(int, int)
Definition d_a_npc_chat.cpp:2573
static eventFunc mEvtSeqList[1]
Definition d_a_npc_chat.h:2185
bool(daNpcChat_c::*) actionFunc(void *)
Definition d_a_npc_chat.h:42
void reset()
Definition d_a_npc_chat.cpp:3547
void setMotion(int, f32, int)
Definition d_a_npc_chat.cpp:3473
u8 getTalkNo()
Definition d_a_npc_chat.h:101
s16 mPlayerAngleY
Definition d_a_npc_chat.h:136
int field_0xe0c
Definition d_a_npc_chat.h:122
daNpcF_Lookat_c mLookat
Definition d_a_npc_chat.h:111
J3DModel * ObjCreate(int)
Definition d_a_npc_chat.cpp:2455
u8 mLookPlayerCheck
Definition d_a_npc_chat.h:141
BOOL main()
Definition d_a_npc_chat.cpp:3092
BOOL CreateHeap()
Definition d_a_npc_chat.cpp:2751
bool field_0xe4f
Definition d_a_npc_chat.h:140
u16 mMode
Definition d_a_npc_chat.h:127
cXyz mBaseAttnPos
Definition d_a_npc_chat.h:134
bool wait(void *)
Definition d_a_npc_chat.cpp:3858
void setTalkFlag()
Definition d_a_npc_chat.h:103
bool mTalkFlag
Definition d_a_npc_chat.h:138
request_of_phase_process_class mPhase3
Definition d_a_npc_chat.h:118
void adjustShapeAngle()
Definition d_a_npc_chat.h:90
u8 field_0xe51
Definition d_a_npc_chat.h:142
int drawDbgInfo()
Definition d_a_npc_chat.cpp:3484
void setFear()
Definition d_a_npc_chat.h:102
J3DModelData * getObjMdlDataP(int)
Definition d_a_npc_chat.cpp:2549
daNpcChat_c * mTalkMembers[5]
Definition d_a_npc_chat.h:132
bool mFear
Definition d_a_npc_chat.h:135
BOOL setAction(actionFunc)
Definition d_a_npc_chat.cpp:3801
u8 mTalkMotionNo
Definition d_a_npc_chat.h:139
u8 mMotionAnm
Definition d_a_npc_chat.h:137
s16 field_0xe1c
Definition d_a_npc_chat.h:126
BOOL appearTimeCheck()
Definition d_a_npc_chat.cpp:2965
u8 getTalkGroupNoParam()
Definition d_a_npc_chat.h:93
bool demo(void *)
Definition d_a_npc_chat.cpp:4072
u8 mType
Definition d_a_npc_chat.h:123
int getObjNum()
Definition d_a_npc_chat.cpp:2358
u8 mTalkGroupNo
Definition d_a_npc_chat.h:130
int field_0xe08
Definition d_a_npc_chat.h:121
BOOL chkAction(actionFunc action)
Definition d_a_npc_chat.h:99
bool getLookPlayerCheck()
Definition d_a_npc_chat.cpp:3538
request_of_phase_process_class mPhase2
Definition d_a_npc_chat.h:117
request_of_phase_process_class mPhase1
Definition d_a_npc_chat.h:116
J3DAnmTexPattern * getTexAnmP(int)
Definition d_a_npc_chat.cpp:2560
J3DModel * mObjModel
Definition d_a_npc_chat.h:110
void drawOtherMdls()
Definition d_a_npc_chat.cpp:3488
BOOL setAttention(int)
Definition d_a_npc_chat.cpp:2597
cPhs_Step Create()
Definition d_a_npc_chat.cpp:2678
bool step(s16, int)
Definition d_a_npc_chat.cpp:3818
u8 mTalkIconType
Definition d_a_npc_chat.h:131
Definition d_a_npc4.h:14
Definition d_a_npc4.h:140
Definition d_a_npc4.h:170
Definition f_op_actor.h:243
actor_place home
Definition f_op_actor.h:262
Definition m_Do_hostIO.h:26
static void action(b_bh_class *i_this)
Definition d_a_b_bh.cpp:1016
STATIC_ASSERT(sizeof(daNpcChat_c)==0xe54)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
unsigned int fpc_ProcID
Definition f_pc_base.h:10
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
s16 x
Definition c_sxyz.h:7
Definition GXStruct.h:34
csXyz angle
Definition f_op_actor.h:219
Definition c_xyz.h:7
Definition d_a_npc_chat.h:6
daNpcF_HIOParam common
Definition d_a_npc_chat.h:7
Definition d_a_npc4.h:430
Definition d_a_npc4.h:264
Definition c_phase.h:19