Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_map_path.h
Go to the documentation of this file.
1#ifndef D_MAP_D_MAP_PATH_H
2#define D_MAP_D_MAP_PATH_H
3
4#include "d/d_drawlist.h"
5
6class dDrawPath_c : public dDlst_base_c {
7public:
8 struct line_class {
9 /* 0x00 */ u8 field_0x0;
10 /* 0x01 */ u8 field_0x1;
11 /* 0x02 */ u8 mDataNum;
12 /* 0x03 */ u8 field_0x3;
13 /* 0x04 */ u16* mpData;
14 }; // Size: 0x8
15
16 struct poly_class {
17 /* 0x00 */ u8 field_0x0;
18 /* 0x01 */ u8 mDataNum;
19 /* 0x04 */ u16* mpData;
20 }; // Size: 0x8
21
22 struct group_class {
23 /* 0x00 */ u8 mSwbit;
24 /* 0x01 */ u8 field_0x1;
25 /* 0x02 */ u8 mLineNum;
26 /* 0x03 */ u8 field_0x3;
27 /* 0x04 */ u8 mPolyNum;
29 /* 0x0C */ u8 field_0xc[4];
31 }; // Size: 0x14
32
33 struct floor_class {
34 /* 0x0 */ s8 mFloorNo;
35 /* 0x1 */ u8 mGroupNum;
37 }; // Size: 0x8
38
39 struct room_class {
40 /* 0x0 */ u8 mFloorNum;
42 /* 0x8 */ f32* mpFloatData; // might be Vec or cXyz instead
43 };
44
45 struct layer_data {
46 /* 0x0 */ room_class* mRooms[0x2][0x40];
47 };
48
49 /* 8003CB00 */ void rendering(dDrawPath_c::group_class const*);
50 /* 8003CBBC */ void rendering(dDrawPath_c::floor_class const*);
51
52 /* 8002AD3C */ virtual ~dDrawPath_c() {}
53 /* 8002ABF0 */ virtual bool isDrawType(int) { return true; }
54 virtual const GXColor* getColor(int) = 0;
55 /* 8002AD84 */ virtual const GXColor* getLineColor(int param_0, int) { return (GXColor*)getColor(param_0); }
56 virtual int getLineWidth(int) = 0;
57 virtual bool isSwitch(dDrawPath_c::group_class const*) = 0;
58 virtual bool isRenderingFloor(int) = 0;
61 /* 8003CCC4 */ virtual void drawPath();
62 /* 8003C94C */ virtual void rendering(dDrawPath_c::line_class const*);
63 /* 8003CA40 */ virtual void rendering(dDrawPath_c::poly_class const*);
64 /* 8003CC24 */ virtual void rendering(dDrawPath_c::room_class const*);
65};
66
68public:
69 /* 8002ACE0 */ virtual ~dDrawPathWithNormalPattern_c() {}
70};
71
73public:
74 /* 8003CD38 */ void makeResTIMG(ResTIMG*, u16, u16, u8*, u8*, u16) const;
75 /* 8003CDAC */ void renderingMap();
76
77 /* 8002AC74 */ virtual ~dRenderingMap_c() {}
78 virtual void beforeDrawPath() = 0;
79 virtual void afterDrawPath() = 0;
80
81 virtual void preDrawPath() = 0;
82 virtual void postDrawPath() = 0;
83 virtual bool isDrawPath() = 0;
84 virtual void preRenderingMap() = 0;
85 virtual void postRenderingMap() = 0;
86};
87
89public:
92 field_0x8 = 0.0f;
93 field_0xc = 0.0f;
94 mPosX = 0.0f;
95 mPosZ = 0.0f;
96 mCmPerTexel = 0.0f;
97 mTexWidth = 0;
98 mTexHeight = 0;
99 field_0x20 = 0;
100 field_0x22 = 0;
101 }
102
103 /* 8003CE78 */ void setTevSettingNonTextureDirectColor() const;
104 /* 8003CF40 */ void setTevSettingIntensityTextureToCI() const;
105 /* 8003D0AC */ void drawBack() const;
106 /* 8003D3C0 */ void renderingDecoration(dDrawPath_c::line_class const*);
107
108 /* 8002ABF8 */ virtual ~dRenderingFDAmap_c() {}
109 /* 8003D188 */ virtual void preRenderingMap();
110 /* 8003D320 */ virtual void postRenderingMap();
111 virtual const GXColor* getBackColor() const = 0;
112 /* 8003D68C */ virtual const GXColor* getDecoLineColor(int, int);
113 /* 8003D6B8 */ virtual s32 getDecorationLineWidth(int);
114
116 return (param_0.x >= mPosX - field_0x8 * 2.0f &&
117 param_0.x <= mPosX + field_0x8 * 2.0f) &&
118 (param_0.z >= mPosZ - field_0xc * 2.0f &&
119 param_0.z <= mPosZ + field_0xc * 2.0f);
120 }
121
122 /* 0x04 */ u8* field_0x4;
123 /* 0x08 */ f32 field_0x8;
124 /* 0x0C */ f32 field_0xc;
125 /* 0x10 */ f32 mPosX;
126 /* 0x14 */ f32 mPosZ;
127 /* 0x18 */ f32 mCmPerTexel;
128 /* 0x1C */ u16 mTexWidth;
129 /* 0x1E */ u16 mTexHeight;
130 /* 0x20 */ u16 field_0x20;
131 /* 0x22 */ u16 field_0x22;
132}; // Size: 0x24
133
134struct dMpath_n {
136 public:
137 /* 8003C85C */ void create();
138 /* 8003C8F4 */ void remove();
139 /* 8003D740 */ ~dTexObjAggregate_c() { remove(); };
140
142
144 for (int i = 0; i < 7; i++) {
145 mp_texObj[i] = NULL;
146 }
147 }
148
149 /* 0x0 */ GXTexObj* mp_texObj[7];
150 };
151
153};
154
156
160
167
168#endif /* D_MAP_D_MAP_PATH_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition d_drawlist.h:31
Definition d_map_path.h:67
virtual ~dDrawPathWithNormalPattern_c()
Definition d_map_path.h:69
Definition d_map_path.h:135
void remove()
Definition d_map_path.cpp:27
dTexObjAggregate_c()
Definition d_map_path.h:143
GXTexObj * mp_texObj[7]
Definition d_map_path.h:149
GXTexObj * getTexObjPointer(int i_no)
Definition d_map_path.h:141
void create()
Definition d_map_path.cpp:13
~dTexObjAggregate_c()
Definition d_map_path.h:139
STATIC_ASSERT(sizeof(dMpath_n::dTexObjAggregate_c)==28)
int i
Definition e_pow.c:165
Image data header.
Definition d_menu_dmap_map.cpp:109
Definition d_a_hozelda.cpp:18
Definition d_a_ep.cpp:68
Definition d_a_ep.cpp:147
Definition d_map_path.h:33
s8 mFloorNo
Definition d_map_path.h:34
u8 mGroupNum
Definition d_map_path.h:35
dDrawPath_c::group_class * mpGroup
Definition d_map_path.h:36
Definition d_menu_dmap_map.cpp:56
u8 field_0x1
Definition d_map_path.h:24
u8 mPolyNum
Definition d_map_path.h:27
u8 field_0xc[4]
Definition d_map_path.h:29
u8 field_0x3
Definition d_map_path.h:26
dDrawPath_c::line_class * mpLine
Definition d_map_path.h:28
dDrawPath_c::poly_class * mpPoly
Definition d_map_path.h:30
u8 mSwbit
Definition d_map_path.h:23
u8 mLineNum
Definition d_map_path.h:25
Definition d_map_path.h:45
room_class * mRooms[0x2][0x40]
Definition d_map_path.h:46
Definition d_menu_dmap_map.cpp:50
u16 * mpData
Definition d_map_path.h:13
u8 field_0x1
Definition d_map_path.h:10
u8 field_0x3
Definition d_map_path.h:12
u8 mDataNum
Definition d_map_path.h:11
u8 field_0x0
Definition d_map_path.h:9
Definition d_menu_dmap_map.cpp:52
u8 mDataNum
Definition d_map_path.h:18
u16 * mpData
Definition d_map_path.h:19
u8 field_0x0
Definition d_map_path.h:17
Definition d_menu_dmap_map.cpp:54
u8 mFloorNum
Definition d_map_path.h:40
dDrawPath_c::floor_class * mpFloor
Definition d_map_path.h:41
f32 * mpFloatData
Definition d_map_path.h:42
Definition d_menu_dmap_map.cpp:49
virtual bool isDrawType(int)
Definition d_map_path.h:53
virtual room_class * getNextRoomPointer()=0
virtual ~dDrawPath_c()
Definition d_map_path.h:52
virtual void rendering(dDrawPath_c::poly_class const *)
virtual bool isRenderingFloor(int)=0
virtual room_class * getFirstRoomPointer()=0
virtual bool isSwitch(dDrawPath_c::group_class const *)=0
virtual int getLineWidth(int)=0
virtual void drawPath()
virtual const GXColor * getColor(int)=0
virtual void rendering(dDrawPath_c::line_class const *)
virtual void rendering(dDrawPath_c::room_class const *)
void rendering(dDrawPath_c::poly_class const *)
Definition d_map_path.cpp:57
virtual const GXColor * getLineColor(int param_0, int)
Definition d_map_path.h:55
Definition d_map_path.h:161
dMpath_RGB5A3_s field_0x0
Definition d_map_path.h:162
dMpath_RGB5A3_s field_0x6
Definition d_map_path.h:165
dMpath_RGB5A3_s field_0x2
Definition d_map_path.h:163
dMpath_RGB5A3_s field_0x4
Definition d_map_path.h:164
Definition d_map_path.h:157
u16 color
Definition d_map_path.h:158
Definition d_map_path.h:134
static dTexObjAggregate_c m_texObjAgg
Definition d_map_path.h:152
Definition d_menu_dmap_map.cpp:115
virtual ~dRenderingFDAmap_c()
Definition d_map_path.h:108
virtual const GXColor * getDecoLineColor(int, int)
virtual const GXColor * getBackColor() const =0
void renderingDecoration(dDrawPath_c::line_class const *)
Definition d_map_path.cpp:275
f32 field_0x8
Definition d_map_path.h:123
dRenderingFDAmap_c()
Definition d_map_path.h:90
u16 mTexWidth
Definition d_map_path.h:128
u16 field_0x22
Definition d_map_path.h:131
f32 mCmPerTexel
Definition d_map_path.h:127
f32 mPosX
Definition d_map_path.h:125
void setTevSettingIntensityTextureToCI() const
Definition d_map_path.cpp:189
u16 field_0x20
Definition d_map_path.h:130
void setTevSettingNonTextureDirectColor() const
Definition d_map_path.cpp:175
f32 field_0xc
Definition d_map_path.h:124
f32 mPosZ
Definition d_map_path.h:126
virtual s32 getDecorationLineWidth(int)
bool isDrawAreaCheck(const Vec &param_0)
Definition d_map_path.h:115
void drawBack() const
Definition d_map_path.cpp:211
virtual void preRenderingMap()
virtual void postRenderingMap()
u8 * field_0x4
Definition d_map_path.h:122
u16 mTexHeight
Definition d_map_path.h:129
Definition d_menu_dmap_map.cpp:111
virtual void postDrawPath()=0
virtual bool isDrawPath()=0
virtual ~dRenderingMap_c()
Definition d_map_path.h:77
virtual void preDrawPath()=0
virtual void postRenderingMap()=0
virtual void afterDrawPath()=0
void renderingMap()
Definition d_map_path.cpp:161
virtual void beforeDrawPath()=0
virtual void preRenderingMap()=0
void makeResTIMG(ResTIMG *, u16, u16, u8 *, u8 *, u16) const
signed char s8
Definition types.h:4
float f32
Definition types.h:22
unsigned short u16
Definition types.h:9
signed long s32
Definition types.h:6
unsigned char u8
Definition types.h:8