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"
5#include "JSystem/JHostIO/JORReflexible.h"
6#include <cstring>
7
9 /* 0x00 */ u8 field_0x0;
10 /* 0x04 */ f32 field_0x4;
11 /* 0x08 */ u8 field_0x8;
12 /* 0x0C */ f32 field_0xc;
13 /* 0x10 */ u8 field_0x10;
14 /* 0x11 */ u8 field_0x11;
15 /* 0x12 */ u8 field_0x12;
16 /* 0x14 */ f32 field_0x14;
17 /* 0x18 */ f32 field_0x18;
18 /* 0x1C */ u8 field_0x1c;
19 /* 0x1D */ u8 field_0x1d;
20 /* 0x1E */ u8 field_0x1e;
21 /* 0x1F */ u8 field_0x1f;
22 /* 0x20 */ u8 field_0x20;
23 /* 0x21 */ u8 field_0x21;
24 /* 0x22 */ u8 field_0x22;
25 /* 0x23 */ u8 field_0x23;
26 /* 0x24 */ u8 field_0x24[0x2C - 0x24];
27 /* 0x2C */ u8 field_0x2c;
28 /* 0x30 */ f32 field_0x30;
29 /* 0x34 */ u8 field_0x34;
30 /* 0x35 */ u8 field_0x35;
31 /* 0x36 */ s16 field_0x36;
32 /* 0x38 */ u8 field_0x38;
33 /* 0x38 */ s16 field_0x3a;
34 /* 0x3C */ u8 field_0x3c;
35 /* 0x3D */ u8 field_0x3d;
36 /* 0x3E */ s16 field_0x3e;
37 /* 0x40 */ u8 field_0x40;
38 /* 0x41 */ u8 field_0x41[0x44 - 0x41];
39 /* 0x44 */ f32 field_0x44[17];
40 /* 0x88 */ u8 field_0x88;
41 /* 0x89 */ u8 field_0x89;
42 /* 0x8A */ u8 field_0x8a;
43 /* 0x8C */ f32 field_0x8c[17];
44 /* 0xD0 */ u8 field_0xd0[0x114 - 0xD0];
46 /* 0x130 */ u8 field_0x130[0x2f0 - 0x130];
47};
48
51 /* 0x198 */ u8 field_0x198;
52 /* 0x199 */ u8 field_0x199;
53 /* 0x19A */ u8 field_0x19a;
54 /* 0x19B */ u8 field_0x19b;
55 /* 0x19C */ u8 field_0x19c;
56 /* 0x19D */ u8 field_0x19d;
57 /* 0x19E */ u8 field_0x19e;
58 /* 0x19F */ u8 field_0x19f;
59 /* 0x1A0 */ u8 field_0x1a0;
60 /* 0x1A1 */ u8 field_0x1a1;
61 /* 0x1A2 */ u8 field_0x1a2;
62 /* 0x1A3 */ u8 field_0x1a3;
63 /* 0x1A4 */ u8 field_0x1a4;
64 /* 0x1A5 */ u8 field_0x1a5;
65 /* 0x1A6 */ u8 field_0x1a6;
66 /* 0x1A7 */ u8 field_0x1a7;
67 /* 0x1A8 */ u8 field_0x1a8;
68 /* 0x1A9 */ u8 field_0x1a9;
69 /* 0x1AA */ s16 field_0x1aa;
70 /* 0x1AC */ s16 field_0x1ac;
71 /* 0x1AE */ s16 field_0x1ae;
72 /* 0x1B0 */ s16 field_0x1b0;
73 /* 0x1B2 */ s16 field_0x1b2;
74 /* 0x1B4 */ s16 field_0x1b4;
75 /* 0x1B6 */ s16 field_0x1b6;
76 /* 0x1B8 */ f32 cursor_size;
77};
78
80 /* 0x00 */ GXColor field_0x0[51];
81 /* 0xCC */ u8 field_0xcc[0x24];
83};
84
86 static const u8 m_other[0x2f0];
87};
88
93
95public:
96 int getDispType() const;
97 bool isDrawOutSideTrim();
99 bool isOutSideBlackLine();
100 int getLineWidthSub(int);
101 int getStayType() const;
103
104 virtual void draw();
105 virtual ~renderingAmap_c() {}
106 virtual GXColor* getLineColor(int, int);
107 virtual int getLineWidth(int);
108 virtual void drawPath();
109 virtual void rendering(dDrawPath_c::line_class const*);
110 virtual void rendering(dDrawPath_c::poly_class const*);
111 virtual void rendering(dDrawPath_c::room_class const*);
112 virtual void beforeDrawPath();
113 virtual void afterDrawPath();
114 virtual const GXColor* getDecoLineColor(int, int);
115 virtual s32 getDecorationLineWidth(int);
116 virtual int getIconGroupNumber(u8) const;
117 virtual bool hasMap() const;
118 virtual bool isRendAllRoom() const;
119 virtual bool isRendDoor() const;
120 virtual bool isCheckFloor() const;
121 virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const;
122 virtual bool isRendRestart() const;
123 virtual bool isRendCursor() const;
124 virtual bool isRendIcon() const { return true; }
125 virtual f32 getIconSize(u8) const;
126 virtual f32 getPlayerCursorSize();
127 virtual f32 getRestartCursorSize();
128 virtual void setAmapPaletteColor(int, u8, u8, u8, u8) = 0;
129 virtual bool isSpecialOutline() = 0;
130
131#if DEBUG
132 static const int PALETTE_NUMBER = 51;
133#else
134 static const int PALETTE_NUMBER = 50;
135#endif
136
137private:
138 /* 0x34 */ s32 m_outSideBlackLineCnt;
139 /* 0x38 */ s32 field_0x38;
140 /* 0x3C */ s32 field_0x3c;
141}; // Size: 0x40
142
143class dMap_c : public renderingAmap_c {
144public:
145 void copyPalette();
146 void copyPalette(int, int, f32);
147 void setMapPaletteColorAlphaPer(int, f32);
148 void setMapPaletteColorAlphaPer(int, int, f32);
149 void resCopy();
150 dMap_c(int, int, int, int);
151 void changeTextureSize(int, int, int);
152 void _remove();
153 void getMapMinMaxXZ(int, f32*, f32*, f32*, f32*);
154 void getPack(int, f32*, f32*);
155 void calcMapCenterXZ(int, f32*, f32*);
156 void calcMapCmPerTexel(int, f32*);
157 int getDispType() const;
158 void _move(f32, f32, int, f32);
159 void _draw();
160
161 virtual ~dMap_c() {
162#if DEBUG
163 m_mySelfPointer = NULL;
164#endif
165 _remove();
166 }
167 virtual bool isDrawType(int);
168 virtual const GXColor* getColor(int);
169 virtual bool isRendAllRoom() const;
170 virtual int getRoomNoSingle();
171 virtual bool isDrawRoom(int, int) const;
172 virtual bool isDrawRoomIcon(int, int) const;
173 virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
176 virtual void setAmapPaletteColor(int, u8, u8, u8, u8);
177 virtual bool isSpecialOutline();
178
179#if DEBUG
180 virtual bool isSwitch(const dDrawPath_c::group_class*);
181 virtual void beforeDrawPath();
182#endif
183
184 bool isDraw() const { return renderingDAmap_c::isDraw(); }
185
186 ResTIMG* getResTIMGPointer() { return mResTIMG; }
187 f32 getTopEdgePlus() { return mTopEdgePlus; }
188 f32 getPackPlusZ() { return mPackPlusZ; }
189 f32 getPackZ() const { return mPackZ; }
190 f32 getTexelPerCm() const { return 1.0f / field_0x58; }
191 u16 getTexSizeY() const { return mTexSizeY; }
193 f32 getPackX() const { return mPackX; }
194 int getStayRoomNo() const { return mStayRoomNo; }
195 f32 getCenterZ() const { return mCenterZ; }
196
198
199private:
202 /* 0x48 */ ResTIMG* mResTIMG;
203 /* 0x4C */ u8* mImage_p;
204 /* 0x50 */ f32 mCenterX;
205 /* 0x54 */ f32 mCenterZ;
206 /* 0x58 */ f32 field_0x58;
207 /* 0x5C */ f32 mPackX;
208 /* 0x60 */ f32 mPackZ;
209 /* 0x64 */ f32 field_0x64;
210 /* 0x68 */ f32 mPackPlusZ;
211 /* 0x6C */ f32 mRightEdgePlus;
212 /* 0x70 */ f32 mTopEdgePlus;
213 /* 0x74 */ int field_0x74;
214 /* 0x78 */ u16 mTexSizeX;
215 /* 0x7A */ u16 mTexSizeY;
216 /* 0x7C */ int mStayRoomNo;
217 /* 0x80 */ int field_0x80;
218 /* 0x84 */ int field_0x84;
219 /* 0x88 */ int field_0x88;
220 /* 0x8C */ u8 field_0x8c;
221 /* 0x8D */ u8 field_0x8d;
222 /* 0x8E */ u8 field_0x8e;
223 /* 0x8F */ u8 field_0x8f;
224 /* 0x90 */ u8 field_0x90;
225 /* 0x91 */ u8 field_0x91;
226}; // Size: 0x94
227
229public:
230 virtual void copySrcToHio();
231 virtual void copyHioToDst();
232 virtual void copyBufToHio(const char*);
233};
234
236public:
237 dMap_HIO_c();
238 virtual void listenPropertyEvent(const JORPropertyEvent*);
239 virtual void genMessage(JORMContext*);
240 virtual u32 addString(char* param_1, u32 param_2, u32 param_3) { return mList.addString(param_1, param_2, param_3); }
241 virtual u32 addData(char* param_1, u32 param_2, u32 param_3) {
242 UNUSED(param_2);
243 UNUSED(param_3);
244 memcpy(param_1, dMap_HIO_prm_res_dst_s::m_res, 0x1bc);
245 return 0x1bc;
246 }
247 virtual void copyReadBufToData(const char* param_1, s32 param_2) {
248 UNUSED(param_2);
249 mList.copyBufToHio(param_1);
250 }
251 virtual u32 addStringBinary(char* param_1, u32 param_2, u32 param_3) {
252 return mList.addStringBinary(param_1, param_2, param_3);
253 }
254
255 /* 0x04 */ u8 field_0x4[0x08 - 0x04];
257
259 static const u8 l_listData[];
260 static const dMpath_HIO_n::list_s l_list;
264
265#endif /* D_MAP_D_MAP_H */
struct _GXColor GXColor
Definition c_cc_d.h:12
Definition d_map.h:235
virtual void listenPropertyEvent(const JORPropertyEvent *)
Definition d_map.cpp:38
virtual void copyReadBufToData(const char *param_1, s32 param_2)
Definition d_map.h:247
virtual u32 addData(char *param_1, u32 param_2, u32 param_3)
Definition d_map.h:241
virtual void genMessage(JORMContext *)
Definition d_map.cpp:19
u8 field_0x4[0x08 - 0x04]
Definition d_map.h:255
virtual u32 addStringBinary(char *param_1, u32 param_2, u32 param_3)
Definition d_map.h:251
static dMap_prm_hio_s m_prm_hio
Definition d_map.h:262
virtual u32 addString(char *param_1, u32 param_2, u32 param_3)
Definition d_map.h:240
static dMap_prm_res_s * m_res_src_p
Definition d_map.h:261
static const u8 l_listData[]
Definition d_map.h:259
dMap_HIO_list_c mList
Definition d_map.h:256
dMap_HIO_c()
Definition d_map.cpp:33
static dMap_HIO_c * mMySelfPointer
Definition d_map.h:258
static const dMpath_HIO_n::list_s l_list
Definition d_map.h:274
Definition d_map.h:228
virtual void copyBufToHio(const char *)
Definition d_map.cpp:308
virtual void copyHioToDst()
Definition d_map.cpp:290
virtual void copySrcToHio()
Definition d_map.cpp:276
Definition d_map.h:143
virtual bool isSwitch(const dDrawPath_c::group_class *)
Definition d_map.cpp:793
f32 getPackPlusZ()
Definition d_map.h:188
ResTIMG * mResTIMG
Definition d_map.h:202
virtual bool isSpecialOutline()
Definition d_map.cpp:1068
f32 mPackZ
Definition d_map.h:208
f32 getTexelPerCm() const
Definition d_map.h:190
virtual dTres_c::typeGroupData_c * getFirstData(u8)
Definition d_map.cpp:1867
f32 getRightEdgePlus()
Definition d_map.h:192
int field_0x84
Definition d_map.h:218
f32 field_0x58
Definition d_map.h:206
f32 getPackZ() const
Definition d_map.h:189
u8 field_0x91
Definition d_map.h:225
int field_0x74
Definition d_map.h:213
f32 mCenterZ
Definition d_map.h:205
void setMapPaletteColorAlphaPer(int, f32)
Definition d_map.cpp:1447
f32 mTopEdgePlus
Definition d_map.h:212
void calcMapCenterXZ(int, f32 *, f32 *)
Definition d_map.cpp:1333
dMap_prm_res_s * m_res
Definition d_map.h:201
u8 field_0x8e
Definition d_map.h:222
virtual void setAmapPaletteColor(int, u8, u8, u8, u8)
Definition d_map.cpp:1503
static dMap_c * m_mySelfPointer
Definition d_map.h:197
int mStayRoomNo
Definition d_map.h:216
f32 getPackX() const
Definition d_map.h:193
virtual void beforeDrawPath()
Definition d_map.cpp:1003
void changeTextureSize(int, int, int)
Definition d_map.cpp:1190
virtual bool isDrawType(int)
Definition d_map.cpp:1050
dMap_c(int, int, int, int)
Definition d_map.cpp:1098
void calcMapCmPerTexel(int, f32 *)
Definition d_map.cpp:1359
virtual bool isRendAllRoom() const
Definition d_map.cpp:1059
virtual const GXColor * getColor(int)
Definition d_map.cpp:650
virtual int getRoomNoSingle()
Definition d_map.cpp:1549
f32 mPackX
Definition d_map.h:207
u16 mTexSizeY
Definition d_map.h:215
virtual bool isDrawRoom(int, int) const
Definition d_map.cpp:1528
virtual bool isDrawRoomIcon(int, int) const
Definition d_map.cpp:1557
f32 getCenterZ() const
Definition d_map.h:195
u8 * mImage_p
Definition d_map.h:203
void _draw()
Definition d_map.cpp:1858
u8 field_0x8c
Definition d_map.h:220
virtual dTres_c::typeGroupData_c * getNextData(dTres_c::typeGroupData_c *)
Definition d_map.cpp:1888
u16 mTexSizeX
Definition d_map.h:214
u8 field_0x8f
Definition d_map.h:223
void _remove()
Definition d_map.cpp:1207
void copyPalette()
Definition d_map.cpp:1072
u8 field_0x90
Definition d_map.h:224
f32 mPackPlusZ
Definition d_map.h:210
void _move(f32, f32, int, f32)
Definition d_map.cpp:1566
bool isDraw() const
Definition d_map.h:184
f32 field_0x64
Definition d_map.h:209
void getMapMinMaxXZ(int, f32 *, f32 *, f32 *, f32 *)
Definition d_map.cpp:1224
dMap_prm_res_s * m_res_src
Definition d_map.h:200
f32 getTopEdgePlus()
Definition d_map.h:187
void resCopy()
Definition d_map.cpp:1091
ResTIMG * getResTIMGPointer()
Definition d_map.h:186
int field_0x80
Definition d_map.h:217
int field_0x88
Definition d_map.h:219
f32 mCenterX
Definition d_map.h:204
u8 field_0x8d
Definition d_map.h:221
int getStayRoomNo() const
Definition d_map.h:194
void getPack(int, f32 *, f32 *)
Definition d_map.cpp:1293
f32 mRightEdgePlus
Definition d_map.h:211
int getDispType() const
Definition d_map.cpp:1524
u16 getTexSizeY() const
Definition d_map.h:191
virtual const Vec * getIconPosition(dTres_c::typeGroupData_c *) const
Definition d_map.cpp:732
virtual ~dMap_c()
Definition d_map.h:161
Definition d_map_path.h:58
Definition d_map_path.h:43
u32 addStringBinary(char *, u32, u32) const
Definition d_map_path.cpp:101
u32 addString(char *, u32, u32) const
Definition d_map_path.cpp:96
Definition d_tresure.h:22
Definition d_map.h:94
virtual void draw()
Definition d_map.cpp:343
renderingAmap_c()
Definition d_map.h:102
virtual f32 getPlayerCursorSize()
Definition d_map.cpp:528
virtual const GXColor * getDecoLineColor(int, int)
Definition d_map.cpp:717
virtual f32 getIconSize(u8) const
Definition d_map.cpp:320
virtual void rendering(dDrawPath_c::line_class const *)
Definition d_map.cpp:509
s32 m_outSideBlackLineCnt
Definition d_map.h:138
virtual void beforeDrawPath()
Definition d_map.cpp:416
virtual bool isRendCursor() const
Definition d_map.cpp:777
virtual bool isRendRestart() const
Definition d_map.cpp:773
virtual ~renderingAmap_c()
Definition d_map.h:105
bool isDrawOutSideTrim()
Definition d_map.cpp:542
virtual bool isRendAllRoom() const
Definition d_map.cpp:781
s32 field_0x3c
Definition d_map.h:140
virtual GXColor * getLineColor(int, int)
Definition d_map.cpp:692
virtual bool isCheckFloor() const
Definition d_map.cpp:769
virtual bool isRendIcon() const
Definition d_map.h:124
virtual bool isRendDoor() const
Definition d_map.cpp:764
virtual s32 getDecorationLineWidth(int)
Definition d_map.cpp:596
bool isOutSideBlackLine()
Definition d_map.cpp:564
virtual bool isDrawIconSingle2(dTres_c::data_s const *, bool, bool, int) const
Definition d_map.cpp:819
virtual void drawPath()
Definition d_map.cpp:505
virtual f32 getRestartCursorSize()
Definition d_map.cpp:532
int getDispType() const
Definition d_map.cpp:381
virtual int getIconGroupNumber(u8) const
Definition d_map.cpp:746
int getOutSideBlackLineNumber()
Definition d_map.cpp:559
int getStayType() const
Definition d_map.cpp:811
virtual int getLineWidth(int)
Definition d_map.cpp:641
static const int PALETTE_NUMBER
Definition d_map.h:132
virtual bool hasMap() const
Definition d_map.cpp:754
s32 field_0x38
Definition d_map.h:139
virtual void setAmapPaletteColor(int, u8, u8, u8, u8)=0
int getLineWidthSub(int)
Definition d_map.cpp:575
virtual void afterDrawPath()
Definition d_map.cpp:469
virtual bool isSpecialOutline()=0
bool isDraw() const
Definition d_map_path_dmap.h:141
Definition d_map_path_dmap.h:169
int cXyz int * param_2
Definition d_path.cpp:106
struct Vec Vec
Definition m_Do_lib.h:8
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:8
f32 field_0x44[17]
Definition d_map.h:39
u8 field_0x11
Definition d_map.h:14
u8 field_0x10
Definition d_map.h:13
u8 field_0x0
Definition d_map.h:9
dTres_c::typeGroupData_c field_0x114[1]
Definition d_map.h:45
s16 field_0x36
Definition d_map.h:31
u8 field_0x24[0x2C - 0x24]
Definition d_map.h:26
u8 field_0x8
Definition d_map.h:11
u8 field_0x20
Definition d_map.h:22
f32 field_0x8c[17]
Definition d_map.h:43
f32 field_0x30
Definition d_map.h:28
u8 field_0x12
Definition d_map.h:15
u8 field_0x34
Definition d_map.h:29
f32 field_0x18
Definition d_map.h:17
u8 field_0x130[0x2f0 - 0x130]
Definition d_map.h:46
u8 field_0x1d
Definition d_map.h:19
u8 field_0x21
Definition d_map.h:23
s16 field_0x3e
Definition d_map.h:36
u8 field_0x89
Definition d_map.h:41
u8 field_0x40
Definition d_map.h:37
u8 field_0x1e
Definition d_map.h:20
u8 field_0x35
Definition d_map.h:30
u8 field_0x22
Definition d_map.h:24
u8 field_0x3c
Definition d_map.h:34
u8 field_0x41[0x44 - 0x41]
Definition d_map.h:38
u8 field_0x3d
Definition d_map.h:35
f32 field_0xc
Definition d_map.h:12
u8 field_0x8a
Definition d_map.h:42
f32 field_0x4
Definition d_map.h:10
u8 field_0x1c
Definition d_map.h:18
f32 field_0x14
Definition d_map.h:16
s16 field_0x3a
Definition d_map.h:33
u8 field_0x1f
Definition d_map.h:21
u8 field_0x38
Definition d_map.h:32
u8 field_0x88
Definition d_map.h:40
u8 field_0x23
Definition d_map.h:25
u8 field_0xd0[0x114 - 0xD0]
Definition d_map.h:44
u8 field_0x2c
Definition d_map.h:27
Definition d_map.h:89
static dMap_HIO_prm_other_s m_other
Definition d_map.h:91
static dMap_prm_res_s * m_res
Definition d_map.h:90
Definition d_map.h:85
static const u8 m_other[0x2f0]
Definition d_map.h:263
Definition d_map.h:79
dMap_HIO_prm_other_s field_0xf0
Definition d_map.h:82
u8 field_0xcc[0x24]
Definition d_map.h:81
GXColor field_0x0[51]
Definition d_map.h:80
Definition d_map.h:49
u8 field_0x1a4
Definition d_map.h:63
u8 field_0x198
Definition d_map.h:51
s16 field_0x1aa
Definition d_map.h:69
s16 field_0x1ae
Definition d_map.h:71
f32 cursor_size
Definition d_map.h:76
s16 field_0x1b6
Definition d_map.h:75
dMpath_RGB5A3_palDt_s palette_data[51]
Definition d_map.h:50
u8 field_0x19f
Definition d_map.h:58
u8 field_0x1a1
Definition d_map.h:60
u8 field_0x1a7
Definition d_map.h:66
s16 field_0x1ac
Definition d_map.h:70
u8 field_0x19a
Definition d_map.h:53
u8 field_0x1a5
Definition d_map.h:64
u8 field_0x19e
Definition d_map.h:57
u8 field_0x1a2
Definition d_map.h:61
u8 field_0x1a8
Definition d_map.h:67
u8 field_0x1a0
Definition d_map.h:59
s16 field_0x1b2
Definition d_map.h:73
s16 field_0x1b0
Definition d_map.h:72
s16 field_0x1b4
Definition d_map.h:74
u8 field_0x199
Definition d_map.h:52
u8 field_0x19d
Definition d_map.h:56
u8 field_0x1a9
Definition d_map.h:68
u8 field_0x1a6
Definition d_map.h:65
u8 field_0x1a3
Definition d_map.h:62
u8 field_0x19c
Definition d_map.h:55
u8 field_0x19b
Definition d_map.h:54
Definition d_map_path.h:34
Definition d_map_path.h:15
Definition d_tresure.h:10