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 static bool isExistMapPathData();
13 static int getTopBottomFloorNo(s8*, s8*);
14 static void createWork();
15 static void setPointer(s8, void*, int);
16 static int setPointer(dDrawPath_c::room_class*, s8*, s8*);
17 static void create();
18 static void reset();
19 static void remove();
20
21 static dDrawPath_c::room_class* getRoomPointer(int layerNo, int roomNo) {
22 return mLayerList->mRooms[layerNo][roomNo];
23 }
24
25 static f32 getMinX() { return mMinX; }
26 static f32 getMinZ() { return mMinZ; }
27 static f32 getMaxX() { return mMaxX; }
28 static f32 getMaxZ() { return mMaxZ; }
29
30 static f32 getSizeX() { return mAllSizeX; }
31 static f32 getSizeZ() { return mAllSizeZ; }
32
33 static f32 getCenterX() { return mAllCenterX; }
34 static f32 getCenterZ() { return mAllCenterZ; }
35
36 static dDrawPath_c::layer_data* mLayerList; // this doesn't seem right, but can't figure it out atm
37 static f32 mMinX;
38 static f32 mMaxX;
39 static f32 mMinZ;
40 static f32 mMaxZ;
43 static f32 mAllSizeX;
44 static f32 mAllSizeZ;
47};
48
49struct dMapInfo_n {
50 static bool chkGetCompass();
51 static bool chkGetMap();
52 static bool isVisitedRoom(int);
53 static void correctionOriginPos(s8, Vec*);
54 static void offsetPlus(dStage_FileList2_dt_c const*, Vec*);
55 static void rotAngle(dStage_FileList2_dt_c const*, Vec*);
56 static Vec getMapPlayerPos();
57 static s16 getMapPlayerAngleY();
59 static Vec getMapRestartPos();
60 static s16 getMapRestartAngleY();
61 static void getRoomCenter(int, f32*, f32*);
62 static void getRoomMinMaxXZ(int, f32*, f32*, f32*, f32*);
63 static void getFloorParameter(f32, s8*, f32*, f32*, f32*, f32*);
64};
65
67public:
68 static s8 calcFloorNo(f32, bool, int);
69 static s8 calcNowStayFloorNo(f32, bool);
70 static void move(int, f32);
71 static void init();
72 static void reset();
73 static void create();
74 static void remove();
75
77 JUT_ASSERT(0, mNowStayFloorNoDecisionFlg);
78
79 s8 floor_no = 0;
81 floor_no = mNowStayFloorNo;
82 }
83 return floor_no;
84 }
85
89
90 static void setNextRoomNoForMapPat0(int i_roomNo) { mNextRoomNo = i_roomNo; }
91 static int getNextRoomNoForMapPat0() { return mNextRoomNo; }
92
93 static int mNextRoomNo;
94 static int mNowStayRoomNo;
97};
98
100public:
102 mRoomNo = 0;
103 field_0x28 = 0;
104 mRoomNoSingle = 0;
105 mRenderedFloor = 0;
106 mIsDraw = false;
107 }
108
110 void init(u8*, u16, u16, u16, u16);
111 void entry(f32, f32, f32, int, s8);
113 int getFirstDrawRoomNo();
114 int getNextDrawRoomNo(int);
115
116 virtual void draw();
117 virtual ~renderingDAmap_c() {}
118 virtual bool isSwitch(dDrawPath_c::group_class const*);
119 virtual bool isRenderingFloor(int);
122 virtual void preDrawPath();
123 virtual void postDrawPath();
124 virtual bool isDrawPath();
125 virtual const GXColor* getBackColor() const;
126 virtual int getFirstDrawLayerNo();
127 virtual int getNextDrawLayerNo(int);
128
129 virtual bool isDrawIconSingle(dTres_c::data_s const*, int, int, bool, bool,
130 Vec const*) const;
131 virtual int getIconGroupNumber(u8) const;
132 virtual bool hasMap() const = 0;
133 virtual bool isRendAllRoom() const = 0;
134 virtual bool isRendDoor() const = 0;
135 virtual bool isCheckFloor() const = 0;
136 virtual bool isDrawIconSingle2(dTres_c::data_s const*, bool, bool, int) const = 0;
137 virtual int getRoomNoSingle();
138 virtual bool isDrawRoom(int, int) const;
139 virtual bool isDrawRoomIcon(int, int) const;
140
141 bool isDraw() const { return mIsDraw; }
142
143 /* 0x24 */ int mRoomNo;
144 /* 0x28 */ int field_0x28;
145 /* 0x2C */ int mRoomNoSingle;
146 /* 0x30 */ s8 mRenderedFloor;
147 /* 0x31 */ bool mIsDraw;
148}; // Size: 0x34
149
151
153public:
155 void drawDoor1();
156 void drawDoor2();
157 void drawDoorCommon(stage_tgsc_data_class const*, int, bool);
158 bool checkDispDoorS(int, int, f32);
159 void drawNormalDoorS(stage_tgsc_data_class const*, int, int, bool);
160
162 virtual void beforeDrawPath();
163 virtual void afterDrawPath();
164 virtual bool isRendRestart() const = 0;
165 virtual bool isRendCursor() const = 0;
166 virtual bool isRendIcon() const = 0;
167};
168
170public:
171 void drawTreasure();
173 void drawIconSingle(Vec const&, f32, f32);
174 void drawCursor(Vec const&, s16, int, f32);
176
178 virtual void afterDrawPath();
179 virtual f32 getIconSize(u8) const = 0;
180 virtual const Vec* getIconPosition(dTres_c::typeGroupData_c*) const;
185};
186
187#endif /* D_MAP_D_MAP_PATH_DMAP_H */
Definition d_map_path_dmap.h:66
static void setNextRoomNoForMapPat0(int i_roomNo)
Definition d_map_path_dmap.h:90
static s8 mNowStayFloorNo
Definition d_map_path_dmap.h:95
static int mNextRoomNo
Definition d_map_path_dmap.h:93
static void reset()
Definition d_map_path_dmap.cpp:323
static int getNextRoomNoForMapPat0()
Definition d_map_path_dmap.h:91
static s8 getNowStayFloorNo()
Definition d_map_path_dmap.h:76
static void init()
Definition d_map_path_dmap.cpp:317
static u8 mNowStayFloorNoDecisionFlg
Definition d_map_path_dmap.h:96
static void create()
Definition d_map_path_dmap.cpp:327
static u8 getNowStayFloorNoDecisionFlg()
Definition d_map_path_dmap.h:86
static s8 calcNowStayFloorNo(f32, bool)
Definition d_map_path_dmap.cpp:274
static s8 calcFloorNo(f32, bool, int)
Definition d_map_path_dmap.cpp:235
static int mNowStayRoomNo
Definition d_map_path_dmap.h:94
static void move(int, f32)
Definition d_map_path_dmap.cpp:311
static void remove()
Definition d_map_path_dmap.cpp:331
Definition d_map_path_dmap.h:10
static s8 mBottomFloorNo
Definition d_map_path_dmap.h:45
static f32 mMinZ
Definition d_map_path_dmap.h:39
static f32 getCenterX()
Definition d_map_path_dmap.h:33
static f32 getMinX()
Definition d_map_path_dmap.h:25
static f32 mAllSizeX
Definition d_map_path_dmap.h:43
static dDrawPath_c::room_class * getRoomPointer(int layerNo, int roomNo)
Definition d_map_path_dmap.h:21
static f32 getSizeX()
Definition d_map_path_dmap.h:30
static f32 mMaxX
Definition d_map_path_dmap.h:38
static bool isExistMapPathData()
Definition d_map_path_dmap.cpp:354
static f32 mAllSizeZ
Definition d_map_path_dmap.h:44
static int getTopBottomFloorNo(s8 *, s8 *)
Definition d_map_path_dmap.cpp:366
static void setPointer(s8, void *, int)
Definition d_map_path_dmap.cpp:469
static dDrawPath_c::layer_data * mLayerList
Definition d_map_path_dmap.h:36
static f32 mAllCenterX
Definition d_map_path_dmap.h:41
static f32 mMaxZ
Definition d_map_path_dmap.h:40
static f32 getMaxZ()
Definition d_map_path_dmap.h:28
static void createWork()
Definition d_map_path_dmap.cpp:388
static s8 mTopFloorNo
Definition d_map_path_dmap.h:46
static f32 getMinZ()
Definition d_map_path_dmap.h:26
static f32 getMaxX()
Definition d_map_path_dmap.h:27
static f32 getSizeZ()
Definition d_map_path_dmap.h:31
static void reset()
Definition d_map_path_dmap.cpp:525
static f32 mMinX
Definition d_map_path_dmap.h:37
static f32 mAllCenterZ
Definition d_map_path_dmap.h:42
static f32 getCenterZ()
Definition d_map_path_dmap.h:34
static void remove()
Definition d_map_path_dmap.cpp:544
static void create()
Definition d_map_path_dmap.cpp:512
Definition d_map_path.h:88
Definition d_stage.h:312
Definition d_tresure.h:20
Definition d_map_path_dmap.h:99
virtual void postDrawPath()
Definition d_map_path_dmap.cpp:642
virtual int getRoomNoSingle()
Definition d_map_path_dmap.cpp:646
virtual void draw()
Definition d_map_path_dmap.cpp:592
virtual ~renderingDAmap_c()
Definition d_map_path_dmap.h:117
void setSingleRoomSetting()
Definition d_map_path_dmap.cpp:606
virtual bool isRenderingFloor(int)
Definition d_map_path_dmap.cpp:602
void entry(f32, f32, f32, int, s8)
Definition d_map_path_dmap.cpp:570
virtual bool isDrawRoomIcon(int, int) const
Definition d_map_path_dmap.cpp:903
virtual int getIconGroupNumber(u8) const
Definition d_map_path_dmap.cpp:936
int mRoomNo
Definition d_map_path_dmap.h:143
int getNextDrawRoomNo(int)
Definition d_map_path_dmap.cpp:664
virtual dDrawPath_c::room_class * getFirstRoomPointer()
Definition d_map_path_dmap.cpp:686
virtual bool isDrawIconSingle2(dTres_c::data_s const *, bool, bool, int) const =0
virtual int getNextDrawLayerNo(int)
Definition d_map_path_dmap.cpp:737
int mRoomNoSingle
Definition d_map_path_dmap.h:145
virtual bool isDrawRoom(int, int) const
Definition d_map_path_dmap.cpp:608
int getFirstDrawRoomNo()
Definition d_map_path_dmap.cpp:650
s8 calcFloorNoForObjectByMapPathRend(f32, int) const
Definition d_map_path_dmap.cpp:550
renderingDAmap_c()
Definition d_map_path_dmap.h:101
virtual void preDrawPath()
Definition d_map_path_dmap.cpp:616
virtual int getFirstDrawLayerNo()
Definition d_map_path_dmap.cpp:733
virtual bool isCheckFloor() const =0
bool isDraw() const
Definition d_map_path_dmap.h:141
virtual bool isRendDoor() const =0
virtual bool isDrawPath()
Definition d_map_path_dmap.cpp:729
virtual dDrawPath_c::room_class * getNextRoomPointer()
Definition d_map_path_dmap.cpp:704
virtual const GXColor * getBackColor() const
Definition d_map_path_dmap.cpp:597
virtual bool isRendAllRoom() const =0
s8 mRenderedFloor
Definition d_map_path_dmap.h:146
virtual bool isSwitch(dDrawPath_c::group_class const *)
Definition d_map_path_dmap.cpp:582
virtual bool hasMap() const =0
bool mIsDraw
Definition d_map_path_dmap.h:147
virtual bool isDrawIconSingle(dTres_c::data_s const *, int, int, bool, bool, Vec const *) const
Definition d_map_path_dmap.cpp:907
int field_0x28
Definition d_map_path_dmap.h:144
Definition d_map_path_dmap.h:169
virtual f32 getPlayerCursorSize()=0
void drawTreasure()
Definition d_map_path_dmap.cpp:966
renderingPlusDoorAndCursor_c()
Definition d_map_path_dmap.h:175
virtual f32 getIconSize(u8) const =0
virtual const Vec * getIconPosition(dTres_c::typeGroupData_c *) const
Definition d_map_path_dmap.cpp:932
void drawCursor(Vec const &, s16, int, f32)
Definition d_map_path_dmap.cpp:1132
virtual f32 getRestartCursorSize()=0
void drawIconSingle(Vec const &, f32, f32)
Definition d_map_path_dmap.cpp:1114
virtual dTres_c::typeGroupData_c * getFirstData(u8)
Definition d_map_path_dmap.cpp:922
void drawTreasureAfterPlayer()
Definition d_map_path_dmap.cpp:1040
virtual dTres_c::typeGroupData_c * getNextData(dTres_c::typeGroupData_c *)
Definition d_map_path_dmap.cpp:927
virtual ~renderingPlusDoorAndCursor_c()
Definition d_map_path_dmap.h:177
virtual void afterDrawPath()
Definition d_map_path_dmap.cpp:746
Definition d_map_path_dmap.h:152
virtual ~renderingPlusDoor_c()
Definition d_map_path_dmap.h:161
renderingPlusDoor_c()
Definition d_map_path_dmap.h:154
void drawDoor2()
Definition d_map_path_dmap.cpp:800
virtual bool isRendCursor() const =0
void drawNormalDoorS(stage_tgsc_data_class const *, int, int, bool)
Definition d_map_path_dmap.cpp:868
void drawDoorCommon(stage_tgsc_data_class const *, int, bool)
Definition d_map_path_dmap.cpp:813
void drawDoor1()
Definition d_map_path_dmap.cpp:795
virtual void beforeDrawPath()
Definition d_map_path_dmap.cpp:1170
virtual bool isRendRestart() const =0
virtual bool isRendIcon() const =0
bool checkDispDoorS(int, int, f32)
Definition d_map_path_dmap.cpp:841
virtual void afterDrawPath()
Definition d_map_path_dmap.cpp:788
static initFunc init[]
Definition d_menu_collect.cpp:39
signed char s8
Definition types.h:7
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
unsigned short int u16
Definition types.h:10
unsigned char u8
Definition types.h:8
Definition mtx.h:13
Definition GXStruct.h:30
Definition d_map_path.h:22
Definition d_map_path.h:45
room_class * mRooms[0x2][0x40]
Definition d_map_path.h:46
Definition d_map_path.h:39
Definition d_map_path_dmap.h:49
static const dTres_c::typeGroupData_c * getConstRestartIconPointer()
Definition d_map_path_dmap.cpp:96
static s16 getMapPlayerAngleY()
Definition d_map_path_dmap.cpp:79
static Vec getMapPlayerPos()
Definition d_map_path_dmap.cpp:59
static void offsetPlus(dStage_FileList2_dt_c const *, Vec *)
Definition d_map_path_dmap.cpp:36
static void getFloorParameter(f32, s8 *, f32 *, f32 *, f32 *, f32 *)
Definition d_map_path_dmap.cpp:200
static void correctionOriginPos(s8, Vec *)
Definition d_map_path_dmap.cpp:27
static bool chkGetMap()
Definition d_map_path_dmap.cpp:19
static Vec getMapRestartPos()
Definition d_map_path_dmap.cpp:119
static s16 getMapRestartAngleY()
Definition d_map_path_dmap.cpp:136
static bool isVisitedRoom(int)
Definition d_map_path_dmap.cpp:23
static bool chkGetCompass()
Definition d_map_path_dmap.cpp:15
static void getRoomCenter(int, f32 *, f32 *)
Definition d_map_path_dmap.cpp:163
static void rotAngle(dStage_FileList2_dt_c const *, Vec *)
Definition d_map_path_dmap.cpp:45
static void getRoomMinMaxXZ(int, f32 *, f32 *, f32 *, f32 *)
Definition d_map_path_dmap.cpp:179
Definition d_tresure.h:8
Definition d_stage.h:204