yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
common.h
Go to the documentation of this file.
1#ifndef YAZE_APP_ZELDA3_COMMON_H
2#define YAZE_APP_ZELDA3_COMMON_H
3
4namespace yaze {
5namespace app {
10namespace zelda3 {
11
15using OWBlockset = std::vector<std::vector<uint16_t>>;
16
25using OWMapTiles = struct OWMapTiles;
26
32 public:
44 int x_;
45 int y_;
49 uint16_t map_id_;
50
51 auto set_x(int x) { x_ = x; }
52 auto set_y(int y) { y_ = y; }
53
54 GameEntity() = default;
55
56 virtual void UpdateMapProperties(uint16_t map_id) = 0;
57};
58
59static const std::string TileTypeNames[] = {
60 "$00 Nothing (standard floor)",
61 "$01 Collision",
62 "$02 Collision",
63 "$03 Collision",
64 "$04 Collision",
65 "$05 Nothing (unused?)",
66 "$06 Nothing (unused?)",
67 "$07 Nothing (unused?)",
68 "$08 Deep water",
69 "$09 Shallow water",
70 "$0A Unknown? Possibly unused",
71 "$0B Collision (different in Overworld and unknown)",
72 "$0C Overlay mask",
73 "$0D Spike floor",
74 "$0E GT ice",
75 "$0F Ice palace ice",
76 "$10 Slope ◤",
77 "$11 Slope ◥",
78 "$12 Slope ◣",
79 "$13 Slope ◢",
80 "$14 Nothing (unused?)",
81 "$15 Nothing (unused?)",
82 "$16 Nothing (unused?)",
83 "$17 Nothing (unused?)",
84 "$18 Slope ◤",
85 "$19 Slope ◥",
86 "$1A Slope ◣",
87 "$1B Slope ◢",
88 "$1C Layer 2 overlay",
89 "$1D North single-layer auto stairs",
90 "$1E North layer-swap auto stairs",
91 "$1F North layer-swap auto stairs",
92 "$20 Pit",
93 "$21 Nothing (unused?)",
94 "$22 Manual stairs",
95 "$23 Pot switch",
96 "$24 Pressure switch",
97 "$25 Nothing (unused but referenced by somaria blocks)",
98 "$26 Collision (near stairs?)",
99 "$27 Brazier/Fence/Statue/Block/General hookable things",
100 "$28 North ledge",
101 "$29 South ledge",
102 "$2A East ledge",
103 "$2B West ledge",
104 "$2C ◤ ledge",
105 "$2D ◣ ledge",
106 "$2E ◥ ledge",
107 "$2F ◢ ledge",
108 "$30 Straight inter-room stairs south/up 0",
109 "$31 Straight inter-room stairs south/up 1",
110 "$32 Straight inter-room stairs south/up 2",
111 "$33 Straight inter-room stairs south/up 3",
112 "$34 Straight inter-room stairs north/down 0",
113 "$35 Straight inter-room stairs north/down 1",
114 "$36 Straight inter-room stairs north/down 2",
115 "$37 Straight inter-room stairs north/down 3",
116 "$38 Straight inter-room stairs north/down edge",
117 "$39 Straight inter-room stairs south/up edge",
118 "$3A Star tile (inactive on load)",
119 "$3B Star tile (active on load)",
120 "$3C Nothing (unused?)",
121 "$3D South single-layer auto stairs",
122 "$3E South layer-swap auto stairs",
123 "$3F South layer-swap auto stairs",
124 "$40 Thick grass",
125 "$41 Nothing (unused?)",
126 "$42 Gravestone / Tower of hera ledge shadows??",
127 "$43 Skull Woods entrance/Hera columns???",
128 "$44 Spike",
129 "$45 Nothing (unused?)",
130 "$46 Desert Tablet",
131 "$47 Nothing (unused?)",
132 "$48 Diggable ground",
133 "$49 Nothing (unused?)",
134 "$4A Diggable ground",
135 "$4B Warp tile",
136 "$4C Nothing (unused?) | Something unknown in overworld",
137 "$4D Nothing (unused?) | Something unknown in overworld",
138 "$4E Square corners in EP overworld",
139 "$4F Square corners in EP overworld",
140 "$50 Green bush",
141 "$51 Dark bush",
142 "$52 Gray rock",
143 "$53 Black rock",
144 "$54 Hint tile/Sign",
145 "$55 Big gray rock",
146 "$56 Big black rock",
147 "$57 Bonk rocks",
148 "$58 Chest 0",
149 "$59 Chest 1",
150 "$5A Chest 2",
151 "$5B Chest 3",
152 "$5C Chest 4",
153 "$5D Chest 5",
154 "$5E Spiral stairs",
155 "$5F Spiral stairs",
156 "$60 Rupee tile",
157 "$61 Nothing (unused?)",
158 "$62 Bombable floor",
159 "$63 Minigame chest",
160 "$64 Nothing (unused?)",
161 "$65 Nothing (unused?)",
162 "$66 Crystal peg down",
163 "$67 Crystal peg up",
164 "$68 Upwards conveyor",
165 "$69 Downwards conveyor",
166 "$6A Leftwards conveyor",
167 "$6B Rightwards conveyor",
168 "$6C North vines",
169 "$6D South vines",
170 "$6E West vines",
171 "$6F East vines",
172 "$70 Pot/Hammer peg/Push block 00",
173 "$71 Pot/Hammer peg/Push block 01",
174 "$72 Pot/Hammer peg/Push block 02",
175 "$73 Pot/Hammer peg/Push block 03",
176 "$74 Pot/Hammer peg/Push block 04",
177 "$75 Pot/Hammer peg/Push block 05",
178 "$76 Pot/Hammer peg/Push block 06",
179 "$77 Pot/Hammer peg/Push block 07",
180 "$78 Pot/Hammer peg/Push block 08",
181 "$79 Pot/Hammer peg/Push block 09",
182 "$7A Pot/Hammer peg/Push block 0A",
183 "$7B Pot/Hammer peg/Push block 0B",
184 "$7C Pot/Hammer peg/Push block 0C",
185 "$7D Pot/Hammer peg/Push block 0D",
186 "$7E Pot/Hammer peg/Push block 0E",
187 "$7F Pot/Hammer peg/Push block 0F",
188 "$80 North/South door",
189 "$81 East/West door",
190 "$82 North/South shutter door",
191 "$83 East/West shutter door",
192 "$84 North/South layer 2 door",
193 "$85 East/West layer 2 door",
194 "$86 North/South layer 2 shutter door",
195 "$87 East/West layer 2 shutter door",
196 "$88 Some type of door (?)",
197 "$89 East/West transport door",
198 "$8A Some type of door (?)",
199 "$8B Some type of door (?)",
200 "$8C Some type of door (?)",
201 "$8D Some type of door (?)",
202 "$8E Entrance door",
203 "$8F Entrance door",
204 "$90 Layer toggle shutter door (?)",
205 "$91 Layer toggle shutter door (?)",
206 "$92 Layer toggle shutter door (?)",
207 "$93 Layer toggle shutter door (?)",
208 "$94 Layer toggle shutter door (?)",
209 "$95 Layer toggle shutter door (?)",
210 "$96 Layer toggle shutter door (?)",
211 "$97 Layer toggle shutter door (?)",
212 "$98 Layer+Dungeon toggle shutter door (?)",
213 "$99 Layer+Dungeon toggle shutter door (?)",
214 "$9A Layer+Dungeon toggle shutter door (?)",
215 "$9B Layer+Dungeon toggle shutter door (?)",
216 "$9C Layer+Dungeon toggle shutter door (?)",
217 "$9D Layer+Dungeon toggle shutter door (?)",
218 "$9E Layer+Dungeon toggle shutter door (?)",
219 "$9F Layer+Dungeon toggle shutter door (?)",
220 "$A0 North/South Dungeon swap door",
221 "$A1 Dungeon toggle door (?)",
222 "$A2 Dungeon toggle door (?)",
223 "$A3 Dungeon toggle door (?)",
224 "$A4 Dungeon toggle door (?)",
225 "$A5 Dungeon toggle door (?)",
226 "$A6 Nothing (unused?)",
227 "$A7 Nothing (unused?)",
228 "$A8 Layer+Dungeon toggle shutter door (?)",
229 "$A9 Layer+Dungeon toggle shutter door (?)",
230 "$AA Layer+Dungeon toggle shutter door (?)",
231 "$AB Layer+Dungeon toggle shutter door (?)",
232 "$AC Layer+Dungeon toggle shutter door (?)",
233 "$AD Layer+Dungeon toggle shutter door (?)",
234 "$AE Layer+Dungeon toggle shutter door (?)",
235 "$AF Layer+Dungeon toggle shutter door (?)",
236 "$B0 Somaria ─",
237 "$B1 Somaria │",
238 "$B2 Somaria ┌",
239 "$B3 Somaria └",
240 "$B4 Somaria ┐",
241 "$B5 Somaria ┘",
242 "$B6 Somaria ⍰ 1 way",
243 "$B7 Somaria ┬",
244 "$B8 Somaria ┴",
245 "$B9 Somaria ├",
246 "$BA Somaria ┤",
247 "$BB Somaria ┼",
248 "$BC Somaria ⍰ 2 way",
249 "$BD Somaria ┼ crossover",
250 "$BE Pipe entrance",
251 "$BF Nothing (unused?)",
252 "$C0 Torch 00",
253 "$C1 Torch 01",
254 "$C2 Torch 02",
255 "$C3 Torch 03",
256 "$C4 Torch 04",
257 "$C5 Torch 05",
258 "$C6 Torch 06",
259 "$C7 Torch 07",
260 "$C8 Torch 08",
261 "$C9 Torch 09",
262 "$CA Torch 0A",
263 "$CB Torch 0B",
264 "$CC Torch 0C",
265 "$CD Torch 0D",
266 "$CE Torch 0E",
267 "$CF Torch 0F",
268 "$D0 Nothing (unused?)",
269 "$D1 Nothing (unused?)",
270 "$D2 Nothing (unused?)",
271 "$D3 Nothing (unused?)",
272 "$D4 Nothing (unused?)",
273 "$D5 Nothing (unused?)",
274 "$D6 Nothing (unused?)",
275 "$D7 Nothing (unused?)",
276 "$D8 Nothing (unused?)",
277 "$D9 Nothing (unused?)",
278 "$DA Nothing (unused?)",
279 "$DB Nothing (unused?)",
280 "$DC Nothing (unused?)",
281 "$DD Nothing (unused?)",
282 "$DE Nothing (unused?)",
283 "$DF Nothing (unused?)",
284 "$E0 Nothing (unused?)",
285 "$E1 Nothing (unused?)",
286 "$E2 Nothing (unused?)",
287 "$E3 Nothing (unused?)",
288 "$E4 Nothing (unused?)",
289 "$E5 Nothing (unused?)",
290 "$E6 Nothing (unused?)",
291 "$E7 Nothing (unused?)",
292 "$E8 Nothing (unused?)",
293 "$E9 Nothing (unused?)",
294 "$EA Nothing (unused?)",
295 "$EB Nothing (unused?)",
296 "$EC Nothing (unused?)",
297 "$ED Nothing (unused?)",
298 "$EE Nothing (unused?)",
299 "$EF Nothing (unused?)",
300 "$F0 Door 0 bottom",
301 "$F1 Door 1 bottom",
302 "$F2 Door 2 bottom",
303 "$F3 Door 3 bottom",
304 "$F4 Door X bottom? (unused?)",
305 "$F5 Door X bottom? (unused?)",
306 "$F6 Door X bottom? (unused?)",
307 "$F7 Door X bottom? (unused?)",
308 "$F8 Door 0 top",
309 "$F9 Door 1 top",
310 "$FA Door 2 top",
311 "$FB Door 3 top",
312 "$FC Door X top? (unused?)",
313 "$FD Door X top? (unused?)",
314 "$FE Door X top? (unused?)",
315 "$FF Door X top? (unused?)"};
316
317} // namespace zelda3
318} // namespace app
319} // namespace yaze
320
321#endif // YAZE_APP_ZELDA3_COMMON_H
Base class for all overworld and dungeon entities.
Definition common.h:31
virtual void UpdateMapProperties(uint16_t map_id)=0
enum yaze::app::zelda3::GameEntity::EntityType entity_type_
std::vector< std::vector< uint16_t > > OWBlockset
Represents tile32 data for the overworld.
Definition common.h:15
Definition common.cc:21
Overworld map tile32 data.
Definition common.h:20