yaze 0.2.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
room.h
Go to the documentation of this file.
1#ifndef YAZE_APP_ZELDA3_DUNGEON_ROOM_H
2#define YAZE_APP_ZELDA3_DUNGEON_ROOM_H
3
4#include <dungeon.h>
5
6#include <cstdint>
7#include <string_view>
8#include <vector>
9
10#include "app/gfx/bitmap.h"
11#include "app/rom.h"
15#include "util/macro.h"
16
17namespace yaze {
18namespace zelda3 {
19
20// room_object_layout_pointer 0x882D
21// room_object_pointer 0x874C
22// 0x882D -> readlong() -> 2FEF04 (04EF2F -> toPC->026F2F) ->
23
24// 47EF04 ; layout00 ptr
25// AFEF04 ; layout01 ptr
26// F0EF04 ; layout02 ptr
27// 4CF004 ; layout03 ptr
28// A8F004 ; layout04 ptr
29// ECF004 ; layout05 ptr
30// 48F104 ; layout06 ptr
31// A4F104 ; layout07 ptr
32// also they are not exactly the same as rooms
33// the object array is terminated by a 0xFFFF there's no layers
34// in normal room when you encounter a 0xFFFF it goes to the next layer
35
36constexpr int room_object_layout_pointer = 0x882D;
37constexpr int room_object_pointer = 0x874C; // Long pointer
38
39constexpr int dungeons_main_bg_palette_pointers = 0xDEC4B; // JP Same
40constexpr int dungeons_palettes = 0xDD734;
41constexpr int room_items_pointers = 0xDB69; // JP 0xDB67
42constexpr int rooms_sprite_pointer = 0x4C298; // JP Same //2byte bank 09D62E
43constexpr int kRoomHeaderPointer = 0xB5DD; // LONG
44constexpr int kRoomHeaderPointerBank = 0xB5E7; // JP Same
45constexpr int gfx_groups_pointer = 0x6237;
46constexpr int chests_length_pointer = 0xEBF6;
47constexpr int chests_data_pointer1 = 0xEBFB;
48
49constexpr int messages_id_dungeon = 0x3F61D;
50
51constexpr int blocks_length = 0x8896; // Word value
52constexpr int blocks_pointer1 = 0x15AFA;
53constexpr int blocks_pointer2 = 0x15B01;
54constexpr int blocks_pointer3 = 0x15B08;
55constexpr int blocks_pointer4 = 0x15B0F;
56constexpr int torch_data = 0x2736A; // JP 0x2704A
57constexpr int torches_length_pointer = 0x88C1;
58constexpr int sprite_blockset_pointer = 0x5B57;
59
60constexpr int sprites_data = 0x4D8B0;
61constexpr int sprites_data_empty_room = 0x4D8AE;
62constexpr int sprites_end_data = 0x4EC9E;
63constexpr int pit_pointer = 0x394AB;
64constexpr int pit_count = 0x394A6;
65constexpr int doorPointers = 0xF83C0;
66
67// doors
68constexpr int door_gfx_up = 0x4D9E;
69constexpr int door_gfx_down = 0x4E06;
70constexpr int door_gfx_cavexit_down = 0x4E06;
71constexpr int door_gfx_left = 0x4E66;
72constexpr int door_gfx_right = 0x4EC6;
73constexpr int door_pos_up = 0x197E;
74constexpr int door_pos_down = 0x1996;
75constexpr int door_pos_left = 0x19AE;
76constexpr int door_pos_right = 0x19C6;
77
78constexpr int dungeon_spr_ptrs = 0x090000;
79
80constexpr int NumberOfRooms = 296;
81
82constexpr uint16_t stairsObjects[] = {0x139, 0x138, 0x13B, 0x12E, 0x12D};
83
85 uint8_t ID;
86 std::string Name;
90 LayerMergeType() = default;
91 LayerMergeType(uint8_t id, std::string name, bool see, bool top, bool trans) {
92 ID = id;
93 Name = name;
94 Layer2OnTop = top;
95 Layer2Translucent = trans;
96 Layer2Visible = see;
97 }
98};
99
100const static LayerMergeType LayerMerge00{0x00, "Off", true, false, false};
101const static LayerMergeType LayerMerge01{0x01, "Parallax", true, false, false};
102const static LayerMergeType LayerMerge02{0x02, "Dark", true, true, true};
103const static LayerMergeType LayerMerge03{0x03, "On top", true, true, false};
104const static LayerMergeType LayerMerge04{0x04, "Translucent", true, true, true};
105const static LayerMergeType LayerMerge05{0x05, "Addition", true, true, true};
106const static LayerMergeType LayerMerge06{0x06, "Normal", true, false, false};
107const static LayerMergeType LayerMerge07{0x07, "Transparent", true, true, true};
108const static LayerMergeType LayerMerge08{0x08, "Dark room", true, true, true};
109
110const static LayerMergeType kLayerMergeTypeList[] = {
111 LayerMerge00, LayerMerge01, LayerMerge02, LayerMerge03, LayerMerge04,
112 LayerMerge05, LayerMerge06, LayerMerge07, LayerMerge08};
113
114class Room : public SharedRom {
115 public:
116 Room() = default;
117 Room(int room_id) : room_id_(room_id) {}
118 ~Room() = default;
119
120 void LoadHeader();
121 void CalculateRoomSize();
122 void LoadRoomFromROM();
123
124 void LoadRoomGraphics(uint8_t entrance_blockset = 0xFF);
127
128 void LoadObjects();
129 void LoadSprites();
130 void LoadChests();
131
132 auto blocks() const { return blocks_; }
133 auto &mutable_blocks() { return blocks_; }
134 auto layer1() const { return background_bmps_[0]; }
135 auto layer2() const { return background_bmps_[1]; }
136 auto layer3() const { return background_bmps_[2]; }
137 auto room_size() const { return room_size_; }
138 auto room_size_ptr() const { return room_size_pointer_; }
139 auto set_room_size(uint64_t size) { room_size_ = size; }
140
141 uint8_t blockset = 0;
142 uint8_t spriteset = 0;
143 uint8_t palette = 0;
144 uint8_t layout = 0;
145 uint8_t holewarp = 0;
146 uint8_t floor1 = 0;
147 uint8_t floor2 = 0;
148
149 uint16_t message_id_ = 0;
150
152 std::vector<uint8_t> bg1_buffer_;
153 std::vector<uint8_t> bg2_buffer_;
154 std::vector<uint8_t> current_gfx16_;
155
156 private:
161
164
167
171 uint8_t palette_;
175
176 uint64_t room_size_;
178
179 std::array<uint8_t, 16> blocks_;
180 std::array<chest, 16> chest_list_;
181
182 std::array<gfx::Bitmap, 3> background_bmps_;
183 std::vector<RoomObject> tile_objects_;
184 std::vector<zelda3::Sprite> sprites_;
185 std::vector<staircase> z3_staircases_;
186 std::vector<chest_data> chests_in_room_;
187
193
200};
201
202constexpr std::string_view kRoomNames[] = {
203 "Ganon",
204 "Hyrule Castle (North Corridor)",
205 "Behind Sanctuary (Switch)",
206 "Houlihan",
207 "Turtle Rock (Crysta-Roller)",
208 "Empty",
209 "Swamp Palace (Arrghus[Boss])",
210 "Tower of Hera (Moldorm[Boss])",
211 "Cave (Healing Fairy)",
212 "Palace of Darkness",
213 "Palace of Darkness (Stalfos Trap)",
214 "Palace of Darkness (Turtle)",
215 "Ganon's Tower (Entrance)",
216 "Ganon's Tower (Agahnim2[Boss])",
217 "Ice Palace (Entrance )",
218 "Empty Clone ",
219 "Ganon Evacuation Route",
220 "Hyrule Castle (Bombable Stock )",
221 "Sanctuary",
222 "Turtle Rock (Hokku-Bokku Key 2)",
223 "Turtle Rock (Big Key )",
224 "Turtle Rock",
225 "Swamp Palace (Swimming Treadmill)",
226 "Tower of Hera (Moldorm Fall )",
227 "Cave",
228 "Palace of Darkness (Dark Maze)",
229 "Palace of Darkness (Big Chest )",
230 "Palace of Darkness (Mimics / Moving Wall )",
231 "Ganon's Tower (Ice Armos)",
232 "Ganon's Tower (Final Hallway)",
233 "Ice Palace (Bomb Floor / Bari )",
234 "Ice Palace (Pengator / Big Key )",
235 "Agahnim's Tower (Agahnim[Boss])",
236 "Hyrule Castle (Key-rat )",
237 "Hyrule Castle (Sewer Text Trigger )",
238 "Turtle Rock (West Exit to Balcony)",
239 "Turtle Rock (Double Hokku-Bokku / Big chest )",
240 "Empty Clone ",
241 "Swamp Palace (Statue )",
242 "Tower of Hera (Big Chest)",
243 "Swamp Palace (Entrance )",
244 "Skull Woods (Mothula[Boss])",
245 "Palace of Darkness (Big Hub )",
246 "Palace of Darkness (Map Chest / Fairy )",
247 "Cave",
248 "Empty Clone ",
249 "Ice Palace (Compass )",
250 "Cave (Kakariko Well HP)",
251 "Agahnim's Tower (Maiden Sacrifice Chamber)",
252 "Tower of Hera (Hardhat Beetles )",
253 "Hyrule Castle (Sewer Key Chest )",
254 "Desert Palace (Lanmolas[Boss])",
255 "Swamp Palace (Push Block Puzzle / Pre-Big Key )",
256 "Swamp Palace (Big Key / BS )",
257 "Swamp Palace (Big Chest )",
258 "Swamp Palace (Map Chest / Water Fill )",
259 "Swamp Palace (Key Pot )",
260 "Skull Woods (Gibdo Key / Mothula Hole )",
261 "Palace of Darkness (Bombable Floor )",
262 "Palace of Darkness (Spike Block / Conveyor )",
263 "Cave",
264 "Ganon's Tower (Torch 2)",
265 "Ice Palace (Stalfos Knights / Conveyor Hellway)",
266 "Ice Palace (Map Chest )",
267 "Agahnim's Tower (Final Bridge )",
268 "Hyrule Castle (First Dark )",
269 "Hyrule Castle (6 Ropes )",
270 "Desert Palace (Torch Puzzle / Moving Wall )",
271 "Thieves Town (Big Chest )",
272 "Thieves Town (Jail Cells )",
273 "Swamp Palace (Compass Chest )",
274 "Empty Clone ",
275 "Empty Clone ",
276 "Skull Woods (Gibdo Torch Puzzle )",
277 "Palace of Darkness (Entrance )",
278 "Palace of Darkness (Warps / South Mimics )",
279 "Ganon's Tower (Mini-Helmasaur Conveyor )",
280 "Ganon's Tower (Moldorm )",
281 "Ice Palace (Bomb-Jump )",
282 "Ice Palace Clone (Fairy )",
283 "Hyrule Castle (West Corridor)",
284 "Hyrule Castle (Throne )",
285 "Hyrule Castle (East Corridor)",
286 "Desert Palace (Popos 2 / Beamos Hellway )",
287 "Swamp Palace (Upstairs Pits )",
288 "Castle Secret Entrance / Uncle Death ",
289 "Skull Woods (Key Pot / Trap )",
290 "Skull Woods (Big Key )",
291 "Skull Woods (Big Chest )",
292 "Skull Woods (Final Section Entrance )",
293 "Palace of Darkness (Helmasaur King[Boss])",
294 "Ganon's Tower (Spike Pit )",
295 "Ganon's Tower (Ganon-Ball Z)",
296 "Ganon's Tower (Gauntlet 1/2/3)",
297 "Ice Palace (Lonely Firebar)",
298 "Ice Palace (Hidden Chest / Spike Floor )",
299 "Hyrule Castle (West Entrance )",
300 "Hyrule Castle (Main Entrance )",
301 "Hyrule Castle (East Entrance )",
302 "Desert Palace (Final Section Entrance )",
303 "Thieves Town (West Attic )",
304 "Thieves Town (East Attic )",
305 "Swamp Palace (Hidden Chest / Hidden Door )",
306 "Skull Woods (Compass Chest )",
307 "Skull Woods (Key Chest / Trap )",
308 "Empty Clone ",
309 "Palace of Darkness (Rupee )",
310 "Ganon's Tower (Mimics s)",
311 "Ganon's Tower (Lanmolas )",
312 "Ganon's Tower (Gauntlet 4/5)",
313 "Ice Palace (Pengators )",
314 "Empty Clone ",
315 "Hyrule Castle (Small Corridor to Jail Cells)",
316 "Hyrule Castle (Boomerang Chest )",
317 "Hyrule Castle (Map Chest )",
318 "Desert Palace (Big Chest )",
319 "Desert Palace (Map Chest )",
320 "Desert Palace (Big Key Chest )",
321 "Swamp Palace (Water Drain )",
322 "Tower of Hera (Entrance )",
323 "Empty Clone ",
324 "Empty Clone ",
325 "Empty Clone ",
326 "Ganon's Tower",
327 "Ganon's Tower (East Side Collapsing Bridge / Exploding Wall )",
328 "Ganon's Tower (Winder / Warp Maze )",
329 "Ice Palace (Hidden Chest / Bombable Floor )",
330 "Ice Palace ( Big Spike Traps )",
331 "Hyrule Castle (Jail Cell )",
332 "Hyrule Castle",
333 "Hyrule Castle (Basement Chasm )",
334 "Desert Palace (West Entrance )",
335 "Desert Palace (Main Entrance )",
336 "Desert Palace (East Entrance )",
337 "Empty Clone ",
338 "Tower of Hera (Tile )",
339 "Empty Clone ",
340 "Eastern Palace (Fairy )",
341 "Empty Clone ",
342 "Ganon's Tower (Block Puzzle / Spike Skip / Map Chest )",
343 "Ganon's Tower (East and West Downstairs / Big Chest )",
344 "Ganon's Tower (Tile / Torch Puzzle )",
345 "Ice Palace",
346 "Empty Clone ",
347 "Misery Mire (Vitreous[Boss])",
348 "Misery Mire (Final Switch )",
349 "Misery Mire (Dark Bomb Wall / Switches )",
350 "Misery Mire (Dark Cane Floor Switch Puzzle )",
351 "Empty Clone ",
352 "Ganon's Tower (Final Collapsing Bridge )",
353 "Ganon's Tower (Torches 1 )",
354 "Misery Mire (Torch Puzzle / Moving Wall )",
355 "Misery Mire (Entrance )",
356 "Eastern Palace (Eyegore Key )",
357 "Empty Clone ",
358 "Ganon's Tower (Many Spikes / Warp Maze )",
359 "Ganon's Tower (Invisible Floor Maze )",
360 "Ganon's Tower (Compass Chest / Invisible Floor )",
361 "Ice Palace (Big Chest )",
362 "Ice Palace",
363 "Misery Mire (Pre-Vitreous )",
364 "Misery Mire (Fish )",
365 "Misery Mire (Bridge Key Chest )",
366 "Misery Mire",
367 "Turtle Rock (Trinexx[Boss])",
368 "Ganon's Tower (Wizzrobes s)",
369 "Ganon's Tower (Moldorm Fall )",
370 "Tower of Hera (Fairy )",
371 "Eastern Palace (Stalfos Spawn )",
372 "Eastern Palace (Big Chest )",
373 "Eastern Palace (Map Chest )",
374 "Thieves Town (Moving Spikes / Key Pot )",
375 "Thieves Town (Blind The Thief[Boss])",
376 "Empty Clone ",
377 "Ice Palace",
378 "Ice Palace (Ice Bridge )",
379 "Agahnim's Tower (Circle of Pots)",
380 "Misery Mire (Hourglass )",
381 "Misery Mire (Slug )",
382 "Misery Mire (Spike Key Chest )",
383 "Turtle Rock (Pre-Trinexx )",
384 "Turtle Rock (Dark Maze)",
385 "Turtle Rock (Chain Chomps )",
386 "Turtle Rock (Map Chest / Key Chest / Roller )",
387 "Eastern Palace (Big Key )",
388 "Eastern Palace (Lobby Cannonballs )",
389 "Eastern Palace (Dark Antifairy / Key Pot )",
390 "Thieves Town (Hellway)",
391 "Thieves Town (Conveyor Toilet)",
392 "Empty Clone ",
393 "Ice Palace (Block Puzzle )",
394 "Ice Palace Clone (Switch )",
395 "Agahnim's Tower (Dark Bridge )",
396 "Misery Mire (Compass Chest / Tile )",
397 "Misery Mire (Big Hub )",
398 "Misery Mire (Big Chest )",
399 "Turtle Rock (Final Crystal Switch Puzzle )",
400 "Turtle Rock (Laser Bridge)",
401 "Turtle Rock",
402 "Turtle Rock (Torch Puzzle)",
403 "Eastern Palace (Armos Knights[Boss])",
404 "Eastern Palace (Entrance )",
405 "??",
406 "Thieves Town (North West Entrance )",
407 "Thieves Town (North East Entrance )",
408 "Empty Clone ",
409 "Ice Palace (Hole to Kholdstare )",
410 "Empty Clone ",
411 "Agahnim's Tower (Dark Maze)",
412 "Misery Mire (Conveyor Slug / Big Key )",
413 "Misery Mire (Mire02 / Wizzrobes )",
414 "Empty Clone ",
415 "Empty Clone ",
416 "Turtle Rock (Laser Key )",
417 "Turtle Rock (Entrance )",
418 "Empty Clone ",
419 "Eastern Palace (Zeldagamer / Pre-Armos Knights )",
420 "Eastern Palace (Canonball ",
421 "Eastern Palace",
422 "Thieves Town (Main (South West) Entrance )",
423 "Thieves Town (South East Entrance )",
424 "Empty Clone ",
425 "Ice Palace (Kholdstare[Boss])",
426 "Cave",
427 "Agahnim's Tower (Entrance )",
428 "Cave (Lost Woods HP)",
429 "Cave (Lumberjack's Tree HP)",
430 "Cave (1/2 Magic)",
431 "Cave (Lost Old Man Final Cave)",
432 "Cave (Lost Old Man Final Cave)",
433 "Cave",
434 "Cave",
435 "Cave",
436 "Empty Clone ",
437 "Cave (Spectacle Rock HP)",
438 "Cave",
439 "Empty Clone ",
440 "Cave",
441 "Cave (Spiral Cave)",
442 "Cave (Crystal Switch / 5 Chests )",
443 "Cave (Lost Old Man Starting Cave)",
444 "Cave (Lost Old Man Starting Cave)",
445 "House",
446 "House (Old Woman (Sahasrahla's Wife?))",
447 "House (Angry Brothers)",
448 "House (Angry Brothers)",
449 "Empty Clone ",
450 "Empty Clone ",
451 "Cave",
452 "Cave",
453 "Cave",
454 "Cave",
455 "Empty Clone ",
456 "Cave",
457 "Cave",
458 "Cave",
459
460 "Chest Minigame",
461 "Houses",
462 "Sick Boy house",
463 "Tavern",
464 "Link's House",
465 "Sarashrala Hut",
466 "Chest Minigame",
467 "Library",
468 "Chicken House",
469 "Witch Shop",
470 "A Aginah's Cave",
471 "Dam",
472 "Mimic Cave",
473 "Mire Shed",
474 "Cave",
475 "Shop",
476 "Shop",
477 "Archery Minigame",
478 "DW Church/Shop",
479 "Grave Cave",
480 "Fairy Fountain",
481 "Fairy Upgrade",
482 "Pyramid Fairy",
483 "Spike Cave",
484 "Chest Minigame",
485 "Blind Hut",
486 "Bonzai Cave",
487 "Circle of bush Cave",
488 "Big Bomb Shop, C-House",
489 "Blind Hut 2",
490 "Hype Cave",
491 "Shop",
492 "Ice Cave",
493 "Smith",
494 "Fortune Teller",
495 "MiniMoldorm Cave",
496 "Under Rock Caves",
497 "Smith",
498 "Cave",
499 "Mazeblock Cave",
500 "Smith Peg Cave"};
501
502} // namespace zelda3
503} // namespace yaze
504
505#endif
SharedRom()=default
Represents a bitmap image.
Definition bitmap.h:66
auto set_room_size(uint64_t size)
Definition room.h:139
std::array< gfx::Bitmap, 3 > background_bmps_
Definition room.h:182
destination pits_
Definition room.h:195
std::vector< RoomObject > tile_objects_
Definition room.h:183
EffectKey effect_
Definition room.h:190
uint8_t palette_
Definition room.h:171
auto room_size_ptr() const
Definition room.h:138
uint8_t staircase_plane_[4]
Definition room.h:165
Room(int room_id)
Definition room.h:117
auto layer1() const
Definition room.h:134
std::vector< uint8_t > bg1_buffer_
Definition room.h:152
void LoadChests()
Definition room.cc:463
std::vector< zelda3::Sprite > sprites_
Definition room.h:184
gfx::Bitmap current_graphics_
Definition room.h:151
std::vector< uint8_t > current_gfx16_
Definition room.h:154
void CopyRoomGraphicsToBuffer()
Definition room.cc:231
destination stair2_
Definition room.h:197
uint8_t floor1
Definition room.h:146
void LoadRoomGraphics(uint8_t entrance_blockset=0xFF)
Definition room.cc:195
auto layer2() const
Definition room.h:135
uint8_t layer2_behavior_
Definition room.h:170
uint8_t layer2_mode_
Definition room.h:174
auto layer3() const
Definition room.h:136
auto & mutable_blocks()
Definition room.h:133
uint8_t holewarp
Definition room.h:145
destination stair4_
Definition room.h:199
void CalculateRoomSize()
Definition room.cc:59
int animated_frame_
Definition room.h:163
uint8_t blockset
Definition room.h:141
void LoadHeader()
Definition room.cc:18
uint8_t layout
Definition room.h:144
uint8_t sprite_tileset_
Definition room.h:169
uint16_t message_id_
Definition room.h:149
uint8_t staircase_rooms_[4]
Definition room.h:166
std::array< uint8_t, 16 > blocks_
Definition room.h:179
void LoadRoomFromROM()
Definition room.cc:125
auto room_size() const
Definition room.h:137
uint8_t floor2_graphics_
Definition room.h:173
background2 bg2_
Definition room.h:194
std::array< chest, 16 > chest_list_
Definition room.h:180
uint8_t floor1_graphics_
Definition room.h:172
auto blocks() const
Definition room.h:132
void LoadObjects()
Definition room.cc:275
uint8_t spriteset
Definition room.h:142
int64_t room_size_pointer_
Definition room.h:177
destination stair3_
Definition room.h:198
uint8_t palette
Definition room.h:143
void LoadAnimatedGraphics()
Definition room.cc:255
std::vector< chest_data > chests_in_room_
Definition room.h:186
LayerMergeType layer_merging_
Definition room.h:188
std::vector< staircase > z3_staircases_
Definition room.h:185
void LoadSprites()
Definition room.cc:416
destination stair1_
Definition room.h:196
uint8_t background_tileset_
Definition room.h:168
uint64_t room_size_
Definition room.h:176
uint8_t floor2
Definition room.h:147
CollisionKey collision_
Definition room.h:189
std::vector< uint8_t > bg2_buffer_
Definition room.h:153
background2
Definition dungeon.h:17
Zelda 3 specific classes and functions.
constexpr int room_object_layout_pointer
Definition room.h:36
constexpr int chests_length_pointer
Definition room.h:46
constexpr int door_pos_down
Definition room.h:74
constexpr int door_gfx_up
Definition room.h:68
constexpr int chests_data_pointer1
Definition room.h:47
constexpr int pit_count
Definition room.h:64
constexpr int blocks_pointer3
Definition room.h:54
constexpr int door_gfx_left
Definition room.h:71
constexpr int dungeons_palettes
Definition room.h:40
constexpr int blocks_pointer4
Definition room.h:55
constexpr int sprites_data_empty_room
Definition room.h:61
constexpr int door_pos_left
Definition room.h:75
constexpr int NumberOfRooms
Definition room.h:80
constexpr int rooms_sprite_pointer
Definition room.h:42
constexpr std::string_view kRoomNames[]
Definition room.h:202
constexpr int messages_id_dungeon
Definition room.h:49
constexpr int room_items_pointers
Definition room.h:41
constexpr int blocks_length
Definition room.h:51
constexpr int sprites_data
Definition room.h:60
constexpr int sprite_blockset_pointer
Definition room.h:58
constexpr int blocks_pointer2
Definition room.h:53
constexpr int dungeons_main_bg_palette_pointers
Definition room.h:39
constexpr int door_gfx_down
Definition room.h:69
constexpr uint16_t stairsObjects[]
Definition room.h:82
constexpr int gfx_groups_pointer
Definition room.h:45
constexpr int blocks_pointer1
Definition room.h:52
constexpr int torches_length_pointer
Definition room.h:57
constexpr int doorPointers
Definition room.h:65
constexpr int door_gfx_cavexit_down
Definition room.h:70
constexpr int kRoomHeaderPointer
Definition room.h:43
constexpr int torch_data
Definition room.h:56
constexpr int kRoomHeaderPointerBank
Definition room.h:44
constexpr int door_gfx_right
Definition room.h:72
constexpr int room_object_pointer
Definition room.h:37
constexpr int door_pos_up
Definition room.h:73
constexpr int door_pos_right
Definition room.h:76
constexpr int sprites_end_data
Definition room.h:62
constexpr int pit_pointer
Definition room.h:63
constexpr int dungeon_spr_ptrs
Definition room.h:78
Main namespace for the application.
Definition controller.cc:18
LayerMergeType(uint8_t id, std::string name, bool see, bool top, bool trans)
Definition room.h:91