Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_peru.h
Go to the documentation of this file.
1#ifndef D_A_PERU_H
2#define D_A_PERU_H
3
5#include <dolphin/types.h>
6#include "d/actor/d_a_npc.h"
8
9//TODO: this might be the same struct that's used in d_a_obj_sekizoa's HIO
11 /* 0x00 */ f32 field_0x00;
12 /* 0x04 */ f32 field_0x04;
13 /* 0x08 */ f32 field_0x08;
14 /* 0x0C */ f32 field_0x0C;
15 /* 0x10 */ f32 field_0x10;
16 /* 0x14 */ f32 field_0x14;
17 /* 0x18 */ f32 field_0x18;
18 /* 0x1C */ f32 field_0x1C;
19 /* 0x20 */ f32 field_0x20;
20 /* 0x24 */ f32 field_0x24;
21 /* 0x28 */ f32 field_0x28;
22 /* 0x2C */ f32 field_0x2C;
23 /* 0x30 */ f32 field_0x30;
24 /* 0x34 */ f32 field_0x34;
25 /* 0x38 */ f32 field_0x38;
26 /* 0x3C */ f32 field_0x3C;
27 /* 0x40 */ f32 field_0x40;
28 /* 0x44 */ f32 field_0x44;
29 /* 0x48 */ s16 field_0x48;
30 /* 0x4A */ s16 field_0x4A;
31 /* 0x4C */ s16 field_0x4C;
32 /* 0x4E */ s16 field_0x4E;
33 /* 0x50 */ f32 field_0x50;
34 /* 0x54 */ f32 field_0x54;
35 /* 0x58 */ f32 field_0x58;
36 /* 0x5C */ f32 field_0x5C;
37 /* 0x60 */ s16 field_0x60;
38 /* 0x62 */ s16 field_0x62;
39 /* 0x64 */ f32 field_0x64;
40 /* 0x68 */ f32 field_0x68;
41 /* 0x6C */ f32 field_0x6C;
42 /* 0x70 */ f32 field_0x70;
43 /* 0x74 */ f32 field_0x74;
44 /* 0x78 */ f32 field_0x78;
45 /* 0x7C */ f32 field_0x7C;
46 /* 0x80 */ f32 field_0x80;
47 /* 0x84 */ f32 field_0x84;
48 /* 0x88 */ f32 field_0x88;
49};
50
53 /* 0x8C */ f32 field_0x8c;
54 /* 0x90 */ f32 field_0x90;
55 /* 0x94 */ f32 field_0x94;
56};
57
59public:
60 virtual ~daPeru_Param_c() {}
61
62 static daPeru_HIOParam const m;
63};
64
65#if DEBUG
67public:
69
71
73
75};
76
77#define PERU_HIO_CLASS daPeru_HIO_c
78#else
79#define PERU_HIO_CLASS daPeru_Param_c
80#endif
81
90class daPeru_c : public daNpcT_c {
91public:
92 typedef int (daPeru_c::*cutAppearFunc)(int);
93 typedef int (daPeru_c::*actionFunc)(int);
94
95 virtual ~daPeru_c();
96 int create();
97 int CreateHeap();
98 int typeInitialize();
99 int Delete();
100 int Execute();
101 int Draw();
102 static int createHeapCallBack(fopAc_ac_c*);
103 static int ctrlJointCallBack(J3DJoint*, int);
104 int isDelete();
105 void reset();
106 void setParam();
107 void setAfterTalkMotion();
108 void srchActors();
109 int evtTalk();
110 int evtCutProc();
111 void action();
112 void setAttnPos();
113 void setCollision();
115 int setAction(actionFunc, int);
116 int wait(int);
119 int talk(int);
120 int jump_st(int);
121 int jump_ed(int);
122 int sniff(int);
123 int demo_appear(int);
124 int demo_walk_to_link(int);
125 int demo_walk_circle(int);
126 int demo_walk_to_window(int);
127 int demo_walk_to_pathway(int);
128 int cutAppear(int);
129 int _cutAppear_Init(int const&);
130 int _cutAppear_Main(int const&);
131 void _catdoor_open();
133 int cutAppear_skip(int);
134 int _cutAppear_skip_Init(int const&);
135 int _cutAppear_skip_Main(int const&);
137 daNpcT_motionAnmData_c const* param_2,
138 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_3, int param_4,
139 daNpcT_MotionSeqMngr_c::sequenceStepData_c const* param_5, int param_6,
140 daNpcT_evtData_c const* param_7, char** param_8)
141 : daNpcT_c(param_1, param_2, param_3, param_4, param_5, param_6, param_7, param_8) {
142 OS_REPORT("|%06d:%x|daPeru_c -> コンストラクト\n", g_Counter.mCounter0, this);
143 }
144 u16 getEyeballMaterialNo() { return 1; }
145 s32 getHeadJointNo() { return 4; }
146 s32 getNeckJointNo() { return 3; }
147 s32 getBackboneJointNo() { return 1; }
148 int checkChangeJoint(int param_1) { return param_1 == 4; }
149 int checkRemoveJoint(int param_1) { return param_1 == 5; }
150 void beforeMove() {
151 if (checkHide() || mNoDraw) {
153 }
154 }
155
157 u8 type = fopAcM_GetParam(this);
158 if (type == 0xff) {
159 type = 0;
160 }
161 return type;
162 }
163
165 u16 flowNode = home.angle.x;
166 if (flowNode == 0xffff) {
167 return -1;
168 }
169 return flowNode;
170 }
171
172 bool chkAction(actionFunc func) { return mActionFunc == func; }
173 void _AppearDemoStart() { mEvtNo = 1; }
174
176 field_0xe6c--;
177 return field_0xe6c <= 0;
178 }
179
181 field_0xe6a--;
182 return field_0xe6a <= 0;
183 }
184
185 void setTimer(int timer) { field_0xe6c = timer; }
186 void setCnt(int cnt) { field_0xe6a = cnt; }
187 int getCnt() { return field_0xe6a; }
188
189 static const char* mCutNameList[3];
190 static cutAppearFunc mCutList[3];
191
192private:
194 /* 0x0E58 */ int field_0xe58;
196 /* 0x0E68 */ s16 field_0xe68;
197 /* 0x0E6A */ s16 field_0xe6a;
198 /* 0x0E6C */ s16 field_0xe6c;
199 /* 0x0E6E */ s16 field_0xe6e;
200 /* 0x0E70 */ u8 field_0xe70[0xe7c - 0xe70];
201 /* 0x0E7C */ s8 field_0xe7c;
202 /* 0x0E80 */ int field_0xe80;
203 /* 0x0E84 */ PERU_HIO_CLASS* mpHIO;
204 /* 0x0E88 */ dCcD_Cyl mCyls[2];
205 /* 0x1100 */ daNpcT_Path_c mPath;
206 /* 0x1128 */ u8 mType;
207 /* 0x1129 */ u8 field_0x1129;
208};
209
210STATIC_ASSERT(sizeof(daPeru_c) == 0x112c);
211
212#endif /* D_A_PERU_H */
counter_class g_Counter
Definition c_counter.cpp:8
Definition J3DJoint.h:66
Definition JORMContext.h:128
Definition d_cc_d.h:472
Definition d_a_npc.h:30
Definition d_a_npc.h:145
Definition d_a_npc.h:516
bool checkHide()
Definition d_a_npc.h:749
u16 mEvtNo
Definition d_a_npc.h:613
bool mNoDraw
Definition d_a_npc.h:609
Definition d_a_peru.h:66
daPeru_HIOParam m
Definition d_a_peru.h:74
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_peru.cpp:156
void genMessage(JORMContext *)
Definition d_a_peru.cpp:160
daPeru_HIO_c()
Definition d_a_peru.cpp:152
Definition d_a_peru.h:58
static daPeru_HIOParam const m
Definition d_a_peru.h:105
virtual ~daPeru_Param_c()
Definition d_a_peru.h:60
Louise.
Definition d_a_peru.h:90
s16 field_0xe68
Definition d_a_peru.h:196
s32 getNeckJointNo()
Definition d_a_peru.h:146
int Draw()
Definition d_a_peru.cpp:304
void beforeMove()
Definition d_a_peru.h:150
int _cutAppear_Init(int const &)
Definition d_a_peru.cpp:936
int isDelete()
Definition d_a_peru.cpp:329
int demo_appear(int)
Definition d_a_peru.cpp:749
int create()
Definition d_a_peru.cpp:180
int checkChangeJoint(int param_1)
Definition d_a_peru.h:148
void setTimer(int timer)
Definition d_a_peru.h:185
actionFunc mActionFunc
Definition d_a_peru.h:195
void setAttnPos()
Definition d_a_peru.cpp:444
int _cutAppear_skip_Init(int const &)
Definition d_a_peru.cpp:1189
int(daPeru_c::*) cutAppearFunc(int)
Definition d_a_peru.h:92
void setCnt(int cnt)
Definition d_a_peru.h:186
void _AppearDemoStart()
Definition d_a_peru.h:173
bool chkAction(actionFunc func)
Definition d_a_peru.h:172
void _catdoor_open_demoskip()
Definition d_a_peru.cpp:1165
s16 field_0xe6a
Definition d_a_peru.h:197
int getFlowNodeNo()
Definition d_a_peru.h:164
int Delete()
Definition d_a_peru.cpp:293
static cutAppearFunc mCutList[3]
Definition d_a_peru.h:99
u8 field_0xe70[0xe7c - 0xe70]
Definition d_a_peru.h:200
void _catdoor_open()
Definition d_a_peru.cpp:1155
int talk(int)
Definition d_a_peru.cpp:587
int typeInitialize()
Definition d_a_peru.cpp:273
u8 mType
Definition d_a_peru.h:206
int setAction(actionFunc, int)
Definition d_a_peru.cpp:507
int evtCutProc()
Definition d_a_peru.cpp:424
static int ctrlJointCallBack(J3DJoint *, int)
Definition d_a_peru.cpp:318
int evtTalk()
Definition d_a_peru.cpp:415
BOOL drawDbgInfo()
Definition d_a_peru.cpp:503
int sniff(int)
Definition d_a_peru.cpp:723
u8 field_0x1129
Definition d_a_peru.h:207
s8 field_0xe7c
Definition d_a_peru.h:201
int jump_ed(int)
Definition d_a_peru.cpp:684
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_peru.cpp:314
int demo_walk_to_link(int)
Definition d_a_peru.cpp:779
static const char * mCutNameList[3]
Definition d_a_peru.h:93
int field_0xe80
Definition d_a_peru.h:202
int wait(int)
Definition d_a_peru.cpp:520
void srchActors()
Definition d_a_peru.cpp:398
void setCollision()
Definition d_a_peru.cpp:467
BOOL decTimer()
Definition d_a_peru.h:175
int Execute()
Definition d_a_peru.cpp:300
void _AppearDemoTag_delete()
Definition d_a_peru.cpp:580
u8 getType()
Definition d_a_peru.h:156
int _cutAppear_skip_Main(int const &)
Definition d_a_peru.cpp:1208
daPeru_c(daNpcT_faceMotionAnmData_c const *param_1, daNpcT_motionAnmData_c const *param_2, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_3, int param_4, daNpcT_MotionSeqMngr_c::sequenceStepData_c const *param_5, int param_6, daNpcT_evtData_c const *param_7, char **param_8)
Definition d_a_peru.h:136
int demo_walk_to_pathway(int)
Definition d_a_peru.cpp:890
int jump_st(int)
Definition d_a_peru.cpp:642
void setParam()
Definition d_a_peru.cpp:369
daNpcT_ActorMngr_c mActors[3]
Definition d_a_peru.h:193
int demo_walk_to_window(int)
Definition d_a_peru.cpp:848
void reset()
Definition d_a_peru.cpp:341
daNpcT_Path_c mPath
Definition d_a_peru.h:205
s32 getHeadJointNo()
Definition d_a_peru.h:145
int field_0xe58
Definition d_a_peru.h:194
int CreateHeap()
Definition d_a_peru.cpp:232
void action()
Definition d_a_peru.cpp:438
virtual ~daPeru_c()
Definition d_a_peru.cpp:165
int getCnt()
Definition d_a_peru.h:187
int demo_walk_circle(int)
Definition d_a_peru.cpp:818
PERU_HIO_CLASS * mpHIO
Definition d_a_peru.h:203
BOOL decCnt()
Definition d_a_peru.h:180
s32 getBackboneJointNo()
Definition d_a_peru.h:147
int _cutAppear_Main(int const &)
Definition d_a_peru.cpp:1041
int checkRemoveJoint(int param_1)
Definition d_a_peru.h:149
s16 field_0xe6e
Definition d_a_peru.h:199
s16 field_0xe6c
Definition d_a_peru.h:198
dCcD_Cyl mCyls[2]
Definition d_a_peru.h:204
int(daPeru_c::*) actionFunc(int)
Definition d_a_peru.h:93
u16 getEyeballMaterialNo()
Definition d_a_peru.h:144
void setAfterTalkMotion()
Definition d_a_peru.cpp:393
int cutAppear_skip(int)
Definition d_a_peru.cpp:1175
int cutAppear(int)
Definition d_a_peru.cpp:922
BOOL is_AppearDemo_start()
Definition d_a_peru.cpp:570
Definition f_op_actor.h:243
actor_attention_types attention_info
Definition f_op_actor.h:280
actor_place home
Definition f_op_actor.h:262
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daPeru_c)==0x112c)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:204
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
s16 x
Definition c_sxyz.h:7
u32 flags
Definition f_op_actor.h:228
csXyz angle
Definition f_op_actor.h:219
u32 mCounter0
Definition c_counter.h:7
Definition d_a_npc.h:483
Definition d_a_npc.h:488
Definition d_a_npc.h:503
Definition d_a_peru.h:51
f32 field_0x8c
Definition d_a_peru.h:53
daPeru_HIO_inner inner
Definition d_a_peru.h:52
f32 field_0x90
Definition d_a_peru.h:54
f32 field_0x94
Definition d_a_peru.h:55
Definition d_a_peru.h:10
f32 field_0x3C
Definition d_a_peru.h:26
f32 field_0x24
Definition d_a_peru.h:20
f32 field_0x84
Definition d_a_peru.h:47
s16 field_0x48
Definition d_a_peru.h:29
f32 field_0x34
Definition d_a_peru.h:24
s16 field_0x62
Definition d_a_peru.h:38
f32 field_0x88
Definition d_a_peru.h:48
f32 field_0x18
Definition d_a_peru.h:17
f32 field_0x0C
Definition d_a_peru.h:14
f32 field_0x54
Definition d_a_peru.h:34
f32 field_0x58
Definition d_a_peru.h:35
f32 field_0x14
Definition d_a_peru.h:16
f32 field_0x38
Definition d_a_peru.h:25
s16 field_0x4C
Definition d_a_peru.h:31
f32 field_0x40
Definition d_a_peru.h:27
f32 field_0x70
Definition d_a_peru.h:42
f32 field_0x1C
Definition d_a_peru.h:18
f32 field_0x30
Definition d_a_peru.h:23
f32 field_0x50
Definition d_a_peru.h:33
f32 field_0x28
Definition d_a_peru.h:21
f32 field_0x64
Definition d_a_peru.h:39
f32 field_0x78
Definition d_a_peru.h:44
f32 field_0x5C
Definition d_a_peru.h:36
f32 field_0x00
Definition d_a_peru.h:11
f32 field_0x80
Definition d_a_peru.h:46
f32 field_0x68
Definition d_a_peru.h:40
f32 field_0x44
Definition d_a_peru.h:28
f32 field_0x2C
Definition d_a_peru.h:22
f32 field_0x74
Definition d_a_peru.h:43
f32 field_0x08
Definition d_a_peru.h:13
s16 field_0x4E
Definition d_a_peru.h:32
f32 field_0x20
Definition d_a_peru.h:19
f32 field_0x10
Definition d_a_peru.h:15
s16 field_0x4A
Definition d_a_peru.h:30
f32 field_0x04
Definition d_a_peru.h:12
f32 field_0x7C
Definition d_a_peru.h:45
f32 field_0x6C
Definition d_a_peru.h:41
s16 field_0x60
Definition d_a_peru.h:37