Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
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
4#include "JSystem/JHostIO/JORFile.h"
6#include "d/actor/d_a_arrow.h"
7#include "d/d_cc_d.h"
8
19 /* 0x00 */ f32 attn_offset;
20 /* 0x04 */ f32 gravity;
21 /* 0x08 */ f32 scale;
22 /* 0x0C */ f32 real_shadow_size;
23 /* 0x10 */ f32 shake_pow;
24};
25
27public:
29
30 static daObj_ItaMato_HIOParam const m;
31};
32
33#if DEBUG
34#define OBJ_ITAMATO_HIO_CLASS daObj_ItaMato_HIO_c
35
37public:
39 void genMessage(JORMContext* ctx);
40 void listenPropertyEvent(const JORPropertyEvent*);
41
43};
44#else
45#define OBJ_ITAMATO_HIO_CLASS daObj_ItaMato_Param_c
46#endif
47
49private:
50 /* 0x568 */ OBJ_ITAMATO_HIO_CLASS* mHIO;
52 /* 0x574 */ J3DModel* mpModels[2];
53 /* 0x57C */ dBgS_ObjAcch mBgc;
54 /* 0x754 */ dCcD_Stts mStts;
56 /* 0x7D0 */ cBgS_GndChk mGndChk;
57 /* 0x80C */ dCcD_Sph mSph;
58 /* 0x944 */ cM3dGLin mLin;
59 /* 0x960 */ dBgS_LinChk mLinChk;
60 /* 0x9D0 */ csXyz field_0x9d0[3];
61 /* 0x9E4 */ int mCutType;
62 /* 0x9E8 */ int field_0x9e8;
63 /* 0x9EC */ f32 mGroundH;
64 /* 0x9F0 */ f32 field_0x9f0[3];
65 /* 0x9FC */ s16 field_0x9fc[3];
66 /* 0xA02 */ s16 field_0xa02;
67 /* 0xA04 */ u32 mShadowKey;
68 /* 0xA08 */ u32 mPrtcls[3];
69 /* 0xA14 */ u8 mType;
70 /* 0xA15 */ u8 field_0xa15;
71 /* 0xA15 */ u8 field_0xa16;
72 /* 0xA17 */ u8 field_0xa17;
73 /* 0xA18 */ u8 field_0xa18;
74 /* 0xA19 */ u8 mFake;
75
76public:
78 virtual ~daObj_ItaMato_c();
80 int CreateHeap();
81 int Delete();
82 int Execute();
83 int Draw();
84 static int createHeapCallBack(fopAc_ac_c*);
86 const char* getResName();
88 void setPrtcls();
89 void setEnvTevColor();
90 void setRoomNo();
91 void setMtx();
92
93 u8 getBitSW2() { return (fopAcM_GetParam(this) & 0xFF0000) >> 16; }
94
95 u8 getBitSW() { return (fopAcM_GetParam(this) & 0xFF00) >> 8; }
96
97 int getNo() {
98 u8 var_r31 = fopAcM_GetParam(this) & 0xFF;
99
100 int no;
101 if (var_r31 == 0xFF) {
102 no = -1;
103 } else {
104 no = var_r31;
105 }
106
107 return no;
108 }
109
110 u8 getType() { return 0; }
111
112 void setCutType(u8 i_cutType) { mCutType = i_cutType; }
113
114 int checkCrs(fopAc_ac_c* param_0, cXyz param_1, cXyz param_2, f32 param_3) {
115 daArrow_c* arrow_p = (daArrow_c*)param_0;
116 cM3dGSph sp38;
117 cXyz sp2C;
118 cXyz sp20;
119
120 JUT_ASSERT(170, NULL != arrow_p);
121
122 if (field_0xa16 != 0 || health == 0) {
123 return 0;
124 }
125
126 sp38.Set(mSph.GetShapeP()->GetC(), mSph.GetShapeP()->GetR() + (arrow_p->getArrowAtR() * 2.0f));
127 if ((param_1 - current.pos).abs() < param_3) {
128 mLin.SetStartEnd(param_1, param_2);
129 if (cM3d_Cross_LinSph(&mLin, &sp38)) {
130 return 3;
131 }
132 }
133
134 return 0;
135 }
136
137 BOOL checkBrk() {
138 if (field_0xa15 != 0) {
139 return 4;
140 }
141
142 return 0;
143 }
144
145 void onFake() { mFake = true; }
146};
147
149
150#endif /* D_A_OBJ_ITAMATO_H */
bool cM3d_Cross_LinSph(cM3dGLin const *line, cM3dGSph const *sph, Vec *param_2)
Definition c_m3d.cpp:1031
int cPhs_Step
Definition c_phase.h:8
Definition c_bg_s_gnd_chk.h:8
const cM3dGSph * GetShapeP() const
Definition c_cc_d.h:633
Definition c_m3d_g_lin.h:8
void SetStartEnd(const cXyz &, const cXyz &)
Definition c_m3d_g_lin.cpp:13
Definition c_m3d_g_sph.h:15
const f32 GetR(void) const
Definition c_m3d_g_sph.h:37
void Set(const cXyz &, f32)
Definition c_m3d_g_sph.cpp:21
const cXyz & GetC(void) const
Definition c_m3d_g_sph.h:34
Definition c_sxyz.h:10
Definition d_bg_s_acch.h:15
Definition d_bg_s_lin_chk.h:9
Definition d_bg_s_acch.h:244
Definition d_cc_d.h:286
Definition d_cc_d.h:487
Definition d_cc_d.h:273
Arrow.
Definition d_a_arrow.h:17
f32 getArrowAtR()
Definition d_a_arrow.h:67
Definition d_a_obj_itamato.h:36
daObj_ItaMato_HIOParam m
Definition d_a_obj_itamato.h:42
void listenPropertyEvent(const JORPropertyEvent *)
Definition d_a_obj_itamato.cpp:27
void genMessage(JORMContext *ctx)
Definition d_a_obj_itamato.cpp:58
daObj_ItaMato_HIO_c()
Definition d_a_obj_itamato.cpp:23
Definition d_a_obj_itamato.h:26
virtual ~daObj_ItaMato_Param_c()
Definition d_a_obj_itamato.h:28
static daObj_ItaMato_HIOParam const m
Definition d_a_obj_itamato.h:14
Plank Target.
Definition d_a_obj_itamato.h:48
void setPrtcls()
Definition d_a_obj_itamato.cpp:415
csXyz field_0x9d0[3]
Definition d_a_obj_itamato.h:60
const char * getResName()
Definition d_a_obj_itamato.cpp:366
u8 field_0xa15
Definition d_a_obj_itamato.h:70
dBgS_AcchCir mAcchCir
Definition d_a_obj_itamato.h:55
virtual ~daObj_ItaMato_c()
Definition d_a_obj_itamato.cpp:86
s16 field_0xa02
Definition d_a_obj_itamato.h:66
int Draw()
Definition d_a_obj_itamato.cpp:322
OBJ_ITAMATO_HIO_CLASS * mHIO
Definition d_a_obj_itamato.h:50
int Delete()
Definition d_a_obj_itamato.cpp:183
f32 field_0x9f0[3]
Definition d_a_obj_itamato.h:64
cM3dGLin mLin
Definition d_a_obj_itamato.h:58
cBgS_GndChk mGndChk
Definition d_a_obj_itamato.h:56
int mCutType
Definition d_a_obj_itamato.h:61
void onFake()
Definition d_a_obj_itamato.h:145
f32 mGroundH
Definition d_a_obj_itamato.h:63
u8 getBitSW2()
Definition d_a_obj_itamato.h:93
void setEnvTevColor()
Definition d_a_obj_itamato.cpp:428
request_of_phase_process_class mPhase
Definition d_a_obj_itamato.h:51
int field_0x9e8
Definition d_a_obj_itamato.h:62
int CreateHeap()
Definition d_a_obj_itamato.cpp:158
J3DModel * mpModels[2]
Definition d_a_obj_itamato.h:52
static void tgHitCallBack(fopAc_ac_c *, dCcD_GObjInf *, fopAc_ac_c *, dCcD_GObjInf *)
Definition d_a_obj_itamato.cpp:351
daObj_ItaMato_c()
Definition d_a_obj_itamato.h:77
u8 field_0xa16
Definition d_a_obj_itamato.h:71
u8 mType
Definition d_a_obj_itamato.h:69
dBgS_LinChk mLinChk
Definition d_a_obj_itamato.h:59
int Execute()
Definition d_a_obj_itamato.cpp:189
u8 field_0xa17
Definition d_a_obj_itamato.h:72
dCcD_Sph mSph
Definition d_a_obj_itamato.h:57
void setSwayParam(fopAc_ac_c *)
Definition d_a_obj_itamato.cpp:370
int checkCrs(fopAc_ac_c *param_0, cXyz param_1, cXyz param_2, f32 param_3)
Definition d_a_obj_itamato.h:114
dCcD_Stts mStts
Definition d_a_obj_itamato.h:54
BOOL checkBrk()
Definition d_a_obj_itamato.h:137
void setRoomNo()
Definition d_a_obj_itamato.cpp:433
dBgS_ObjAcch mBgc
Definition d_a_obj_itamato.h:53
s16 field_0x9fc[3]
Definition d_a_obj_itamato.h:65
cPhs_Step create()
Definition d_a_obj_itamato.cpp:98
static int createHeapCallBack(fopAc_ac_c *)
Definition d_a_obj_itamato.cpp:346
u32 mPrtcls[3]
Definition d_a_obj_itamato.h:68
u32 mShadowKey
Definition d_a_obj_itamato.h:67
u8 mFake
Definition d_a_obj_itamato.h:74
u8 field_0xa18
Definition d_a_obj_itamato.h:73
int getNo()
Definition d_a_obj_itamato.h:97
void setMtx()
Definition d_a_obj_itamato.cpp:439
u8 getType()
Definition d_a_obj_itamato.h:110
u8 getBitSW()
Definition d_a_obj_itamato.h:95
void setCutType(u8 i_cutType)
Definition d_a_obj_itamato.h:112
Definition f_op_actor.h:271
actor_place current
Definition f_op_actor.h:292
s16 health
Definition f_op_actor.h:310
Definition m_Do_hostIO.h:26
STATIC_ASSERT(sizeof(daObj_ItaMato_c)==0xa20)
int cXyz int * param_2
Definition d_path.cpp:106
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:172
cXyz pos
Definition f_op_actor.h:246
Definition c_xyz.h:7
Definition d_a_obj_itamato.h:18
f32 attn_offset
Definition d_a_obj_itamato.h:19
f32 shake_pow
Definition d_a_obj_itamato.h:23
f32 gravity
Definition d_a_obj_itamato.h:20
f32 real_shadow_size
Definition d_a_obj_itamato.h:22
f32 scale
Definition d_a_obj_itamato.h:21
Definition c_phase.h:19