Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
Loading...
Searching...
No Matches
d_map_path_dmap.h
Go to the documentation of this file.
1#ifndef D_MAP_D_MAP_PATH_DMAP_H
2#define D_MAP_D_MAP_PATH_DMAP_H
3
4#include "d/d_tresure.h"
5#include "d/d_map_path.h"
6
9
10class dMpath_c {
11public:
12 /* 8003F758 */ static bool isExistMapPathData();
13 /* 8003F760 */ static int getTopBottomFloorNo(s8*, s8*);
14 /* 8003F7E8 */ static void createWork();
15 /* 8003FA40 */ static void setPointer(s8, void*, int);
16 /* 8003F810 */ static int setPointer(dDrawPath_c::room_class*, s8*, s8*);
17 /* 8003FB70 */ static void create();
18 /* 8003FBD0 */ static void reset();
19 /* 8003FC70 */ static void remove();
21 return mLayerList->mRooms[layerNo][roomNo];
22 }
23
24 static f32 getMinX() { return mMinX; }
25 static f32 getMinZ() { return mMinZ; }
26 static f32 getMaxX() { return mMaxX; }
27 static f32 getMaxZ() { return mMaxZ; }
28
29 static dDrawPath_c::layer_data* mLayerList; // this doesn't seem right, but can't figure it out atm
30 static f32 mMinX;
31 static f32 mMaxX;
32 static f32 mMinZ;
33 static f32 mMaxZ;
34 static f32 mAllCenterX;
35 static f32 mAllCenterZ;
36 static f32 mAllSizeX;
37 static f32 mAllSizeZ;
40};
41
42struct dMapInfo_n {
43 /* 8003ECA0 */ static bool chkGetCompass();
44 /* 8003ECD8 */ static bool chkGetMap();
45 /* 8003ED10 */ static bool isVisitedRoom(int);
46 /* 8003ED60 */ static void correctionOriginPos(s8, Vec*);
47 /* 8003EDC0 */ static void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
48 /* 8003EDEC */ static void rotAngle(dStage_FileList2_dt_c const*, Vec*);
49 /* 8003EE5C */ static Vec getMapPlayerPos();
50 /* 8003EF20 */ static s16 getMapPlayerAngleY();
51 /* 8003EF70 */ static const dTres_c::typeGroupData_c* getConstRestartIconPointer();
52 /* 8003F02C */ static Vec getMapRestartPos();
53 /* 8003F0F8 */ static s16 getMapRestartAngleY();
54 /* 8003F19C */ static void getRoomCenter(int, f32*, f32*);
55 /* 8003F1F4 */ static void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
56 /* 8003F24C */ static void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
57};
58
59class dMapInfo_c {
60public:
61 /* 8003F40C */ static s8 calcFloorNo(f32, bool, int);
62 /* 8003F570 */ static s8 calcNowStayFloorNo(f32, bool);
63 /* 8003F6C8 */ static void move(int, f32);
64 /* 8003F6FC */ static void init();
65 /* 8003F714 */ static void reset();
66 /* 8003F734 */ static void create();
67 /* 8003F754 */ static void remove();
68
78
80 static int getNextRoomNoForMapPat0() { return mNextRoomNo; }
81
82 static int mNextRoomNo;
83 static int mNowStayRoomNo;
86};
87
89public:
91 mRoomNo = 0;
92 field_0x28 = 0;
93 mRoomNoSingle = 0;
95 mIsDraw = false;
96 }
97
98 /* 8003FCA4 */ s8 calcFloorNoForObjectByMapPathRend(f32, int) const;
99 /* 8003FCC8 */ void init(u8*, u16, u16, u16, u16);
100 /* 8003FD08 */ void entry(f32, f32, f32, int, s8);
101 /* 8003FE6C */ void setSingleRoomSetting();
102 /* 8003FFF4 */ int getFirstDrawRoomNo();
103 /* 80040094 */ int getNextDrawRoomNo(int);
104
105 /* 8003FE18 */ virtual void draw();
106 /* 8002B150 */ virtual ~renderingDAmap_c() {}
107 /* 8003FD9C */ virtual bool isSwitch(dDrawPath_c::group_class const*);
108 /* 8003FE54 */ virtual bool isRenderingFloor(int);
111 /* 8003FF14 */ virtual void preDrawPath();
112 /* 8003FFC4 */ virtual void postDrawPath();
113 /* 800402C0 */ virtual bool isDrawPath();
114 /* 8003FE4C */ virtual const GXColor* getBackColor() const;
115 /* 800402E0 */ virtual int getFirstDrawLayerNo();
116 /* 800402E8 */ virtual int getNextDrawLayerNo(int);
117
118 // See cpp for argument type change comment
119 /* 800409E0 */ virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
120 Vec const*) const;
121 /* 80040AE4 */ virtual int getIconGroupNumber(u8) const;
122 virtual bool hasMap() const = 0;
123 virtual bool isRendAllRoom() const = 0;
124 virtual bool isRendDoor() const = 0;
125 virtual bool isCheckFloor() const = 0;
126 virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
127 /* 8003FFEC */ virtual int getRoomNoSingle();
128 /* 8003FE70 */ virtual bool isDrawRoom(int, int) const;
129 /* 800409B4 */ virtual bool isDrawRoomIcon(int, int) const;
130
131 bool isDraw() const { return mIsDraw; }
132
133 /* 0x24 */ int mRoomNo;
134 /* 0x28 */ int field_0x28;
135 /* 0x2C */ int mRoomNoSingle;
136 /* 0x30 */ s8 mRenderedFloor;
137 /* 0x31 */ bool mIsDraw;
138}; // Size: 0x34
139
141
143public:
145 /* 80040574 */ void drawDoor1();
146 /* 800405B8 */ void drawDoor2();
147 /* 800405FC */ void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
148 /* 80040710 */ bool checkDispDoorS(int, int, f32);
149 /* 80040838 */ void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
150
151 /* 8002B0B4 */ virtual ~renderingPlusDoor_c() {}
152 /* 8004145C */ virtual void beforeDrawPath();
153 /* 80040518 */ virtual void afterDrawPath();
154 virtual bool isRendRestart() const = 0;
155 virtual bool isRendCursor() const = 0;
156 virtual bool isRendIcon() const = 0;
157};
158
160public:
161 /* 80040B00 */ void drawTreasure();
162 /* 80040E84 */ void drawTreasureAfterPlayer();
163 /* 80041208 */ void drawIconSingle(Vec const&, f32, f32);
164 /* 800412C0 */ void drawCursor(Vec const&, s16, int, f32);
166
167 /* 8002B008 */ virtual ~renderingPlusDoorAndCursor_c() {}
168 /* 800402FC */ virtual void afterDrawPath();
169 virtual f32 getIconSize(u8) const = 0;
170 /* 80040ADC */ virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
171 /* 80040A94 */ virtual dTres_c::typeGroupData_c* getFirstData(u8);
175};
176
177#endif /* D_MAP_D_MAP_PATH_DMAP_H */
T cLib_calcTimer(T *value)
Definition c_lib.h:74
Definition d_stage.h:224
Definition d_map_path_dmap.h:159
virtual f32 getPlayerCursorSize()=0
void drawTreasure()
Definition d_map_path_dmap.cpp:1093
renderingPlusDoorAndCursor_c()
Definition d_map_path_dmap.h:165
virtual f32 getIconSize(u8) const =0
virtual const Vec * getIconPosition(dTres_c::typeGroupData_c *) const
Definition d_map_path_dmap.cpp:1045
void drawCursor(Vec const &, s16, int, f32)
Definition d_map_path_dmap.cpp:1271
virtual f32 getRestartCursorSize()=0
void drawIconSingle(Vec const &, f32, f32)
Definition d_map_path_dmap.cpp:1251
virtual dTres_c::typeGroupData_c * getFirstData(u8)
Definition d_map_path_dmap.cpp:1031
void drawTreasureAfterPlayer()
Definition d_map_path_dmap.cpp:1172
virtual dTres_c::typeGroupData_c * getNextData(dTres_c::typeGroupData_c *)
Definition d_map_path_dmap.cpp:1038
virtual ~renderingPlusDoorAndCursor_c()
Definition d_map_path_dmap.h:167
virtual void afterDrawPath()
Definition d_map_path_dmap.cpp:834
Definition d_a_hozelda.cpp:18
Definition d_a_ep.cpp:68
Definition d_menu_dmap_map.cpp:56
Definition d_map_path.h:45
Definition d_menu_dmap_map.cpp:54
Definition d_menu_dmap_map.cpp:148
static void setNextRoomNoForMapPat0(int i_roomNo)
Definition d_map_path_dmap.h:79
static s8 mNowStayFloorNo
Definition d_map_path_dmap.h:84
static int mNextRoomNo
Definition d_map_path_dmap.h:82
static void reset()
Definition d_map_path_dmap.cpp:353
static int getNextRoomNoForMapPat0()
Definition d_map_path_dmap.h:80
static s8 getNowStayFloorNo()
Definition d_map_path_dmap.h:69
static void init()
Definition d_map_path_dmap.cpp:346
static u8 mNowStayFloorNoDecisionFlg
Definition d_map_path_dmap.h:85
static void create()
Definition d_map_path_dmap.cpp:358
static s8 calcFloorNo(f32, bool, int)
Definition d_map_path_dmap.cpp:260
static s8 calcNowStayFloorNo(f32, bool)
static int mNowStayRoomNo
Definition d_map_path_dmap.h:83
static void move(int, f32)
Definition d_map_path_dmap.cpp:339
static void remove()
Definition d_map_path_dmap.cpp:363
Definition d_menu_dmap_map.cpp:136
static bool isVisitedRoom(int)
static const dTres_c::typeGroupData_c * getConstRestartIconPointer()
Definition d_map_path_dmap.cpp:108
static Vec getMapPlayerPos()
static void getRoomCenter(int, f32 *, f32 *)
static void offsetPlus(dStage_FileList2_dt_c const *, Vec *)
Definition d_map_path_dmap.cpp:40
static bool chkGetMap()
static s16 getMapRestartAngleY()
static void getFloorParameter(f32, s8 *, f32 *, f32 *, f32 *, f32 *)
Definition d_map_path_dmap.cpp:220
static void correctionOriginPos(s8, Vec *)
Definition d_map_path_dmap.cpp:29
static bool chkGetCompass()
static void getRoomMinMaxXZ(int, f32 *, f32 *, f32 *, f32 *)
static s16 getMapPlayerAngleY()
static Vec getMapRestartPos()
static void rotAngle(dStage_FileList2_dt_c const *, Vec *)
Definition d_map_path_dmap.cpp:51
Definition d_menu_dmap_map.cpp:122
static s8 mBottomFloorNo
Definition d_map_path_dmap.h:38
static f32 mMinZ
Definition d_map_path_dmap.h:32
static int getTopBottomFloorNo(s8 *, s8 *)
static f32 getMinX()
Definition d_map_path_dmap.h:24
static f32 mAllCenterZ
Definition d_menu_dmap_map.cpp:127
static dDrawPath_c::room_class * getRoomPointer(int layerNo, int roomNo)
Definition d_map_path_dmap.h:20
static f32 mMaxX
Definition d_map_path_dmap.h:31
static u8 mLayerList[4]
Definition d_menu_dmap_map.cpp:125
static bool isExistMapPathData()
Definition d_map_path_dmap.cpp:398
static dDrawPath_c::layer_data * mLayerList
Definition d_map_path_dmap.h:29
static void setPointer(s8, void *, int)
Definition d_map_path_dmap.cpp:524
static f32 mAllSizeX
Definition d_menu_dmap_map.cpp:128
static f32 mAllSizeZ
Definition d_menu_dmap_map.cpp:129
static f32 mMaxZ
Definition d_map_path_dmap.h:33
static f32 getMaxZ()
Definition d_map_path_dmap.h:27
static void createWork()
Definition d_map_path_dmap.cpp:435
static s8 mTopFloorNo
Definition d_map_path_dmap.h:39
static f32 getMinZ()
Definition d_map_path_dmap.h:25
static f32 getMaxX()
Definition d_map_path_dmap.h:26
static void reset()
Definition d_map_path_dmap.cpp:584
static f32 mMinX
Definition d_map_path_dmap.h:30
static void remove()
Definition d_map_path_dmap.cpp:604
static f32 mAllCenterX
Definition d_menu_dmap_map.cpp:126
static void create()
Definition d_map_path_dmap.cpp:568
Definition d_menu_dmap_map.cpp:115
Definition d_menu_dmap_map.cpp:18
Definition d_menu_dmap_map.cpp:20
Definition d_menu_dmap_map.cpp:68
virtual bool isDrawPath()
virtual ~renderingDAmap_c()
Definition d_map_path_dmap.h:106
virtual int getNextDrawLayerNo(int)
void setSingleRoomSetting()
Definition d_map_path_dmap.cpp:678
virtual bool isDrawIconSingle(dTres_c::data_s const *, int, int, bool, bool, Vec const *) const
void entry(f32, f32, f32, int, s8)
virtual dDrawPath_c::room_class * getNextRoomPointer()
int mRoomNo
Definition d_map_path_dmap.h:133
int getNextDrawRoomNo(int)
Definition d_map_path_dmap.cpp:745
virtual bool isDrawIconSingle2(dTres_c::data_s const *, bool, bool, int) const =0
int mRoomNoSingle
Definition d_map_path_dmap.h:135
virtual bool isSwitch(dDrawPath_c::group_class const *)
virtual int getIconGroupNumber(u8) const
int getFirstDrawRoomNo()
Definition d_map_path_dmap.cpp:730
virtual int getFirstDrawLayerNo()
s8 calcFloorNoForObjectByMapPathRend(f32, int) const
Definition d_map_path_dmap.cpp:612
virtual void draw()
renderingDAmap_c()
Definition d_map_path_dmap.h:90
virtual bool isCheckFloor() const =0
bool isDraw() const
Definition d_map_path_dmap.h:131
virtual bool isDrawRoomIcon(int, int) const
virtual bool isRendDoor() const =0
virtual void postDrawPath()
void init(u8 *, u16, u16, u16, u16)
virtual bool isRendAllRoom() const =0
s8 mRenderedFloor
Definition d_map_path_dmap.h:136
virtual bool hasMap() const =0
virtual const GXColor * getBackColor() const
virtual int getRoomNoSingle()
virtual bool isDrawRoom(int, int) const
bool mIsDraw
Definition d_map_path_dmap.h:137
virtual dDrawPath_c::room_class * getFirstRoomPointer()
virtual bool isRenderingFloor(int)
int field_0x28
Definition d_map_path_dmap.h:134
virtual void preDrawPath()
Definition d_menu_dmap_map.cpp:13
virtual ~renderingPlusDoor_c()
Definition d_map_path_dmap.h:151
renderingPlusDoor_c()
Definition d_map_path_dmap.h:144
void drawDoor2()
Definition d_map_path_dmap.cpp:893
virtual bool isRendCursor() const =0
void drawNormalDoorS(stage_tgsc_data_class const *, int, int, bool)
Definition d_map_path_dmap.cpp:963
void drawDoorCommon(stage_tgsc_data_class const *, int, bool)
Definition d_map_path_dmap.cpp:912
void drawDoor1()
Definition d_map_path_dmap.cpp:886
virtual void afterDrawPath()
virtual void beforeDrawPath()
Definition d_map_path_dmap.cpp:1310
virtual bool isRendRestart() const =0
virtual bool isRendIcon() const =0
bool checkDispDoorS(int, int, f32)
Definition d_map_path_dmap.cpp:941
Definition d_stage.h:196
signed char s8
Definition types.h:4
float f32
Definition types.h:22
signed short s16
Definition types.h:5
unsigned short u16
Definition types.h:9
unsigned char u8
Definition types.h:8