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 /* 8051D88C */ void WorkCo(fopAc_ac_c*, u32, int);
12 /* 8051DA20 */ void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
13 /* 8051DF54 */ void Direction_Set(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*, csXyz*);
14 /* 8051E1C8 */ void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, u16);
15 /* 8051EB88 */ void hitCheck(int, u16);
16 /* 80520940 */ ~dGrass_data_c();
17 /* 8052097C */ dGrass_data_c();
18
19 /* 0x00 */ u8 m_state;
20 /* 0x01 */ u8 field_0x01;
21 /* 0x02 */ s8 field_0x02;
22 /* 0x03 */ u8 m_tableNo;
23 /* 0x04 */ u8 m_itemBitNo;
24 /* 0x05 */ u8 field_0x05;
25 /* 0x06 */ u8 field_0x06[0x08 - 0x06];
26 /* 0x08 */ s16 m_addCol;
27 /* 0x0C */ cXyz m_pos;
28 /* 0x18 */ Mtx m_modelMtx;
30};
31
33public:
34 /* 8051EDE0 */ void newData(dGrass_data_c*);
35 /* 8051EDF0 */ void deleteData();
36 /* 80520928 */ dGrass_room_c();
37
39};
40
42public:
43 /* 80520934 */ dGrass_anm_c();
44
45 /* 0x00 */ u8 m_state;
46 /* 0x02 */ s16 m_angY;
47 /* 0x04 */ s16 m_angX;
48 /* 0x08 */ Mtx m_animMtx;
49};
50
51class dGrass_packet_c : public J3DPacket {
52public:
53 /* 8051EE8C */ dGrass_packet_c();
54 /* 8051FABC */ void calc();
55 /* 80520030 */ void update();
56 /* 8052067C */ void setData(dGrass_data_c*, int, cXyz&, int, u8, u8, s16, u8);
57 /* 80520770 */ dGrass_data_c* newData(cXyz&, int, u8, u8, s16, u8);
58 /* 80520864 */ void deleteRoom(int);
59 /* 80520898 */ int newAnm();
60 /* 805208E4 */ void setAnm(int, s16);
61
62 /* 8051F03C */ virtual void draw();
63 /* 8051BFBC */ virtual ~dGrass_packet_c();
64
67
68 dGrass_anm_c* getAnm() { return m_anm; }
70
71 void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
72
73 /* 0x00010 */ u16 field_0x10;
74 /* 0x00014 */ dGrass_data_c m_data[1500];
75 /* 0x1BD64 */ dGrass_anm_c m_anm[112];
76 /* 0x1D5E4 */ dGrass_room_c m_room[64];
77 /* 0x1D6E4 */ Vec* mp_pos;
78 /* 0x1D6E8 */ Vec* mp_normal;
79 /* 0x1D6EC */ GXColor* mp_colors;
80 /* 0x1D6F0 */ Vec* mp_texCoords;
81 /* 0x1D6F4 */ u8* mp_kusa9q_DL;
82 /* 0x1D6F8 */ u32 m_kusa9q_DL_size;
83 /* 0x1D6FC */ u8* mp_kusa9q_14_DL;
84 /* 0x1D700 */ u32 m_kusa9q_DL_14_size;
85 /* 0x1D704 */ u8* mp_Mkusa_9q_DL;
86 /* 0x1D708 */ u32 m_Mkusa_9q_DL_size;
87 /* 0x1D70C */ u8* mp_Mkusa_9q_cDL;
88 /* 0x1D710 */ u32 m_Mkusa_9q_cDL_size;
89 /* 0x1D714 */ u16 field_0x1d714;
90}; // Size: 0x1D718
91
92STATIC_ASSERT(sizeof(dGrass_packet_c) == 0x1D718);
93
95public:
96 /* 80520988 */ void WorkCo(fopAc_ac_c*, u32, int);
97 /* 80520AD8 */ void deleteAnm();
98 /* 80520B34 */ void WorkAt_NoCutAnim(fopAc_ac_c*, u32, int, dCcMassS_HitInf*, cCcD_Obj*);
99 /* 80520CFC */ void WorkAt(fopAc_ac_c*, u32, int, dCcMassS_HitInf*);
100 /* 80521A3C */ void hitCheck(fopAc_ac_c*, int);
101 /* 80522FCC */ ~dFlower_data_c();
102 /* 80523008 */ dFlower_data_c();
103
104 /* 0x00 */ u8 m_state;
105 /* 0x01 */ s8 field_0x01;
106 /* 0x02 */ s8 m_tableNo;
107 /* 0x03 */ u8 field_0x03;
108 /* 0x04 */ s16 field_0x04;
109 /* 0x08 */ cXyz m_pos;
110 /* 0x14 */ Mtx m_modelMtx;
112};
113
115public:
116 /* 80521BF8 */ void newData(dFlower_data_c*);
117 /* 80521C08 */ void deleteData();
118 /* 80522FB4 */ dFlower_room_c();
119
121};
122
124public:
125 /* 80522FC0 */ dFlower_anm_c();
126
127 /* 0x00 */ u8 m_state;
128 /* 0x02 */ s16 m_angY;
129 /* 0x04 */ s16 m_angX;
130 /* 0x08 */ Mtx m_animMtx;
131};
132
134public:
135 /* 80521C64 */ dFlower_packet_c();
136 /* 80522774 */ void calc();
137 /* 80522A64 */ void update();
138 /* 80522CBC */ void setData(dFlower_data_c*, int, s8, cXyz&, int, s8, s16);
139 /* 80522E28 */ dFlower_data_c* newData(s8, cXyz&, int, s8, s16);
140 /* 80522F0C */ void deleteRoom(int);
141 /* 80522F40 */ int newAnm();
142 /* 80522F8C */ void setAnm(int, s16);
143
144 /* 80521DAC */ virtual void draw();
145 /* 8051C194 */ virtual ~dFlower_packet_c();
146
149
152
153 void deleteAnm(int i_idx) { m_anm[i_idx].m_state = 0; }
154
155 /* 0x00010 */ u16 field_0x10;
156 /* 0x00014 */ dFlower_data_c m_data[1000];
157 /* 0x11954 */ dFlower_anm_c m_anm[72];
158 /* 0x12914 */ dFlower_room_c m_room[64];
159 /* 0x12A14 */ u8 m_playerCutFlg;
160 /* 0x12A16 */ s16 m_playerSwordAngY;
162 /* 0x12A1C */ cXyz m_playerSwordTop;
163 /* 0x12A28 */ Vec* mp_pos;
164 /* 0x12A2C */ GXColor* mp_colors;
165 /* 0x12A30 */ Vec* mp_texCoords;
166 /* 0x12A34 */ u8* mp_mat2DL;
167 /* 0x12A38 */ u32 m_mat2DL_size;
168 /* 0x12A3C */ u8* mp_mat2Light4DL;
170 /* 0x12A44 */ u8* mp_Jhana01DL;
171 /* 0x12A48 */ u32 m_Jhana01DL_size;
172 /* 0x12A4C */ u8* mp_Jhana01_cDL;
173 /* 0x12A50 */ u32 m_Jhana01_cDL_size;
174}; // Size: 0x12A54
175
184class daGrass_c : public fopAc_ac_c {
185public:
186 /* 8051BEFC */ int createGrass();
187 /* 8051BF68 */ void deleteGrass();
188 /* 8051C040 */ void executeGrass();
189 /* 8051C074 */ void drawGrass();
190 /* 8051C0A8 */ void newGrassData(cXyz&, int, u8, u8, s16, u8);
191 /* 8051C0D4 */ int createFlower();
192 /* 8051C140 */ void deleteFlower();
193 /* 8051C218 */ void executeFlower();
194 /* 8051C24C */ void drawFlower();
195 /* 8051C280 */ void newFlowerData(s8, cXyz&, int, s8, s16);
196 /* 8051C304 */ int create();
197
198 inline int Delete();
199 inline int execute();
200 inline int draw();
201
202 static dGrass_packet_c* getGrass() { return m_grass; }
203 static dFlower_packet_c* getFlower() { return m_flower; }
204
205 /* 800319C8 */ static void deleteRoomGrass(int);
206 /* 80031A20 */ static void deleteRoomFlower(int);
207
211};
212
213namespace daGrass_prm {
214 inline u8 getKind(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 4) & 3; }
215 inline u8 getType(daGrass_c* i_this) { return fopAcM_GetParam(i_this) & 0xF; }
216 inline u8 getItemNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 0x10) & 0xFF; }
217 inline u8 getItemBitNo(daGrass_c* i_this) { return (fopAcM_GetParam(i_this) >> 8) & 0xFF; }
218};
219
221 /* 0x0 */ u8 num;
222 /* 0x4 */ csXyz* set_type;
223};
224
225
226#endif /* D_A_GRASS_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition J3DPacket.h:100
Definition d_cc_mass_s.h:30
Definition d_a_grass.h:123
Mtx m_animMtx
Definition d_a_grass.h:130
s16 m_angX
Definition d_a_grass.h:129
s16 m_angY
Definition d_a_grass.h:128
u8 m_state
Definition d_a_grass.h:127
Definition d_a_grass.h:94
u8 m_state
Definition d_a_grass.h:104
void WorkAt_NoCutAnim(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, cCcD_Obj *)
s8 field_0x01
Definition d_a_grass.h:105
dFlower_data_c * mp_next
Definition d_a_grass.h:111
s16 field_0x04
Definition d_a_grass.h:108
cXyz m_pos
Definition d_a_grass.h:109
u8 field_0x03
Definition d_a_grass.h:107
void WorkAt(fopAc_ac_c *, u32, int, dCcMassS_HitInf *)
s8 m_tableNo
Definition d_a_grass.h:106
void WorkCo(fopAc_ac_c *, u32, int)
void hitCheck(fopAc_ac_c *, int)
Mtx m_modelMtx
Definition d_a_grass.h:110
Definition d_a_grass.h:133
void deleteRoom(int)
s16 m_playerSwordMoveAngY
Definition d_a_grass.h:161
u16 field_0x10
Definition d_a_grass.h:155
Vec * mp_pos
Definition d_a_grass.h:163
u8 * mp_Jhana01_cDL
Definition d_a_grass.h:172
dFlower_data_c * newData(s8, cXyz &, int, s8, s16)
dFlower_anm_c m_anm[72]
Definition d_a_grass.h:157
u32 m_mat2Light4DL_size
Definition d_a_grass.h:169
void setData(dFlower_data_c *, int, s8, cXyz &, int, s8, s16)
void deleteAnm(int i_idx)
Definition d_a_grass.h:153
u8 * mp_Jhana01DL
Definition d_a_grass.h:170
dFlower_room_c m_room[64]
Definition d_a_grass.h:158
dFlower_data_c m_data[1000]
Definition d_a_grass.h:156
u32 m_Jhana01DL_size
Definition d_a_grass.h:171
u32 m_Jhana01_cDL_size
Definition d_a_grass.h:173
Vec * mp_texCoords
Definition d_a_grass.h:165
u8 * mp_mat2Light4DL
Definition d_a_grass.h:168
virtual ~dFlower_packet_c()
Definition d_a_grass.cpp:2183
dFlower_data_c * getData()
Definition d_a_grass.h:151
u32 m_mat2DL_size
Definition d_a_grass.h:167
static deleteFunc m_deleteRoom
Definition d_a_grass.h:148
u8 * mp_mat2DL
Definition d_a_grass.h:166
u8 m_playerCutFlg
Definition d_a_grass.h:159
void(dFlower_packet_c::* deleteFunc)(int)
Definition d_a_grass.h:147
void setAnm(int, s16)
GXColor * mp_colors
Definition d_a_grass.h:164
virtual void draw()
cXyz m_playerSwordTop
Definition d_a_grass.h:162
dFlower_anm_c * getAnm(int i_idx)
Definition d_a_grass.h:150
s16 m_playerSwordAngY
Definition d_a_grass.h:160
Definition d_a_grass.h:114
dFlower_data_c * mp_data
Definition d_a_grass.h:120
void newData(dFlower_data_c *)
Definition d_a_grass.h:41
Mtx m_animMtx
Definition d_a_grass.h:48
u8 m_state
Definition d_a_grass.h:45
s16 m_angX
Definition d_a_grass.h:47
s16 m_angY
Definition d_a_grass.h:46
Definition d_a_grass.h:9
u8 m_tableNo
Definition d_a_grass.h:22
void hitCheck(int, u16)
void WorkCo(fopAc_ac_c *, u32, int)
u8 field_0x01
Definition d_a_grass.h:20
dGrass_data_c * mp_next
Definition d_a_grass.h:29
void WorkAt_NoCutAnim(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, cCcD_Obj *)
void WorkAt(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, u16)
u8 field_0x05
Definition d_a_grass.h:24
u8 m_state
Definition d_a_grass.h:19
cXyz m_pos
Definition d_a_grass.h:27
s8 field_0x02
Definition d_a_grass.h:21
Mtx m_modelMtx
Definition d_a_grass.h:28
u8 field_0x06[0x08 - 0x06]
Definition d_a_grass.h:25
void Direction_Set(fopAc_ac_c *, u32, int, dCcMassS_HitInf *, cCcD_Obj *, csXyz *)
s16 m_addCol
Definition d_a_grass.h:26
u8 m_itemBitNo
Definition d_a_grass.h:23
Definition d_a_grass.h:51
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:69
dGrass_anm_c m_anm[112]
Definition d_a_grass.h:75
void deleteRoom(int)
dGrass_anm_c * getAnm()
Definition d_a_grass.h:68
static deleteFunc m_deleteRoom
Definition d_a_grass.h:66
void deleteAnm(int i_idx)
Definition d_a_grass.h:71
dGrass_room_c m_room[64]
Definition d_a_grass.h:76
GXColor * mp_colors
Definition d_a_grass.h:79
u8 * mp_Mkusa_9q_DL
Definition d_a_grass.h:85
u32 m_kusa9q_DL_size
Definition d_a_grass.h:82
dGrass_data_c * newData(cXyz &, int, u8, u8, s16, u8)
u16 field_0x1d714
Definition d_a_grass.h:89
u32 m_kusa9q_DL_14_size
Definition d_a_grass.h:84
u8 * mp_Mkusa_9q_cDL
Definition d_a_grass.h:87
u32 m_Mkusa_9q_DL_size
Definition d_a_grass.h:86
Vec * mp_texCoords
Definition d_a_grass.h:80
u8 * mp_kusa9q_14_DL
Definition d_a_grass.h:83
virtual ~dGrass_packet_c()
Definition d_a_grass.cpp:2138
Vec * mp_pos
Definition d_a_grass.h:77
u16 field_0x10
Definition d_a_grass.h:73
Vec * mp_normal
Definition d_a_grass.h:78
virtual void draw()
u8 * mp_kusa9q_DL
Definition d_a_grass.h:81
void(dGrass_packet_c::* deleteFunc)(int)
Definition d_a_grass.h:65
dGrass_data_c m_data[1500]
Definition d_a_grass.h:74
u32 m_Mkusa_9q_cDL_size
Definition d_a_grass.h:88
Definition d_a_grass.h:32
void deleteData()
void newData(dGrass_data_c *)
dGrass_data_c * mp_data
Definition d_a_grass.h:38
Grass.
Definition d_a_grass.h:184
static daGrass_c * m_myObj
Definition d_a_grass.h:208
static void deleteRoomFlower(int)
Definition d_com_static.cpp:411
static dFlower_packet_c * m_flower
Definition d_a_grass.h:210
void executeGrass()
Definition d_a_grass.cpp:2141
void deleteFlower()
Definition d_a_grass.cpp:2175
int createFlower()
Definition d_a_grass.cpp:2161
static dFlower_packet_c * getFlower()
Definition d_a_grass.h:203
int Delete()
Definition d_a_grass.cpp:2423
void drawFlower()
Definition d_a_grass.cpp:2193
static void deleteRoomGrass(int)
Definition d_com_static.cpp:396
static dGrass_packet_c * m_grass
Definition d_a_grass.h:209
void newFlowerData(s8, cXyz &, int, s8, s16)
Definition d_a_grass.cpp:2200
int execute()
Definition d_a_grass.cpp:2438
static dGrass_packet_c * getGrass()
Definition d_a_grass.h:202
void drawGrass()
Definition d_a_grass.cpp:2148
void executeFlower()
Definition d_a_grass.cpp:2186
void deleteGrass()
Definition d_a_grass.cpp:857
int createGrass()
Definition d_a_grass.cpp:843
int draw()
Definition d_a_grass.cpp:2456
void newGrassData(cXyz &, int, u8, u8, s16, u8)
Definition d_a_grass.cpp:2155
int create()
Definition d_a_grass.cpp:2253
STATIC_ASSERT(sizeof(dGrass_packet_c)==0x1D718)
u32 fopAcM_GetParam(const void *pActor)
Definition f_op_actor_mng.h:224
f32 Mtx[3][4]
Definition mtx.h:15
Definition d_a_grass.h:213
u8 getItemBitNo(daGrass_c *i_this)
Definition d_a_grass.h:217
u8 getKind(daGrass_c *i_this)
Definition d_a_grass.h:214
u8 getItemNo(daGrass_c *i_this)
Definition d_a_grass.h:216
u8 getType(daGrass_c *i_this)
Definition d_a_grass.h:215
Definition d_a_hozelda.cpp:18
Definition d_a_ep.cpp:68
Definition d_a_npc_fguard.cpp:141
Definition d_a_hozelda.cpp:20
Definition d_a_ep.cpp:66
Definition d_a_ep.cpp:19
Definition d_a_grass.h:220
u8 num
Definition d_a_grass.h:221
csXyz * set_type
Definition d_a_grass.h:222
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:10
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8