Loading [MathJax]/extensions/tex2jax.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_obj_itamato.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_ITAMATO_H
2#define D_A_OBJ_ITAMATO_H
3
5#include "d/actor/d_a_arrow.h"
6#include "d/d_cc_d.h"
7
17public:
18 /* 80C294EC */ ~daObj_ItaMato_c();
19 /* 80C2971C */ void create();
20 /* 80C29CD8 */ void CreateHeap();
21 /* 80C29DAC */ void Delete();
22 /* 80C29DE0 */ void Execute();
23 /* 80C2A44C */ void Draw();
24 /* 80C2A5D0 */ void createHeapCallBack(fopAc_ac_c*);
26 /* 80C2A620 */ void getResName();
27 /* 80C2A630 */ void setSwayParam(fopAc_ac_c*);
28 /* 80C2A7C4 */ void setPrtcls();
29 /* 80C2A890 */ void setEnvTevColor();
30 /* 80C2A8EC */ void setRoomNo();
31 /* 80C2A930 */ void setMtx();
32
33 int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
34 daArrow_c* arrow_p = (daArrow_c*)param_0;
35 cM3dGSph sp38;
36 cXyz sp2C;
37 cXyz sp20;
38
39 JUT_ASSERT(170, 0 != arrow_p);
40
41 if (field_0xa16 != 0 || health == 0) {
42 return 0;
43 }
44
45 sp38.Set(field_0x80c.GetShapeP()->GetC(), field_0x80c.GetShapeP()->GetR() + (arrow_p->getArrowAtR() * 2.0f));
46 if ((param_1 - current.pos).abs() < param_3) {
47 field_0x944.SetStartEnd(param_1, param_2);
48 if (cM3d_Cross_LinSph(&field_0x944, &sp38)) {
49 return 3;
50 }
51 }
52
53 return 0;
54 }
55
56 int getNo() {
57 u8 var_r31 = fopAcM_GetParam(this) & 0xFF;
58
59 int no;
60 if (var_r31 == 0xFF) {
61 no = -1;
62 } else {
63 no = var_r31;
64 }
65
66 return no;
67 }
68
70 if (field_0xa15 != 0) {
71 return 4;
72 }
73
74 return 0;
75 }
76
77 void onFake() { mFake = true; }
78
79private:
80 /* 0x568 */ u8 field_0x568[0x57C - 0x568];
85 /* 0x80C */ dCcD_Sph field_0x80c;
86 /* 0x944 */ cM3dGLin field_0x944;
88 /* 0x9D0 */ csXyz field_0x9d0[3];
89 /* 0x9e2 */ u8 field_0x9e2[0xA15 - 0x9E2];
90 /* 0xA15 */ u8 field_0xa15;
91 /* 0xA15 */ u8 field_0xa16;
92 /* 0xA17 */ u8 field_0xa17[0xA19 - 0xA17];
93 /* 0xA19 */ u8 mFake;
94 /* 0xA1A */ u8 field_0xa1a[0xA20 - 0xA1A];
95};
96
98
100public:
101 /* 80C2AB04 */ ~daObj_ItaMato_Param_c();
102
103 static u8 const m[20];
104};
105
106
107#endif /* D_A_OBJ_ITAMATO_H */
bool cM3d_Cross_LinSph(cM3dGLin const *line, cM3dGSph const *sph, Vec *param_2)
Definition c_m3d.cpp:1114
Definition c_bg_s_gnd_chk.h:8
const cM3dGSph * GetShapeP() const
Definition c_cc_d.h:212
Definition c_m3d_g_lin.h:8
void SetStartEnd(const cXyz &, const cXyz &)
Definition c_m3d_g_lin.cpp:15
Definition c_m3d_g_sph.h:15
const f32 GetR(void) const
Definition c_m3d_g_sph.h:36
void Set(const cXyz &, f32)
Definition c_m3d_g_sph.cpp:15
const cXyz & GetC(void) const
Definition c_m3d_g_sph.h:34
Definition d_bg_s_lin_chk.h:9
Definition d_cc_d.h:435
Arrow.
Definition d_a_arrow.h:17
f32 getArrowAtR()
Definition d_a_arrow.h:67
Definition d_a_obj_itamato.h:99
static u8 const m[20]
Definition d_a_obj_itamato.h:268
~daObj_ItaMato_Param_c()
Definition d_a_obj_itamato.cpp:634
Plank Target.
Definition d_a_obj_itamato.h:16
void setPrtcls()
Definition d_a_obj_itamato.cpp:558
csXyz field_0x9d0[3]
Definition d_a_obj_itamato.h:88
u8 field_0x9e2[0xA15 - 0x9E2]
Definition d_a_obj_itamato.h:89
u8 field_0xa15
Definition d_a_obj_itamato.h:90
~daObj_ItaMato_c()
Definition d_a_obj_itamato.cpp:256
void Execute()
Definition d_a_obj_itamato.cpp:461
u8 field_0xa1a[0xA20 - 0xA1A]
Definition d_a_obj_itamato.h:94
void getResName()
Definition d_a_obj_itamato.cpp:499
cBgS_GndChk field_0x7d0
Definition d_a_obj_itamato.h:84
void CreateHeap()
Definition d_a_obj_itamato.cpp:364
dBgS_LinChk field_0x960
Definition d_a_obj_itamato.h:87
void onFake()
Definition d_a_obj_itamato.h:77
void createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_itamato.cpp:487
void setEnvTevColor()
Definition d_a_obj_itamato.cpp:564
void Draw()
Definition d_a_obj_itamato.cpp:481
u8 field_0x568[0x57C - 0x568]
Definition d_a_obj_itamato.h:80
void tgHitCallBack(fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
Definition d_a_obj_itamato.cpp:493
u8 field_0xa16
Definition d_a_obj_itamato.h:91
cM3dGLin field_0x944
Definition d_a_obj_itamato.h:86
u8 field_0xa17[0xA19 - 0xA17]
Definition d_a_obj_itamato.h:92
dCcD_Stts field_0x754
Definition d_a_obj_itamato.h:82
void setSwayParam(fopAc_ac_c *)
Definition d_a_obj_itamato.cpp:538
void create()
Definition d_a_obj_itamato.cpp:317
int checkCrs(fopAc_ac_c *param_0, cXyz param_1, cXyz param_2, f32 param_3)
Definition d_a_obj_itamato.h:33
dBgS_AcchCir field_0x790
Definition d_a_obj_itamato.h:83
BOOL checkBrk()
Definition d_a_obj_itamato.h:69
void setRoomNo()
Definition d_a_obj_itamato.cpp:569
dCcD_Sph field_0x80c
Definition d_a_obj_itamato.h:85
void Delete()
Definition d_a_obj_itamato.cpp:369
u8 mFake
Definition d_a_obj_itamato.h:93
int getNo()
Definition d_a_obj_itamato.h:56
dBgS_ObjAcch field_0x57c
Definition d_a_obj_itamato.h:81
void setMtx()
Definition d_a_obj_itamato.cpp:574
STATIC_ASSERT(sizeof(daObj_ItaMato_c)==0xa20)
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:182
cXyz pos
Definition f_op_actor.h:171
Definition d_a_hozelda.cpp:20
Definition d_a_hozelda.cpp:161
Definition d_a_npc_fguard.cpp:98
Definition d_a_npc_fguard.cpp:94
Definition d_a_npc_fguard.cpp:81
Definition d_a_npc_fguard.cpp:70
Definition d_a_hozelda.cpp:74
actor_place current
Definition f_op_actor.h:221
s16 health
Definition f_op_actor.h:239
int BOOL
Definition types.h:30
float f32
Definition types.h:22
unsigned char u8
Definition types.h:5