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_bou.h
Go to the documentation of this file.
1#ifndef D_A_NPC_BOU_H
2#define D_A_NPC_BOU_H
3
4#include "d/actor/d_a_npc.h"
5
15 public:
16 /* 809727F4 */ ~daNpc_Bou_Param_c();
17
18 struct Data {
19 /* 0x00 */ f32 field_0x00; // 255.0f
20 /* 0x04 */ f32 field_0x04; // 3.0f
21 /* 0x08 */ f32 field_0x08; // 1.0f
22 /* 0x0C */ f32 field_0x0c; // 600.0f
23 /* 0x10 */ f32 field_0x10; // 255.0f
24 /* 0x14 */ f32 field_0x14; // 200.0f
25 /* 0x18 */ f32 field_0x18; // 35.0f
26 /* 0x1C */ f32 field_0x1c; // 40.0f
27 /* 0x20 */ f32 field_0x20; // 0.0f
28 /* 0x24 */ f32 field_0x24; // 0.0f
29 /* 0x28 */ f32 field_0x28; // 10.0f
30 /* 0x2C */ f32 field_0x2c; // -10.0f
31 /* 0x30 */ f32 field_0x30; // 30.0f
32 /* 0x34 */ f32 field_0x34; // -10.0f
33 /* 0x38 */ f32 field_0x38; // 45.0f
34 /* 0x3C */ f32 field_0x3c; // -45.0f
35 /* 0x40 */ f32 field_0x40; // 0.6f
36 /* 0x44 */ f32 field_0x44; // 12.0f
37 /* 0x48 */ s16 field_0x48; // 3
38 /* 0x4a */ s16 field_0x4a; // 6
39 /* 0x4c */ s16 field_0x4c; // 5
40 /* 0x4e */ s16 field_0x4e; // 6
41 /* 0x50 */ f32 field_0x50; // 110.0f
42 /* 0x54 */ f32 field_0x54; // 500.0f
43 /* 0x58 */ f32 field_0x58; // 300.0f
44 /* 0x5c */ f32 field_0x5c; // -300.0f
45 /* 0x60 */ s16 field_0x60; // 60
46 /* 0x62 */ s16 field_0x62; // 8
47 /* 0x64 */ f32 field_0x64; // 0.0f
48 /* 0x68 */ f32 field_0x68; // 0.0f
49 /* 0x6c */ f32 field_0x6c; // 4.0f
50 /* 0x70 */ f32 field_0x70; // 0.0f
51 /* 0x74 */ f32 field_0x74; // 0.0f
52 /* 0x78 */ f32 field_0x78; // 0.0f
53 /* 0x7c */ f32 field_0x7c; // 0.0f
54 /* 0x80 */ f32 field_0x80; // 0.0f
55 /* 0x84 */ f32 field_0x84; // 0.0f
56 /* 0x88 */ f32 field_0x88; // 0.0f
57 /* 0x8c */ f32 field_0x8c; // 16.0f
58 /* 0x90 */ f32 field_0x90; // 1000.0f
59 /* 0x94 */ f32 field_0x94; // 500.0f
60 /* 0x98 */ f32 field_0x98; // -500.0f
61 };
62
63 static const Data m;
64};
65
66class daNpc_Bou_c : public daNpcT_c {
67public:
68
77
78 /* 8096CF8C */ ~daNpc_Bou_c();
79 /* 8096D0D8 */ void create();
80 /* 8096D38C */ void CreateHeap();
81 /* 8096D7B8 */ void Delete();
82 /* 8096D7EC */ void Execute();
83 /* 8096D80C */ void Draw();
84 /* 8096D8A0 */ void createHeapCallBack(fopAc_ac_c*);
85 /* 8096D8C0 */ void ctrlJointCallBack(J3DJoint*, int);
86 /* 8096D918 */ void srchCow(void*, void*);
87 /* 8096D9B4 */ void getCowP();
88 /* 8096DA78 */ u8 getType();
89 /* 8096DADC */ void isDelete();
90 /* 8096DBBC */ void reset();
91 /* 8096E18C */ void srchActors();
92 /* 8096ECC0 */ void selectAction();
93 /* 8096ED3C */ void chkAction(int (daNpc_Bou_c::*)(void*));
94 /* 8096ED68 */ void setAction(int (daNpc_Bou_c::*)(void*));
95 /* 8096EE10 */ void cutWildGoat(int);
96 /* 8096F2E4 */ void cutWildGoatSuccess(int);
97 /* 8096F510 */ void cutWildGoatFailure(int);
98 /* 8096F758 */ void cutSpeakTo(int);
99 /* 8096F9A4 */ void cutConversationWithBou(int);
100 /* 8096FB78 */ void cutConfidentialConversation(int);
101 /* 8096FE40 */ void cutFindWolf(int);
102 /* 80970278 */ void cutMeetingAgain(int);
103 /* 809709EC */ void wait(void*);
104 /* 80970DFC */ void talkwithJagar(void*);
105 /* 80970F9C */ void talk(void*);
109 daNpcT_evtData_c const*, char**);
110
111 /* 809727D4 */ virtual int checkChangeJoint(int);
112 /* 809727E4 */ virtual int checkRemoveJoint(int);
113 /* 809727CC */ virtual s32 getBackboneJointNo();
114 /* 809727C4 */ virtual s32 getNeckJointNo();
115 /* 809727BC */ virtual s32 getHeadJointNo();
116 /* 809727B4 */ virtual s32 getEyeballMaterialNo();
117 /* 8096DD44 */ virtual void afterJntAnm(int);
118 /* 8096DDC8 */ virtual void setParam();
119 /* 8096DF9C */ virtual BOOL checkChangeEvt();
120 /* 8096E27C */ virtual BOOL evtTalk();
121 /* 8096E31C */ virtual BOOL evtEndProc();
122 /* 8096E324 */ virtual BOOL evtCutProc();
123 /* 8096E0EC */ virtual void setAfterTalkMotion();
124 /* 8096E3EC */ virtual void action();
125 /* 8096E7E0 */ virtual void beforeMove();
126 /* 8096E8A4 */ virtual void setAttnPos();
127 /* 8096EB14 */ virtual void setCollision();
128 /* 8096EC6C */ virtual int drawDbgInfo();
129 /* 8096EC74 */ virtual void changeAnm(int*, int*);
130
131 static void* mCutNameList[9];
132 static u8 mCutList[108];
133
139
140 int chkCondition(int i_val) {
141 if (mStagger.checkStagger()) {
142 return false;
143 } else if (i_val != 0) {
144 return true;
145 } else {
146 if (mMotionSeqMngr.getNo() == 3 ||
147 mMotionSeqMngr.getNo() == 2 ||
148 mMotionSeqMngr.getNo() == 4) {
149 if (mMotionSeqMngr.getStepNo() > 0) {
150 return true;
151 }
152 } else if (mMotionSeqMngr.getNo() == 1) {
153 return true;
154 }
155 }
156 return false;
157 }
158
160 if (field_0xf80 == 4) {
161 if (current.pos.absXZ(daPy_getPlayerActorClass()->current.pos) < 1100.0f && strlen(mpEvtData[5].eventName) != 0) {
162 u32 len = strlen(mpArcNames[mpEvtData[5].num]);
163 if (len != 0) {
166 }
167
168 mEvtId = dComIfGp_getEventManager().getEventIdx(this, mpEvtData[5].eventName, 0xFF);
169 fopAcM_orderOtherEventId(this, mEvtId, 0xFF, 0xFFFF, 4, 1);
170 return 1;
171 }
172 }
173
174 return 0;
175 }
176
177private:
178 /* 0xE40 */ int field_0xe40;
180 /* 0xF80 */ u8 field_0xf80;
183 /* 0xFC4 */ u8 field_0xfc4[0xFDC - 0xFC4];
184 /* 0xFDC */ int field_0xfdc;
185 /* 0xFE0 */ int field_0xfe0;
186 /* 0xFE4 */ int field_0xfe4;
187 /* 0xFE8 */ u8 field_0xfe8[0xFFC - 0xFE8];
188};
189
190STATIC_ASSERT(sizeof(daNpc_Bou_c) == 0xffc);
191
192
193#endif /* D_A_NPC_BOU_H */
s16 getEventIdx(char const *eventName, u8 mapToolID, s32 roomNo)
Definition d_event_manager.cpp:512
bool setObjectArchive(char *arcName)
Definition d_event_manager.cpp:141
char * getArchiveName()
Definition f_op_actor.h:151
void setArchiveName(char *name)
Definition f_op_actor.h:146
Definition d_a_npc.h:24
int checkStagger()
Definition d_a_npc.h:305
int getStepNo()
Definition d_a_npc.h:82
int getNo()
Definition d_a_npc.h:80
Definition d_a_npc.h:378
Definition d_a_npc.h:424
char ** mpArcNames
Definition d_a_npc.h:429
csXyz mCurAngle
Definition d_a_npc.h:466
daNpcT_MotionSeqMngr_c mMotionSeqMngr
Definition d_a_npc.h:454
s16 mEvtId
Definition d_a_npc.h:506
daNpcT_evtData_c const * mpEvtData
Definition d_a_npc.h:428
BOOL chkFindWolf(s16, int, int, f32, f32, f32, f32, BOOL)
Definition d_a_npc.cpp:2144
daNpcT_DmgStagger_c mStagger
Definition d_a_npc.h:458
Definition d_a_npc_bou.h:14
static const Data m
Definition d_a_npc_bou.h:886
~daNpc_Bou_Param_c()
Definition d_a_npc_bou.cpp:1716
Mayor Bo.
Definition d_a_npc_bou.h:66
BOOL chkFindWolf()
Definition d_a_npc_bou.h:134
void setAction(int(daNpc_Bou_c::*)(void *))
Definition d_a_npc_bou.cpp:1266
virtual void changeAnm(int *, int *)
Definition d_a_npc_bou.cpp:1249
void getCowP()
Definition d_a_npc_bou.cpp:1081
virtual void setCollision()
Definition d_a_npc_bou.cpp:1239
virtual int drawDbgInfo()
Definition d_a_npc_bou.cpp:1244
dCcD_Cyl field_0xe44
Definition d_a_npc_bou.h:179
void talk(void *)
Definition d_a_npc_bou.cpp:1391
virtual int checkChangeJoint(int)
Definition d_a_npc_bou.cpp:1705
void Execute()
Definition d_a_npc_bou.cpp:1044
void cutConfidentialConversation(int)
Definition d_a_npc_bou.cpp:1322
void srchCow(void *, void *)
Definition d_a_npc_bou.cpp:1071
virtual s32 getHeadJointNo()
Definition d_a_npc_bou.cpp:1688
void selectAction()
Definition d_a_npc_bou.cpp:1254
void ctrlJointCallBack(J3DJoint *, int)
Definition d_a_npc_bou.cpp:1066
static void * mCutNameList[9]
Definition d_a_npc_bou.h:558
daNpcT_Path_c field_0xf9c
Definition d_a_npc_bou.h:182
virtual void afterJntAnm(int)
Definition d_a_npc_bou.cpp:1114
~daNpc_Bou_c()
Definition d_a_npc_bou.cpp:880
void cutWildGoatSuccess(int)
Definition d_a_npc_bou.cpp:1292
virtual int checkRemoveJoint(int)
Definition d_a_npc_bou.cpp:1711
virtual BOOL evtCutProc()
Definition d_a_npc_bou.cpp:1159
void createHeapCallBack(fopAc_ac_c *)
Definition d_a_npc_bou.cpp:1060
void cutSpeakTo(int)
Definition d_a_npc_bou.cpp:1303
int field_0xe40
Definition d_a_npc_bou.h:178
int chkCondition(int i_val)
Definition d_a_npc_bou.h:140
u8 field_0xfe8[0xFFC - 0xFE8]
Definition d_a_npc_bou.h:187
virtual BOOL evtEndProc()
Definition d_a_npc_bou.cpp:1154
virtual s32 getEyeballMaterialNo()
Definition d_a_npc_bou.cpp:1683
void create()
Definition d_a_npc_bou.cpp:941
virtual BOOL evtTalk()
Definition d_a_npc_bou.cpp:1149
void cutMeetingAgain(int)
Definition d_a_npc_bou.cpp:1368
virtual void setAttnPos()
Definition d_a_npc_bou.cpp:1234
void cutWildGoatFailure(int)
Definition d_a_npc_bou.cpp:1298
void wait(void *)
Definition d_a_npc_bou.cpp:1373
int field_0xfe4
Definition d_a_npc_bou.h:186
void srchActors()
Definition d_a_npc_bou.cpp:1144
void Delete()
Definition d_a_npc_bou.cpp:1039
virtual s32 getNeckJointNo()
Definition d_a_npc_bou.cpp:1693
Type
Definition d_a_npc_bou.h:69
@ TYPE_3
Definition d_a_npc_bou.h:73
@ TYPE_1
Definition d_a_npc_bou.h:71
@ TYPE_2
Definition d_a_npc_bou.h:72
@ TYPE_5
Definition d_a_npc_bou.h:75
@ TYPE_0
Definition d_a_npc_bou.h:70
@ TYPE_4
Definition d_a_npc_bou.h:74
virtual s32 getBackboneJointNo()
Definition d_a_npc_bou.cpp:1699
void Draw()
Definition d_a_npc_bou.cpp:1054
void cutWildGoat(int)
Definition d_a_npc_bou.cpp:1286
daNpc_Bou_c(daNpcT_faceMotionAnmData_c const *, daNpcT_motionAnmData_c const *, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *, int, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *, int, daNpcT_evtData_c const *, char **)
u8 field_0xf80
Definition d_a_npc_bou.h:180
virtual BOOL checkChangeEvt()
Definition d_a_npc_bou.cpp:1124
virtual void setAfterTalkMotion()
Definition d_a_npc_bou.cpp:1139
daNpcT_ActorMngr_c field_0xf84[3]
Definition d_a_npc_bou.h:181
void reset()
Definition d_a_npc_bou.cpp:1109
u8 getType()
Definition d_a_npc_bou.cpp:1086
void cutConversationWithBou(int)
Definition d_a_npc_bou.cpp:1316
virtual void action()
Definition d_a_npc_bou.cpp:1192
void isDelete()
Definition d_a_npc_bou.cpp:1104
static u8 mCutList[108]
Definition d_a_npc_bou.h:651
void chkAction(int(daNpc_Bou_c::*)(void *))
Definition d_a_npc_bou.cpp:1260
void CreateHeap()
Definition d_a_npc_bou.cpp:974
void talkwithJagar(void *)
Definition d_a_npc_bou.cpp:1378
int field_0xfdc
Definition d_a_npc_bou.h:184
virtual void beforeMove()
Definition d_a_npc_bou.cpp:1197
int field_0xfe0
Definition d_a_npc_bou.h:185
u8 field_0xfc4[0xFDC - 0xFC4]
Definition d_a_npc_bou.h:183
void cutFindWolf(int)
Definition d_a_npc_bou.cpp:1341
virtual void setParam()
Definition d_a_npc_bou.cpp:1119
BOOL speakTo()
Definition d_a_npc_bou.h:159
static void daPy_getPlayerActorClass()
Definition d_a_mg_rod.cpp:2701
u8 daNpcT_getDistTableIdx(int param_0, int param_1)
Definition d_a_npc.cpp:2658
STATIC_ASSERT(sizeof(daNpc_Bou_c)==0xffc)
dEvent_manager_c & dComIfGp_getEventManager()
Definition d_com_inf_game.h:3400
s32 fopAcM_orderOtherEventId(fopAc_ac_c *i_actor, s16 i_eventID, u8 i_mapToolID, u16 param_3, u16 i_priority, u16 i_flag)
Definition f_op_actor_mng.cpp:976
size_t strlen(const char *str)
Definition string.c:7
Definition d_a_hozelda.cpp:239
s16 y
Definition c_sxyz.h:7
cXyz pos
Definition f_op_actor.h:171
f32 absXZ() const
Definition c_xyz.h:124
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_bou.h:18
f32 field_0x44
Definition d_a_npc_bou.h:36
f32 field_0x54
Definition d_a_npc_bou.h:42
s16 field_0x4c
Definition d_a_npc_bou.h:39
f32 field_0x98
Definition d_a_npc_bou.h:60
f32 field_0x68
Definition d_a_npc_bou.h:48
f32 field_0x14
Definition d_a_npc_bou.h:24
s16 field_0x48
Definition d_a_npc_bou.h:37
f32 field_0x28
Definition d_a_npc_bou.h:29
f32 field_0x18
Definition d_a_npc_bou.h:25
s16 field_0x60
Definition d_a_npc_bou.h:45
f32 field_0x5c
Definition d_a_npc_bou.h:44
f32 field_0x94
Definition d_a_npc_bou.h:59
f32 field_0x88
Definition d_a_npc_bou.h:56
f32 field_0x50
Definition d_a_npc_bou.h:41
f32 field_0x64
Definition d_a_npc_bou.h:47
f32 field_0x8c
Definition d_a_npc_bou.h:57
f32 field_0x0c
Definition d_a_npc_bou.h:22
f32 field_0x04
Definition d_a_npc_bou.h:20
f32 field_0x6c
Definition d_a_npc_bou.h:49
f32 field_0x10
Definition d_a_npc_bou.h:23
f32 field_0x58
Definition d_a_npc_bou.h:43
f32 field_0x90
Definition d_a_npc_bou.h:58
s16 field_0x4a
Definition d_a_npc_bou.h:38
f32 field_0x00
Definition d_a_npc_bou.h:19
f32 field_0x24
Definition d_a_npc_bou.h:28
f32 field_0x30
Definition d_a_npc_bou.h:31
f32 field_0x2c
Definition d_a_npc_bou.h:30
f32 field_0x08
Definition d_a_npc_bou.h:21
f32 field_0x1c
Definition d_a_npc_bou.h:26
f32 field_0x40
Definition d_a_npc_bou.h:35
f32 field_0x20
Definition d_a_npc_bou.h:27
f32 field_0x38
Definition d_a_npc_bou.h:33
f32 field_0x70
Definition d_a_npc_bou.h:50
f32 field_0x3c
Definition d_a_npc_bou.h:34
f32 field_0x80
Definition d_a_npc_bou.h:54
s16 field_0x62
Definition d_a_npc_bou.h:46
f32 field_0x78
Definition d_a_npc_bou.h:52
f32 field_0x74
Definition d_a_npc_bou.h:51
f32 field_0x84
Definition d_a_npc_bou.h:55
f32 field_0x34
Definition d_a_npc_bou.h:32
s16 field_0x4e
Definition d_a_npc_bou.h:40
f32 field_0x7c
Definition d_a_npc_bou.h:53
Definition d_a_hozelda.cpp:74
dEvt_info_c eventInfo
Definition f_op_actor.h:208
actor_place current
Definition f_op_actor.h:221
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
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5