Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_npc_seirei.h
Go to the documentation of this file.
1#ifndef D_A_NPC_SEIREI_H
2#define D_A_NPC_SEIREI_H
3
4#include "d/actor/d_a_npc.h"
5
8 /* 0x8C */ f32 force_talk_dist; // 強制会話距離 - Force Talk Distance
9 /* 0x90 */ f32 talk_dist; // 会話距離 - Talk Distance
10};
11
13public:
15
16 static daNpc_Seirei_HIOParam const m;
17};
18
19#if DEBUG
30
31#define NPC_SEIREI_HIO_CLASS daNpc_Seirei_HIO_c
32#else
33#define NPC_SEIREI_HIO_CLASS daNpc_Seirei_Param_c
34#endif
35
44class daNpc_Seirei_c : public daNpcT_c {
45public:
46 typedef int (daNpc_Seirei_c::*actionFunc)(void*);
47 typedef BOOL (daNpc_Seirei_c::*cutFunc)(int);
48
51 int CreateHeap();
52 int Delete();
53 int Execute();
54 int Draw();
55 static int createHeapCallBack(fopAc_ac_c*);
56 u8 getType();
57 BOOL isDelete();
58 void reset();
59 void setParam();
61 void srchActors();
62 BOOL evtTalk();
64 void action();
65 void beforeMove();
66 void setAttnPos();
67 int drawDbgInfo();
68 bool afterSetMotionAnm(int, int, f32, int);
72 void ctrlWaitAnm();
73 void setPrtcls();
76 int wait(void*);
77 int talk(void*);
79 daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
80 daNpcT_motionAnmData_c const* i_motionAnmData,
81 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
82 int i_faceMotionStepNum,
83 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData,
84 int i_motionStepNum,
85 daNpcT_evtData_c const* i_evtData,
86 char** i_arcNames)
87 : daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
88 i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
89 i_arcNames) {}
90
92 u16 nodeNo = home.angle.x;
93 if (nodeNo == 0xffff) {
94 return -1;
95 }
96
97 return nodeNo;
98 }
99 u32 getBitSW() { return (fopAcM_GetParam(this) & 0xFF000) >> 12; }
100 bool getDoBtnChkFlag() { return (fopAcM_GetParam(this) & 0x100) == 0; }
101
102 static char* mCutNameList[2];
103 static cutFunc mCutList[2];
104
105private:
106 /* 0xE40 */ NPC_SEIREI_HIO_CLASS* mpHIO;
107 /* 0xE44 */ u8 mType;
108 /* 0xE45 */ u8 arg0;
110 /* 0xE54 */ actionFunc mAction;
111 /* 0xE60 */ int field_0xe60;
112 /* 0xE64 */ u32 mPrtcls[7];
113 /* 0xE80 */ bool field_0xe80;
114 /* 0xE81 */ u8 field_0xe81[0xe84 - 0xe81];
115 /* 0xE84 */ u8 field_0xe84;
116};
117
119
120#endif /* D_A_NPC_SEIREI_H */
int cPhs_Step
Definition c_phase.h:8
Definition JORMContext.h:128
Definition d_a_npc.h:516
Definition d_a_npc_seirei.h:20
daNpc_Seirei_HIO_c()
Definition d_a_npc_seirei.cpp:202
daNpc_Seirei_HIOParam m
Definition d_a_npc_seirei.h:28
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_npc_seirei.cpp:206
void genMessage(JORMContext *)
Definition d_a_npc_seirei.cpp:210
Definition d_a_npc_seirei.h:12
static daNpc_Seirei_HIOParam const m
Definition d_a_npc_seirei.h:153
virtual ~daNpc_Seirei_Param_c()
Definition d_a_npc_seirei.h:14
Light Spirit Ordona.
Definition d_a_npc_seirei.h:44
static char * mCutNameList[2]
Definition d_a_npc_seirei.h:143
u8 getType()
Definition d_a_npc_seirei.cpp:335
void setPrtcls()
Definition d_a_npc_seirei.cpp:634
BOOL isDelete()
Definition d_a_npc_seirei.cpp:351
NPC_SEIREI_HIO_CLASS * mpHIO
Definition d_a_npc_seirei.h:106
int Delete()
Definition d_a_npc_seirei.cpp:309
u32 getBitSW()
Definition d_a_npc_seirei.h:99
void ctrlWaitAnm()
Definition d_a_npc_seirei.cpp:597
int field_0xe60
Definition d_a_npc_seirei.h:111
void beforeMove()
Definition d_a_npc_seirei.cpp:476
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_seirei.cpp:331
BOOL evtCutProc()
Definition d_a_npc_seirei.cpp:449
u8 field_0xe81[0xe84 - 0xe81]
Definition d_a_npc_seirei.h:114
int wait(void *)
Definition d_a_npc_seirei.cpp:731
int Execute()
Definition d_a_npc_seirei.cpp:314
BOOL chkFirstMeeting()
Definition d_a_npc_seirei.cpp:660
void setAttnPos()
Definition d_a_npc_seirei.cpp:486
int talk(void *)
Definition d_a_npc_seirei.cpp:760
BOOL checkChangeEvt()
Definition d_a_npc_seirei.cpp:419
void reset()
Definition d_a_npc_seirei.cpp:355
actionFunc mAction
Definition d_a_npc_seirei.h:110
static cutFunc mCutList[2]
Definition d_a_npc_seirei.h:148
BOOL evtTalk()
Definition d_a_npc_seirei.cpp:427
void action()
Definition d_a_npc_seirei.cpp:466
int CreateHeap()
Definition d_a_npc_seirei.cpp:289
BOOL cutConversation(int)
Definition d_a_npc_seirei.cpp:675
int getFlowNodeNo()
Definition d_a_npc_seirei.h:91
actionFunc mNextAction
Definition d_a_npc_seirei.h:109
int(daNpc_Seirei_c::*) actionFunc(void *)
Definition d_a_npc_seirei.h:46
int drawDbgInfo()
Definition d_a_npc_seirei.cpp:507
bool getDoBtnChkFlag()
Definition d_a_npc_seirei.h:100
BOOL setAction(actionFunc)
Definition d_a_npc_seirei.cpp:580
u32 mPrtcls[7]
Definition d_a_npc_seirei.h:112
cPhs_Step create()
Definition d_a_npc_seirei.cpp:229
int Draw()
Definition d_a_npc_seirei.cpp:318
u8 mType
Definition d_a_npc_seirei.h:107
bool field_0xe80
Definition d_a_npc_seirei.h:113
void srchActors()
Definition d_a_npc_seirei.cpp:423
bool afterSetMotionAnm(int, int, f32, int)
Definition d_a_npc_seirei.cpp:511
void setParam()
Definition d_a_npc_seirei.cpp:387
u8 arg0
Definition d_a_npc_seirei.h:108
~daNpc_Seirei_c()
Definition d_a_npc_seirei.cpp:215
u8 field_0xe84
Definition d_a_npc_seirei.h:115
BOOL(daNpc_Seirei_c::*) cutFunc(int)
Definition d_a_npc_seirei.h:47
daNpc_Seirei_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_seirei.h:78
BOOL selectAction()
Definition d_a_npc_seirei.cpp:570
BOOL chkAction(actionFunc)
Definition d_a_npc_seirei.cpp:576
Definition f_op_actor.h:243
actor_place home
Definition f_op_actor.h:262
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daNpc_Seirei_c)==0xe88)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
unsigned long u32
Definition types.h:12
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
csXyz angle
Definition f_op_actor.h:219
Definition d_a_npc.h:842
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_npc_seirei.h:6
f32 talk_dist
Definition d_a_npc_seirei.h:9
daNpcT_HIOParam common
Definition d_a_npc_seirei.h:7
f32 force_talk_dist
Definition d_a_npc_seirei.h:8