Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_obj_zraMark.h
Go to the documentation of this file.
1#ifndef D_A_OBJ_ZRAMARK_H
2#define D_A_OBJ_ZRAMARK_H
3
5#include "d/actor/d_a_npc.h"
6#include "d/d_cc_d.h"
8
9class daNpc_Hoz_c;
10
12public:
13 inline _ZraMark_Hahen_c();
14
15 /* 80D4347C */ int create(cXyz const&, s8, s8, s8, s8);
16 /* 80D434F8 */ BOOL loadModel();
17 /* 80D4357C */ void init(cXyz const&, s8, s8, s8);
18 /* 80D43808 */ void calcSpeed();
19 /* 80D43864 */ void setMtx();
20 /* 80D438C8 */ void draw();
21
22 inline void setColor(const s8& i_color) { mColor = i_color; }
23 s8 getColor() { return mColor; }
24 void setPos(const cXyz& i_pos) { mPos = i_pos; }
25 void setSpeed(const cXyz& i_speed) { mSpeed = i_speed; }
26
27 void calcAngle() {
29 }
30
31 void posMove() {
32 mPos += mSpeed;
33 }
34
35 void fall() {
36 calcAngle();
37 calcSpeed();
38 posMove();
39 }
40
41 /* 0x000 */ J3DModel* mpModel;
42 /* 0x004 */ dKy_tevstr_c mTevstr;
43 /* 0x38C */ cXyz mPos;
44 /* 0x398 */ cXyz mSpeed;
45 /* 0x3A4 */ csXyz mAngle;
46 /* 0x3AA */ csXyz field_0x3aa;
47 /* 0x3B0 */ cXyz field_0x3b0;
48 /* 0x3BC */ s16 field_0x3bc;
49 /* 0x3C0 */ f32 field_0x3c0;
50 /* 0x3C4 */ u8 field_0x3C4[0x3C8 - 0x3C4];
51 /* 0x3C8 */ s8 mColor;
53};
54
56public:
58
59 /* 80D43968 */ int create(cXyz const&, s8, s8, s8, s8);
60 /* 80D439F8 */ void calc();
61 /* 80D43A74 */ void draw();
62
63 s16 getTimer() { return mTimer; }
65
66 void decTimer() {
67 if (mTimer > 0) {
68 mTimer--;
69 }
70 }
71
72 /* 0x0 */ s16 mTimer;
73 /* 0x2 */ u8 field_0x2;
74 /* 0x4 */ _ZraMark_Hahen_c mHahen[14];
75};
76
85class daObjZraMark_c : public fopAc_ac_c {
86public:
93
94 /* 80D42678 */ int Create();
95 /* 80D4287C */ int CreateHeap();
96 /* 80D42A7C */ int Execute();
97 /* 80D42B0C */ int Draw();
98 /* 80D42C98 */ int Delete();
99 /* 80D42CE0 */ int getType();
100 /* 80D42D2C */ void setBaseMtx();
101 /* 80D42EE0 */ void col_init();
102 /* 80D42F5C */ void col_set();
103 /* 80D432C8 */ daNpc_Hoz_c* schHoz();
104 /* 80D43314 */ bool entryPointer(fopAc_ac_c*);
105 /* 80D43370 */ void informBlast();
106
107 u8 getMarkNo() { return fopAcM_GetParam(this) & 0xff; }
108 void initBlastFlag() { mBlastFlag = false; }
109 void onBlastFlag() { mBlastFlag = true; }
110 bool is_blasted() { return mBlastFlag == true; }
111 bool is_branch_pat() { return mType == 0 || mType == 2; }
112
114 u8 type = fopAcM_GetParam(this) >> 0x10;
115 if (type == 0xFF) {
116 type = 0;
117 }
118
119 return type;
120 }
121
122 void _Disp_Vase() {
123 _Material_On(0);
124 _Material_On(2);
125 }
126
128 _Material_Off(0);
129 _Material_Off(2);
130 }
131
135
139
141 if (is_blasted()) {
142 return false;
143 }
144
145 if (get_MarkType() != 0) {
146 return i_hitobj->ChkAtType(AT_TYPE_IRON_BALL | AT_TYPE_BOMB);
147 } else {
148 return i_hitobj->ChkAtType(AT_TYPE_BOMB);
149 }
150 }
151
153 /* 0x0570 */ J3DModel* mpModel;
154 /* 0x0574 */ Mtx field_0x574;
155 /* 0x05A4 */ dCcD_Stts mCcStts;
156 /* 0x05E0 */ dCcD_Cyl mCcCyl;
158 /* 0x072C */ u8 field_0x72c;
159 /* 0x072D */ u8 mType;
160 /* 0x072E */ u8 mBlastFlag;
161 /* 0x0730 */ daNpc_Hoz_c* mpHoz;
164};
165
166STATIC_ASSERT(sizeof(daObjZraMark_c) == 0x3e40);
167
169public:
170 /* 0x00 */ f32 mMarkSize;
172 /* 0x08 */ f32 field_0x8;
175};
176
177#endif /* D_A_OBJ_ZRAMARK_H */
@ AT_TYPE_IRON_BALL
Definition c_cc_d.h:51
@ AT_TYPE_BOMB
Definition c_cc_d.h:36
T cLib_calcTimer(T *value)
Definition c_lib.h:74
void show()
Definition J3DShape.h:116
void hide()
Definition J3DShape.h:117
Definition Z2SoundObject.h:34
Definition d_a_obj_zraMark.h:55
s16 getTimer()
Definition d_a_obj_zraMark.h:63
void setTimer(s16 i_timer)
Definition d_a_obj_zraMark.h:64
u8 field_0x2
Definition d_a_obj_zraMark.h:73
s16 mTimer
Definition d_a_obj_zraMark.h:72
int create(cXyz const &, s8, s8, s8, s8)
Definition d_a_obj_zraMark.cpp:531
void decTimer()
Definition d_a_obj_zraMark.h:66
_ZraMark_Hahen_Mng_c()
Definition d_a_obj_zraMark.h:57
_ZraMark_Hahen_c mHahen[14]
Definition d_a_obj_zraMark.h:74
void draw()
Definition d_a_obj_zraMark.cpp:558
void calc()
Definition d_a_obj_zraMark.cpp:546
Definition d_a_obj_zraMark.h:11
s8 mColor
Definition d_a_obj_zraMark.h:51
void posMove()
Definition d_a_obj_zraMark.h:31
_ZraMark_Hahen_c()
Definition d_a_obj_zraMark.cpp:13
Z2SoundObjSimple mSound
Definition d_a_obj_zraMark.h:52
int create(cXyz const &, s8, s8, s8, s8)
Definition d_a_obj_zraMark.cpp:378
f32 field_0x3c0
Definition d_a_obj_zraMark.h:49
void setSpeed(const cXyz &i_speed)
Definition d_a_obj_zraMark.h:25
s8 getColor()
Definition d_a_obj_zraMark.h:23
void calcAngle()
Definition d_a_obj_zraMark.h:27
void setPos(const cXyz &i_pos)
Definition d_a_obj_zraMark.h:24
csXyz mAngle
Definition d_a_obj_zraMark.h:45
void fall()
Definition d_a_obj_zraMark.h:35
s16 field_0x3bc
Definition d_a_obj_zraMark.h:48
cXyz field_0x3b0
Definition d_a_obj_zraMark.h:47
void setMtx()
Definition d_a_obj_zraMark.cpp:512
dKy_tevstr_c mTevstr
Definition d_a_obj_zraMark.h:42
csXyz field_0x3aa
Definition d_a_obj_zraMark.h:46
J3DModel * mpModel
Definition d_a_obj_zraMark.h:41
void calcSpeed()
Definition d_a_obj_zraMark.cpp:502
void draw()
Definition d_a_obj_zraMark.cpp:520
BOOL loadModel()
Definition d_a_obj_zraMark.cpp:391
u8 field_0x3C4[0x3C8 - 0x3C4]
Definition d_a_obj_zraMark.h:50
cXyz mSpeed
Definition d_a_obj_zraMark.h:44
cXyz mPos
Definition d_a_obj_zraMark.h:43
void setColor(const s8 &i_color)
Definition d_a_obj_zraMark.h:22
Definition d_a_npc.h:756
Iza.
Definition d_a_npc_hoz.h:14
Definition d_a_obj_zraMark.h:168
f32 mInteriorMarkSize
Definition d_a_obj_zraMark.h:171
f32 field_0x8
Definition d_a_obj_zraMark.h:172
f32 mMarkCollisionRadius
Definition d_a_obj_zraMark.h:173
f32 mMarkCollisionHeight
Definition d_a_obj_zraMark.h:174
f32 mMarkSize
Definition d_a_obj_zraMark.h:170
Iza's River Ride Destructible Buoy.
Definition d_a_obj_zraMark.h:85
void col_set()
Definition d_a_obj_zraMark.cpp:256
u8 getMarkNo()
Definition d_a_obj_zraMark.h:107
void _Material_Off(u16 i_jointNo)
Definition d_a_obj_zraMark.h:136
BOOL checkHitAt(cCcD_Obj *i_hitobj)
Definition d_a_obj_zraMark.h:140
void initBlastFlag()
Definition d_a_obj_zraMark.h:108
void onBlastFlag()
Definition d_a_obj_zraMark.h:109
J3DModel * mpModel
Definition d_a_obj_zraMark.h:153
u8 mBlastFlag
Definition d_a_obj_zraMark.h:160
dCcD_Cyl mCcCyl
Definition d_a_obj_zraMark.h:156
request_of_phase_process_class mPhase[1]
Definition d_a_obj_zraMark.h:152
_ZraMark_Hahen_Mng_c mHahenMngr
Definition d_a_obj_zraMark.h:163
int get_MarkType()
Definition d_a_obj_zraMark.h:113
Mtx field_0x574
Definition d_a_obj_zraMark.h:154
dCcD_Stts mCcStts
Definition d_a_obj_zraMark.h:155
int Draw()
Definition d_a_obj_zraMark.cpp:155
int CreateHeap()
Definition d_a_obj_zraMark.cpp:88
daNpc_Hoz_c * schHoz()
Definition d_a_obj_zraMark.cpp:317
Z2SoundObjSimple mSound
Definition d_a_obj_zraMark.h:162
daNpcF_ActorMngr_c mActorMngr[2]
Definition d_a_obj_zraMark.h:157
u8 field_0x72c
Definition d_a_obj_zraMark.h:158
void _Material_On(u16 i_jointNo)
Definition d_a_obj_zraMark.h:132
bool is_branch_pat()
Definition d_a_obj_zraMark.h:111
int getType()
Definition d_a_obj_zraMark.cpp:189
void _Vanish_Vase()
Definition d_a_obj_zraMark.h:127
daNpc_Hoz_c * mpHoz
Definition d_a_obj_zraMark.h:161
bool entryPointer(fopAc_ac_c *)
Definition d_a_obj_zraMark.cpp:328
int Delete()
Definition d_a_obj_zraMark.cpp:179
void _Disp_Vase()
Definition d_a_obj_zraMark.h:122
void setBaseMtx()
Definition d_a_obj_zraMark.cpp:204
void informBlast()
Definition d_a_obj_zraMark.cpp:339
void col_init()
Definition d_a_obj_zraMark.cpp:245
int Execute()
Definition d_a_obj_zraMark.cpp:138
TYPE_e
Definition d_a_obj_zraMark.h:87
@ TYPE_GREEN
Definition d_a_obj_zraMark.h:89
@ TYPE_BRANCH_GREEN
Definition d_a_obj_zraMark.h:88
@ TYPE_BRANCH_RED
Definition d_a_obj_zraMark.h:90
@ TYPE_RED
Definition d_a_obj_zraMark.h:91
int Create()
Definition d_a_obj_zraMark.cpp:54
bool is_blasted()
Definition d_a_obj_zraMark.h:110
u8 mType
Definition d_a_obj_zraMark.h:159
STATIC_ASSERT(sizeof(daObjZraMark_c)==0x3e40)
static initFunc init[]
Definition d_menu_collect.cpp:42
u32 fopAcM_GetParam(const void *pActor)
Definition f_op_actor_mng.h:224
f32 Mtx[3][4]
Definition mtx.h:15
J3DShape * getShape() const
Definition J3DMaterial.h:51
J3DMaterial * getMaterialNodePointer(u16 idx) const
Definition J3DModelData.h:37
Definition d_a_ep.cpp:155
J3DModelData * getModelData()
Definition J3DModel.h:77
Definition d_a_npc_fguard.cpp:141
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
Definition d_a_npc_fguard.cpp:86
Definition d_a_npc_fguard.cpp:70
Definition d_a_ep.cpp:49
Definition d_a_ep.cpp:19
Definition d_a_hozelda.cpp:14
int BOOL
Definition types.h:27
signed char s8
Definition types.h:4
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8