yaze 0.2.0
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
dungeon_map.h
Go to the documentation of this file.
1#ifndef YAZE_APP_ZELDA3_SCREEN_DUNGEON_MAP_H
2#define YAZE_APP_ZELDA3_SCREEN_DUNGEON_MAP_H
3
4#include <array>
5#include <vector>
6
7namespace yaze {
8namespace app {
9namespace zelda3 {
10namespace screen {
11
12constexpr int kDungeonMapRoomsPtr = 0x57605; // 14 pointers of map data
13constexpr int kDungeonMapFloors = 0x575D9; // 14 words values
14
15constexpr int kDungeonMapGfxPtr = 0x57BE4; // 14 pointers of gfx data
16
17// data start for floors/gfx MUST skip 575D9 to 57621 (pointers)
18constexpr int kDungeonMapDataStart = 0x57039;
19
20// IF Byte = 0xB9 dungeon maps are not expanded
21constexpr int kDungeonMapExpCheck = 0x56652; // $0A:E652
22constexpr int kDungeonMapTile16 = 0x57009; // $0A:F009
23constexpr int kDungeonMapTile16Expanded = 0x109010; // $21:9010
24
25// 14 words values 0x000F = no boss
26constexpr int kDungeonMapBossRooms = 0x56807;
27constexpr int kTriforceVertices = 0x04FFD2; // group of 3, X, Y ,Z
28constexpr int kTriforceFaces = 0x04FFE4; // group of 5
29
30constexpr int kCrystalVertices = 0x04FF98;
31
32struct DungeonMap {
33 unsigned short boss_room = 0xFFFF;
34 unsigned char nbr_of_floor = 0;
35 unsigned char nbr_of_basement = 0;
36 std::vector<std::array<uint8_t, 25>> floor_rooms;
37 std::vector<std::array<uint8_t, 25>> floor_gfx;
38
39 DungeonMap(unsigned short boss_room, unsigned char nbr_of_floor,
40 unsigned char nbr_of_basement,
41 const std::vector<std::array<uint8_t, 25>>& floor_rooms,
42 const std::vector<std::array<uint8_t, 25>>& floor_gfx)
48};
49
50} // namespace screen
51} // namespace zelda3
52} // namespace app
53} // namespace yaze
54
55#endif // YAZE_APP_ZELDA3_SCREEN_DUNGEON_MAP_H
constexpr int kCrystalVertices
Definition dungeon_map.h:30
constexpr int kTriforceFaces
Definition dungeon_map.h:28
constexpr int kDungeonMapDataStart
Definition dungeon_map.h:18
constexpr int kTriforceVertices
Definition dungeon_map.h:27
constexpr int kDungeonMapTile16Expanded
Definition dungeon_map.h:23
constexpr int kDungeonMapGfxPtr
Definition dungeon_map.h:15
constexpr int kDungeonMapBossRooms
Definition dungeon_map.h:26
constexpr int kDungeonMapTile16
Definition dungeon_map.h:22
constexpr int kDungeonMapFloors
Definition dungeon_map.h:13
constexpr int kDungeonMapRoomsPtr
Definition dungeon_map.h:12
constexpr int kDungeonMapExpCheck
Definition dungeon_map.h:21
Definition common.cc:22
std::vector< std::array< uint8_t, 25 > > floor_rooms
Definition dungeon_map.h:36
DungeonMap(unsigned short boss_room, unsigned char nbr_of_floor, unsigned char nbr_of_basement, const std::vector< std::array< uint8_t, 25 > > &floor_rooms, const std::vector< std::array< uint8_t, 25 > > &floor_gfx)
Definition dungeon_map.h:39
std::vector< std::array< uint8_t, 25 > > floor_gfx
Definition dungeon_map.h:37