yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::zelda3::Overworld Class Reference

#include <overworld.h>

Classes

struct  SubscreenOverlayLayer
 Subscreen overlay layer for one screen, in that screen's palette. More...
 
struct  TilesetCacheEntry
 

Public Member Functions

 Overworld (Rom *rom, GameData *game_data=nullptr)
 
void SetGameData (GameData *game_data)
 
zelda3_version_pointers version_constants () const
 Get version-specific ROM addresses.
 
absl::Status Load (Rom *rom)
 Load all overworld data from ROM.
 
absl::Status LoadLyraTerrainPreview (Rom *rom)
 
bool is_lyra_preview () const
 
int inspected_map_count () const
 
bool descriptor_sprite_display_available () const
 
absl::Status LoadOverworldMaps ()
 Load overworld map tile data.
 
void LoadTileTypes ()
 Load tile type collision data.
 
absl::Status LoadSprites ()
 Load sprite data for all game states.
 
absl::StatusOr< OverworldSpriteSavePlan > PrepareSpriteSave () const
 
absl::Status SaveSprites ()
 
absl::Status LoadSpritesFromMap (int sprite_start, int sprite_count, int sprite_index)
 Load sprites from a specific map range.
 
absl::Status EnsureMapBuilt (int map_index)
 Build a map on-demand if it hasn't been built yet.
 
void SyncAreaProperties (int map_index)
 Copy the area parent's render settings (main palette, animated GFX, tile GFX groups, subscreen overlay) onto a child screen.
 
void SetGraphicsPreview (OverworldGraphicsPreview preview)
 
absl::StatusOr< SubscreenOverlayLayer > BuildSubscreenOverlayLayer (int map_index)
 Build the subscreen overlay layer for a screen (builds the screen if needed). The overlay comes from the area parent's overlay id.
 
void ClearGraphicsConfigCache ()
 Drop every cached tileset/blockset. Call after graphics buffer or tile16 edits that are not tied to one sheet.
 
void InvalidateTilesetCacheForSheet (int sheet)
 Drop cached tilesets that load sheet (graphics sheet edits). Built maps keep their pixels; mark them dirty/rebuild separately.
 
size_t tileset_cache_size () const
 Number of cached tileset entries (for tests and diagnostics).
 
void InvalidateMapCache (int map_index)
 Invalidate cached tileset for a specific map.
 
void InvalidateSiblingMapCaches (int map_index)
 Invalidate cached tilesets for a map and all its siblings.
 
absl::Status Save (Rom *rom)
 Master save method (calls sub-methods in correct order)
 
absl::Status SaveOverworldMaps ()
 Save compressed map tile data to ROM.
 
void StageSavedMapTiles ()
 
void CommitSavedMapTiles ()
 
void RollbackSavedMapTiles ()
 
absl::Status SaveLargeMaps ()
 Save large map parent/sibling relationships.
 
absl::Status SaveLargeMapsExpanded ()
 Save expanded large map data (v1+ ROMs)
 
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)
 Save screen transition data for small (1x1) areas.
 
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)
 Save screen transition data for large (2x2) areas.
 
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)
 Save screen transition data for wide (2x1) areas (v3+ only)
 
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)
 Save screen transition data for tall (1x2) areas (v3+ only)
 
absl::Status SaveEntrances ()
 Save entrance warp points to ROM.
 
absl::Status SaveExits ()
 Save exit return points to ROM.
 
absl::Status SaveItems ()
 Save hidden overworld items to ROM.
 
absl::Status SaveMapOverlays ()
 Save interactive overlay data to ROM.
 
absl::Status SaveOverworldTilesType ()
 Save tile type collision data to ROM.
 
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)
 Save custom ASM feature enable flags.
 
absl::Status SaveAreaSpecificBGColors ()
 Save per-area background colors (v2+)
 
absl::Status SaveCustomOverworldData ()
 Save all v2/v3 property tables using the ROM's current feature flags.
 
absl::Status CreateTile32Tilemap ()
 Build tile32 tilemap from current tile16 data.
 
absl::Status SaveMap16Expanded ()
 Save expanded tile16 definitions (v1+ ROMs)
 
absl::Status SaveMap16Tiles ()
 Save tile16 definitions to ROM.
 
absl::Status SaveMap32Expanded ()
 Save expanded tile32 definitions (v1+ ROMs)
 
absl::Status SaveMap32Tiles ()
 Save tile32 definitions to ROM.
 
absl::Status SaveMapProperties ()
 Save per-area graphics, palettes, and messages.
 
absl::Status SaveMusic ()
 Save per-area music IDs.
 
absl::Status SaveAreaSizes ()
 Save area size enum data (v3+ only)
 
void AssignMapSizes (std::vector< OverworldMap > &maps)
 Assign map sizes based on area size enum (v3+)
 
absl::Status ConfigureMultiAreaMap (int parent_index, AreaSizeEnum size)
 Configure a multi-area map structure (Large/Wide/Tall)
 
auto rom () const
 
auto mutable_rom ()
 
std::vector< std::pair< uint32_t, uint32_t > > GetProjectedWriteRanges () const
 Get the projected write ranges (PC offsets) for overworld map saves.
 
bool HasExpandedPointerTables () const
 Check if the ROM has expanded pointer tables for tail maps.
 
void Destroy ()
 
int GetTileFromPosition (ImVec2 position) const
 
OverworldBlockset & GetMapTiles (int world_type)
 
const std::vector< OverworldMap > & overworld_maps () const
 
auto overworld_map (int i) const
 
auto mutable_overworld_map (int i)
 
auto exits () const
 
auto mutable_exits ()
 
const std::vector< gfx::Tile16 > & tiles16 () const
 
auto tiles32_unique () const
 
auto mutable_tiles16 ()
 
auto sprites (int state) const
 
auto mutable_sprites (int state)
 
const std::vector< uint8_t > & current_graphics () const
 
const std::vector< OverworldEntrance > & entrances () const
 
auto & entrances ()
 
auto mutable_entrances ()
 
const std::vector< OverworldEntrance > & holes () const
 
auto & holes ()
 
auto mutable_holes ()
 
auto deleted_entrances () const
 
auto mutable_deleted_entrances ()
 
const gfx::SnesPalette & current_area_palette () const
 
const std::vector< uint8_t > & current_map_bitmap_data () const
 
const std::vector< uint8_t > & tile16_blockset_data () const
 
bool is_current_map_valid () const
 
auto is_loaded () const
 
auto expanded_tile16 () const
 
auto expanded_tile32 () const
 
auto expanded_entrances () const
 
int current_map_id () const
 
int current_world () const
 
void set_current_map (int i)
 
void set_current_world (int world)
 
void set_game_state (int state)
 
uint16_t GetTile (int x, int y) const
 
void SetTile (int x, int y, uint16_t tile_id)
 
auto map_tiles () const
 
auto mutable_map_tiles ()
 
auto all_items () const
 
auto mutable_all_items ()
 
auto all_tiles_types () const
 
auto mutable_all_tiles_types ()
 
auto all_sprites () const
 
const DiggableTiles & diggable_tiles () const
 
DiggableTiles * mutable_diggable_tiles ()
 
absl::Status LoadDiggableTiles ()
 
absl::Status SaveDiggableTiles ()
 
absl::Status AutoDetectDiggableTiles ()
 

Private Types

enum  Dimension { map32TilesTL = 0 , map32TilesTR = 1 , map32TilesBL = 2 , map32TilesBR = 3 }
 
using TilesetRevisions
 

Private Member Functions

void FetchLargeMaps ()
 
absl::StatusOr< uint16_t > GetTile16ForTile32 (int index, int quadrant, int dimension, const uint32_t *map32address)
 
absl::Status AssembleMap32Tiles ()
 
absl::Status AssembleMap16Tiles ()
 
void AssignWorldTiles (int x, int y, int sx, int sy, int tpos, OverworldBlockset &world)
 
void FillBlankMapTiles (int map_index)
 
OverworldBlockset & SelectWorldBlockset (int world_type)
 
void OrganizeMapTiles (std::vector< uint8_t > &bytes, std::vector< uint8_t > &bytes2, int i, int sx, int sy, int &ttpos)
 
absl::Status DecompressAllMapTilesParallel ()
 
absl::Status BuildLyraTerrainPreview (Rom *rom, rom::LyraLayoutInspection layout)
 
bool MapTilesUnchanged () const
 
TilesetRevisions SheetRevisionsForKey (const OverworldTilesetKey &key) const
 
uint64_t Tiles16Fingerprint () const
 
absl::Status BuildMapWithTilesetCache (int map_index, int world_type)
 

Private Attributes

Rom * rom_
 
GameData * game_data_ = nullptr
 
bool is_loaded_ = false
 
bool expanded_tile16_ = false
 
bool expanded_tile32_ = false
 
bool expanded_entrances_ = false
 
int game_state_ = 0
 
int current_map_ = 0
 
int current_world_ = 0
 
OverworldVersion cached_version_ = OverworldVersion::kVanilla
 
OverworldMapTiles map_tiles_
 
rom::LyraLayoutInspection descriptor_layout_
 
OverworldMapTiles loaded_map_tiles_
 
bool loaded_map_tiles_valid_ = false
 
OverworldMapTiles staged_map_tiles_
 
bool staged_map_tiles_valid_ = false
 
std::mutex map_tiles_mutex_
 
std::deque< int > built_map_lru_
 
std::map< OverworldTilesetKey, TilesetCacheEntry > tileset_cache_
 
uint64_t tileset_cache_clock_ = 0
 
std::vector< OverworldMap > overworld_maps_
 
OverworldGraphicsPreview graphics_preview_
 
std::vector< OverworldEntrance > all_entrances_
 
std::vector< OverworldEntrance > all_holes_
 
std::vector< OverworldExit > all_exits_
 
std::vector< OverworldItem > all_items_
 
std::vector< gfx::Tile16 > tiles16_
 
std::vector< gfx::Tile32 > tiles32_
 
std::vector< gfx::Tile32 > tiles32_unique_
 
std::vector< uint16_t > tiles32_list_
 
std::vector< uint64_t > deleted_entrances_
 
std::array< uint8_t, kNumOverworldMaps > map_parent_ = {0}
 
std::array< uint8_t, kNumTileTypes > all_tiles_types_ = {0}
 
std::array< std::vector< Sprite >, 3 > all_sprites_
 
std::array< std::array< bool, 160 >, 3 > sprite_maps_loaded_ {}
 
DiggableTiles diggable_tiles_
 
std::array< std::vector< uint8_t >, kNumOverworldMaps > map_data_p1
 
std::array< std::vector< uint8_t >, kNumOverworldMaps > map_data_p2
 
std::array< int, kNumOverworldMaps > map_pointers1_id
 
std::array< int, kNumOverworldMaps > map_pointers2_id
 
std::array< int, kNumOverworldMaps > map_pointers1
 
std::array< int, kNumOverworldMaps > map_pointers2
 

Static Private Attributes

static constexpr int kMaxBuiltMaps = 8
 
static constexpr size_t kMaxCachedTilesets = 24
 

Detailed Description

Definition at line 408 of file overworld.h.

Member Typedef Documentation

◆ TilesetRevisions

Initial value:
std::array<uint64_t, std::tuple_size_v<OverworldTilesetKey>>

Definition at line 910 of file overworld.h.

Member Enumeration Documentation

◆ Dimension

Enumerator
map32TilesTL 
map32TilesTR 
map32TilesBL 
map32TilesBR 

Definition at line 847 of file overworld.h.

Constructor & Destructor Documentation

◆ Overworld()

yaze::zelda3::Overworld::Overworld ( Rom * rom,
GameData * game_data = nullptr )
inline

Definition at line 410 of file overworld.h.

Member Function Documentation

◆ SetGameData()

void yaze::zelda3::Overworld::SetGameData ( GameData * game_data)
inline

Definition at line 413 of file overworld.h.

References game_data_.

Referenced by yaze::editor::OverworldEditor::SetGameData().

◆ version_constants()

◆ Load()

absl::Status yaze::zelda3::Overworld::Load ( Rom * rom)

Load all overworld data from ROM.

Definition at line 136 of file overworld.cc.

References all_entrances_, all_exits_, all_holes_, all_items_, AssembleMap16Tiles(), AssembleMap32Tiles(), ASSIGN_OR_RETURN, AssignMapSizes(), cached_version_, DecompressAllMapTilesParallel(), descriptor_layout_, yaze::zelda3::DetectOverworldRomProfile(), expanded_entrances_, FetchLargeMaps(), game_data_, is_loaded_, yaze::rom::kInvalid, yaze::zelda3::kNumOverworldMaps, yaze::rom::kValid, LoadDiggableTiles(), loaded_map_tiles_, loaded_map_tiles_valid_, yaze::zelda3::LoadEntrances(), yaze::zelda3::LoadExits(), yaze::zelda3::LoadHoles(), yaze::zelda3::LoadItems(), LoadOverworldMaps(), LoadSprites(), LoadTileTypes(), map_parent_, map_tiles_, overworld_maps_, RETURN_IF_ERROR, rom(), rom_, and yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum().

Referenced by yaze::cli::Tile16ProposalGenerator::ApplyProposal(), yaze::cli::handlers::OverworldGetTileCommandHandler::Execute(), yaze::cli::handlers::OverworldInspectSpecialEntrancesCommandHandler::Execute(), yaze::cli::handlers::OverworldFindTileCommandHandler::Execute(), yaze::cli::handlers::OverworldDescribeMapCommandHandler::Execute(), yaze::cli::handlers::OverworldListWarpsCommandHandler::Execute(), yaze::cli::handlers::OverworldListSpritesCommandHandler::Execute(), yaze::cli::handlers::OverworldListItemsCommandHandler::Execute(), yaze::cli::handlers::OverworldGetEntranceCommandHandler::Execute(), yaze::cli::handlers::OverworldTileStatsCommandHandler::Execute(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), yaze::cli::OverworldValidateCommandHandler::Execute(), yaze::cli::handlers::ToolsExtractGoldenCommandHandler::Execute(), yaze::cli::handlers::OverworldSetTileCommandHandler::ExecuteWithContext(), yaze::cli::handlers::OverworldSpriteEditCommandHandler::ExecuteWithContext(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand(), yaze::app::service::RenderService::RenderOverworldArea(), yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), yaze::test::RomDependentTestSuite::RunRomOverworldLoadingTest(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::VerifyTileGridRoundTrip().

◆ LoadLyraTerrainPreview()

absl::Status yaze::zelda3::Overworld::LoadLyraTerrainPreview ( Rom * rom)

Definition at line 242 of file overworld.cc.

References BuildLyraTerrainPreview(), is_loaded_, yaze::rom::kValid, and rom().

Referenced by yaze::editor::OverworldEditor::LoadGraphics().

Here is the call graph for this function:

◆ is_lyra_preview()

◆ inspected_map_count()

◆ descriptor_sprite_display_available()

bool yaze::zelda3::Overworld::descriptor_sprite_display_available ( ) const
inline

Definition at line 436 of file overworld.h.

◆ LoadOverworldMaps()

◆ LoadTileTypes()

void yaze::zelda3::Overworld::LoadTileTypes ( )

Load tile type collision data.

Definition at line 1351 of file overworld.cc.

References all_tiles_types_, yaze::zelda3::kNumTileTypes, zelda3_version_pointers::kOverworldTilesType, rom(), and version_constants().

Referenced by Load().

Here is the call graph for this function:

◆ LoadSprites()

absl::Status yaze::zelda3::Overworld::LoadSprites ( )

Load sprite data for all game states.

Definition at line 1423 of file overworld.cc.

References yaze::zelda3::GetOverworldSpriteLayout(), LoadSpritesFromMap(), RETURN_IF_ERROR, and rom_.

Referenced by Load().

Here is the call graph for this function:

◆ PrepareSpriteSave()

absl::StatusOr< OverworldSpriteSavePlan > yaze::zelda3::Overworld::PrepareSpriteSave ( ) const

Definition at line 1489 of file overworld.cc.

References all_sprites_, yaze::zelda3::PlanOverworldSpriteSave(), rom_, and sprite_maps_loaded_.

Referenced by yaze::editor::OverworldEditor::Save(), Save(), and SaveSprites().

Here is the call graph for this function:

◆ SaveSprites()

absl::Status yaze::zelda3::Overworld::SaveSprites ( )

Definition at line 1534 of file overworld.cc.

References yaze::zelda3::ApplyOverworldSpriteSave(), ASSIGN_OR_RETURN, PrepareSpriteSave(), and rom_.

Here is the call graph for this function:

◆ LoadSpritesFromMap()

absl::Status yaze::zelda3::Overworld::LoadSpritesFromMap ( int sprite_start,
int sprite_count,
int sprite_index )

Load sprites from a specific map range.

Definition at line 1454 of file overworld.cc.

References all_sprites_, ASSIGN_OR_RETURN, current_graphics(), map_parent_, overworld_maps_, yaze::zelda3::ReadOverworldSpriteList(), rom_, yaze::Rom::size(), and sprite_maps_loaded_.

Referenced by LoadSprites().

Here is the call graph for this function:

◆ EnsureMapBuilt()

absl::Status yaze::zelda3::Overworld::EnsureMapBuilt ( int map_index)

Build a map on-demand if it hasn't been built yet.

Used for lazy loading optimization. Maps are built when first accessed rather than all at once during Load().

Definition at line 1099 of file overworld.cc.

References BuildMapWithTilesetCache(), built_map_lru_, cached_version_, yaze::rom::LyraLayoutInspection::capacity, descriptor_layout_, FillBlankMapTiles(), game_state_, yaze::core::FeatureFlags::get(), HasExpandedPointerTables(), is_lyra_preview(), yaze::zelda3::kAreaGfxIdPtr, yaze::zelda3::kDarkWorldMapIdStart, yaze::core::FeatureFlags::Flags::Overworld::kEnableSpecialWorldExpansion, kMaxBuiltMaps, yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMapPaletteIds, yaze::zelda3::kOverworldSpecialGfxGroup, yaze::zelda3::kOverworldSpecialPalGroup, yaze::zelda3::kSpecialWorldMapIdStart, yaze::zelda3::kVanilla, yaze::core::FeatureFlags::Flags::overworld, overworld_maps_, rom_, and SyncAreaProperties().

Referenced by yaze::cli::overworld::BuildMapSummary(), BuildSubscreenOverlayLayer(), yaze::editor::CanvasNavigationManager::CheckForCurrentMap(), yaze::editor::TilePaintingManager::DrawBrushPreview(), yaze::editor::OverworldMapTextureCoordinator::EnsureMapTexture(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::CanvasNavigationManager::ProcessPreloadQueue(), yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset(), yaze::app::service::RenderService::RenderOverworldArea(), yaze::editor::OverworldEditor::SelectMapForEditing(), and yaze::editor::OverworldEditor::SwitchToWorld().

◆ SyncAreaProperties()

void yaze::zelda3::Overworld::SyncAreaProperties ( int map_index)

Copy the area parent's render settings (main palette, animated GFX, tile GFX groups, subscreen overlay) onto a child screen.

The game reads these tables with the area id ($8A), which is the parent of a large/wide/tall area, so child screens must render with the parent's values. Call before rebuilding a map's graphics or palette.

Definition at line 1311 of file overworld.cc.

References graphics_preview_, and overworld_maps_.

Referenced by EnsureMapBuilt(), LoadOverworldMaps(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::anonymous_namespace{map_refresh_coordinator.cc}::PrepareMapForRefresh(), and SetGraphicsPreview().

◆ SetGraphicsPreview()

void yaze::zelda3::Overworld::SetGraphicsPreview ( OverworldGraphicsPreview preview)

Definition at line 1304 of file overworld.cc.

References graphics_preview_, overworld_maps_, and SyncAreaProperties().

Referenced by yaze::editor::OverworldEditor::SyncProjectGraphicsPreview().

Here is the call graph for this function:

◆ BuildSubscreenOverlayLayer()

◆ ClearGraphicsConfigCache()

void yaze::zelda3::Overworld::ClearGraphicsConfigCache ( )
inline

Drop every cached tileset/blockset. Call after graphics buffer or tile16 edits that are not tied to one sheet.

Definition at line 502 of file overworld.h.

References tileset_cache_.

Referenced by yaze::editor::MapRefreshCoordinator::InvalidateGraphicsCache().

◆ InvalidateTilesetCacheForSheet()

void yaze::zelda3::Overworld::InvalidateTilesetCacheForSheet ( int sheet)

Drop cached tilesets that load sheet (graphics sheet edits). Built maps keep their pixels; mark them dirty/rebuild separately.

Definition at line 1292 of file overworld.cc.

References tileset_cache_.

◆ tileset_cache_size()

size_t yaze::zelda3::Overworld::tileset_cache_size ( ) const
inline

Number of cached tileset entries (for tests and diagnostics).

Definition at line 509 of file overworld.h.

References tileset_cache_.

◆ InvalidateMapCache()

void yaze::zelda3::Overworld::InvalidateMapCache ( int map_index)

Invalidate cached tileset for a specific map.

Parameters
map_indexThe map whose cache entry should be invalidated

Definition at line 1358 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, overworld_maps_, and tileset_cache_.

Referenced by InvalidateSiblingMapCaches().

◆ InvalidateSiblingMapCaches()

void yaze::zelda3::Overworld::InvalidateSiblingMapCaches ( int map_index)

Invalidate cached tilesets for a map and all its siblings.

Parameters
map_indexAny map in a multi-area group

Definition at line 1375 of file overworld.cc.

References cached_version_, InvalidateMapCache(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, mutable_overworld_map(), yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.

Referenced by yaze::editor::MapRefreshCoordinator::ForceRefreshGraphics(), and yaze::editor::MapRefreshCoordinator::InvalidateGraphicsCache().

Here is the call graph for this function:

◆ Save()

◆ SaveOverworldMaps()

◆ StageSavedMapTiles()

void yaze::zelda3::Overworld::StageSavedMapTiles ( )

Definition at line 1579 of file overworld.cc.

References map_tiles_, staged_map_tiles_, and staged_map_tiles_valid_.

Referenced by SaveOverworldMaps().

◆ CommitSavedMapTiles()

void yaze::zelda3::Overworld::CommitSavedMapTiles ( )

◆ RollbackSavedMapTiles()

void yaze::zelda3::Overworld::RollbackSavedMapTiles ( )

◆ SaveLargeMaps()

◆ SaveLargeMapsExpanded()

◆ SaveSmallAreaTransitions()

absl::Status yaze::zelda3::Overworld::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 )

Save screen transition data for small (1x1) areas.

Definition at line 2160 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, overworld_maps_, RETURN_IF_ERROR, rom(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.

Referenced by SaveLargeMapsExpanded().

Here is the call graph for this function:

◆ SaveLargeAreaTransitions()

absl::Status yaze::zelda3::Overworld::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 )

Save screen transition data for large (2x2) areas.

Definition at line 2269 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, overworld_maps_, RETURN_IF_ERROR, rom(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.

Referenced by SaveLargeMapsExpanded().

Here is the call graph for this function:

◆ SaveWideAreaTransitions()

absl::Status yaze::zelda3::Overworld::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 )

Save screen transition data for wide (2x1) areas (v3+ only)

Definition at line 2425 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, overworld_maps_, RETURN_IF_ERROR, rom(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.

Referenced by SaveLargeMapsExpanded().

Here is the call graph for this function:

◆ SaveTallAreaTransitions()

absl::Status yaze::zelda3::Overworld::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 )

Save screen transition data for tall (1x2) areas (v3+ only)

Definition at line 2565 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, overworld_maps_, RETURN_IF_ERROR, rom(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.

Referenced by SaveLargeMapsExpanded().

Here is the call graph for this function:

◆ SaveEntrances()

absl::Status yaze::zelda3::Overworld::SaveEntrances ( )

Save entrance warp points to ROM.

Definition at line 3304 of file overworld.cc.

References all_entrances_, all_holes_, expanded_entrances_, RETURN_IF_ERROR, rom_, yaze::zelda3::SaveEntrances(), and yaze::zelda3::SaveHoles().

Referenced by yaze::editor::OverworldEditor::Save(), and Save().

Here is the call graph for this function:

◆ SaveExits()

absl::Status yaze::zelda3::Overworld::SaveExits ( )

Save exit return points to ROM.

Definition at line 3311 of file overworld.cc.

References all_exits_, RETURN_IF_ERROR, rom_, and yaze::zelda3::SaveExits().

Referenced by yaze::editor::OverworldEditor::Save(), and Save().

Here is the call graph for this function:

◆ SaveItems()

absl::Status yaze::zelda3::Overworld::SaveItems ( )

Save hidden overworld items to ROM.

Definition at line 3316 of file overworld.cc.

References all_items_, ASSIGN_OR_RETURN, yaze::zelda3::LoadItems(), overworld_maps_, RETURN_IF_ERROR, rom_, and yaze::zelda3::SaveItems().

Referenced by yaze::editor::OverworldEditor::Save(), and Save().

Here is the call graph for this function:

◆ SaveMapOverlays()

absl::Status yaze::zelda3::Overworld::SaveMapOverlays ( )

Save interactive overlay data to ROM.

Definition at line 3351 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverlayCodeStart, yaze::util::logf(), overworld_maps_, yaze::PcToSnes(), RETURN_IF_ERROR, and rom().

Referenced by Save().

Here is the call graph for this function:

◆ SaveOverworldTilesType()

absl::Status yaze::zelda3::Overworld::SaveOverworldTilesType ( )

Save tile type collision data to ROM.

Definition at line 3423 of file overworld.cc.

References all_tiles_types_, yaze::zelda3::kNumTileTypes, yaze::util::logf(), yaze::zelda3::overworldTilesType, RETURN_IF_ERROR, and rom().

Referenced by Save().

Here is the call graph for this function:

◆ SaveCustomOverworldASM()

◆ SaveAreaSpecificBGColors()

absl::Status yaze::zelda3::Overworld::SaveAreaSpecificBGColors ( )

◆ SaveCustomOverworldData()

◆ CreateTile32Tilemap()

absl::Status yaze::zelda3::Overworld::CreateTile32Tilemap ( )

◆ SaveMap16Expanded()

absl::Status yaze::zelda3::Overworld::SaveMap16Expanded ( )

Save expanded tile16 definitions (v1+ ROMs)

Definition at line 3181 of file overworld.cc.

References ASSIGN_OR_RETURN, yaze::zelda3::GetMap16TilesExpanded(), yaze::zelda3::NumberOfMap16Ex, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), yaze::SnesToPc(), and tiles16_.

Referenced by yaze::editor::OverworldEditor::Save(), and Save().

Here is the call graph for this function:

◆ SaveMap16Tiles()

absl::Status yaze::zelda3::Overworld::SaveMap16Tiles ( )

Save tile16 definitions to ROM.

Definition at line 3283 of file overworld.cc.

References yaze::zelda3::kMap16Tiles, yaze::util::logf(), yaze::zelda3::NumberOfMap16, RETURN_IF_ERROR, rom(), and tiles16_.

Referenced by yaze::editor::OverworldEditor::Save(), and Save().

Here is the call graph for this function:

◆ SaveMap32Expanded()

◆ SaveMap32Tiles()

◆ SaveMapProperties()

◆ SaveMusic()

◆ SaveAreaSizes()

absl::Status yaze::zelda3::Overworld::SaveAreaSizes ( )

◆ AssignMapSizes()

void yaze::zelda3::Overworld::AssignMapSizes ( std::vector< OverworldMap > & maps)

Assign map sizes based on area size enum (v3+)

Loads all maps from ROM to see what size they are.

Parameters
mapsThe maps to update (passed by reference)

Definition at line 403 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, yaze::zelda3::SmallArea, yaze::zelda3::TallArea, and yaze::zelda3::WideArea.

Referenced by Load().

◆ ConfigureMultiAreaMap()

◆ rom()

◆ mutable_rom()

auto yaze::zelda3::Overworld::mutable_rom ( )
inline

Definition at line 662 of file overworld.h.

References rom_.

◆ GetProjectedWriteRanges()

◆ HasExpandedPointerTables()

bool yaze::zelda3::Overworld::HasExpandedPointerTables ( ) const
inline

Check if the ROM has expanded pointer tables for tail maps.

Returns true if the TailMapExpansion.asm patch has been applied, enabling support for maps 0xA0-0xBF. Detection is based on the marker byte at 0x1423FF being 0xEA.

Definition at line 681 of file overworld.h.

References yaze::Rom::data(), yaze::zelda3::GetExpandedPtrTableMagic(), yaze::zelda3::GetExpandedPtrTableMarker(), rom_, and yaze::Rom::size().

Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

Here is the call graph for this function:

◆ Destroy()

void yaze::zelda3::Overworld::Destroy ( )
inline

◆ GetTileFromPosition()

int yaze::zelda3::Overworld::GetTileFromPosition ( ImVec2 position) const
inline

◆ GetMapTiles()

◆ overworld_maps()

◆ overworld_map()

auto yaze::zelda3::Overworld::overworld_map ( int i) const
inline

Definition at line 737 of file overworld.h.

References overworld_maps_.

Referenced by yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::cli::overworld::BuildMapSummary(), yaze::editor::BuildOverworldMapMetadata(), yaze::editor::anonymous_namespace{map_properties.cc}::CaptureMapMetadataClipboard(), yaze::editor::CanvasNavigationManager::CheckForCurrentMap(), yaze::cli::overworld::CollectTileUsage(), yaze::zelda3::DescribeMainGroupUsage(), yaze::zelda3::DescribeRoomsetUsage(), yaze::editor::OverworldToolbar::Draw(), yaze::editor::OverworldSidebar::Draw(), yaze::editor::OverworldSidebar::DrawAreaSection(), yaze::editor::TilePaintingManager::DrawBrushPreview(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::OverworldSidebar::DrawGraphicsSection(), yaze::editor::OverworldSidebar::DrawMusicSection(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::MapPropertiesSystem::DrawOverlayPreviewOnMap(), yaze::editor::OverworldSidebar::DrawPaletteSection(), yaze::editor::OverworldSidebar::DrawQuickProperties(), yaze::editor::UsageStatisticsCard::DrawUsageGrid(), yaze::editor::UsageStatisticsCard::DrawUsageStates(), yaze::editor::OverworldMapTextureCoordinator::EnsureMapTexture(), yaze::cli::handlers::OverworldDescribeMapCommandHandler::Execute(), yaze::cli::handlers::OverworldListSpritesCommandHandler::Execute(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), yaze::cli::handlers::OverworldSpriteEditCommandHandler::ExecuteWithContext(), yaze::editor::EntityMutationService::InsertEntity(), yaze::editor::InsertEntrance(), yaze::editor::InsertExit(), yaze::zelda3::InspectSpecialEntrances(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::cli::overworld::LocateScreenTile(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::MapFromCanvasPosition(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::OverworldCanvasRenderer::PrepareContextMenu(), yaze::editor::CanvasNavigationManager::QueueAdjacentMapsForPreload(), yaze::editor::MapPropertiesSystem::ReadPropertyValue(), yaze::editor::MapRefreshCoordinator::RefreshMapProperties(), yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset(), yaze::app::service::RenderService::RenderOverworldArea(), yaze::cli::overworld::ResolveAreaTileForMap(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::SelectMapFallback(), yaze::editor::OverworldEditor::SelectMapForEditing(), yaze::editor::OverworldEditor::set_current_map(), yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu(), yaze::editor::TilePaintingManager::Tile16PixelsForMap(), yaze::editor::OverworldEditor::TryPlaceArmedItem(), and yaze::zelda3::OverworldExit::UpdateMapProperties().

◆ mutable_overworld_map()

◆ exits()

◆ mutable_exits()

auto yaze::zelda3::Overworld::mutable_exits ( )
inline

◆ tiles16()

◆ tiles32_unique()

auto yaze::zelda3::Overworld::tiles32_unique ( ) const
inline

◆ mutable_tiles16()

◆ sprites()

auto yaze::zelda3::Overworld::sprites ( int state) const
inline

◆ mutable_sprites()

◆ current_graphics()

const std::vector< uint8_t > & yaze::zelda3::Overworld::current_graphics ( ) const
inline

Definition at line 764 of file overworld.h.

References current_map_, is_current_map_valid(), and overworld_maps_.

Referenced by yaze::editor::OverworldEditor::LoadGraphics(), and LoadSpritesFromMap().

Here is the call graph for this function:

◆ entrances() [1/2]

◆ entrances() [2/2]

auto & yaze::zelda3::Overworld::entrances ( )
inline

Definition at line 773 of file overworld.h.

References all_entrances_.

◆ mutable_entrances()

auto yaze::zelda3::Overworld::mutable_entrances ( )
inline

Definition at line 774 of file overworld.h.

References all_entrances_.

Referenced by yaze::editor::InsertEntrance().

◆ holes() [1/2]

◆ holes() [2/2]

auto & yaze::zelda3::Overworld::holes ( )
inline

Definition at line 776 of file overworld.h.

References all_holes_.

◆ mutable_holes()

auto yaze::zelda3::Overworld::mutable_holes ( )
inline

Definition at line 777 of file overworld.h.

References all_holes_.

◆ deleted_entrances()

auto yaze::zelda3::Overworld::deleted_entrances ( ) const
inline

Definition at line 778 of file overworld.h.

References deleted_entrances_.

◆ mutable_deleted_entrances()

auto yaze::zelda3::Overworld::mutable_deleted_entrances ( )
inline

Definition at line 779 of file overworld.h.

References deleted_entrances_.

◆ current_area_palette()

◆ current_map_bitmap_data()

const std::vector< uint8_t > & yaze::zelda3::Overworld::current_map_bitmap_data ( ) const
inline

Definition at line 786 of file overworld.h.

References current_map_, is_current_map_valid(), and overworld_maps_.

Here is the call graph for this function:

◆ tile16_blockset_data()

const std::vector< uint8_t > & yaze::zelda3::Overworld::tile16_blockset_data ( ) const
inline

Definition at line 792 of file overworld.h.

References current_map_, is_current_map_valid(), and overworld_maps_.

Referenced by yaze::editor::OverworldEditor::LoadGraphics().

Here is the call graph for this function:

◆ is_current_map_valid()

bool yaze::zelda3::Overworld::is_current_map_valid ( ) const
inline

◆ is_loaded()

◆ expanded_tile16()

auto yaze::zelda3::Overworld::expanded_tile16 ( ) const
inline

◆ expanded_tile32()

auto yaze::zelda3::Overworld::expanded_tile32 ( ) const
inline

◆ expanded_entrances()

auto yaze::zelda3::Overworld::expanded_entrances ( ) const
inline

Definition at line 806 of file overworld.h.

References expanded_entrances_.

◆ current_map_id()

int yaze::zelda3::Overworld::current_map_id ( ) const
inline

Definition at line 807 of file overworld.h.

References current_map_.

◆ current_world()

int yaze::zelda3::Overworld::current_world ( ) const
inline

◆ set_current_map()

◆ set_current_world()

◆ set_game_state()

◆ GetTile()

◆ SetTile()

◆ map_tiles()

auto yaze::zelda3::Overworld::map_tiles ( ) const
inline

◆ mutable_map_tiles()

◆ all_items()

◆ mutable_all_items()

◆ all_tiles_types()

auto yaze::zelda3::Overworld::all_tiles_types ( ) const
inline

Definition at line 835 of file overworld.h.

References all_tiles_types_.

◆ mutable_all_tiles_types()

auto yaze::zelda3::Overworld::mutable_all_tiles_types ( )
inline

Definition at line 836 of file overworld.h.

References all_tiles_types_.

Referenced by yaze::editor::OverworldEditor::Load().

◆ all_sprites()

auto yaze::zelda3::Overworld::all_sprites ( ) const
inline

Definition at line 837 of file overworld.h.

References all_sprites_.

◆ diggable_tiles()

const DiggableTiles & yaze::zelda3::Overworld::diggable_tiles ( ) const
inline

◆ mutable_diggable_tiles()

DiggableTiles * yaze::zelda3::Overworld::mutable_diggable_tiles ( )
inline

Definition at line 841 of file overworld.h.

References diggable_tiles_.

◆ LoadDiggableTiles()

absl::Status yaze::zelda3::Overworld::LoadDiggableTiles ( )

Definition at line 3434 of file overworld.cc.

References diggable_tiles_, and yaze::zelda3::DiggableTiles::SetVanillaDefaults().

Referenced by Load().

Here is the call graph for this function:

◆ SaveDiggableTiles()

absl::Status yaze::zelda3::Overworld::SaveDiggableTiles ( )

Definition at line 3445 of file overworld.cc.

References cached_version_, yaze::zelda3::OverworldVersionHelper::GetVersion(), and rom_.

Referenced by Save().

Here is the call graph for this function:

◆ AutoDetectDiggableTiles()

◆ FetchLargeMaps()

void yaze::zelda3::Overworld::FetchLargeMaps ( )
private

Definition at line 310 of file overworld.cc.

References yaze::zelda3::kNumOverworldMaps, and overworld_maps_.

Referenced by Load().

◆ GetTile16ForTile32()

absl::StatusOr< uint16_t > yaze::zelda3::Overworld::GetTile16ForTile32 ( int index,
int quadrant,
int dimension,
const uint32_t * map32address )
private

Definition at line 663 of file overworld.cc.

References ASSIGN_OR_RETURN, and rom().

Referenced by AssembleMap32Tiles().

Here is the call graph for this function:

◆ AssembleMap32Tiles()

◆ AssembleMap16Tiles()

absl::Status yaze::zelda3::Overworld::AssembleMap16Tiles ( )
private

Definition at line 775 of file overworld.cc.

References ASSIGN_OR_RETURN, expanded_tile16_, yaze::zelda3::ReadMap16Tiles(), rom(), tiles16(), and tiles16_.

Referenced by BuildLyraTerrainPreview(), and Load().

Here is the call graph for this function:

◆ AssignWorldTiles()

void yaze::zelda3::Overworld::AssignWorldTiles ( int x,
int y,
int sx,
int sy,
int tpos,
OverworldBlockset & world )
private

Definition at line 787 of file overworld.cc.

References tiles32_unique_.

Referenced by BuildLyraTerrainPreview(), and OrganizeMapTiles().

◆ FillBlankMapTiles()

void yaze::zelda3::Overworld::FillBlankMapTiles ( int map_index)
private

Definition at line 810 of file overworld.cc.

References yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kSpecialWorldMapIdStart, and SelectWorldBlockset().

Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

Here is the call graph for this function:

◆ SelectWorldBlockset()

OverworldBlockset & yaze::zelda3::Overworld::SelectWorldBlockset ( int world_type)
private

◆ OrganizeMapTiles()

void yaze::zelda3::Overworld::OrganizeMapTiles ( std::vector< uint8_t > & bytes,
std::vector< uint8_t > & bytes2,
int i,
int sx,
int sy,
int & ttpos )
private

◆ DecompressAllMapTilesParallel()

◆ BuildLyraTerrainPreview()

◆ MapTilesUnchanged()

◆ SheetRevisionsForKey()

Overworld::TilesetRevisions yaze::zelda3::Overworld::SheetRevisionsForKey ( const OverworldTilesetKey & key) const
private

Definition at line 1278 of file overworld.cc.

References game_data_, yaze::zelda3::GraphicsSheetStore::Revision(), and yaze::zelda3::GraphicsSheetStoreHolder::sheet_store.

Referenced by BuildMapWithTilesetCache().

Here is the call graph for this function:

◆ Tiles16Fingerprint()

uint64_t yaze::zelda3::Overworld::Tiles16Fingerprint ( ) const
private

Definition at line 1199 of file overworld.cc.

References tiles16_.

Referenced by BuildMapWithTilesetCache().

◆ BuildMapWithTilesetCache()

absl::Status yaze::zelda3::Overworld::BuildMapWithTilesetCache ( int map_index,
int world_type )
private

Member Data Documentation

◆ rom_

◆ game_data_

GameData* yaze::zelda3::Overworld::game_data_ = nullptr
private

◆ is_loaded_

bool yaze::zelda3::Overworld::is_loaded_ = false
private

◆ expanded_tile16_

bool yaze::zelda3::Overworld::expanded_tile16_ = false
private

Definition at line 875 of file overworld.h.

Referenced by AssembleMap16Tiles(), expanded_tile16(), GetProjectedWriteRanges(), and Save().

◆ expanded_tile32_

bool yaze::zelda3::Overworld::expanded_tile32_ = false
private

Definition at line 876 of file overworld.h.

Referenced by AssembleMap32Tiles(), expanded_tile32(), GetProjectedWriteRanges(), and Save().

◆ expanded_entrances_

bool yaze::zelda3::Overworld::expanded_entrances_ = false
private

Definition at line 877 of file overworld.h.

Referenced by BuildLyraTerrainPreview(), expanded_entrances(), Load(), and SaveEntrances().

◆ game_state_

int yaze::zelda3::Overworld::game_state_ = 0
private

◆ current_map_

int yaze::zelda3::Overworld::current_map_ = 0
private

◆ current_world_

int yaze::zelda3::Overworld::current_world_ = 0
private

Definition at line 881 of file overworld.h.

Referenced by current_world(), GetTile(), GetTileFromPosition(), set_current_world(), and SetTile().

◆ cached_version_

◆ map_tiles_

◆ descriptor_layout_

rom::LyraLayoutInspection yaze::zelda3::Overworld::descriptor_layout_
private

◆ loaded_map_tiles_

OverworldMapTiles yaze::zelda3::Overworld::loaded_map_tiles_
private

Definition at line 893 of file overworld.h.

Referenced by BuildLyraTerrainPreview(), CommitSavedMapTiles(), Load(), and MapTilesUnchanged().

◆ loaded_map_tiles_valid_

bool yaze::zelda3::Overworld::loaded_map_tiles_valid_ = false
private

◆ staged_map_tiles_

OverworldMapTiles yaze::zelda3::Overworld::staged_map_tiles_
private

Definition at line 895 of file overworld.h.

Referenced by CommitSavedMapTiles(), RollbackSavedMapTiles(), and StageSavedMapTiles().

◆ staged_map_tiles_valid_

bool yaze::zelda3::Overworld::staged_map_tiles_valid_ = false
private

Definition at line 896 of file overworld.h.

Referenced by CommitSavedMapTiles(), RollbackSavedMapTiles(), and StageSavedMapTiles().

◆ map_tiles_mutex_

std::mutex yaze::zelda3::Overworld::map_tiles_mutex_
mutableprivate

Definition at line 900 of file overworld.h.

◆ kMaxBuiltMaps

constexpr int yaze::zelda3::Overworld::kMaxBuiltMaps = 8
staticconstexprprivate

Definition at line 905 of file overworld.h.

Referenced by EnsureMapBuilt().

◆ built_map_lru_

std::deque<int> yaze::zelda3::Overworld::built_map_lru_
private

Definition at line 906 of file overworld.h.

Referenced by BuildLyraTerrainPreview(), Destroy(), EnsureMapBuilt(), and LoadOverworldMaps().

◆ tileset_cache_

◆ tileset_cache_clock_

uint64_t yaze::zelda3::Overworld::tileset_cache_clock_ = 0
private

Definition at line 922 of file overworld.h.

Referenced by BuildMapWithTilesetCache().

◆ kMaxCachedTilesets

constexpr size_t yaze::zelda3::Overworld::kMaxCachedTilesets = 24
staticconstexprprivate

Definition at line 926 of file overworld.h.

Referenced by BuildMapWithTilesetCache().

◆ overworld_maps_

◆ graphics_preview_

OverworldGraphicsPreview yaze::zelda3::Overworld::graphics_preview_
private

Definition at line 933 of file overworld.h.

Referenced by SetGraphicsPreview(), and SyncAreaProperties().

◆ all_entrances_

std::vector<OverworldEntrance> yaze::zelda3::Overworld::all_entrances_
private

Definition at line 934 of file overworld.h.

Referenced by Destroy(), entrances(), entrances(), Load(), mutable_entrances(), and SaveEntrances().

◆ all_holes_

std::vector<OverworldEntrance> yaze::zelda3::Overworld::all_holes_
private

Definition at line 935 of file overworld.h.

Referenced by holes(), holes(), Load(), mutable_holes(), and SaveEntrances().

◆ all_exits_

std::vector<OverworldExit> yaze::zelda3::Overworld::all_exits_
private

Definition at line 936 of file overworld.h.

Referenced by Destroy(), exits(), Load(), mutable_exits(), and SaveExits().

◆ all_items_

std::vector<OverworldItem> yaze::zelda3::Overworld::all_items_
private

Definition at line 937 of file overworld.h.

Referenced by all_items(), Destroy(), Load(), mutable_all_items(), and SaveItems().

◆ tiles16_

◆ tiles32_

std::vector<gfx::Tile32> yaze::zelda3::Overworld::tiles32_
private

Definition at line 940 of file overworld.h.

Referenced by Destroy().

◆ tiles32_unique_

std::vector<gfx::Tile32> yaze::zelda3::Overworld::tiles32_unique_
private

◆ tiles32_list_

std::vector<uint16_t> yaze::zelda3::Overworld::tiles32_list_
private

Definition at line 943 of file overworld.h.

Referenced by CreateTile32Tilemap(), and SaveOverworldMaps().

◆ deleted_entrances_

std::vector<uint64_t> yaze::zelda3::Overworld::deleted_entrances_
private

Definition at line 944 of file overworld.h.

Referenced by deleted_entrances(), and mutable_deleted_entrances().

◆ map_parent_

std::array<uint8_t, kNumOverworldMaps> yaze::zelda3::Overworld::map_parent_ = {0}
private

Definition at line 946 of file overworld.h.

Referenced by BuildLyraTerrainPreview(), Load(), and LoadSpritesFromMap().

◆ all_tiles_types_

std::array<uint8_t, kNumTileTypes> yaze::zelda3::Overworld::all_tiles_types_ = {0}
private

◆ all_sprites_

std::array<std::vector<Sprite>, 3> yaze::zelda3::Overworld::all_sprites_
private

◆ sprite_maps_loaded_

std::array<std::array<bool, 160>, 3> yaze::zelda3::Overworld::sprite_maps_loaded_ {}
private

Definition at line 949 of file overworld.h.

Referenced by Destroy(), LoadSpritesFromMap(), and PrepareSpriteSave().

◆ diggable_tiles_

DiggableTiles yaze::zelda3::Overworld::diggable_tiles_
private

◆ map_data_p1

std::array<std::vector<uint8_t>, kNumOverworldMaps> yaze::zelda3::Overworld::map_data_p1
private

Definition at line 951 of file overworld.h.

Referenced by SaveOverworldMaps().

◆ map_data_p2

std::array<std::vector<uint8_t>, kNumOverworldMaps> yaze::zelda3::Overworld::map_data_p2
private

Definition at line 952 of file overworld.h.

Referenced by SaveOverworldMaps().

◆ map_pointers1_id

std::array<int, kNumOverworldMaps> yaze::zelda3::Overworld::map_pointers1_id
private

Definition at line 953 of file overworld.h.

Referenced by SaveOverworldMaps().

◆ map_pointers2_id

std::array<int, kNumOverworldMaps> yaze::zelda3::Overworld::map_pointers2_id
private

Definition at line 954 of file overworld.h.

Referenced by SaveOverworldMaps().

◆ map_pointers1

std::array<int, kNumOverworldMaps> yaze::zelda3::Overworld::map_pointers1
private

Definition at line 955 of file overworld.h.

Referenced by SaveOverworldMaps().

◆ map_pointers2

std::array<int, kNumOverworldMaps> yaze::zelda3::Overworld::map_pointers2
private

Definition at line 956 of file overworld.h.

Referenced by SaveOverworldMaps().


The documentation for this class was generated from the following files: