Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_a_grass.h
Go to the documentation of this file.
1#ifndef D_A_GRASS_H
2#define D_A_GRASS_H
3
5
7class cCcD_Obj;
8
10public:
11 void WorkCo(fopAc_ac_c*, u32, int);
15 void hitCheck(int, u16);
18 m_state = 0;
19 }
20
21 /* 0x00 */ u8 m_state;
22 /* 0x01 */ u8 field_0x01;
23 /* 0x02 */ s8 field_0x02;
24 /* 0x03 */ u8 m_tableNo;
25 /* 0x04 */ u8 m_itemBitNo;
26 /* 0x05 */ u8 field_0x05;
27 /* 0x06 */ u8 field_0x06[0x08 - 0x06];
28 /* 0x08 */ s16 m_addCol;
29 /* 0x0C */ cXyz m_pos;
30 /* 0x18 */ Mtx m_modelMtx;
32};
33
35public:
37 void deleteData();
39 mp_data = NULL;
40 }
41
43
45};
46
48public:
50 m_state = 0;
51 }
52
53 /* 0x00 */ u8 m_state;
54 /* 0x02 */ s16 m_angY;
55 /* 0x04 */ s16 m_angX;
56 /* 0x08 */ Mtx m_animMtx;
57};
58
59class dGrass_packet_c : public J3DPacket {
60public:
62 void calc();
63 void update();
64 void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
66 void deleteRoom(int);
67 int newAnm();
68 void setAnm(int, s16);
69
70 virtual void draw();
71 virtual ~dGrass_packet_c();
72
73 typedef void (dGrass_packet_c::*deleteFunc)(int);
75
76 dGrass_anm_c* getAnm() { return m_anm; }
77 dGrass_anm_c* getAnm(int i_no) { return &m_anm[i_no]; }
78
80
81 void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
82
83 /* 0x00010 */ u16 m_dataNum;
84 /* 0x00014 */ dGrass_data_c m_data[1500];
85 /* 0x1BD64 */ dGrass_anm_c m_anm[112];
86 /* 0x1D5E4 */ dGrass_room_c m_room[64];
87 /* 0x1D6E4 */ Vec* mp_pos;
88 /* 0x1D6E8 */ Vec* mp_normal;
89 /* 0x1D6EC */ GXColor* mp_colors;
90 /* 0x1D6F0 */ Vec* mp_texCoords;
91 /* 0x1D6F4 */ u8* mp_kusa9q_DL;
92 /* 0x1D6F8 */ u32 m_kusa9q_DL_size;
93 /* 0x1D6FC */ u8* mp_kusa9q_14_DL;
94 /* 0x1D700 */ u32 m_kusa9q_DL_14_size;
95 /* 0x1D704 */ u8* mp_Mkusa_9q_DL;
96 /* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
97 /* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
98 /* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
99 /* 0x1D714 */ s16 field_0x1d714;
100}; // Size: 0x1D718
101
102STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
103
105public:
106 void WorkCo(fopAc_ac_c*, u32, int);
107 void deleteAnm();
110 void hitCheck(fopAc_ac_c*, int);
113
114 /* 0x00 */ u8 m_state;
115 /* 0x01 */ s8 field_0x01;
116 /* 0x02 */ s8 m_tableNo;
117 /* 0x03 */ u8 field_0x03;
118 /* 0x04 */ s16 field_0x04;
119 /* 0x08 */ cXyz m_pos;
120 /* 0x14 */ Mtx m_modelMtx;
122};
123
125public:
129
131
133};
134
136public:
138
139 /* 0x00 */ u8 m_state;
140 /* 0x02 */ s16 m_angY;
141 /* 0x04 */ s16 m_angX;
142 /* 0x08 */ Mtx m_animMtx;
143};
144
146public:
148 void calc();
149 void update();
150 void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
152 void deleteRoom(int);
153 int newAnm();
154 void setAnm(int, s16);
155
156 virtual void draw();
157 virtual ~dFlower_packet_c();
158
159 typedef void (dFlower_packet_c::*deleteFunc)(int);
161
162 dFlower_anm_c* getAnm(int i_idx) { return &m_anm[i_idx]; }
163 dFlower_anm_c* getAnm() { return &m_anm[0]; }
165
166 void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
167
168 void setPlayerCutFlg(int i_flag) { m_playerCutFlg = i_flag != 0; }
169 void setPlayerSwordAngY(s16 i_angY) { m_playerSwordAngY = i_angY; }
171 void setPlayerSwordTop(cXyz& i_pos) { m_playerSwordTop = i_pos; }
173
174 /* 0x00010 */ u16 m_dataNum;
175 /* 0x00014 */ dFlower_data_c m_data[1000];
176 /* 0x11954 */ dFlower_anm_c m_anm[72];
177 /* 0x12914 */ dFlower_room_c m_room[64];
178 /* 0x12A14 */ u8 m_playerCutFlg;
179 /* 0x12A16 */ s16 m_playerSwordAngY;
181 /* 0x12A1C */ cXyz m_playerSwordTop;
182 /* 0x12A28 */ Vec* mp_pos;
183 /* 0x12A2C */ GXColor* mp_colors;
184 /* 0x12A30 */ Vec* mp_texCoords;
185 /* 0x12A34 */ u8* mp_mat2DL;
186 /* 0x12A38 */ u32 m_mat2DL_size;
187 /* 0x12A3C */ u8* mp_mat2Light4DL;
189 /* 0x12A44 */ u8* mp_Jhana01DL;
190 /* 0x12A48 */ u32 m_Jhana01DL_size;
191 /* 0x12A4C */ u8* mp_Jhana01_cDL;
192 /* 0x12A50 */ u32 m_Jhana01_cDL_size;
193}; // Size: 0x12A54
194
203class daGrass_c : public fopAc_ac_c {
204public:
205 bool createGrass();
206 void deleteGrass();
207 void executeGrass();
208 void drawGrass();
209 void newGrassData(cXyz&, int, u8, u8, s16, u8);
210 bool createFlower();
211 void deleteFlower();
212 void executeFlower();
213 void drawFlower();
214 void newFlowerData(s8, cXyz&, int, s8, s16);
215
216 inline int create();
217
218 inline int Delete();
219 inline int execute();
220 inline int draw();
221
222 static dGrass_packet_c* getGrass() { return m_grass; }
223 static dFlower_packet_c* getFlower() { return m_flower; }
224
225 static void deleteRoomGrass(int);
226 static void deleteRoomFlower(int);
227
231};
232
233namespace daGrass_prm {
234 inline u8 getKind(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 4) & 3; }
235 inline u8 getType(daGrass_c* i_this) { return fopAcM_GetParam(i_this) & 0xF; }
236 inline u8 getItemNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x10) & 0xFF; }
237 inline u8 getItemBitNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
238};
239
241 /* 0x0 */ u8 num;
242 /* 0x4 */ csXyz* set_type;
243};
244
245
246#endif /* D_A_GRASS_H */
Definition J3DPacket.h:139
Definition c_cc_d.h:435
Definition c_sxyz.h:10
Definition d_cc_mass_s.h:30
Definition d_a_grass.h:135
Mtx m_animMtx
Definition d_a_grass.h:142
s16 m_angX
Definition d_a_grass.h:141
s16 m_angY
Definition d_a_grass.h:140
u8 m_state
Definition d_a_grass.h:139
Definition d_a_grass.h:104
u8 m_state
Definition d_a_grass.h:114
void WorkAt_NoCutAnim(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, cCcD_Obj *)
s8 field_0x01
Definition d_a_grass.h:115
dFlower_data_c * mp_next
Definition d_a_grass.h:121
s16 field_0x04
Definition d_a_grass.h:118
cXyz m_pos
Definition d_a_grass.h:119
u8 field_0x03
Definition d_a_grass.h:117
void WorkAt(fopAc_ac_c *, u32, int, dCcMassS_HitInf *)
s8 m_tableNo
Definition d_a_grass.h:116
void WorkCo(fopAc_ac_c *, u32, int)
void hitCheck(fopAc_ac_c *, int)
Mtx m_modelMtx
Definition d_a_grass.h:120
Definition d_a_grass.h:145
void deleteRoom(int)
s16 m_playerSwordMoveAngY
Definition d_a_grass.h:180
Vec * mp_pos
Definition d_a_grass.h:182
u8 * mp_Jhana01_cDL
Definition d_a_grass.h:191
void setPlayerSwordAngY(s16 i_angY)
Definition d_a_grass.h:169
dFlower_data_c * newData(s8, cXyz &, int, s8, s16)
dFlower_anm_c m_anm[72]
Definition d_a_grass.h:176
u32 m_mat2Light4DL_size
Definition d_a_grass.h:188
void setData(dFlower_data_c *, int, s8, cXyz &, int, s8, s16)
void deleteAnm(int i_idx)
Definition d_a_grass.h:166
u8 * mp_Jhana01DL
Definition d_a_grass.h:189
dFlower_room_c m_room[64]
Definition d_a_grass.h:177
void setPlayerSwordTop(cXyz &i_pos)
Definition d_a_grass.h:171
dFlower_data_c m_data[1000]
Definition d_a_grass.h:175
u32 m_Jhana01DL_size
Definition d_a_grass.h:190
u32 m_Jhana01_cDL_size
Definition d_a_grass.h:192
Vec * mp_texCoords
Definition d_a_grass.h:184
void setPlayerCutFlg(int i_flag)
Definition d_a_grass.h:168
u8 * mp_mat2Light4DL
Definition d_a_grass.h:187
virtual ~dFlower_packet_c()
Definition d_a_grass.cpp:123
dFlower_data_c * getData()
Definition d_a_grass.h:164
void setPlayerSwordMoveAngY(s16 i_angY)
Definition d_a_grass.h:170
u32 m_mat2DL_size
Definition d_a_grass.h:186
static deleteFunc m_deleteRoom
Definition d_a_grass.h:160
dFlower_anm_c * getAnm()
Definition d_a_grass.h:163
u8 * mp_mat2DL
Definition d_a_grass.h:185
cXyz & getPlayerSwordTop()
Definition d_a_grass.h:172
u8 m_playerCutFlg
Definition d_a_grass.h:178
void setAnm(int, s16)
void(dFlower_packet_c::*) deleteFunc(int)
Definition d_a_grass.h:159
GXColor * mp_colors
Definition d_a_grass.h:183
virtual void draw()
cXyz m_playerSwordTop
Definition d_a_grass.h:181
dFlower_anm_c * getAnm(int i_idx)
Definition d_a_grass.h:162
u16 m_dataNum
Definition d_a_grass.h:174
s16 m_playerSwordAngY
Definition d_a_grass.h:179
Definition d_a_grass.h:124
dFlower_data_c * getData()
Definition d_a_grass.h:130
dFlower_data_c * mp_data
Definition d_a_grass.h:132
void newData(dFlower_data_c *)
Definition d_a_grass.h:47
Mtx m_animMtx
Definition d_a_grass.h:56
u8 m_state
Definition d_a_grass.h:53
dGrass_anm_c()
Definition d_a_grass.h:49
s16 m_angX
Definition d_a_grass.h:55
s16 m_angY
Definition d_a_grass.h:54
Definition d_a_grass.h:9
u8 m_tableNo
Definition d_a_grass.h:24
void hitCheck(int, u16)
void WorkCo(fopAc_ac_c *, u32, int)
u8 field_0x01
Definition d_a_grass.h:22
dGrass_data_c()
Definition d_a_grass.h:17
dGrass_data_c * mp_next
Definition d_a_grass.h:31
void WorkAt_NoCutAnim(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, cCcD_Obj *)
void WorkAt(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, u16)
~dGrass_data_c()
Definition d_a_grass.h:16
u8 field_0x05
Definition d_a_grass.h:26
u8 m_state
Definition d_a_grass.h:21
cXyz m_pos
Definition d_a_grass.h:29
s8 field_0x02
Definition d_a_grass.h:23
Mtx m_modelMtx
Definition d_a_grass.h:30
u8 field_0x06[0x08 - 0x06]
Definition d_a_grass.h:27
void Direction_Set(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, cCcD_Obj *, csXyz *)
s16 m_addCol
Definition d_a_grass.h:28
u8 m_itemBitNo
Definition d_a_grass.h:25
Definition d_a_grass.h:59
void setAnm(int, s16)
void setData(dGrass_data_c *, int, cXyz &, int, u8, u8, s16, u8)
dGrass_data_c * getData()
Definition d_a_grass.h:79
dGrass_anm_c m_anm[112]
Definition d_a_grass.h:85
void deleteRoom(int)
dGrass_anm_c * getAnm()
Definition d_a_grass.h:76
static deleteFunc m_deleteRoom
Definition d_a_grass.h:74
void deleteAnm(int i_idx)
Definition d_a_grass.h:81
dGrass_room_c m_room[64]
Definition d_a_grass.h:86
GXColor * mp_colors
Definition d_a_grass.h:89
dGrass_anm_c * getAnm(int i_no)
Definition d_a_grass.h:77
u8 * mp_Mkusa_9q_DL
Definition d_a_grass.h:95
u32 m_kusa9q_DL_size
Definition d_a_grass.h:92
dGrass_data_c * newData(cXyz &, int, u8, u8, s16, u8)
u32 m_kusa9q_DL_14_size
Definition d_a_grass.h:94
u8 * mp_Mkusa_9q_cDL
Definition d_a_grass.h:97
u32 m_Mkusa_9q_DL_size
Definition d_a_grass.h:96
Vec * mp_texCoords
Definition d_a_grass.h:90
u16 m_dataNum
Definition d_a_grass.h:83
u8 * mp_kusa9q_14_DL
Definition d_a_grass.h:93
virtual ~dGrass_packet_c()
Definition d_a_grass.cpp:83
s16 field_0x1d714
Definition d_a_grass.h:99
Vec * mp_pos
Definition d_a_grass.h:87
Vec * mp_normal
Definition d_a_grass.h:88
virtual void draw()
void(dGrass_packet_c::*) deleteFunc(int)
Definition d_a_grass.h:73
u8 * mp_kusa9q_DL
Definition d_a_grass.h:91
dGrass_data_c m_data[1500]
Definition d_a_grass.h:84
u32 m_Mkusa_9q_cDL_size
Definition d_a_grass.h:98
Definition d_a_grass.h:34
dGrass_room_c()
Definition d_a_grass.h:38
dGrass_data_c * getData()
Definition d_a_grass.h:42
void deleteData()
void newData(dGrass_data_c *)
dGrass_data_c * mp_data
Definition d_a_grass.h:44
Grass.
Definition d_a_grass.h:203
static daGrass_c * m_myObj
Definition d_a_grass.h:228
static void deleteRoomFlower(int)
Definition d_com_static.cpp:347
static dFlower_packet_c * m_flower
Definition d_a_grass.h:230
void executeGrass()
Definition d_a_grass.cpp:86
void deleteFlower()
Definition d_a_grass.cpp:116
static dFlower_packet_c * getFlower()
Definition d_a_grass.h:223
bool createFlower()
Definition d_a_grass.cpp:103
int Delete()
Definition d_a_grass.cpp:357
void drawFlower()
Definition d_a_grass.cpp:131
static void deleteRoomGrass(int)
Definition d_com_static.cpp:336
static dGrass_packet_c * m_grass
Definition d_a_grass.h:229
void newFlowerData(s8, cXyz &, int, s8, s16)
Definition d_a_grass.cpp:137
int execute()
Definition d_a_grass.cpp:371
static dGrass_packet_c * getGrass()
Definition d_a_grass.h:222
bool createGrass()
Definition d_a_grass.cpp:63
void drawGrass()
Definition d_a_grass.cpp:92
void executeFlower()
Definition d_a_grass.cpp:125
void deleteGrass()
Definition d_a_grass.cpp:76
int draw()
Definition d_a_grass.cpp:385
void newGrassData(cXyz &, int, u8, u8, s16, u8)
Definition d_a_grass.cpp:98
int create()
Definition d_a_grass.cpp:148
Definition f_op_actor.h:230
STATIC_ASSERT(sizeof(dGrass_packet_c)==0x1D718)
f32 Mtx[3][4]
Definition mtx.h:25
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
u32 fopAcM_GetParam(const void *i_actor)
Definition f_op_actor_mng.h:192
Definition d_a_grass.h:233
u8 getItemBitNo(daGrass_c *i_this)
Definition d_a_grass.h:237
u8 getKind(daGrass_c *i_this)
Definition d_a_grass.h:234
u8 getItemNo(daGrass_c *i_this)
Definition d_a_grass.h:236
u8 getType(daGrass_c *i_this)
Definition d_a_grass.h:235
Definition mtx.h:13
Definition GXStruct.h:30
Definition c_xyz.h:7
Definition d_a_grass.h:240
u8 num
Definition d_a_grass.h:241
csXyz * set_type
Definition d_a_grass.h:242