Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_menu_fmap_map.h
Go to the documentation of this file.
1#ifndef D_MENU_D_MENU_FMAP_MAP_H
2#define D_MENU_D_MENU_FMAP_MAP_H
3
5#include <types.h>
6#include <cstring>
7#include "d/d_menu_fmap.h"
8#include "d/d_map.h"
9#include "d/d_map_path.h"
10#include "d/d_map_path_fmap.h"
11
14 /* 0x0D8 */ GXColor field_0xd8;
15 /* 0x0DC */ GXColor field_0xdc;
16 /* 0x0E0 */ GXColor field_0xe0;
17 /* 0x0E4 */ GXColor field_0xe4;
18 /* 0x0E8 */ GXColor field_0xe8[8];
19 /* 0x108 */ GXColor field_0x108[8];
20 /* 0x128 */ GXColor field_0x128[8];
21 /* 0x148 */ GXColor field_0x148[8];
22 /* 0x168 */ s16 field_0x168;
23 /* 0x16A */ s16 field_0x16a;
24 /* 0x16C */ u8 field_0x16c;
25 /* 0x16D */ u8 field_0x16d;
26};
27
29 /* 0x0 */ u8 mFlashDuration;
30
32};
33
35 static const void* m_res;
36};
37
39public:
40 enum palette_e {
41 /* 0x11 */ PALETTE_11 = 0x11,
42 /* 0x12 */ PALETTE_12,
43 /* 0x13 */ PALETTE_13,
44 /* 0x14 */ PALETTE_14,
45 /* 0x15 */ PALETTE_15,
46 /* 0x16 */ PALETTE_16,
47 /* 0x17 */ PALETTE_17,
48 /* 0x18 */ PALETTE_18,
49 /* 0x19 */ PALETTE_19,
50 /* 0x1A */ PALETTE_1A,
51 };
52
54 mpWorldData = NULL;
55 mpRegionData = NULL;
56 mpStageData = NULL;
57 mpRoomData = NULL;
58 mpFmapData = NULL;
59 mpStageArc = NULL;
60 mStartStageNo = 0;
61 mRegionIndex = 0;
62 mStageNo = 0;
63 mRoomNo = 0;
64 mRegionNo = 0;
65 mRoomIndex = 0;
66 mStageOffsetX = 0.0f;
67 mStageOffsetZ = 0.0f;
68 mRegionOffsetX = 0.0f;
69 mRegionOffsetZ = 0.0f;
70 field_0xb8 = 0;
71 mSaveTableNo = 0;
73 mDrawEnable = false;
74 }
75
76 void init(u8*, u16, u16, u16, u16);
77 void entry(dMenu_Fmap_world_data_c*, int, f32, f32, f32);
78 bool isSwitchSpecialOff(int);
79 bool isSwitch(group_class const*);
80 int getPointStagePathInnerNo(dMenu_Fmap_region_data_c*, f32, f32, int, int*,
81 int*);
82 void preDrawPath();
83 bool isDrawPath();
84 bool isDrawRoom();
85 void postDrawPath();
86 void postRenderingMap();
87 void roomSetteing();
88 room_class* getFirstRoomPointer();
89 void getFirstRegion();
90 void getFirstStage();
91 void getFirstRoom();
92 bool getNextRoom();
93 bool getNextStage();
94 bool getNextRegion();
95 room_class* getNextRoomPointer();
96
98 bool isRenderingFloor(int) { return true; }
102 bool isDrawEnable() { return mDrawEnable; }
103
104 /* 0x24 */ Mtx mViewMtx;
105 /* 0x54 */ Vec mEye;
106 /* 0x60 */ Vec mCenter;
107 /* 0x6C */ Vec mUp;
114 /* 0x90 */ int mStartStageNo;
115 /* 0x94 */ int mRegionIndex;
116 /* 0x98 */ int mStageNo;
117 /* 0x9C */ int mRoomNo;
118 /* 0xA0 */ int mRegionNo;
119 /* 0xA4 */ int mRoomIndex;
120 /* 0xA8 */ f32 mStageOffsetX;
121 /* 0xAC */ f32 mStageOffsetZ;
122 /* 0xB0 */ f32 mRegionOffsetX;
123 /* 0xB4 */ f32 mRegionOffsetZ;
124 /* 0xB8 */ u8 field_0xb8;
125 /* 0xB9 */ u8 mSaveTableNo;
127 /* 0xBB */ bool mDrawEnable;
128};
129
131public:
132 virtual void copySrcToHio();
133 virtual void copyHioToDst();
134 virtual void copyBufToHio(const char*);
135};
136
138public:
139 dMfm_HIO_c();
140 virtual ~dMfm_HIO_c() { mMySelfPointer = NULL; }
141 virtual void listenPropertyEvent(const JORPropertyEvent*);
142 virtual void genMessage(JORMContext*);
143 virtual u32 addString(char* param_1, u32 param_2, u32 param_3) { return field_0xc.addString(param_1, param_2, param_3); }
144 virtual u32 addData(char* param_1, u32 param_2, u32 param_3) {
145 UNUSED(param_2);
146 UNUSED(param_3);
147 memcpy(param_1, dMfm_HIO_prm_res_dst_s::m_res, 366);
148 return 366;
149 }
150 virtual void copyReadBufToData(const char* param_1, s32 param_2) {
151 UNUSED(param_2);
152 field_0xc.copyBufToHio(param_1);
153 }
154 virtual u32 addStringBinary(char* param_1, u32 param_2, u32 param_3) { return field_0xc.addStringBinary(param_1, param_2, param_3); }
155
156 /* 0x04 */ u8 field_0x4[0x8 - 0x4];
159 /* 0x18 */ u8 field_0x18;
160
163};
164
166public:
168 void setFmapPaletteColor(palette_e, u8, u8, u8, u8);
169 bool isFlashRoomNoCheck(int) const;
170 void setPointColor(f32);
173 void _create(u16, u16, u16, u16, void*);
174 void _delete();
175 void draw();
176 void rendering(line_class const*);
177 int getLineWidth(int);
178 bool isDrawType(int);
179 void setFlashOn(int, int, u8*, int);
180 const GXColor* getLineColor(int, int);
181 const GXColor* getBackColor() const;
182 const GXColor* getColor(int);
183 void setTexture(u16, u16, u16, u16);
184 void setRendering(dMenu_Fmap_world_data_c*, int, f32, f32, f32, f32);
185
186 f32 getRateWithFrameCount(int param_0) {
187 return (f32)(g_Counter.mCounter0 % param_0) / (f32)param_0;
188 }
189
191 // probably a fakematch
192 bool ret = true;
194 return ret;
195 }
196
197 void setFlashOff() {
199 mFlash = false;
200 }
201
202 int getPointStagePathInnerNo(dMenu_Fmap_region_data_c* i_regionData, f32 i_offsetX,
203 f32 i_offsetY, int i_stageNo, int* o_stageNo, int* o_roomNo) {
204 return renderingFmap_c::getPointStagePathInnerNo(i_regionData, i_offsetX, i_offsetY,
205 i_stageNo, o_stageNo, o_roomNo);
206 }
207
208 ResTIMG* getResTIMGPointer() { return mResTIMG; }
209#if DEBUG
211#endif
212 /* 0xBC */ ResTIMG* mResTIMG;
213 /* 0xC0 */ u8* mMapImage_p;
216 /* 0xCC */ int field_0xcc;
217#if DEBUG
219#endif
220 /* 0xD0 */ f32 mZoomRate;
221 /* 0xD4 */ int mLineNo;
222 /* 0xD8 */ bool mFlash;
223 /* 0xD9 */ bool mLastFlash;
224 /* 0xDC */ int mStageCursor;
225 /* 0xE0 */ int mLastStageCursor;
226 /* 0xE4 */ u8 mRegionCursor;
227 /* 0xE5 */ u8 mFlashTimer;
228 /* 0xE8 */ u8* mp_roomList;
229 /* 0xEC */ int m_roomListNumber;
230
232};
233
234
235#endif /* D_MENU_D_MENU_FMAP_MAP_H */
struct _GXColor GXColor
Definition c_cc_d.h:12
counter_class g_Counter
Definition c_counter.cpp:8
Definition d_menu_fmap_map.h:165
bool isFlashRoomNoCheck(int) const
Definition d_menu_fmap_map.cpp:411
u8 * mMapImage_p
Definition d_menu_fmap_map.h:213
u8 * mp_roomList
Definition d_menu_fmap_map.h:228
int m_roomListNumber
Definition d_menu_fmap_map.h:229
int mLineNo
Definition d_menu_fmap_map.h:221
bool mFlash
Definition d_menu_fmap_map.h:222
u8 mRegionCursor
Definition d_menu_fmap_map.h:226
void setRendering(dMenu_Fmap_world_data_c *, int, f32, f32, f32, f32)
Definition d_menu_fmap_map.cpp:669
int field_0xcc
Definition d_menu_fmap_map.h:216
ResTIMG * mResTIMG
Definition d_menu_fmap_map.h:212
f32 mZoomRate
Definition d_menu_fmap_map.h:220
dMfm_prm_res_s * m_res
Definition d_menu_fmap_map.h:214
bool isDrawEnable()
Definition d_menu_fmap_map.h:190
dMenu_FmapMap_c()
Definition d_menu_fmap_map.cpp:452
dMpath_RGB5A3_palDt_s * m_palette
Definition d_menu_fmap_map.h:215
dMenu_Fmap_world_data_c * getWorldData()
Definition d_menu_fmap_map.h:210
int getPointStagePathInnerNo(dMenu_Fmap_region_data_c *i_regionData, f32 i_offsetX, f32 i_offsetY, int i_stageNo, int *o_stageNo, int *o_roomNo)
Definition d_menu_fmap_map.h:202
int mStageCursor
Definition d_menu_fmap_map.h:224
void rendering(line_class const *)
Definition d_menu_fmap_map.cpp:534
void setFmapPaletteColor(palette_e, GXColor const &)
Definition d_menu_fmap_map.cpp:406
int mLastStageCursor
Definition d_menu_fmap_map.h:225
void draw()
Definition d_menu_fmap_map.cpp:504
f32 getRateWithFrameCount(int param_0)
Definition d_menu_fmap_map.h:186
bool mLastFlash
Definition d_menu_fmap_map.h:223
const GXColor * getLineColor(int, int)
Definition d_menu_fmap_map.cpp:581
void setTexture(u16, u16, u16, u16)
Definition d_menu_fmap_map.cpp:659
~dMenu_FmapMap_c()
Definition d_menu_fmap_map.cpp:475
dMenu_Fmap_world_data_c * mpWorldData
Definition d_menu_fmap_map.h:218
void setFlashOff()
Definition d_menu_fmap_map.h:197
void _create(u16, u16, u16, u16, void *)
Definition d_menu_fmap_map.cpp:479
bool isDrawType(int)
Definition d_menu_fmap_map.cpp:568
int getLineWidth(int)
Definition d_menu_fmap_map.cpp:544
const GXColor * getColor(int)
Definition d_menu_fmap_map.cpp:606
u8 mFlashTimer
Definition d_menu_fmap_map.h:227
ResTIMG * getResTIMGPointer()
Definition d_menu_fmap_map.h:208
void setFlashOn(int, int, u8 *, int)
Definition d_menu_fmap_map.cpp:572
void _delete()
Definition d_menu_fmap_map.cpp:491
const GXColor * getBackColor() const
Definition d_menu_fmap_map.cpp:601
void setPointColor(f32)
Definition d_menu_fmap_map.cpp:426
static dMenu_FmapMap_c * mMySelfPointer
Definition d_menu_fmap_map.h:231
Definition d_map_path_fmap.h:63
Definition d_map_path_fmap.h:202
Definition d_map_path_fmap.h:92
Definition d_map_path_fmap.h:130
Definition d_map_path_fmap.h:142
Definition d_map_path_fmap.h:252
Definition d_menu_fmap_map.h:137
dMfm_HIO_c()
Definition d_menu_fmap_map.cpp:283
virtual ~dMfm_HIO_c()
Definition d_menu_fmap_map.h:140
virtual void copyReadBufToData(const char *param_1, s32 param_2)
Definition d_menu_fmap_map.h:150
dMenu_FmapMap_c * field_0x8
Definition d_menu_fmap_map.h:157
u8 field_0x18
Definition d_menu_fmap_map.h:159
dMfm_HIO_list_c field_0xc
Definition d_menu_fmap_map.h:158
static dMfm_HIO_c * mMySelfPointer
Definition d_menu_fmap_map.h:161
virtual u32 addStringBinary(char *param_1, u32 param_2, u32 param_3)
Definition d_menu_fmap_map.h:154
u8 field_0x4[0x8 - 0x4]
Definition d_menu_fmap_map.h:156
static dMpath_HIO_n::list_s l_list
Definition d_menu_fmap_map.h:162
virtual u32 addString(char *param_1, u32 param_2, u32 param_3)
Definition d_menu_fmap_map.h:143
virtual u32 addData(char *param_1, u32 param_2, u32 param_3)
Definition d_menu_fmap_map.h:144
virtual void genMessage(JORMContext *)
Definition d_menu_fmap_map.cpp:289
virtual void listenPropertyEvent(const JORPropertyEvent *)
Definition d_menu_fmap_map.cpp:302
Definition d_menu_fmap_map.h:130
virtual void copySrcToHio()
Definition d_menu_fmap_map.cpp:375
virtual void copyBufToHio(const char *)
Definition d_menu_fmap_map.cpp:383
virtual void copyHioToDst()
Definition d_menu_fmap_map.cpp:379
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_map_path.h:193
Definition d_menu_fmap_map.h:38
bool isDrawPath()
Definition d_menu_fmap_map.cpp:123
u8 field_0xb8
Definition d_menu_fmap_map.h:124
void postDrawPath()
Definition d_menu_fmap_map.cpp:133
bool getNextRegion()
Definition d_menu_fmap_map.cpp:247
Mtx mViewMtx
Definition d_menu_fmap_map.h:104
room_class * getFirstRoomPointer()
Definition d_menu_fmap_map.cpp:164
int mRegionIndex
Definition d_menu_fmap_map.h:115
f32 mStageOffsetZ
Definition d_menu_fmap_map.h:121
void getFirstStage()
Definition d_menu_fmap_map.cpp:197
bool isRenderingFloor(int)
Definition d_menu_fmap_map.h:98
Vec mCenter
Definition d_menu_fmap_map.h:106
int mStageNo
Definition d_menu_fmap_map.h:116
bool getNextRoom()
Definition d_menu_fmap_map.cpp:219
void getFirstRoom()
Definition d_menu_fmap_map.cpp:209
dMenu_Fmap_world_data_c * mpWorldData
Definition d_menu_fmap_map.h:108
int mRegionNo
Definition d_menu_fmap_map.h:118
void postRenderingMap()
Definition d_menu_fmap_map.cpp:139
bool isSwitchSpecialOff(int)
Definition d_menu_fmap_map.cpp:48
Vec mEye
Definition d_menu_fmap_map.h:105
int mRoomNo
Definition d_menu_fmap_map.h:117
int mRoomIndex
Definition d_menu_fmap_map.h:119
dMenu_Fmap_stage_data_c * mpStageData
Definition d_menu_fmap_map.h:110
palette_e
Definition d_menu_fmap_map.h:40
@ PALETTE_15
Definition d_menu_fmap_map.h:45
@ PALETTE_13
Definition d_menu_fmap_map.h:43
@ PALETTE_19
Definition d_menu_fmap_map.h:49
@ PALETTE_17
Definition d_menu_fmap_map.h:47
@ PALETTE_14
Definition d_menu_fmap_map.h:44
@ PALETTE_11
Definition d_menu_fmap_map.h:41
@ PALETTE_16
Definition d_menu_fmap_map.h:46
@ PALETTE_1A
Definition d_menu_fmap_map.h:50
@ PALETTE_12
Definition d_menu_fmap_map.h:42
@ PALETTE_18
Definition d_menu_fmap_map.h:48
room_class * getNextRoomPointer()
Definition d_menu_fmap_map.cpp:260
dMenu_Fmap_region_data_c * mpRegionData
Definition d_menu_fmap_map.h:109
int getPointStagePathInnerNo(dMenu_Fmap_region_data_c *, f32, f32, int, int *, int *)
Definition d_menu_fmap_map.cpp:86
void roomSetteing()
Definition d_menu_fmap_map.cpp:144
bool isSwitch(group_class const *)
Definition d_menu_fmap_map.cpp:52
int getNowDrawRegionNo()
Definition d_menu_fmap_map.h:101
f32 mRegionOffsetX
Definition d_menu_fmap_map.h:122
void entry(dMenu_Fmap_world_data_c *, int, f32, f32, f32)
Definition d_menu_fmap_map.cpp:36
int mStartStageNo
Definition d_menu_fmap_map.h:114
bool mDrawEnable
Definition d_menu_fmap_map.h:127
dMenu_Fmap_stage_arc_data_c * mpStageArc
Definition d_menu_fmap_map.h:113
u8 mVisitedRoomSaveTableNo
Definition d_menu_fmap_map.h:126
Vec mUp
Definition d_menu_fmap_map.h:107
bool getNextStage()
Definition d_menu_fmap_map.cpp:232
renderingFmap_c()
Definition d_menu_fmap_map.h:53
void getFirstRegion()
Definition d_menu_fmap_map.cpp:187
bool isDrawRoom()
Definition d_menu_fmap_map.cpp:127
dMenu_Fmap_data_c * mpFmapData
Definition d_menu_fmap_map.h:112
dMenu_Fmap_room_data_c * mpRoomData
Definition d_menu_fmap_map.h:111
void beforeDrawPath()
Definition d_menu_fmap_map.h:99
f32 mRegionOffsetZ
Definition d_menu_fmap_map.h:123
f32 mStageOffsetX
Definition d_menu_fmap_map.h:120
~renderingFmap_c()
Definition d_menu_fmap_map.h:97
void afterDrawPath()
Definition d_menu_fmap_map.h:100
bool isDrawEnable()
Definition d_menu_fmap_map.h:102
u8 mSaveTableNo
Definition d_menu_fmap_map.h:125
void preDrawPath()
Definition d_menu_fmap_map.cpp:104
static initFunc init[]
Definition d_menu_collect.cpp:40
int cXyz int * param_2
Definition d_path.cpp:106
struct Vec Vec
Definition m_Do_lib.h:8
u32 mCounter0
Definition c_counter.h:7
Definition d_map_path.h:113
Definition d_menu_fmap_map.h:34
static const void * m_res
Definition d_menu_fmap_map.h:35
Definition d_menu_fmap_map.h:28
u8 mFlashDuration
Definition d_menu_fmap_map.h:29
static const dMfm_HIO_prm_res_src_s m_other
Definition d_menu_fmap_map.h:502
Definition d_menu_fmap_map.h:12
GXColor field_0x148[8]
Definition d_menu_fmap_map.h:21
GXColor field_0x108[8]
Definition d_menu_fmap_map.h:19
u8 field_0x16c
Definition d_menu_fmap_map.h:24
dMpath_RGB5A3_palDt_s palette_data[27]
Definition d_menu_fmap_map.h:13
s16 field_0x16a
Definition d_menu_fmap_map.h:23
GXColor field_0x128[8]
Definition d_menu_fmap_map.h:20
GXColor field_0xe4
Definition d_menu_fmap_map.h:17
GXColor field_0xdc
Definition d_menu_fmap_map.h:15
GXColor field_0xe8[8]
Definition d_menu_fmap_map.h:18
GXColor field_0xe0
Definition d_menu_fmap_map.h:16
GXColor field_0xd8
Definition d_menu_fmap_map.h:14
u8 field_0x16d
Definition d_menu_fmap_map.h:25
s16 field_0x168
Definition d_menu_fmap_map.h:22
Definition d_map_path.h:34
Definition d_map_path.h:15