yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
overworld.h
Go to the documentation of this file.
1#ifndef YAZE_APP_DATA_OVERWORLD_H
2#define YAZE_APP_DATA_OVERWORLD_H
3
4#include <array>
5#include <vector>
6#include <mutex>
7
8#include "absl/status/status.h"
9#include "app/gfx/snes_tile.h"
10#include "app/rom.h"
16
17namespace yaze {
18namespace zelda3 {
19
20constexpr int GravesYTilePos = 0x49968; // short (0x0F entries)
21constexpr int GravesXTilePos = 0x49986; // short (0x0F entries)
22constexpr int GravesTilemapPos = 0x499A4; // short (0x0F entries)
23constexpr int GravesGFX = 0x499C2; // short (0x0F entries)
24constexpr int GravesXPos = 0x4994A; // short (0x0F entries)
25constexpr int GravesYLine = 0x4993A; // short (0x08 entries)
26constexpr int GravesCountOnY = 0x499E0; // Byte 0x09 entries
27constexpr int GraveLinkSpecialHole = 0x46DD9; // short
28constexpr int GraveLinkSpecialStairs = 0x46DE0; // short
29
30constexpr int kOverworldMapPaletteIds = 0x7D1C;
31constexpr int kOverworldSpritePaletteIds = 0x7B41;
32constexpr int kOverworldSpritePaletteGroup = 0x75580;
33constexpr int kOverworldSpriteset = 0x7A41;
34constexpr int kOverworldSpecialGfxGroup = 0x16821;
35constexpr int kOverworldSpecialPalGroup = 0x16831;
36constexpr int kOverworldSpritesBeginning = 0x4C881;
37constexpr int kOverworldSpritesAgahnim = 0x4CA21;
38constexpr int kOverworldSpritesZelda = 0x4C901;
39
40constexpr int kAreaGfxIdPtr = 0x7C9C;
41constexpr int kOverworldMessageIds = 0x3F51D;
42
43constexpr int kOverworldMusicBeginning = 0x14303;
44constexpr int kOverworldMusicZelda = 0x14303 + 0x40;
45constexpr int kOverworldMusicMasterSword = 0x14303 + 0x80;
46constexpr int kOverworldMusicAgahnim = 0x14303 + 0xC0;
47constexpr int kOverworldMusicDarkWorld = 0x14403;
48constexpr int kOverworldEntranceAllowedTilesLeft = 0xDB8C1;
50
51// 0x00 = small maps, 0x20 = large maps
52constexpr int kOverworldMapSize = 0x12844;
53
54// 0x01 = small maps, 0x03 = large maps
55constexpr int kOverworldMapSizeHighByte = 0x12884;
56
57// relative to the WORLD + 0x200 per map
58// large map that are not == parent id = same position as their parent!
59// eg for X position small maps :
60// 0000, 0200, 0400, 0600, 0800, 0A00, 0C00, 0E00
61// all Large map would be :
62// 0000, 0000, 0400, 0400, 0800, 0800, 0C00, 0C00
63constexpr int kOverworldMapParentId = 0x125EC;
64constexpr int kOverworldTransitionPositionY = 0x128C4;
65constexpr int kOverworldTransitionPositionX = 0x12944;
66constexpr int kOverworldScreenSize = 0x1788D;
67constexpr int kOverworldScreenSizeForLoading = 0x4C635;
68
73
74constexpr int kOverworldMapDataOverflow = 0x130000;
75
76constexpr int kTransitionTargetNorth = 0x13EE2;
77constexpr int kTransitionTargetWest = 0x13F62;
78constexpr int overworldCustomMosaicASM = 0x1301D0;
79constexpr int overworldCustomMosaicArray = 0x1301F0;
80
81// Expanded tile16 and tile32
82constexpr int kMap16TilesExpanded = 0x1E8000;
83constexpr int kMap32TileTRExpanded = 0x020000;
84constexpr int kMap32TileBLExpanded = 0x1F0000;
85constexpr int kMap32TileBRExpanded = 0x1F8000;
86constexpr int kMap32TileCountExpanded = 0x0067E0;
87constexpr int kMap32ExpandedFlagPos = 0x01772E; // 0x04
88constexpr int kMap16ExpandedFlagPos = 0x02FD28; // 0x0F
89constexpr int kOverworldEntranceExpandedFlagPos = 0x0DB895; // 0xB8
90
91constexpr int overworldSpritesBeginingExpanded = 0x141438;
92constexpr int overworldSpritesZeldaExpanded = 0x141578;
93constexpr int overworldSpritesAgahnimExpanded = 0x1416B8;
94constexpr int overworldSpritesDataStartExpanded = 0x04C881;
95
98
99constexpr int ExpandedOverlaySpace = 0x120000;
100
101constexpr int overworldTilesType = 0x071459;
102constexpr int overworldMessages = 0x03F51D;
103constexpr int overworldMessagesExpanded = 0x1417F8;
104
105constexpr int overworldItemsPointers = 0x0DC2F9;
106constexpr int overworldItemsAddress = 0x0DC8B9; // 1BC2F9
107constexpr int overworldItemsAddressBank = 0x0DC8BF;
108constexpr int overworldItemsEndData = 0x0DC89C; // 0DC89E
109
110constexpr int overworldBombDoorItemLocationsNew = 0x012644;
111constexpr int overworldItemsPointersNew = 0x012784;
112constexpr int overworldItemsStartDataNew = 0x0DC2F9;
113
114constexpr int kOverworldCompressedMapPos = 0x058000;
115constexpr int kOverworldCompressedOverflowPos = 0x137FFF;
116
117constexpr int kNumTileTypes = 0x200;
118constexpr int kMap16Tiles = 0x78000;
119constexpr int kNumOverworldMaps = 160;
120constexpr int kNumTile16Individual = 4096;
121constexpr int Map32PerScreen = 256;
122constexpr int NumberOfMap16 = 3752; // 4096
123constexpr int NumberOfMap16Ex = 4096; // 4096
124constexpr int LimitOfMap32 = 8864;
125constexpr int NumberOfOWSprites = 352;
127constexpr int kNumMapsPerWorld = 0x40;
128
136 public:
138
139 absl::Status Load(Rom *rom);
140 absl::Status LoadOverworldMaps();
141 void LoadTileTypes();
142 absl::Status LoadEntrances();
143 absl::Status LoadHoles();
144
145 absl::Status LoadExits();
146 absl::Status LoadItems();
147 absl::Status LoadSprites();
148 absl::Status LoadSpritesFromMap(int sprite_start, int sprite_count,
149 int sprite_index);
150
157 absl::Status EnsureMapBuilt(int map_index);
158
159 absl::Status Save(Rom *rom);
160 absl::Status SaveOverworldMaps();
161 absl::Status SaveLargeMaps();
162 absl::Status SaveLargeMapsExpanded();
163 absl::Status SaveSmallAreaTransitions(int i, int parent_x_pos, int parent_y_pos,
164 int transition_target_north, int transition_target_west,
165 int transition_pos_x, int transition_pos_y,
166 int screen_change_1, int screen_change_2,
167 int screen_change_3, int screen_change_4);
168 absl::Status SaveLargeAreaTransitions(int i, int parent_x_pos, int parent_y_pos,
169 int transition_target_north, int transition_target_west,
170 int transition_pos_x, int transition_pos_y,
171 int screen_change_1, int screen_change_2,
172 int screen_change_3, int screen_change_4);
173 absl::Status SaveWideAreaTransitions(int i, int parent_x_pos, int parent_y_pos,
174 int transition_target_north, int transition_target_west,
175 int transition_pos_x, int transition_pos_y,
176 int screen_change_1, int screen_change_2,
177 int screen_change_3, int screen_change_4);
178 absl::Status SaveTallAreaTransitions(int i, int parent_x_pos, int parent_y_pos,
179 int transition_target_north, int transition_target_west,
180 int transition_pos_x, int transition_pos_y,
181 int screen_change_1, int screen_change_2,
182 int screen_change_3, int screen_change_4);
183 absl::Status SaveEntrances();
184 absl::Status SaveExits();
185 absl::Status SaveItems();
186 absl::Status SaveMapOverlays();
187 absl::Status SaveOverworldTilesType();
188 absl::Status SaveCustomOverworldASM(bool enable_bg_color, bool enable_main_palette,
189 bool enable_mosaic, bool enable_gfx_groups,
190 bool enable_subscreen_overlay, bool enable_animated);
191 absl::Status SaveAreaSpecificBGColors();
192
193 absl::Status CreateTile32Tilemap();
194 absl::Status SaveMap16Expanded();
195 absl::Status SaveMap16Tiles();
196 absl::Status SaveMap32Expanded();
197 absl::Status SaveMap32Tiles();
198
199 absl::Status SaveMapProperties();
200 absl::Status SaveMusic();
201 absl::Status SaveAreaSizes();
202 void AssignMapSizes(std::vector<OverworldMap>& maps);
203
212 absl::Status ConfigureMultiAreaMap(int parent_index, AreaSizeEnum size);
213
214 auto rom() const { return rom_; }
215 auto mutable_rom() { return rom_; }
216
217 void Destroy() {
218 for (auto &map : overworld_maps_) {
219 map.Destroy();
220 }
221 overworld_maps_.clear();
222 all_entrances_.clear();
223 all_exits_.clear();
224 all_items_.clear();
225 for (auto &sprites : all_sprites_) {
226 sprites.clear();
227 }
228 tiles16_.clear();
229 tiles32_.clear();
230 tiles32_unique_.clear();
231 is_loaded_ = false;
232 }
233
234 int GetTileFromPosition(ImVec2 position) const {
235 if (current_world_ == 0) {
236 return map_tiles_.light_world[position.x][position.y];
237 } else if (current_world_ == 1) {
238 return map_tiles_.dark_world[position.x][position.y];
239 } else {
240 return map_tiles_.special_world[position.x][position.y];
241 }
242 }
243
245 switch (world_type) {
246 case 0:
247 return map_tiles_.light_world;
248 case 1:
249 return map_tiles_.dark_world;
250 case 2:
252 default:
253 return map_tiles_.light_world;
254 }
255 }
256
257 auto overworld_maps() const { return overworld_maps_; }
258 auto overworld_map(int i) const { return &overworld_maps_[i]; }
259 auto mutable_overworld_map(int i) { return &overworld_maps_[i]; }
260 auto exits() const { return &all_exits_; }
261 auto mutable_exits() { return &all_exits_; }
262 std::vector<gfx::Tile16> tiles16() const { return tiles16_; }
263 auto tiles32_unique() const { return tiles32_unique_; }
264 auto mutable_tiles16() { return &tiles16_; }
265 auto sprites(int state) const { return all_sprites_[state]; }
266 auto mutable_sprites(int state) { return &all_sprites_[state]; }
267 auto current_graphics() const {
268 return overworld_maps_[current_map_].current_graphics();
269 }
270 const std::vector<OverworldEntrance> &entrances() const { return all_entrances_; }
271 auto &entrances() { return all_entrances_; }
273 const std::vector<OverworldEntrance> &holes() const { return all_holes_; }
274 auto &holes() { return all_holes_; }
275 auto mutable_holes() { return &all_holes_; }
276 auto deleted_entrances() const { return deleted_entrances_; }
278 auto current_area_palette() const {
279 return overworld_maps_[current_map_].current_palette();
280 }
282 return overworld_maps_[current_map_].bitmap_data();
283 }
284 auto tile16_blockset_data() const {
285 return overworld_maps_[current_map_].current_tile16_blockset();
286 }
287 auto is_loaded() const { return is_loaded_; }
288 auto expanded_tile16() const { return expanded_tile16_; }
289 auto expanded_tile32() const { return expanded_tile32_; }
291 void set_current_map(int i) { current_map_ = i; }
292 void set_current_world(int world) { current_world_ = world; }
293 uint16_t GetTile(int x, int y) const {
294 if (current_world_ == 0) {
295 return map_tiles_.light_world[y][x];
296 } else if (current_world_ == 1) {
297 return map_tiles_.dark_world[y][x];
298 } else {
299 return map_tiles_.special_world[y][x];
300 }
301 }
302 void SetTile(int x, int y, uint16_t tile_id) {
303 if (current_world_ == 0) {
304 map_tiles_.light_world[y][x] = tile_id;
305 } else if (current_world_ == 1) {
306 map_tiles_.dark_world[y][x] = tile_id;
307 } else {
308 map_tiles_.special_world[y][x] = tile_id;
309 }
310 }
311 auto map_tiles() const { return map_tiles_; }
312 auto mutable_map_tiles() { return &map_tiles_; }
313 auto all_items() const { return all_items_; }
314 auto mutable_all_items() { return &all_items_; }
315 auto all_tiles_types() const { return all_tiles_types_; }
317 auto all_sprites() const { return all_sprites_; }
318
319 private:
326
327 void FetchLargeMaps();
328 absl::StatusOr<uint16_t> GetTile16ForTile32(int index, int quadrant,
329 int dimension,
330 const uint32_t *map32address);
331 absl::Status AssembleMap32Tiles();
332 absl::Status AssembleMap16Tiles();
333 void AssignWorldTiles(int x, int y, int sx, int sy, int tpos,
334 OverworldBlockset &world);
335 void OrganizeMapTiles(std::vector<uint8_t> &bytes,
336 std::vector<uint8_t> &bytes2, int i, int sx, int sy,
337 int &ttpos);
339 absl::Status DecompressAllMapTilesParallel();
340
342
343 bool is_loaded_ = false;
344 bool expanded_tile16_ = false;
345 bool expanded_tile32_ = false;
347
348 int game_state_ = 0;
351
353
354 // Thread safety for parallel operations
355 mutable std::mutex map_tiles_mutex_;
356
357 std::vector<OverworldMap> overworld_maps_;
358 std::vector<OverworldEntrance> all_entrances_;
359 std::vector<OverworldEntrance> all_holes_;
360 std::vector<OverworldExit> all_exits_;
361 std::vector<OverworldItem> all_items_;
362
363 std::vector<gfx::Tile16> tiles16_;
364 std::vector<gfx::Tile32> tiles32_;
365 std::vector<gfx::Tile32> tiles32_unique_;
366
367 std::vector<uint16_t> tiles32_list_;
368 std::vector<uint64_t> deleted_entrances_;
369
370 std::array<uint8_t, kNumOverworldMaps> map_parent_ = {0};
371 std::array<uint8_t, kNumTileTypes> all_tiles_types_ = {0};
372 std::array<std::vector<Sprite>, 3> all_sprites_;
373 std::array<std::vector<uint8_t>, kNumOverworldMaps> map_data_p1;
374 std::array<std::vector<uint8_t>, kNumOverworldMaps> map_data_p2;
375 std::array<int, kNumOverworldMaps> map_pointers1_id;
376 std::array<int, kNumOverworldMaps> map_pointers2_id;
377 std::array<int, kNumOverworldMaps> map_pointers1;
378 std::array<int, kNumOverworldMaps> map_pointers2;
379};
380
381} // namespace zelda3
382} // namespace yaze
383
384#endif
The Rom class is used to load, save, and modify Rom data.
Definition rom.h:71
Represents the full Overworld data, light and dark world.
Definition overworld.h:135
std::vector< uint64_t > deleted_entrances_
Definition overworld.h:368
absl::Status SaveMap32Expanded()
auto tile16_blockset_data() const
Definition overworld.h:284
absl::Status LoadExits()
Definition overworld.cc:747
auto current_area_palette() const
Definition overworld.h:278
absl::Status DecompressAllMapTilesParallel()
Definition overworld.cc:539
std::vector< uint16_t > tiles32_list_
Definition overworld.h:367
void set_current_world(int world)
Definition overworld.h:292
int GetTileFromPosition(ImVec2 position) const
Definition overworld.h:234
absl::Status Load(Rom *rom)
Definition overworld.cc:27
std::vector< OverworldItem > all_items_
Definition overworld.h:361
void OrganizeMapTiles(std::vector< uint8_t > &bytes, std::vector< uint8_t > &bytes2, int i, int sx, int sy, int &ttpos)
Definition overworld.cc:513
auto expanded_tile32() const
Definition overworld.h:289
std::array< int, kNumOverworldMaps > map_pointers1
Definition overworld.h:377
std::vector< gfx::Tile32 > tiles32_unique_
Definition overworld.h:365
auto deleted_entrances() const
Definition overworld.h:276
absl::Status SaveMapProperties()
const std::vector< OverworldEntrance > & holes() const
Definition overworld.h:273
absl::Status SaveMap32Tiles()
std::vector< OverworldEntrance > all_entrances_
Definition overworld.h:358
absl::Status SaveTallAreaTransitions(int i, int parent_x_pos, int parent_y_pos, int transition_target_north, int transition_target_west, int transition_pos_x, int transition_pos_y, int screen_change_1, int screen_change_2, int screen_change_3, int screen_change_4)
OverworldMapTiles map_tiles_
Definition overworld.h:352
absl::Status SaveMap16Tiles()
absl::Status SaveAreaSizes()
std::vector< gfx::Tile16 > tiles16() const
Definition overworld.h:262
auto all_sprites() const
Definition overworld.h:317
auto sprites(int state) const
Definition overworld.h:265
auto map_tiles() const
Definition overworld.h:311
absl::Status SaveLargeMaps()
auto all_items() const
Definition overworld.h:313
std::array< uint8_t, kNumOverworldMaps > map_parent_
Definition overworld.h:370
void AssignWorldTiles(int x, int y, int sx, int sy, int tpos, OverworldBlockset &world)
Definition overworld.cc:501
auto is_loaded() const
Definition overworld.h:287
auto expanded_tile16() const
Definition overworld.h:288
std::array< uint8_t, kNumTileTypes > all_tiles_types_
Definition overworld.h:371
auto current_graphics() const
Definition overworld.h:267
absl::Status CreateTile32Tilemap()
std::array< int, kNumOverworldMaps > map_pointers1_id
Definition overworld.h:375
auto overworld_map(int i) const
Definition overworld.h:258
absl::Status SaveLargeAreaTransitions(int i, int parent_x_pos, int parent_y_pos, int transition_target_north, int transition_target_west, int transition_pos_x, int transition_pos_y, int screen_change_1, int screen_change_2, int screen_change_3, int screen_change_4)
auto all_tiles_types() const
Definition overworld.h:315
absl::Status SaveCustomOverworldASM(bool enable_bg_color, bool enable_main_palette, bool enable_mosaic, bool enable_gfx_groups, bool enable_subscreen_overlay, bool enable_animated)
void set_current_map(int i)
Definition overworld.h:291
absl::Status LoadItems()
Definition overworld.cc:791
auto mutable_overworld_map(int i)
Definition overworld.h:259
absl::Status SaveEntrances()
absl::Status SaveExits()
absl::Status LoadSprites()
Definition overworld.cc:858
absl::Status EnsureMapBuilt(int map_index)
Build a map on-demand if it hasn't been built yet.
Definition overworld.cc:656
absl::Status LoadHoles()
Definition overworld.cc:727
std::vector< OverworldMap > overworld_maps_
Definition overworld.h:357
absl::Status SaveItems()
absl::Status SaveAreaSpecificBGColors()
absl::Status LoadEntrances()
Definition overworld.cc:687
absl::Status Save(Rom *rom)
Definition overworld.cc:936
std::vector< gfx::Tile32 > tiles32_
Definition overworld.h:364
absl::Status SaveWideAreaTransitions(int i, int parent_x_pos, int parent_y_pos, int transition_target_north, int transition_target_west, int transition_pos_x, int transition_pos_y, int screen_change_1, int screen_change_2, int screen_change_3, int screen_change_4)
uint16_t GetTile(int x, int y) const
Definition overworld.h:293
absl::Status SaveOverworldMaps()
Definition overworld.cc:960
std::array< std::vector< Sprite >, 3 > all_sprites_
Definition overworld.h:372
std::array< int, kNumOverworldMaps > map_pointers2_id
Definition overworld.h:376
auto tiles32_unique() const
Definition overworld.h:263
void SetTile(int x, int y, uint16_t tile_id)
Definition overworld.h:302
absl::Status LoadOverworldMaps()
Definition overworld.cc:600
std::vector< gfx::Tile16 > tiles16_
Definition overworld.h:363
auto expanded_entrances() const
Definition overworld.h:290
absl::Status AssembleMap16Tiles()
Definition overworld.cc:466
std::mutex map_tiles_mutex_
Definition overworld.h:355
auto mutable_sprites(int state)
Definition overworld.h:266
absl::Status LoadSpritesFromMap(int sprite_start, int sprite_count, int sprite_index)
Definition overworld.cc:895
const std::vector< OverworldEntrance > & entrances() const
Definition overworld.h:270
std::array< std::vector< uint8_t >, kNumOverworldMaps > map_data_p1
Definition overworld.h:373
absl::Status SaveLargeMapsExpanded()
void AssignMapSizes(std::vector< OverworldMap > &maps)
Loads all maps from ROM to see what size they are.
Definition overworld.cc:169
absl::Status SaveMap16Expanded()
std::vector< OverworldExit > all_exits_
Definition overworld.h:360
std::array< int, kNumOverworldMaps > map_pointers2
Definition overworld.h:378
absl::StatusOr< uint16_t > GetTile16ForTile32(int index, int quadrant, int dimension, const uint32_t *map32address)
Definition overworld.cc:395
auto current_map_bitmap_data() const
Definition overworld.h:281
std::array< std::vector< uint8_t >, kNumOverworldMaps > map_data_p2
Definition overworld.h:374
absl::Status SaveSmallAreaTransitions(int i, int parent_x_pos, int parent_y_pos, int transition_target_north, int transition_target_west, int transition_pos_x, int transition_pos_y, int screen_change_1, int screen_change_2, int screen_change_3, int screen_change_4)
absl::Status SaveMapOverlays()
absl::Status AssembleMap32Tiles()
Definition overworld.cc:406
OverworldBlockset & GetMapTiles(int world_type)
Definition overworld.h:244
absl::Status SaveOverworldTilesType()
absl::Status SaveMusic()
absl::Status ConfigureMultiAreaMap(int parent_index, AreaSizeEnum size)
Configure a multi-area map structure (Large/Wide/Tall)
Definition overworld.cc:257
auto overworld_maps() const
Definition overworld.h:257
std::vector< OverworldEntrance > all_holes_
Definition overworld.h:359
constexpr int GravesGFX
Definition overworld.h:23
constexpr int overworldSpecialSpritePaletteExpandedTemp
Definition overworld.h:97
constexpr int kAreaGfxIdPtr
Definition overworld.h:40
constexpr int overworldItemsPointersNew
Definition overworld.h:111
constexpr int kOverworldSpritePaletteGroup
Definition overworld.h:32
constexpr int kOverworldTransitionPositionY
Definition overworld.h:64
constexpr int kNumMapsPerWorld
Definition overworld.h:127
constexpr int kOverworldSpriteset
Definition overworld.h:33
constexpr int kMap16ExpandedFlagPos
Definition overworld.h:88
constexpr int LimitOfMap32
Definition overworld.h:124
constexpr int NumberOfMap16Ex
Definition overworld.h:123
constexpr int kOverworldScreenTileMapChangeByScreen1
Definition overworld.h:69
constexpr int kOverworldMapDataOverflow
Definition overworld.h:74
constexpr int kOverworldMapSizeHighByte
Definition overworld.h:55
constexpr int overworldMessagesExpanded
Definition overworld.h:103
constexpr int GravesTilemapPos
Definition overworld.h:22
constexpr int overworldItemsAddressBank
Definition overworld.h:107
constexpr int overworldSpritesBeginingExpanded
Definition overworld.h:91
constexpr int kNumTileTypes
Definition overworld.h:117
constexpr int NumberOfMap32
Definition overworld.h:126
constexpr int kOverworldScreenSize
Definition overworld.h:66
constexpr int kOverworldScreenTileMapChangeByScreen4
Definition overworld.h:72
constexpr int kNumTile16Individual
Definition overworld.h:120
constexpr int ExpandedOverlaySpace
Definition overworld.h:99
constexpr int GravesCountOnY
Definition overworld.h:26
constexpr int kMap16Tiles
Definition overworld.h:118
constexpr int overworldSpritesAgahnimExpanded
Definition overworld.h:93
constexpr int GravesYLine
Definition overworld.h:25
constexpr int kNumOverworldMaps
Definition overworld.h:119
constexpr int GravesXTilePos
Definition overworld.h:21
constexpr int kOverworldMusicBeginning
Definition overworld.h:43
constexpr int kMap32TileBLExpanded
Definition overworld.h:84
constexpr int kOverworldTransitionPositionX
Definition overworld.h:65
constexpr int kOverworldMusicDarkWorld
Definition overworld.h:47
constexpr int overworldSpecialSpriteGFXGroupExpandedTemp
Definition overworld.h:96
constexpr int kOverworldSpecialPalGroup
Definition overworld.h:35
constexpr int kOverworldScreenSizeForLoading
Definition overworld.h:67
constexpr int kOverworldSpritePaletteIds
Definition overworld.h:31
constexpr int overworldTilesType
Definition overworld.h:101
constexpr int overworldItemsAddress
Definition overworld.h:106
constexpr int kMap32TileBRExpanded
Definition overworld.h:85
constexpr int kMap32TileCountExpanded
Definition overworld.h:86
constexpr int kTransitionTargetWest
Definition overworld.h:77
constexpr int overworldMessages
Definition overworld.h:102
constexpr int kOverworldMusicAgahnim
Definition overworld.h:46
constexpr int overworldItemsEndData
Definition overworld.h:108
constexpr int kOverworldSpritesZelda
Definition overworld.h:38
constexpr int kOverworldMapParentId
Definition overworld.h:63
constexpr int GraveLinkSpecialHole
Definition overworld.h:27
constexpr int Map32PerScreen
Definition overworld.h:121
constexpr int GravesXPos
Definition overworld.h:24
constexpr int kMap32ExpandedFlagPos
Definition overworld.h:87
constexpr int overworldItemsPointers
Definition overworld.h:105
constexpr int overworldCustomMosaicASM
Definition overworld.h:78
constexpr int kOverworldMusicMasterSword
Definition overworld.h:45
constexpr int kOverworldMusicZelda
Definition overworld.h:44
constexpr int kOverworldMessageIds
Definition overworld.h:41
constexpr int NumberOfMap16
Definition overworld.h:122
constexpr int kOverworldMapSize
Definition overworld.h:52
constexpr int kOverworldScreenTileMapChangeByScreen2
Definition overworld.h:70
constexpr int overworldSpritesDataStartExpanded
Definition overworld.h:94
constexpr int overworldItemsStartDataNew
Definition overworld.h:112
constexpr int kOverworldCompressedMapPos
Definition overworld.h:114
constexpr int overworldCustomMosaicArray
Definition overworld.h:79
constexpr int overworldBombDoorItemLocationsNew
Definition overworld.h:110
constexpr int kOverworldSpritesBeginning
Definition overworld.h:36
std::vector< std::vector< uint16_t > > OverworldBlockset
Represents tile32 data for the overworld.
constexpr int kOverworldScreenTileMapChangeByScreen3
Definition overworld.h:71
constexpr int kMap16TilesExpanded
Definition overworld.h:82
constexpr int kOverworldEntranceExpandedFlagPos
Definition overworld.h:89
constexpr int kOverworldSpritesAgahnim
Definition overworld.h:37
constexpr int kTransitionTargetNorth
Definition overworld.h:76
constexpr int overworldSpritesZeldaExpanded
Definition overworld.h:92
constexpr int kOverworldCompressedOverflowPos
Definition overworld.h:115
constexpr int GravesYTilePos
Definition overworld.h:20
constexpr int NumberOfOWSprites
Definition overworld.h:125
constexpr int kMap32TileTRExpanded
Definition overworld.h:83
constexpr int kOverworldMapPaletteIds
Definition overworld.h:30
constexpr int kOverworldEntranceAllowedTilesLeft
Definition overworld.h:48
constexpr int kOverworldSpecialGfxGroup
Definition overworld.h:34
constexpr int kOverworldEntranceAllowedTilesRight
Definition overworld.h:49
constexpr int GraveLinkSpecialStairs
Definition overworld.h:28
Main namespace for the application.
Overworld map tile32 data.