Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_map.h
Go to the documentation of this file.
1#ifndef D_MAP_D_MAP_H
2#define D_MAP_D_MAP_H
3
4#include "d/d_map_path_dmap.h"
6
8 /* 0x00 */ u8 field_0x0;
9 /* 0x04 */ f32 field_0x4;
10 /* 0x08 */ u8 field_0x8;
11 /* 0x0C */ f32 field_0xc;
12 /* 0x10 */ u8 field_0x10;
13 /* 0x11 */ u8 field_0x11;
14 /* 0x12 */ u8 field_0x12;
15 /* 0x14 */ f32 field_0x14;
16 /* 0x18 */ f32 field_0x18;
17 /* 0x1C */ u8 field_0x1c;
18 /* 0x1D */ u8 field_0x1d;
19 /* 0x1E */ u8 field_0x1e;
20 /* 0x1F */ u8 field_0x1f;
21 /* 0x20 */ u8 field_0x20;
22 /* 0x21 */ u8 field_0x21;
23 /* 0x22 */ u8 field_0x22;
24 /* 0x23 */ u8 field_0x23;
25 /* 0x24 */ u8 field_0x24[0x2C - 0x24];
26 /* 0x2C */ u8 field_0x2c;
27 /* 0x30 */ f32 field_0x30;
28 /* 0x34 */ u8 field_0x34;
29 /* 0x35 */ u8 field_0x35;
30 /* 0x36 */ s16 field_0x36;
31 /* 0x38 */ u8 field_0x38;
32 /* 0x38 */ s16 field_0x3a;
33 /* 0x3C */ u8 field_0x3c;
34 /* 0x3D */ u8 field_0x3d;
35 /* 0x3E */ s16 field_0x3e;
36 /* 0x40 */ u8 field_0x40;
37 /* 0x41 */ u8 field_0x41[0x44 - 0x41];
38 /* 0x44 */ f32 field_0x44[17];
39 /* 0x88 */ u8 field_0x88;
40 /* 0x89 */ u8 field_0x89;
41 /* 0x8A */ u8 field_0x8a;
42 /* 0x8C */ f32 field_0x8c[17];
43 /* 0xD0 */ u8 field_0xd0[0x114 - 0xD0];
45 /* 0x130 */ u8 field_0x130[0x2f0 - 0x130];
46};
47
50 /* 0x198 */ u8 field_0x198;
51 /* 0x199 */ u8 field_0x199;
52 /* 0x19A */ u8 field_0x19a;
53 /* 0x19B */ u8 field_0x19b;
54 /* 0x19C */ u8 field_0x19c;
55 /* 0x19D */ u8 field_0x19d;
56 /* 0x19E */ u8 field_0x19e;
57 /* 0x19F */ u8 field_0x19f;
58 /* 0x1A0 */ u8 field_0x1a0;
59 /* 0x1A1 */ u8 field_0x1a1;
60 /* 0x1A2 */ u8 field_0x1a2;
61 /* 0x1A3 */ u8 field_0x1a3;
62 /* 0x1A4 */ u8 field_0x1a4;
63 /* 0x1A5 */ u8 field_0x1a5;
64 /* 0x1A6 */ u8 field_0x1a6;
65 /* 0x1A7 */ u8 field_0x1a7;
66 /* 0x1A8 */ u8 field_0x1a8;
67 /* 0x1A9 */ u8 field_0x1a9;
68 /* 0x1AA */ s16 field_0x1aa;
69 /* 0x1AC */ s16 field_0x1ac;
70 /* 0x1AE */ s16 field_0x1ae;
71 /* 0x1B0 */ s16 field_0x1b0;
72 /* 0x1B2 */ s16 field_0x1b2;
73 /* 0x1B4 */ s16 field_0x1b4;
74 /* 0x1B6 */ s16 field_0x1b6;
75 /* 0x1B8 */ f32 cursor_size;
76};
77
79 /* 0x00 */ GXColor field_0x0[51];
80 /* 0xCC */ u8 field_0xcc[0x24];
82};
83
85 static const u8 m_other[0x2f0];
86};
87
92
94public:
95 int getDispType() const;
96 bool isDrawOutSideTrim();
98 bool isOutSideBlackLine();
99 int getLineWidthSub(int);
100 int getStayType() const;
102
103 virtual void draw();
104 virtual ~renderingAmap_c() {}
105 virtual GXColor* getLineColor(int, int);
106 virtual int getLineWidth(int);
107 virtual void drawPath();
108 virtual void rendering(dDrawPath_c::line_class const*);
109 virtual void rendering(dDrawPath_c::poly_class const*);
110 virtual void rendering(dDrawPath_c::room_class const*);
111 virtual void beforeDrawPath();
112 virtual void afterDrawPath();
113 virtual const GXColor* getDecoLineColor(int, int);
114 virtual s32 getDecorationLineWidth(int);
115 virtual int getIconGroupNumber(u8) const;
116 virtual bool hasMap() const;
117 virtual bool isRendAllRoom() const;
118 virtual bool isRendDoor() const;
119 virtual bool isCheckFloor() const;
120 virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
121 virtual bool isRendRestart() const;
122 virtual bool isRendCursor() const;
123 virtual bool isRendIcon() const { return true; }
124 virtual f32 getIconSize(u8) const;
125 virtual f32 getPlayerCursorSize();
126 virtual f32 getRestartCursorSize();
127 virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
128 virtual bool isSpecialOutline() = 0;
129
130#if DEBUG
131 static const int PALETTE_NUMBER = 51;
132#else
133 static const int PALETTE_NUMBER = 50;
134#endif
135
136private:
138 /* 0x38 */ s32 field_0x38;
139 /* 0x3C */ s32 field_0x3c;
140}; // Size: 0x40
141
142class dMap_c : public renderingAmap_c {
143public:
144 void copyPalette();
145 void copyPalette(int, int, f32);
147 void setMapPaletteColorAlphaPer(int, int, f32);
148 void resCopy();
149 dMap_c(int, int, int, int);
150 void changeTextureSize(int, int, int);
151 void _remove();
152 void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*);
153 void getPack(int, f32*, f32*);
154 void calcMapCenterXZ(int, f32*, f32*);
155 void calcMapCmPerTexel(int, f32*);
156 int getDispType() const;
157 void _move(f32, f32, int, f32);
158 void _draw();
159
160 virtual ~dMap_c() {
161#if DEBUG
162 m_mySelfPointer = NULL;
163#endif
164 _remove();
165 }
166 virtual bool isDrawType(int);
167 virtual const GXColor* getColor(int);
168 virtual bool isRendAllRoom() const;
169 virtual int getRoomNoSingle();
170 virtual bool isDrawRoom(int, int) const;
171 virtual bool isDrawRoomIcon(int, int) const;
172 virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
175 virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
176 virtual bool isSpecialOutline();
177
178#if DEBUG
179 virtual bool isSwitch(const dDrawPath_c::group_class*);
180 virtual void beforeDrawPath();
181#endif
182
183 bool isDraw() const { return renderingDAmap_c::isDraw(); }
184
188 f32 getPackZ() const { return mPackZ; }
189 f32 getTexelPerCm() const { return 1.0f / field_0x58; }
190 u16 getTexSizeY() const { return mTexSizeY; }
192 f32 getPackX() const { return mPackX; }
193 int getStayRoomNo() const { return mStayRoomNo; }
194 f32 getCenterZ() const { return mCenterZ; }
195
197
198private:
201 /* 0x48 */ ResTIMG* mResTIMG;
202 /* 0x4C */ u8* mImage_p;
203 /* 0x50 */ f32 mCenterX;
204 /* 0x54 */ f32 mCenterZ;
205 /* 0x58 */ f32 field_0x58;
206 /* 0x5C */ f32 mPackX;
207 /* 0x60 */ f32 mPackZ;
208 /* 0x64 */ f32 field_0x64;
209 /* 0x68 */ f32 mPackPlusZ;
210 /* 0x6C */ f32 mRightEdgePlus;
211 /* 0x70 */ f32 mTopEdgePlus;
212 /* 0x74 */ int field_0x74;
213 /* 0x78 */ u16 mTexSizeX;
214 /* 0x7A */ u16 mTexSizeY;
215 /* 0x7C */ int mStayRoomNo;
216 /* 0x80 */ int field_0x80;
217 /* 0x84 */ int field_0x84;
218 /* 0x88 */ int field_0x88;
219 /* 0x8C */ u8 field_0x8c;
220 /* 0x8D */ u8 field_0x8d;
221 /* 0x8E */ u8 field_0x8e;
222 /* 0x8F */ u8 field_0x8f;
223 /* 0x90 */ u8 field_0x90;
224 /* 0x91 */ u8 field_0x91;
225}; // Size: 0x94
226
228public:
229 virtual void copySrcToHio();
230 virtual void copyHioToDst();
231 virtual void copyBufToHio(const char*);
232};
233
235public:
236 dMap_HIO_c();
237 virtual void listenPropertyEvent(const JORPropertyEvent*);
238 virtual void genMessage(JORMContext*);
239 virtual u32 addString(char* param_1, u32 param_2, u32 param_3) { return mList.addString(param_1, param_2, param_3); }
240 virtual u32 addData(char* param_1, u32 param_2, u32 param_3) {
241 UNUSED(param_2);
242 UNUSED(param_3);
243 memcpy(param_1, dMap_HIO_prm_res_dst_s::m_res, 0x1bc);
244 return 0x1bc;
245 }
246 virtual void copyReadBufToData(const char* param_1, s32 param_2) {
247 UNUSED(param_2);
248 mList.copyBufToHio(param_1);
249 }
250 virtual u32 addStringBinary(char* param_1, u32 param_2, u32 param_3) {
251 return mList.addStringBinary(param_1, param_2, param_3);
252 }
253
254 /* 0x04 */ u8 field_0x4[0x08 - 0x04];
256
258 static const u8 l_listData[];
259 static const dMpath_HIO_n::list_s l_list;
263
264#endif /* D_MAP_D_MAP_H */
Definition JORMContext.h:128
Definition d_map.h:234
virtual void listenPropertyEvent(const JORPropertyEvent *)
Definition d_map.cpp:37
virtual void copyReadBufToData(const char *param_1, s32 param_2)
Definition d_map.h:246
virtual u32 addData(char *param_1, u32 param_2, u32 param_3)
Definition d_map.h:240
virtual void genMessage(JORMContext *)
Definition d_map.cpp:18
u8 field_0x4[0x08 - 0x04]
Definition d_map.h:254
virtual u32 addStringBinary(char *param_1, u32 param_2, u32 param_3)
Definition d_map.h:250
static dMap_prm_hio_s m_prm_hio
Definition d_map.h:261
virtual u32 addString(char *param_1, u32 param_2, u32 param_3)
Definition d_map.h:239
static dMap_prm_res_s * m_res_src_p
Definition d_map.h:260
static const u8 l_listData[]
Definition d_map.h:258
dMap_HIO_list_c mList
Definition d_map.h:255
dMap_HIO_c()
Definition d_map.cpp:32
static dMap_HIO_c * mMySelfPointer
Definition d_map.h:257
static const dMpath_HIO_n::list_s l_list
Definition d_map.h:273
Definition d_map.h:227
virtual void copyBufToHio(const char *)
Definition d_map.cpp:307
virtual void copyHioToDst()
Definition d_map.cpp:289
virtual void copySrcToHio()
Definition d_map.cpp:275
Definition d_map.h:142
virtual bool isSwitch(const dDrawPath_c::group_class *)
Definition d_map.cpp:792
f32 getPackPlusZ()
Definition d_map.h:187
ResTIMG * mResTIMG
Definition d_map.h:201
virtual bool isSpecialOutline()
Definition d_map.cpp:1067
f32 mPackZ
Definition d_map.h:207
f32 getTexelPerCm() const
Definition d_map.h:189
virtual dTres_c::typeGroupData_c * getFirstData(u8)
Definition d_map.cpp:1866
f32 getRightEdgePlus()
Definition d_map.h:191
int field_0x84
Definition d_map.h:217
f32 field_0x58
Definition d_map.h:205
f32 getPackZ() const
Definition d_map.h:188
u8 field_0x91
Definition d_map.h:224
int field_0x74
Definition d_map.h:212
f32 mCenterZ
Definition d_map.h:204
void setMapPaletteColorAlphaPer(int, f32)
Definition d_map.cpp:1446
f32 mTopEdgePlus
Definition d_map.h:211
void calcMapCenterXZ(int, f32 *, f32 *)
Definition d_map.cpp:1332
dMap_prm_res_s * m_res
Definition d_map.h:200
u8 field_0x8e
Definition d_map.h:221
virtual void setAmapPaletteColor(int, u8, u8, u8, u8)
Definition d_map.cpp:1502
static dMap_c * m_mySelfPointer
Definition d_map.h:196
int mStayRoomNo
Definition d_map.h:215
f32 getPackX() const
Definition d_map.h:192
virtual void beforeDrawPath()
Definition d_map.cpp:1002
void changeTextureSize(int, int, int)
Definition d_map.cpp:1189
virtual bool isDrawType(int)
Definition d_map.cpp:1049
dMap_c(int, int, int, int)
Definition d_map.cpp:1097
void calcMapCmPerTexel(int, f32 *)
Definition d_map.cpp:1358
virtual bool isRendAllRoom() const
Definition d_map.cpp:1058
virtual const GXColor * getColor(int)
Definition d_map.cpp:649
virtual int getRoomNoSingle()
Definition d_map.cpp:1548
f32 mPackX
Definition d_map.h:206
u16 mTexSizeY
Definition d_map.h:214
virtual bool isDrawRoom(int, int) const
Definition d_map.cpp:1527
virtual bool isDrawRoomIcon(int, int) const
Definition d_map.cpp:1556
f32 getCenterZ() const
Definition d_map.h:194
u8 * mImage_p
Definition d_map.h:202
void _draw()
Definition d_map.cpp:1857
u8 field_0x8c
Definition d_map.h:219
virtual dTres_c::typeGroupData_c * getNextData(dTres_c::typeGroupData_c *)
Definition d_map.cpp:1887
u16 mTexSizeX
Definition d_map.h:213
u8 field_0x8f
Definition d_map.h:222
void _remove()
Definition d_map.cpp:1206
void copyPalette()
Definition d_map.cpp:1071
u8 field_0x90
Definition d_map.h:223
f32 mPackPlusZ
Definition d_map.h:209
void _move(f32, f32, int, f32)
Definition d_map.cpp:1565
bool isDraw() const
Definition d_map.h:183
f32 field_0x64
Definition d_map.h:208
void getMapMinMaxXZ(int, f32 *, f32 *, f32 *, f32 *)
Definition d_map.cpp:1223
dMap_prm_res_s * m_res_src
Definition d_map.h:199
f32 getTopEdgePlus()
Definition d_map.h:186
void resCopy()
Definition d_map.cpp:1090
ResTIMG * getResTIMGPointer()
Definition d_map.h:185
int field_0x80
Definition d_map.h:216
int field_0x88
Definition d_map.h:218
f32 mCenterX
Definition d_map.h:203
u8 field_0x8d
Definition d_map.h:220
int getStayRoomNo() const
Definition d_map.h:193
void getPack(int, f32 *, f32 *)
Definition d_map.cpp:1292
f32 mRightEdgePlus
Definition d_map.h:210
int getDispType() const
Definition d_map.cpp:1523
u16 getTexSizeY() const
Definition d_map.h:190
virtual const Vec * getIconPosition(dTres_c::typeGroupData_c *) const
Definition d_map.cpp:731
virtual ~dMap_c()
Definition d_map.h:160
Definition d_map_path.h:58
Definition d_map_path.h:43
u32 addStringBinary(char *, u32, u32) const
Definition d_map_path.cpp:100
u32 addString(char *, u32, u32) const
Definition d_map_path.cpp:95
Definition d_tresure.h:22
Definition d_map.h:93
virtual void draw()
Definition d_map.cpp:342
renderingAmap_c()
Definition d_map.h:101
virtual f32 getPlayerCursorSize()
Definition d_map.cpp:527
virtual const GXColor * getDecoLineColor(int, int)
Definition d_map.cpp:716
virtual f32 getIconSize(u8) const
Definition d_map.cpp:319
virtual void rendering(dDrawPath_c::line_class const *)
Definition d_map.cpp:508
s32 m_outSideBlackLineCnt
Definition d_map.h:137
virtual void beforeDrawPath()
Definition d_map.cpp:415
virtual bool isRendCursor() const
Definition d_map.cpp:776
virtual bool isRendRestart() const
Definition d_map.cpp:772
virtual ~renderingAmap_c()
Definition d_map.h:104
bool isDrawOutSideTrim()
Definition d_map.cpp:541
virtual bool isRendAllRoom() const
Definition d_map.cpp:780
s32 field_0x3c
Definition d_map.h:139
virtual GXColor * getLineColor(int, int)
Definition d_map.cpp:691
virtual bool isCheckFloor() const
Definition d_map.cpp:768
virtual bool isRendIcon() const
Definition d_map.h:123
virtual bool isRendDoor() const
Definition d_map.cpp:763
virtual s32 getDecorationLineWidth(int)
Definition d_map.cpp:595
bool isOutSideBlackLine()
Definition d_map.cpp:563
virtual bool isDrawIconSingle2(dTres_c::data_s const *, bool, bool, int) const
Definition d_map.cpp:818
virtual void drawPath()
Definition d_map.cpp:504
virtual f32 getRestartCursorSize()
Definition d_map.cpp:531
int getDispType() const
Definition d_map.cpp:380
virtual int getIconGroupNumber(u8) const
Definition d_map.cpp:745
int getOutSideBlackLineNumber()
Definition d_map.cpp:558
int getStayType() const
Definition d_map.cpp:810
virtual int getLineWidth(int)
Definition d_map.cpp:640
static const int PALETTE_NUMBER
Definition d_map.h:131
virtual bool hasMap() const
Definition d_map.cpp:753
s32 field_0x38
Definition d_map.h:138
virtual void setAmapPaletteColor(int, u8, u8, u8, u8)=0
int getLineWidthSub(int)
Definition d_map.cpp:574
virtual void afterDrawPath()
Definition d_map.cpp:468
virtual bool isSpecialOutline()=0
bool isDraw() const
Definition d_map_path_dmap.h:141
Definition d_map_path_dmap.h:169
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
Definition JORReflexible.h:10
Image data header.
Definition JUTTexture.h:18
Definition mtx.h:13
Definition GXStruct.h:30
Definition d_map_path.h:127
Definition d_map_path.h:113
Definition d_map_path.h:121
Definition d_map_path.h:144
Definition d_map.h:7
f32 field_0x44[17]
Definition d_map.h:38
u8 field_0x11
Definition d_map.h:13
u8 field_0x10
Definition d_map.h:12
u8 field_0x0
Definition d_map.h:8
dTres_c::typeGroupData_c field_0x114[1]
Definition d_map.h:44
s16 field_0x36
Definition d_map.h:30
u8 field_0x24[0x2C - 0x24]
Definition d_map.h:25
u8 field_0x8
Definition d_map.h:10
u8 field_0x20
Definition d_map.h:21
f32 field_0x8c[17]
Definition d_map.h:42
f32 field_0x30
Definition d_map.h:27
u8 field_0x12
Definition d_map.h:14
u8 field_0x34
Definition d_map.h:28
f32 field_0x18
Definition d_map.h:16
u8 field_0x130[0x2f0 - 0x130]
Definition d_map.h:45
u8 field_0x1d
Definition d_map.h:18
u8 field_0x21
Definition d_map.h:22
s16 field_0x3e
Definition d_map.h:35
u8 field_0x89
Definition d_map.h:40
u8 field_0x40
Definition d_map.h:36
u8 field_0x1e
Definition d_map.h:19
u8 field_0x35
Definition d_map.h:29
u8 field_0x22
Definition d_map.h:23
u8 field_0x3c
Definition d_map.h:33
u8 field_0x41[0x44 - 0x41]
Definition d_map.h:37
u8 field_0x3d
Definition d_map.h:34
f32 field_0xc
Definition d_map.h:11
u8 field_0x8a
Definition d_map.h:41
f32 field_0x4
Definition d_map.h:9
u8 field_0x1c
Definition d_map.h:17
f32 field_0x14
Definition d_map.h:15
s16 field_0x3a
Definition d_map.h:32
u8 field_0x1f
Definition d_map.h:20
u8 field_0x38
Definition d_map.h:31
u8 field_0x88
Definition d_map.h:39
u8 field_0x23
Definition d_map.h:24
u8 field_0xd0[0x114 - 0xD0]
Definition d_map.h:43
u8 field_0x2c
Definition d_map.h:26
Definition d_map.h:88
static dMap_HIO_prm_other_s m_other
Definition d_map.h:90
static dMap_prm_res_s * m_res
Definition d_map.h:89
Definition d_map.h:84
static const u8 m_other[0x2f0]
Definition d_map.h:262
Definition d_map.h:78
dMap_HIO_prm_other_s field_0xf0
Definition d_map.h:81
u8 field_0xcc[0x24]
Definition d_map.h:80
GXColor field_0x0[51]
Definition d_map.h:79
Definition d_map.h:48
u8 field_0x1a4
Definition d_map.h:62
u8 field_0x198
Definition d_map.h:50
s16 field_0x1aa
Definition d_map.h:68
s16 field_0x1ae
Definition d_map.h:70
f32 cursor_size
Definition d_map.h:75
s16 field_0x1b6
Definition d_map.h:74
dMpath_RGB5A3_palDt_s palette_data[51]
Definition d_map.h:49
u8 field_0x19f
Definition d_map.h:57
u8 field_0x1a1
Definition d_map.h:59
u8 field_0x1a7
Definition d_map.h:65
s16 field_0x1ac
Definition d_map.h:69
u8 field_0x19a
Definition d_map.h:52
u8 field_0x1a5
Definition d_map.h:63
u8 field_0x19e
Definition d_map.h:56
u8 field_0x1a2
Definition d_map.h:60
u8 field_0x1a8
Definition d_map.h:66
u8 field_0x1a0
Definition d_map.h:58
s16 field_0x1b2
Definition d_map.h:72
s16 field_0x1b0
Definition d_map.h:71
s16 field_0x1b4
Definition d_map.h:73
u8 field_0x199
Definition d_map.h:51
u8 field_0x19d
Definition d_map.h:55
u8 field_0x1a9
Definition d_map.h:67
u8 field_0x1a6
Definition d_map.h:64
u8 field_0x1a3
Definition d_map.h:61
u8 field_0x19c
Definition d_map.h:54
u8 field_0x19b
Definition d_map.h:53
Definition d_map_path.h:34
Definition d_map_path.h:15
Definition d_tresure.h:10