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