#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 |
| bool | lyra_a0_terrain_writable () const |
| const std::array< uint16_t, 256 > & | lyra_a0_tiles () const |
| absl::Status | SetLyraA0Tile32 (int x, int y, uint16_t tile) |
| absl::Status | LoadOverworldMaps () |
| Load overworld map tile data. | |
| void | LoadTileTypes () |
| Load tile type collision data. | |
| absl::StatusOr< std::array< uint8_t, kNumTileTypes > > | GetTile8CollisionTypes (int map_id) const |
| 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. | |
| absl::Status | ValidatePrivateNativeTerrainSave () const |
| 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 |
| bool | has_tail_map_expansion () const |
| void | set_has_tail_map_expansion (bool v) |
| 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) |
Static Private Attributes | |
| static constexpr int | kMaxBuiltMaps = 8 |
| static constexpr size_t | kMaxCachedTilesets = 24 |
Definition at line 422 of file overworld.h.
|
private |
Definition at line 949 of file overworld.h.
|
private |
| Enumerator | |
|---|---|
| map32TilesTL | |
| map32TilesTR | |
| map32TilesBL | |
| map32TilesBR | |
Definition at line 882 of file overworld.h.
Definition at line 424 of file overworld.h.
|
inline |
Definition at line 427 of file overworld.h.
References game_data_.
Referenced by yaze::editor::OverworldEditor::SetGameData().
|
inline |
Get version-specific ROM addresses.
Definition at line 430 of file overworld.h.
References game_data_, and yaze::zelda3::GameData::version.
Referenced by AssembleMap32Tiles(), CreateTile32Tilemap(), DecompressAllMapTilesParallel(), GetProjectedWriteRanges(), GetTile8CollisionTypes(), LoadTileTypes(), SaveMap32Expanded(), SaveMap32Tiles(), SaveOverworldMaps(), and yaze::cli::anonymous_namespace{overworld_validate_commands.cc}::ValidateMapPointers().
| absl::Status yaze::zelda3::Overworld::Load | ( | Rom * | rom | ) |
Load all overworld data from ROM.
Definition at line 158 of file overworld.cc.
References all_entrances_, all_exits_, all_holes_, all_items_, AssembleMap16Tiles(), AssembleMap32Tiles(), ASSIGN_OR_RETURN, AssignMapSizes(), cached_version_, DecompressAllMapTilesParallel(), descriptor_layout_, Destroy(), yaze::zelda3::DetectOverworldRomProfile(), expanded_entrances_, expanded_tile16_, expanded_tile32_, FetchLargeMaps(), game_data_, yaze::zelda3::GetResourceLabels(), yaze::Rom::has_lyra_private_reservation(), has_tail_map_expansion_, 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_, private_loaded_overlays_, private_loaded_tiles16_, RETURN_IF_ERROR, RollbackSavedMapTiles(), rom(), rom_, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), tiles16_, and tiles32_list_.
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::handlers::LyraVerifyProjectCommandHandler::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().
| absl::Status yaze::zelda3::Overworld::LoadLyraTerrainPreview | ( | Rom * | rom | ) |
Definition at line 287 of file overworld.cc.
References BuildLyraTerrainPreview(), is_loaded_, yaze::rom::kValid, and rom().
Referenced by yaze::editor::OverworldEditor::LoadGraphics().

|
inline |
Definition at line 444 of file overworld.h.
References descriptor_layout_, yaze::rom::kValid, and yaze::rom::LyraLayoutInspection::presence.
Referenced by yaze::editor::OverworldEditor::ApplyEntranceEdit(), yaze::editor::OverworldEditor::ApplyExitEdit(), yaze::zelda3::BindLyraTerrainSource(), yaze::editor::BuildOverworldMapMetadata(), yaze::editor::LyraTerrainCanvas::CopyNativeGraphicsSettings(), yaze::editor::OverworldToolbar::Draw(), yaze::editor::OverworldSidebar::Draw(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), EnsureMapBuilt(), GetTile8CollisionTypes(), inspected_map_count(), yaze::editor::OverworldEditor::is_lyra_preview(), yaze::editor::OverworldEditor::IsProjectTerrainMap(), yaze::editor::OverworldEditor::Load(), lyra_a0_terrain_writable(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::OverworldCanvasRenderer::PrepareContextMenu(), yaze::zelda3::ResolveLyraMapAssets(), yaze::editor::OverworldEditor::SelectMapForEditing(), yaze::editor::OverworldEditor::SwitchToWorld(), and yaze::editor::OverworldEditor::Update().
|
inline |
Definition at line 447 of file overworld.h.
References yaze::rom::LyraLayoutInspection::capacity, descriptor_layout_, has_tail_map_expansion_, is_lyra_preview(), yaze::zelda3::kExpandedMapCount, and yaze::zelda3::kNumOverworldMaps.
Referenced by yaze::editor::BuildOverworldMapMetadata(), yaze::editor::OverworldEditor::DisplayedMapCount(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::DisplayedMapCount(), yaze::editor::OverworldMapTextureCoordinator::EnsureMapTexture(), GetTile8CollisionTypes(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::OverworldMapTextureCoordinator::PrimeWorldMaps(), yaze::editor::OverworldMapTextureCoordinator::ProcessDeferredTextures(), and yaze::editor::CanvasNavigationManager::QueueAdjacentMapsForPreload().

|
inline |
Definition at line 456 of file overworld.h.
|
inline |
Definition at line 457 of file overworld.h.
References yaze::rom::LyraLayoutInspection::a0_terrain_write_supported, descriptor_layout_, and is_lyra_preview().
Referenced by yaze::editor::OverworldEditor::lyra_a0_terrain_writable(), yaze::editor::EditorManager::SaveRomInternal(), and SetLyraA0Tile32().

|
inline |
Definition at line 460 of file overworld.h.
References lyra_a0_tiles_.
Referenced by yaze::editor::OverworldEditor::PaintLyraA0Terrain(), and yaze::editor::OverworldEditor::SaveLyraA0TerrainAs().
| absl::Status yaze::zelda3::Overworld::SetLyraA0Tile32 | ( | int | x, |
| int | y, | ||
| uint16_t | tile ) |
Definition at line 359 of file overworld.cc.
References AssignWorldTiles(), lyra_a0_terrain_writable(), lyra_a0_tiles_, map_tiles_, overworld_maps_, yaze::zelda3::OverworldMapTiles::special_world, and tiles32_unique_.
Referenced by yaze::editor::OverworldEditor::PaintLyraA0Terrain().

| absl::Status yaze::zelda3::Overworld::LoadOverworldMaps | ( | ) |
Load overworld map tile data.
Definition at line 1025 of file overworld.cc.
References BuildMapWithTilesetCache(), built_map_lru_, cached_version_, game_state_, GetMapTiles(), yaze::zelda3::kAreaGfxIdPtr, yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kEssentialMapsPerWorld, yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMapPaletteIds, yaze::zelda3::kOverworldSpecialGfxGroup, yaze::zelda3::kOverworldSpecialPalGroup, yaze::zelda3::kSpecialWorldMapIdStart, yaze::zelda3::kVanilla, yaze::util::logf(), overworld_maps_, RETURN_IF_ERROR, rom_, SyncAreaProperties(), and tiles16_.
Referenced by Load().

| void yaze::zelda3::Overworld::LoadTileTypes | ( | ) |
Load tile type collision data.
Definition at line 1414 of file overworld.cc.
References all_tiles_types_, yaze::zelda3::zscream::DetectLayout(), zelda3_version_pointers::kOverworldTilesType, yaze::zelda3::zscream::kUnknown, yaze::zelda3::zscream::kZScreamV5, rom_, yaze::Rom::vector(), and version_constants().
Referenced by Load().

| absl::StatusOr< std::array< uint8_t, kNumTileTypes > > yaze::zelda3::Overworld::GetTile8CollisionTypes | ( | int | map_id | ) | const |
Definition at line 1436 of file overworld.cc.
References all_tiles_types_, yaze::zelda3::zscream::ComposeTile8Collisions(), yaze::zelda3::zscream::DetectLayout(), inspected_map_count(), is_lyra_preview(), zelda3_version_pointers::kOverworldTilesType, yaze::zelda3::zscream::kUnknown, yaze::zelda3::zscream::kZScreamV5, overworld_map(), RETURN_IF_ERROR, rom_, yaze::zelda3::zscream::ValidateSheetCollisionTable(), yaze::Rom::vector(), and version_constants().
Referenced by yaze::editor::OverworldEditor::Load(), and yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset().
| absl::Status yaze::zelda3::Overworld::LoadSprites | ( | ) |
Load sprite data for all game states.
Definition at line 1543 of file overworld.cc.
References yaze::zelda3::GetOverworldSpriteLayout(), LoadSpritesFromMap(), RETURN_IF_ERROR, and rom_.
Referenced by Load().

| absl::StatusOr< OverworldSpriteSavePlan > yaze::zelda3::Overworld::PrepareSpriteSave | ( | ) | const |
Definition at line 1609 of file overworld.cc.
References all_sprites_, yaze::zelda3::PlanOverworldSpriteSave(), rom_, and sprite_maps_loaded_.
Referenced by yaze::editor::OverworldEditor::Save(), Save(), and SaveSprites().

| absl::Status yaze::zelda3::Overworld::SaveSprites | ( | ) |
Definition at line 1654 of file overworld.cc.
References yaze::zelda3::ApplyOverworldSpriteSave(), ASSIGN_OR_RETURN, PrepareSpriteSave(), and rom_.

| 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 1574 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().

| 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 1162 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::GraphicsImportContext(), 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().
| 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 1374 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(), yaze::editor::OverworldEditor::PreviewProjectGraphicsImport(), and SetGraphicsPreview().
| void yaze::zelda3::Overworld::SetGraphicsPreview | ( | OverworldGraphicsPreview | preview | ) |
Definition at line 1367 of file overworld.cc.
References graphics_preview_, overworld_maps_, and SyncAreaProperties().
Referenced by yaze::editor::OverworldEditor::RefreshPendingProjectGraphics(), yaze::app::service::RenderService::RenderOverworldArea(), and yaze::editor::OverworldEditor::SyncProjectGraphicsPreview().

| absl::StatusOr< Overworld::SubscreenOverlayLayer > yaze::zelda3::Overworld::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.
Definition at line 1394 of file overworld.cc.
References yaze::zelda3::Overworld::SubscreenOverlayLayer::background, EnsureMapBuilt(), GetMapTiles(), yaze::zelda3::IsBackgroundSubscreenOverlay(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::Overworld::SubscreenOverlayLayer::overlay_id, yaze::zelda3::Overworld::SubscreenOverlayLayer::overlay_screen, overworld_maps_, yaze::zelda3::Overworld::SubscreenOverlayLayer::pixels, RETURN_IF_ERROR, yaze::zelda3::SubscreenOverlayScreen(), and yaze::zelda3::WorldForOverworldMap().
Referenced by yaze::app::service::RenderService::RenderOverworldArea().
|
inline |
Drop every cached tileset/blockset. Call after graphics buffer or tile16 edits that are not tied to one sheet.
Definition at line 533 of file overworld.h.
References tileset_cache_.
Referenced by yaze::editor::MapRefreshCoordinator::InvalidateGraphicsCache().
| 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 1355 of file overworld.cc.
References tileset_cache_.
|
inline |
Number of cached tileset entries (for tests and diagnostics).
Definition at line 540 of file overworld.h.
References tileset_cache_.
| void yaze::zelda3::Overworld::InvalidateMapCache | ( | int | map_index | ) |
Invalidate cached tileset for a specific map.
| map_index | The map whose cache entry should be invalidated |
Definition at line 1478 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, overworld_maps_, and tileset_cache_.
Referenced by InvalidateSiblingMapCaches().
| void yaze::zelda3::Overworld::InvalidateSiblingMapCaches | ( | int | map_index | ) |
Invalidate cached tilesets for a map and all its siblings.
| map_index | Any map in a multi-area group |
Definition at line 1495 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().

| absl::Status yaze::zelda3::Overworld::Save | ( | Rom * | rom | ) |
Master save method (calls sub-methods in correct order)
Definition at line 1659 of file overworld.cc.
References yaze::zelda3::ApplyOverworldSpriteSave(), ASSIGN_OR_RETURN, yaze::ScopedRomTransaction::Commit(), CreateTile32Tilemap(), expanded_tile16_, expanded_tile32_, PrepareSpriteSave(), RETURN_IF_ERROR, rom(), rom_, SaveCustomOverworldData(), SaveDiggableTiles(), SaveEntrances(), SaveExits(), SaveItems(), SaveMap16Expanded(), SaveMap16Tiles(), SaveMap32Expanded(), SaveMap32Tiles(), SaveMapOverlays(), SaveMusic(), SaveOverworldMaps(), SaveOverworldTilesType(), and ValidatePrivateNativeTerrainSave().
| absl::Status yaze::zelda3::Overworld::SaveOverworldMaps | ( | ) |
Save compressed map tile data to ROM.
Definition at line 1737 of file overworld.cc.
References CreateTile32Tilemap(), yaze::Rom::has_lyra_private_reservation(), yaze::util::HexByte(), yaze::util::HexLong(), yaze::gfx::HyruleMagicCompress(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldCompressedMapPos, yaze::zelda3::kOverworldCompressedOverflowPos, yaze::zelda3::kOverworldMapDataOverflow, yaze::util::logf(), map_data_p1, map_data_p2, map_pointers1, map_pointers1_id, map_pointers2, map_pointers2_id, MapTilesUnchanged(), yaze::zelda3::NumberOfMap32, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), rom_, SaveLargeMaps(), StageSavedMapTiles(), tiles32_list_, ValidatePrivateNativeTerrainSave(), and version_constants().
Referenced by yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), yaze::editor::OverworldEditor::Save(), Save(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::SaveOverworldTileGrid().
| absl::Status yaze::zelda3::Overworld::ValidatePrivateNativeTerrainSave | ( | ) | const |
Definition at line 1693 of file overworld.cc.
References yaze::Rom::has_lyra_private_reservation(), MapTilesUnchanged(), overworld_maps_, private_loaded_overlays_, private_loaded_tiles16_, RETURN_IF_ERROR, rom_, tiles16_, and yaze::Rom::ValidateLyraPrivateReservation().
Referenced by CreateTile32Tilemap(), yaze::editor::OverworldEditor::Save(), Save(), SaveMap16Expanded(), SaveMap16Tiles(), SaveMap32Expanded(), SaveMap32Tiles(), SaveMapOverlays(), and SaveOverworldMaps().

| void yaze::zelda3::Overworld::StageSavedMapTiles | ( | ) |
Definition at line 1717 of file overworld.cc.
References map_tiles_, staged_map_tiles_, and staged_map_tiles_valid_.
Referenced by SaveOverworldMaps().
| void yaze::zelda3::Overworld::CommitSavedMapTiles | ( | ) |
Definition at line 1722 of file overworld.cc.
References loaded_map_tiles_, loaded_map_tiles_valid_, staged_map_tiles_, and staged_map_tiles_valid_.
Referenced by yaze::editor::OverworldEditor::CommitSaveTransaction().
| void yaze::zelda3::Overworld::RollbackSavedMapTiles | ( | ) |
Definition at line 1732 of file overworld.cc.
References staged_map_tiles_, and staged_map_tiles_valid_.
Referenced by yaze::editor::OverworldEditor::BeginSaveTransaction(), Load(), and yaze::editor::OverworldEditor::RollbackSaveTransaction().
| absl::Status yaze::zelda3::Overworld::SaveLargeMaps | ( | ) |
Save large map parent/sibling relationships.
Definition at line 1946 of file overworld.cc.
References cached_version_, yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kNumMapsPerWorld, yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMapParentId, yaze::zelda3::kOverworldMapSize, yaze::zelda3::kOverworldMapSizeHighByte, yaze::zelda3::kOverworldScreenSize, yaze::zelda3::kOverworldScreenSizeForLoading, yaze::zelda3::kOverworldScreenTileMapChangeByScreen1, yaze::zelda3::kOverworldScreenTileMapChangeByScreen2, yaze::zelda3::kOverworldScreenTileMapChangeByScreen3, yaze::zelda3::kOverworldScreenTileMapChangeByScreen4, yaze::zelda3::kOverworldTransitionPositionX, yaze::zelda3::kOverworldTransitionPositionY, yaze::zelda3::kSpecialWorldMapIdStart, yaze::zelda3::kTransitionTargetNorth, yaze::zelda3::kTransitionTargetWest, yaze::util::logf(), overworld_maps_, RETURN_IF_ERROR, rom(), SaveLargeMapsExpanded(), and yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum().
Referenced by SaveOverworldMaps().

| absl::Status yaze::zelda3::Overworld::SaveLargeMapsExpanded | ( | ) |
Save expanded large map data (v1+ ROMs)
Definition at line 2843 of file overworld.cc.
References yaze::zelda3::GetOverworldMapParentIdExpanded(), yaze::zelda3::GetOverworldScreenChange1Expanded(), yaze::zelda3::GetOverworldScreenChange2Expanded(), yaze::zelda3::GetOverworldScreenChange3Expanded(), yaze::zelda3::GetOverworldScreenChange4Expanded(), yaze::zelda3::GetOverworldTransitionPositionXExpanded(), yaze::zelda3::GetOverworldTransitionPositionYExpanded(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, yaze::util::logf(), overworld_maps_, RETURN_IF_ERROR, rom(), SaveLargeAreaTransitions(), SaveSmallAreaTransitions(), SaveTallAreaTransitions(), SaveWideAreaTransitions(), yaze::zelda3::SmallArea, yaze::zelda3::TallArea, yaze::zelda3::transition_target_northExpanded, yaze::zelda3::transition_target_westExpanded, and yaze::zelda3::WideArea.
Referenced by SaveLargeMaps().
| 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 2301 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().

| 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 2410 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().

| 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 2566 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().

| 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 2706 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().

| absl::Status yaze::zelda3::Overworld::SaveEntrances | ( | ) |
Save entrance warp points to ROM.
Definition at line 3460 of file overworld.cc.
References all_entrances_, all_holes_, yaze::zelda3::DetectOverworldRomProfile(), yaze::zelda3::OverworldRomProfile::has_expanded_entrances, yaze::zelda3::kNumOverworldHoles, RETURN_IF_ERROR, rom_, yaze::zelda3::SaveEntrances(), and yaze::zelda3::SaveHoles().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveExits | ( | ) |
Save exit return points to ROM.
Definition at line 3485 of file overworld.cc.
References all_exits_, RETURN_IF_ERROR, rom_, and yaze::zelda3::SaveExits().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveItems | ( | ) |
Save hidden overworld items to ROM.
Definition at line 3490 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().

| absl::Status yaze::zelda3::Overworld::SaveMapOverlays | ( | ) |
Save interactive overlay data to ROM.
Definition at line 3525 of file overworld.cc.
References yaze::Rom::has_lyra_private_reservation(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverlayCodeStart, yaze::util::logf(), overworld_maps_, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), rom_, and ValidatePrivateNativeTerrainSave().
Referenced by Save().
| absl::Status yaze::zelda3::Overworld::SaveOverworldTilesType | ( | ) |
Save tile type collision data to ROM.
Definition at line 3604 of file overworld.cc.
References all_tiles_types_, yaze::zelda3::zscream::DetectLayout(), yaze::zelda3::kNumTileTypes, yaze::zelda3::zscream::kUnknown, yaze::zelda3::zscream::kZScreamV5, yaze::util::logf(), yaze::zelda3::overworldTilesType, RETURN_IF_ERROR, rom(), rom_, and yaze::Rom::vector().
Referenced by Save().

| absl::Status yaze::zelda3::Overworld::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.
Definition at line 3670 of file overworld.cc.
References ASSIGN_OR_RETURN, cached_version_, yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kVanilla, yaze::zelda3::kZSCustomV1, yaze::util::logf(), overworld_maps_, yaze::zelda3::OverworldCustomAnimatedGFXArray, yaze::zelda3::OverworldCustomAnimatedGFXEnabled, yaze::zelda3::OverworldCustomAreaSpecificBGEnabled, yaze::zelda3::OverworldCustomMainPaletteArray, yaze::zelda3::OverworldCustomMainPaletteEnabled, yaze::zelda3::OverworldCustomMosaicArray, yaze::zelda3::OverworldCustomMosaicEnabled, yaze::zelda3::OverworldCustomSubscreenOverlayArray, yaze::zelda3::OverworldCustomSubscreenOverlayEnabled, yaze::zelda3::OverworldCustomTileGFXGroupArray, yaze::zelda3::OverworldCustomTileGFXGroupEnabled, RETURN_IF_ERROR, rom(), yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), and yaze::zelda3::OverworldVersionHelper::SupportsCustomBGColors().
Referenced by SaveCustomOverworldData().

| absl::Status yaze::zelda3::Overworld::SaveAreaSpecificBGColors | ( | ) |
Save per-area background colors (v2+)
Definition at line 3764 of file overworld.cc.
References cached_version_, yaze::zelda3::kNumOverworldMaps, yaze::util::logf(), overworld_maps_, yaze::zelda3::OverworldCustomAreaSpecificBGPalette, RETURN_IF_ERROR, rom(), and yaze::zelda3::OverworldVersionHelper::SupportsCustomBGColors().
Referenced by SaveCustomOverworldData().

| absl::Status yaze::zelda3::Overworld::SaveCustomOverworldData | ( | ) |
Save all v2/v3 property tables using the ROM's current feature flags.
Definition at line 3782 of file overworld.cc.
References cached_version_, yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::Rom::is_loaded(), yaze::zelda3::kVanilla, yaze::zelda3::kZSCustomV1, yaze::zelda3::OverworldCustomAnimatedGFXEnabled, yaze::zelda3::OverworldCustomAreaSpecificBGEnabled, yaze::zelda3::OverworldCustomMainPaletteEnabled, yaze::zelda3::OverworldCustomMosaicEnabled, yaze::zelda3::OverworldCustomSubscreenOverlayEnabled, yaze::zelda3::OverworldCustomTileGFXGroupEnabled, yaze::zelda3::ReadRomByteOr(), RETURN_IF_ERROR, rom_, SaveAreaSizes(), SaveAreaSpecificBGColors(), and SaveCustomOverworldASM().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().
| absl::Status yaze::zelda3::Overworld::CreateTile32Tilemap | ( | ) |
Build tile32 tilemap from current tile16 data.
Definition at line 2972 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::core::FeatureFlags::get(), yaze::gfx::Tile32::GetPackedValue(), yaze::Rom::has_lyra_private_reservation(), map_tiles_, yaze::zelda3::NumberOfMap32, RETURN_IF_ERROR, rom(), rom_, tiles32_list_, tiles32_unique_, ValidatePrivateNativeTerrainSave(), and version_constants().
Referenced by yaze::editor::OverworldEditor::Save(), Save(), SaveOverworldMaps(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::SaveOverworldTileGrid().
| absl::Status yaze::zelda3::Overworld::SaveMap16Expanded | ( | ) |
Save expanded tile16 definitions (v1+ ROMs)
Definition at line 3331 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::zelda3::GetMap16TilesExpanded(), yaze::Rom::has_lyra_private_reservation(), yaze::zelda3::NumberOfMap16Ex, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), rom_, yaze::SnesToPc(), tiles16_, and ValidatePrivateNativeTerrainSave().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().
| absl::Status yaze::zelda3::Overworld::SaveMap16Tiles | ( | ) |
Save tile16 definitions to ROM.
Definition at line 3436 of file overworld.cc.
References yaze::Rom::has_lyra_private_reservation(), yaze::zelda3::kMap16Tiles, yaze::util::logf(), yaze::zelda3::NumberOfMap16, RETURN_IF_ERROR, rom(), rom_, tiles16_, and ValidatePrivateNativeTerrainSave().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveMap32Expanded | ( | ) |
Save expanded tile32 definitions (v1+ ROMs)
Definition at line 3026 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::zelda3::GetMap32TileBLExpanded(), yaze::zelda3::GetMap32TileBRExpanded(), yaze::zelda3::GetMap32TileTRExpanded(), yaze::Rom::has_lyra_private_reservation(), yaze::zelda3::kMap32BytesPerPackedGroup, yaze::zelda3::kMap32DefinitionsPerPackedGroup, zelda3_version_pointers::kMap32TileTL, yaze::util::logf(), MapTilesUnchanged(), yaze::PcToSnes(), RETURN_IF_ERROR, rom(), rom_, yaze::SnesToPc(), tiles32_unique_, ValidatePrivateNativeTerrainSave(), and version_constants().
Referenced by yaze::editor::OverworldEditor::Save(), Save(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::SaveOverworldTileGrid().
| absl::Status yaze::zelda3::Overworld::SaveMap32Tiles | ( | ) |
Save tile32 definitions to ROM.
Definition at line 3192 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::Rom::has_lyra_private_reservation(), yaze::zelda3::kMap32BytesPerPackedGroup, yaze::zelda3::kMap32DefinitionsPerPackedGroup, zelda3_version_pointers::kMap32TileBL, zelda3_version_pointers::kMap32TileBR, zelda3_version_pointers::kMap32TileTL, zelda3_version_pointers::kMap32TileTR, yaze::util::logf(), map32TilesBL, map32TilesBR, MapTilesUnchanged(), RETURN_IF_ERROR, rom(), rom_, tiles32_unique_, ValidatePrivateNativeTerrainSave(), and version_constants().
Referenced by yaze::editor::OverworldEditor::Save(), Save(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::SaveOverworldTileGrid().
| absl::Status yaze::zelda3::Overworld::SaveMapProperties | ( | ) |
Save per-area graphics, palettes, and messages.
Definition at line 3813 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kAreaGfxIdPtr, yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kOverworldMapPaletteIds, yaze::zelda3::kOverworldPalettesScreenToSetNew, yaze::zelda3::kOverworldSpecialSpriteGFXGroup, yaze::zelda3::kOverworldSpecialSpriteGfxGroupExpandedTemp, yaze::zelda3::kOverworldSpecialSpritePalette, yaze::zelda3::kOverworldSpecialSpritePaletteExpandedTemp, yaze::zelda3::kOverworldSpritePaletteIds, yaze::zelda3::kOverworldSpriteset, yaze::zelda3::kSpecialWorldMapIdStart, yaze::util::logf(), overworld_maps_, RETURN_IF_ERROR, rom(), rom_, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), and yaze::zelda3::OverworldVersionHelper::SupportsCustomBGColors().
Referenced by yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), and yaze::editor::OverworldEditor::Save().
| absl::Status yaze::zelda3::Overworld::SaveMusic | ( | ) |
Save per-area music IDs.
Definition at line 3892 of file overworld.cc.
References yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kOverworldMusicAgahnim, yaze::zelda3::kOverworldMusicBeginning, yaze::zelda3::kOverworldMusicDarkWorld, yaze::zelda3::kOverworldMusicMasterSword, yaze::zelda3::kOverworldMusicZelda, yaze::zelda3::kSpecialWorldMapIdStart, yaze::util::logf(), overworld_maps_, RETURN_IF_ERROR, and rom().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveAreaSizes | ( | ) |
Save area size enum data (v3+ only)
Definition at line 3932 of file overworld.cc.
References yaze::zelda3::GetOverworldMessagesExpanded(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldScreenSize, yaze::util::logf(), overworld_maps_, yaze::zelda3::OverworldCustomASMHasBeenApplied, RETURN_IF_ERROR, and rom().
Referenced by SaveCustomOverworldData().

| 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.
| maps | The maps to update (passed by reference) |
Definition at line 474 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, yaze::zelda3::SmallArea, yaze::zelda3::TallArea, and yaze::zelda3::WideArea.
Referenced by Load().
| absl::Status yaze::zelda3::Overworld::ConfigureMultiAreaMap | ( | int | parent_index, |
| AreaSizeEnum | size ) |
Configure a multi-area map structure (Large/Wide/Tall)
| parent_index | The parent map index |
| size | The area size to configure |
Properly sets up sibling relationships and updates ROM data for v3+.
Definition at line 558 of file overworld.cc.
References cached_version_, yaze::zelda3::CanPersistLegacyMultiAreaMap(), yaze::zelda3::CanPersistLegacyScreenSize(), yaze::zelda3::GetOverworldMapParentIdExpanded(), yaze::zelda3::OverworldVersionHelper::GetVersionName(), yaze::zelda3::IsSameOverworldWorld(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMapParentId, yaze::zelda3::kOverworldScreenSize, yaze::zelda3::LargeArea, yaze::zelda3::LegacyParentTableIndexForMap(), yaze::zelda3::LegacyParentTableValueForMap(), yaze::zelda3::LegacyScreenSizeTableIndexForMap(), LOG_DEBUG, overworld_maps_, RETURN_IF_ERROR, rom(), yaze::zelda3::SmallArea, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.
Referenced by yaze::editor::MapPropertiesSystem::ApplyPropertyEditDirect().
|
inline |
Definition at line 693 of file overworld.h.
References rom_.
Referenced by AssembleMap16Tiles(), AssembleMap32Tiles(), BuildLyraTerrainPreview(), yaze::editor::LyraTerrainCanvas::CheckAssetSources(), ConfigureMultiAreaMap(), yaze::editor::LyraTerrainCanvas::CopyNativeGraphicsSettings(), CreateTile32Tilemap(), DecompressAllMapTilesParallel(), yaze::zelda3::DescribeMainGroupUsage(), yaze::zelda3::DescribeRoomsetUsage(), GetTile16ForTile32(), Load(), LoadLyraTerrainPreview(), Save(), SaveAreaSizes(), SaveAreaSpecificBGColors(), SaveCustomOverworldASM(), SaveLargeAreaTransitions(), SaveLargeMaps(), SaveLargeMapsExpanded(), SaveMap16Expanded(), SaveMap16Tiles(), SaveMap32Expanded(), SaveMap32Tiles(), SaveMapOverlays(), SaveMapProperties(), SaveMusic(), SaveOverworldMaps(), SaveOverworldTilesType(), SaveSmallAreaTransitions(), SaveTallAreaTransitions(), SaveWideAreaTransitions(), and yaze::cli::anonymous_namespace{overworld_validate_commands.cc}::ValidateMapPointers().
|
inline |
Definition at line 694 of file overworld.h.
References rom_.
| std::vector< std::pair< uint32_t, uint32_t > > yaze::zelda3::Overworld::GetProjectedWriteRanges | ( | ) | const |
Get the projected write ranges (PC offsets) for overworld map saves.
Returns a list of memory ranges (start, end) in PC offset space that are expected to be written by saving overworld map data (Map32/Map16 plus compressed map pointer tables and data). This is intended for detecting conflicts with ASM-managed regions (HackManifest).
Definition at line 1890 of file overworld.cc.
References expanded_tile16_, expanded_tile32_, yaze::zelda3::GetMap16TilesExpanded(), yaze::zelda3::GetMap32TileBLExpanded(), yaze::zelda3::GetMap32TileBRExpanded(), yaze::zelda3::GetMap32TileTRExpanded(), zelda3_version_pointers::kCompressedAllMap32PointersHigh, zelda3_version_pointers::kCompressedAllMap32PointersLow, yaze::zelda3::kMap16Tiles, zelda3_version_pointers::kMap32TileBL, zelda3_version_pointers::kMap32TileBR, yaze::zelda3::kMap32TileCountExpanded, zelda3_version_pointers::kMap32TileTL, zelda3_version_pointers::kMap32TileTR, yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kNumTile16Individual, yaze::zelda3::kOverworldCompressedMapPos, yaze::zelda3::kOverworldCompressedOverflowPos, yaze::zelda3::kOverworldMapDataOverflow, yaze::zelda3::NumberOfMap16Ex, and version_constants().
Referenced by yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::ApplyTileEdit(), and yaze::editor::OverworldEditor::Save().
|
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 713 of file overworld.h.
References yaze::zelda3::zscream::CanUseTailExpansion(), yaze::Rom::data(), yaze::zelda3::GetExpandedPtrTableMagic(), yaze::zelda3::GetExpandedPtrTableMarker(), rom_, and yaze::Rom::size().
Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().
|
inline |
Definition at line 722 of file overworld.h.
References all_entrances_, all_exits_, all_items_, all_sprites_, built_map_lru_, descriptor_layout_, is_loaded_, loaded_map_tiles_valid_, overworld_maps_, sprite_maps_loaded_, sprites(), tiles16_, tiles32_, tiles32_unique_, and tileset_cache_.
Referenced by yaze::editor::OverworldEditor::Clear(), and Load().

|
inline |
Definition at line 744 of file overworld.h.
References current_world_, yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::OverworldMapTiles::light_world, map_tiles_, and yaze::zelda3::OverworldMapTiles::special_world.
|
inline |
Definition at line 754 of file overworld.h.
References yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::OverworldMapTiles::light_world, map_tiles_, and yaze::zelda3::OverworldMapTiles::special_world.
Referenced by BuildMapWithTilesetCache(), BuildSubscreenOverlayLayer(), yaze::cli::overworld::CollectTileUsage(), yaze::editor::OverworldEntityRenderer::DrawDiggableTileHighlights(), yaze::editor::OverworldEditor::GraphicsImportContext(), yaze::zelda3::InspectSpecialEntrances(), LoadOverworldMaps(), yaze::editor::anonymous_namespace{map_refresh_coordinator.cc}::MapTilesForMapIndex(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::OverworldEditor::PreviewProjectGraphicsImport(), yaze::cli::overworld::ReadAreaTile(), yaze::editor::OverworldTilePaintAction::Redo(), yaze::editor::OverworldTilePaintAction::Undo(), yaze::editor::TilePaintingManager::WorldTiles(), and yaze::cli::overworld::WriteAreaTile().
|
inline |
Definition at line 767 of file overworld.h.
References overworld_maps_.
Referenced by yaze::cli::handlers::OverworldListItemsCommandHandler::Execute(), yaze::editor::InsertItem(), yaze::editor::InsertSprite(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteOverworldMapsData().
|
inline |
Definition at line 770 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::LyraTerrainCanvas::CheckAssetSources(), yaze::editor::CanvasNavigationManager::CheckForCurrentMap(), yaze::cli::overworld::CollectTileUsage(), yaze::editor::LyraTerrainCanvas::CopyNativeGraphicsSettings(), 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::OverworldEditor::DrawProjectGraphicsSource(), yaze::editor::LyraTerrainCanvas::DrawProperties(), 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(), GetTile8CollisionTypes(), yaze::editor::OverworldEditor::GraphicsImportContext(), 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::CanvasNavigationManager::MapUnderCursor(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::OverworldEditor::OpenProjectGraphicsSource(), yaze::editor::OverworldCanvasRenderer::PrepareContextMenu(), yaze::editor::CanvasNavigationManager::ProcessPreloadQueue(), 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::zelda3::ResolveLyraMapAssets(), 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::editor::anonymous_namespace{entity_operations.cc}::ValidateRecordPosition().
|
inline |
Definition at line 776 of file overworld.h.
References overworld_maps_.
Referenced by yaze::editor::MapPropertiesSystem::ApplyPropertyEditDirect(), yaze::zelda3::BindLyraTerrainSource(), yaze::editor::OverworldSidebar::DrawEffectsSection(), yaze::editor::anonymous_namespace{map_properties.cc}::EffectivePropertyMapId(), yaze::cli::handlers::LyraVerifyProjectCommandHandler::Execute(), InvalidateSiblingMapCaches(), yaze::editor::MapRefreshCoordinator::InvalidateTile16Definitions(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::MapPropertiesSystem::PrepareMapForGraphicsRefresh(), yaze::editor::OverworldEditor::PreviewProjectGraphicsImport(), yaze::editor::MapRefreshCoordinator::RefreshChildMap(), yaze::editor::MapRefreshCoordinator::RefreshChildMapOnDemand(), yaze::editor::MapRefreshCoordinator::RefreshMapPalette(), yaze::editor::MapRefreshCoordinator::RefreshMapProperties(), yaze::editor::OverworldEditor::RefreshMapsForSheetEdits(), yaze::editor::MapRefreshCoordinator::RefreshMultiAreaMapsSafely(), yaze::editor::MapRefreshCoordinator::RefreshPaletteUsers(), yaze::editor::MapPropertiesSystem::RefreshSiblingMapGraphics(), yaze::editor::MapRefreshCoordinator::RefreshSiblingMapGraphics(), yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset(), yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), and yaze::editor::OverworldEditor::SetPreviewStoryState().
|
inline |
Definition at line 782 of file overworld.h.
References all_exits_.
Referenced by yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), and yaze::app::service::RenderService::RenderOverworldArea().
|
inline |
Definition at line 783 of file overworld.h.
References all_exits_.
Referenced by yaze::editor::OverworldEditor::ApplyExitEdit(), yaze::editor::OverworldEntityRenderer::DrawExits(), yaze::editor::OverworldEntityRenderer::DrawExits(), and yaze::editor::InsertExit().
|
inline |
Definition at line 784 of file overworld.h.
References tiles16_.
Referenced by AssembleMap16Tiles(), yaze::zelda3::BindLyraTerrainSource(), yaze::editor::LyraTerrainCanvas::CheckAssetSources(), yaze::cli::handlers::OverworldSetTileCommandHandler::ExecuteWithContext(), yaze::editor::OverworldEditor::GraphicsImportContext(), yaze::zelda3::InspectSpecialEntrances(), yaze::editor::OverworldEditor::OpenGraphicsForContextTile16(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::OverworldEditor::PlaceProjectGraphicsImport(), yaze::editor::OverworldEditor::PreviewProjectGraphicsImport(), yaze::editor::MapRefreshCoordinator::RefreshChildMap(), yaze::editor::MapRefreshCoordinator::RefreshChildMapOnDemand(), yaze::editor::MapRefreshCoordinator::RefreshMultiAreaMapsSafely(), yaze::editor::LyraTerrainCanvas::ResolveMapAssets(), yaze::editor::OverworldEditor::SampleContextTile16(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 785 of file overworld.h.
References tiles32_unique_.
Referenced by yaze::cli::handlers::LyraVerifyProjectCommandHandler::Execute(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 786 of file overworld.h.
References tiles16_.
Referenced by yaze::zelda3::BindLyraTerrainSource(), yaze::editor::OverworldEditor::Load(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::MapRefreshCoordinator::RefreshChildMap(), yaze::editor::MapRefreshCoordinator::RefreshChildMapOnDemand(), yaze::editor::MapRefreshCoordinator::RefreshMultiAreaMapsSafely(), and yaze::editor::LyraTerrainCanvas::ResolveMapAssets().
|
inline |
Definition at line 787 of file overworld.h.
References all_sprites_.
Referenced by yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::cli::overworld::CollectOverworldSprites(), Destroy(), and yaze::app::service::RenderService::RenderOverworldArea().
|
inline |
Definition at line 792 of file overworld.h.
References all_sprites_.
Referenced by yaze::editor::EntityMutationService::DeleteSprite(), yaze::editor::OverworldEntityRenderer::DrawSprites(), yaze::editor::OverworldEntityRenderer::DrawSprites(), yaze::editor::InsertSprite(), and yaze::editor::OverworldEditor::LoadSpriteGraphics().
|
inline |
Definition at line 797 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by yaze::editor::OverworldEditor::LoadGraphics(), and LoadSpritesFromMap().

|
inline |
Definition at line 803 of file overworld.h.
References all_entrances_.
Referenced by yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::cli::overworld::CollectWarpEntries(), yaze::editor::OverworldEntityRenderer::DrawEntrances(), yaze::editor::OverworldEntityRenderer::DrawEntrances(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), yaze::cli::overworld::GetEntranceDetails(), yaze::app::service::RenderService::RenderOverworldArea(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteEntranceData().
|
inline |
Definition at line 806 of file overworld.h.
References all_entrances_.
|
inline |
Definition at line 807 of file overworld.h.
References all_entrances_.
Referenced by yaze::editor::OverworldEditor::ApplyEntranceEdit(), and yaze::editor::InsertEntrance().
|
inline |
Definition at line 808 of file overworld.h.
References all_holes_.
Referenced by yaze::cli::overworld::CollectWarpEntries(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), yaze::editor::InsertEntrance(), and yaze::app::service::RenderService::RenderOverworldArea().
|
inline |
Definition at line 809 of file overworld.h.
References all_holes_.
|
inline |
Definition at line 810 of file overworld.h.
References all_holes_.
Referenced by yaze::editor::OverworldEditor::ApplyEntranceEdit().
|
inline |
Definition at line 811 of file overworld.h.
References deleted_entrances_.
|
inline |
Definition at line 812 of file overworld.h.
References deleted_entrances_.
|
inline |
Definition at line 813 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by yaze::editor::OverworldEditor::LoadGraphics().

|
inline |
Definition at line 819 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.

|
inline |
Definition at line 825 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by yaze::editor::OverworldEditor::LoadGraphics().

|
inline |
Definition at line 832 of file overworld.h.
References current_map_, and overworld_maps_.
Referenced by current_area_palette(), current_graphics(), current_map_bitmap_data(), and tile16_blockset_data().
|
inline |
Definition at line 836 of file overworld.h.
References is_loaded_.
Referenced by yaze::editor::OverworldEditor::ApplyTile16Stencil(), yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::zelda3::BindLyraTerrainSource(), yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::editor::OverworldEditor::CheckRomReplacement(), yaze::editor::LyraTerrainCanvas::CopyNativeGraphicsSettings(), yaze::zelda3::DescribeMainGroupUsage(), yaze::zelda3::DescribeRoomsetUsage(), yaze::editor::UsageStatisticsCard::Draw(), yaze::editor::OverworldToolbar::Draw(), yaze::editor::OverworldSidebar::Draw(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), yaze::editor::OverworldSidebar::DrawQuickProperties(), yaze::editor::EntityMutationService::InsertEntity(), yaze::editor::InsertEntrance(), yaze::editor::InsertExit(), yaze::editor::InsertItem(), yaze::editor::InsertSprite(), yaze::zelda3::InspectSpecialEntrances(), yaze::editor::OverworldEditor::IsProjectTerrainMap(), yaze::editor::OverworldEditor::JumpToMap(), yaze::editor::OverworldEditor::Load(), yaze::editor::OverworldEditor::OpenGraphicsForContextTile16(), yaze::editor::OverworldEditor::OpenGraphicsForTile16Quadrant(), yaze::editor::OverworldCanvasRenderer::PrepareContextMenu(), yaze::editor::OverworldEditor::RefreshPendingProjectGraphics(), yaze::zelda3::ResolveLyraMapAssets(), yaze::editor::OverworldEditor::SampleContextTile16(), yaze::editor::EditorManager::SaveRomInternal(), yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu(), and yaze::editor::OverworldEditor::Update().
|
inline |
Definition at line 837 of file overworld.h.
References expanded_tile16_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 838 of file overworld.h.
References expanded_tile32_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 839 of file overworld.h.
References expanded_entrances_.
Referenced by yaze::editor::InsertEntrance().
|
inline |
Definition at line 840 of file overworld.h.
References has_tail_map_expansion_.
|
inline |
Definition at line 841 of file overworld.h.
References has_tail_map_expansion_.
|
inline |
Definition at line 842 of file overworld.h.
References current_map_.
|
inline |
Definition at line 843 of file overworld.h.
References current_world_.
Referenced by yaze::editor::UsageStatisticsCard::DrawUsageGrid(), and yaze::editor::UsageStatisticsCard::DrawUsageStates().
|
inline |
Definition at line 844 of file overworld.h.
References current_map_.
Referenced by yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::SelectMapFallback(), yaze::editor::OverworldEditor::SelectMapForEditing(), and yaze::editor::OverworldEditor::set_current_map().
|
inline |
Definition at line 845 of file overworld.h.
References current_world_.
Referenced by yaze::cli::Tile16ProposalGenerator::ApplyProposal(), yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::cli::overworld::FindTileMatches(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::SelectMapFallback(), yaze::editor::OverworldEditor::SelectMapForEditing(), and yaze::editor::OverworldEditor::set_current_map().
| void yaze::zelda3::Overworld::set_game_state | ( | int | state | ) |
Definition at line 154 of file overworld.cc.
References game_state_.
Referenced by yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::anonymous_namespace{map_refresh_coordinator.cc}::PrepareMapForRefresh(), yaze::editor::OverworldEditor::RefreshMapsForSheetEdits(), and yaze::editor::OverworldEditor::SetPreviewStoryState().
|
inline |
Definition at line 848 of file overworld.h.
References current_world_, yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::OverworldMapTiles::light_world, map_tiles_, and yaze::zelda3::OverworldMapTiles::special_world.
Referenced by yaze::editor::OverworldEditor::AutomationGetTile(), yaze::cli::overworld::FindTileMatches(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), and yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand().
|
inline |
Definition at line 857 of file overworld.h.
References current_world_, yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::OverworldMapTiles::light_world, map_tiles_, and yaze::zelda3::OverworldMapTiles::special_world.
Referenced by yaze::cli::Tile16ProposalGenerator::ApplyProposal(), and yaze::editor::OverworldEditor::AutomationSetTile().
|
inline |
Definition at line 866 of file overworld.h.
References map_tiles_.
Referenced by yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::VerifyTileGridRoundTrip().
|
inline |
Definition at line 867 of file overworld.h.
References map_tiles_.
Referenced by yaze::editor::OverworldEditor::GetWorldTiles(), and yaze::editor::OverworldCanvasRenderer::PrepareContextMenu().
|
inline |
Definition at line 868 of file overworld.h.
References all_items_.
Referenced by yaze::editor::OverworldEditor::BuildContextSnapshot(), yaze::editor::OverworldEditor::CaptureItemUndoSnapshot(), and yaze::app::service::RenderService::RenderOverworldArea().
|
inline |
Definition at line 869 of file overworld.h.
References all_items_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawItems(), yaze::editor::OverworldEntityRenderer::DrawItems(), yaze::editor::DuplicateItemByIdentity(), yaze::editor::FindItemByIdentity(), yaze::editor::FindNearestItemForSelection(), yaze::editor::InsertItem(), yaze::editor::RemoveItem(), yaze::editor::RemoveItemByIdentity(), and yaze::editor::OverworldEditor::RestoreItemUndoSnapshot().
|
inline |
Definition at line 870 of file overworld.h.
References all_tiles_types_.
|
inline |
Definition at line 871 of file overworld.h.
References all_tiles_types_.
Referenced by yaze::editor::OverworldEditor::Load().
|
inline |
Definition at line 872 of file overworld.h.
References all_sprites_.
|
inline |
Definition at line 875 of file overworld.h.
References diggable_tiles_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawDiggableTileHighlights().
|
inline |
Definition at line 876 of file overworld.h.
References diggable_tiles_.
| absl::Status yaze::zelda3::Overworld::LoadDiggableTiles | ( | ) |
Definition at line 3630 of file overworld.cc.
References diggable_tiles_, and yaze::zelda3::DiggableTiles::SetVanillaDefaults().
Referenced by Load().

| absl::Status yaze::zelda3::Overworld::SaveDiggableTiles | ( | ) |
Definition at line 3641 of file overworld.cc.
References cached_version_, yaze::zelda3::OverworldVersionHelper::GetVersion(), and rom_.
Referenced by Save().

| absl::Status yaze::zelda3::Overworld::AutoDetectDiggableTiles | ( | ) |
Definition at line 3651 of file overworld.cc.
References all_tiles_types_, yaze::zelda3::DiggableTiles::Clear(), diggable_tiles_, yaze::zelda3::DiggableTiles::GetDiggableCount(), yaze::zelda3::DiggableTiles::IsTile16Diggable(), yaze::zelda3::kMaxDiggableTileId, yaze::util::logf(), yaze::zelda3::DiggableTiles::SetDiggable(), and tiles16_.
|
private |
Definition at line 381 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, and overworld_maps_.
Referenced by Load().
|
private |
Definition at line 726 of file overworld.cc.
References ASSIGN_OR_RETURN, and rom().
Referenced by AssembleMap32Tiles().

|
private |
Definition at line 737 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::DetectOverworldRomProfile(), expanded_tile32_, yaze::zelda3::GetMap32TileBLExpanded(), yaze::zelda3::GetMap32TileBRExpanded(), yaze::zelda3::GetMap32TileTRExpanded(), GetTile16ForTile32(), yaze::zelda3::kMap32ExpandedFlagPos, zelda3_version_pointers::kMap32TileBL, zelda3_version_pointers::kMap32TileBR, yaze::zelda3::kMap32TileCountExpanded, zelda3_version_pointers::kMap32TileTL, zelda3_version_pointers::kMap32TileTR, yaze::zelda3::OverworldMapTiles::light_world, yaze::util::logf(), map32TilesBL, map32TilesBR, map32TilesTL, map32TilesTR, map_tiles_, yaze::zelda3::ReadRomByteOr(), rom(), yaze::zelda3::OverworldMapTiles::special_world, tiles32_unique_, and version_constants().
Referenced by BuildLyraTerrainPreview(), and Load().
|
private |
Definition at line 838 of file overworld.cc.
References ASSIGN_OR_RETURN, expanded_tile16_, yaze::zelda3::ReadMap16Tiles(), rom(), tiles16(), and tiles16_.
Referenced by BuildLyraTerrainPreview(), and Load().

|
private |
Definition at line 850 of file overworld.cc.
References tiles32_unique_.
Referenced by BuildLyraTerrainPreview(), OrganizeMapTiles(), and SetLyraA0Tile32().
|
private |
Definition at line 873 of file overworld.cc.
References yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kSpecialWorldMapIdStart, and SelectWorldBlockset().
Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

|
private |
Definition at line 862 of file overworld.cc.
References yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::OverworldMapTiles::light_world, map_tiles_, and yaze::zelda3::OverworldMapTiles::special_world.
Referenced by BuildLyraTerrainPreview(), and FillBlankMapTiles().
|
private |
Definition at line 895 of file overworld.cc.
References AssignWorldTiles(), yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::OverworldMapTiles::light_world, map_tiles_, yaze::zelda3::OverworldMapTiles::special_world, and tiles32_unique_.
Referenced by DecompressAllMapTilesParallel().

|
private |
Definition at line 915 of file overworld.cc.
References FillBlankMapTiles(), yaze::core::FeatureFlags::get(), HasExpandedPointerTables(), yaze::gfx::HyruleMagicDecompress(), yaze::core::FeatureFlags::Flags::Overworld::kEnableSpecialWorldExpansion, yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kSpecialWorldMapIdStart, OrganizeMapTiles(), yaze::core::FeatureFlags::Flags::overworld, rom(), yaze::SnesToPc(), and version_constants().
Referenced by Load().
|
private |
Definition at line 303 of file overworld.cc.
References AssembleMap16Tiles(), AssembleMap32Tiles(), ASSIGN_OR_RETURN, AssignWorldTiles(), built_map_lru_, cached_version_, yaze::rom::LyraLayoutInspection::capacity, yaze::zelda3::OverworldMap::CreateLyraPreview(), yaze::Rom::data(), descriptor_layout_, yaze::zelda3::DetectOverworldRomProfile(), expanded_entrances_, game_data_, has_tail_map_expansion_, is_loaded_, yaze::zelda3::kNumOverworldMaps, loaded_map_tiles_, loaded_map_tiles_valid_, lyra_a0_tiles_, yaze::rom::LyraMapTile32(), map_parent_, map_tiles_, overworld_maps_, RETURN_IF_ERROR, rom(), rom_, SelectWorldBlockset(), yaze::Rom::size(), tiles16_, tiles32_unique_, tileset_cache_, and yaze::zelda3::WorldForOverworldMap().
Referenced by LoadLyraTerrainPreview().
|
private |
Definition at line 1710 of file overworld.cc.
References yaze::zelda3::OverworldMapTiles::dark_world, yaze::zelda3::OverworldMapTiles::light_world, loaded_map_tiles_, loaded_map_tiles_valid_, map_tiles_, and yaze::zelda3::OverworldMapTiles::special_world.
Referenced by SaveMap32Expanded(), SaveMap32Tiles(), SaveOverworldMaps(), and ValidatePrivateNativeTerrainSave().
|
private |
Definition at line 1341 of file overworld.cc.
References game_data_, yaze::zelda3::GraphicsSheetStore::Revision(), and yaze::zelda3::GraphicsSheetStoreHolder::sheet_store.
Referenced by BuildMapWithTilesetCache().

|
private |
Definition at line 1262 of file overworld.cc.
References tiles16_.
Referenced by BuildMapWithTilesetCache().
|
private |
Definition at line 1283 of file overworld.cc.
References game_state_, GetMapTiles(), kMaxCachedTilesets, overworld_maps_, RETURN_IF_ERROR, SheetRevisionsForKey(), tiles16_, Tiles16Fingerprint(), tileset_cache_, and tileset_cache_clock_.
Referenced by EnsureMapBuilt(), and LoadOverworldMaps().

|
private |
Definition at line 906 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), CreateTile32Tilemap(), EnsureMapBuilt(), GetTile8CollisionTypes(), HasExpandedPointerTables(), Load(), LoadOverworldMaps(), LoadSprites(), LoadSpritesFromMap(), LoadTileTypes(), mutable_rom(), PrepareSpriteSave(), rom(), Save(), SaveCustomOverworldData(), SaveDiggableTiles(), SaveEntrances(), SaveExits(), SaveItems(), SaveMap16Expanded(), SaveMap16Tiles(), SaveMap32Expanded(), SaveMap32Tiles(), SaveMapOverlays(), SaveMapProperties(), SaveOverworldMaps(), SaveOverworldTilesType(), SaveSprites(), and ValidatePrivateNativeTerrainSave().
|
private |
Definition at line 907 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), Load(), SetGameData(), SheetRevisionsForKey(), and version_constants().
|
private |
Definition at line 909 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), Destroy(), is_loaded(), Load(), and LoadLyraTerrainPreview().
|
private |
Definition at line 910 of file overworld.h.
Referenced by AssembleMap16Tiles(), expanded_tile16(), GetProjectedWriteRanges(), Load(), and Save().
|
private |
Definition at line 911 of file overworld.h.
Referenced by AssembleMap32Tiles(), expanded_tile32(), GetProjectedWriteRanges(), Load(), and Save().
|
private |
Definition at line 912 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), expanded_entrances(), and Load().
|
private |
Definition at line 913 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), has_tail_map_expansion(), inspected_map_count(), Load(), and set_has_tail_map_expansion().
|
private |
Definition at line 915 of file overworld.h.
Referenced by BuildMapWithTilesetCache(), EnsureMapBuilt(), LoadOverworldMaps(), and set_game_state().
|
private |
Definition at line 916 of file overworld.h.
Referenced by current_area_palette(), current_graphics(), current_map_bitmap_data(), current_map_id(), is_current_map_valid(), set_current_map(), and tile16_blockset_data().
|
private |
Definition at line 917 of file overworld.h.
Referenced by current_world(), GetTile(), GetTileFromPosition(), set_current_world(), and SetTile().
|
private |
Definition at line 920 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), ConfigureMultiAreaMap(), EnsureMapBuilt(), InvalidateSiblingMapCaches(), Load(), LoadOverworldMaps(), SaveAreaSpecificBGColors(), SaveCustomOverworldASM(), SaveCustomOverworldData(), SaveDiggableTiles(), and SaveLargeMaps().
|
private |
Definition at line 922 of file overworld.h.
Referenced by AssembleMap32Tiles(), BuildLyraTerrainPreview(), CreateTile32Tilemap(), GetMapTiles(), GetTile(), GetTileFromPosition(), Load(), map_tiles(), MapTilesUnchanged(), mutable_map_tiles(), OrganizeMapTiles(), SelectWorldBlockset(), SetLyraA0Tile32(), SetTile(), and StageSavedMapTiles().
|
private |
Definition at line 923 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), Destroy(), EnsureMapBuilt(), inspected_map_count(), is_lyra_preview(), Load(), and lyra_a0_terrain_writable().
|
private |
Definition at line 924 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), lyra_a0_tiles(), and SetLyraA0Tile32().
|
private |
Definition at line 930 of file overworld.h.
Referenced by Load(), and ValidatePrivateNativeTerrainSave().
|
private |
Definition at line 931 of file overworld.h.
Referenced by Load(), and ValidatePrivateNativeTerrainSave().
|
private |
Definition at line 932 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), CommitSavedMapTiles(), Load(), and MapTilesUnchanged().
|
private |
Definition at line 933 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), CommitSavedMapTiles(), Destroy(), Load(), and MapTilesUnchanged().
|
private |
Definition at line 934 of file overworld.h.
Referenced by CommitSavedMapTiles(), RollbackSavedMapTiles(), and StageSavedMapTiles().
|
private |
Definition at line 935 of file overworld.h.
Referenced by CommitSavedMapTiles(), RollbackSavedMapTiles(), and StageSavedMapTiles().
|
mutableprivate |
Definition at line 939 of file overworld.h.
|
staticconstexprprivate |
Definition at line 944 of file overworld.h.
Referenced by EnsureMapBuilt().
|
private |
Definition at line 945 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), Destroy(), EnsureMapBuilt(), and LoadOverworldMaps().
|
private |
Definition at line 960 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), BuildMapWithTilesetCache(), ClearGraphicsConfigCache(), Destroy(), InvalidateMapCache(), InvalidateTilesetCacheForSheet(), and tileset_cache_size().
|
private |
Definition at line 961 of file overworld.h.
Referenced by BuildMapWithTilesetCache().
|
staticconstexprprivate |
Definition at line 965 of file overworld.h.
Referenced by BuildMapWithTilesetCache().
|
private |
Definition at line 971 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), BuildMapWithTilesetCache(), BuildSubscreenOverlayLayer(), ConfigureMultiAreaMap(), current_area_palette(), current_graphics(), current_map_bitmap_data(), Destroy(), EnsureMapBuilt(), FetchLargeMaps(), InvalidateMapCache(), is_current_map_valid(), Load(), LoadOverworldMaps(), LoadSpritesFromMap(), mutable_overworld_map(), overworld_map(), overworld_maps(), SaveAreaSizes(), SaveAreaSpecificBGColors(), SaveCustomOverworldASM(), SaveItems(), SaveLargeAreaTransitions(), SaveLargeMaps(), SaveLargeMapsExpanded(), SaveMapOverlays(), SaveMapProperties(), SaveMusic(), SaveSmallAreaTransitions(), SaveTallAreaTransitions(), SaveWideAreaTransitions(), SetGraphicsPreview(), SetLyraA0Tile32(), SyncAreaProperties(), tile16_blockset_data(), and ValidatePrivateNativeTerrainSave().
|
private |
Definition at line 972 of file overworld.h.
Referenced by SetGraphicsPreview(), and SyncAreaProperties().
|
private |
Definition at line 973 of file overworld.h.
Referenced by Destroy(), entrances(), entrances(), Load(), mutable_entrances(), and SaveEntrances().
|
private |
Definition at line 974 of file overworld.h.
Referenced by holes(), holes(), Load(), mutable_holes(), and SaveEntrances().
|
private |
Definition at line 975 of file overworld.h.
Referenced by Destroy(), exits(), Load(), mutable_exits(), and SaveExits().
|
private |
Definition at line 976 of file overworld.h.
Referenced by all_items(), Destroy(), Load(), mutable_all_items(), and SaveItems().
|
private |
Definition at line 978 of file overworld.h.
Referenced by AssembleMap16Tiles(), AutoDetectDiggableTiles(), BuildLyraTerrainPreview(), BuildMapWithTilesetCache(), Destroy(), Load(), LoadOverworldMaps(), mutable_tiles16(), SaveMap16Expanded(), SaveMap16Tiles(), tiles16(), Tiles16Fingerprint(), and ValidatePrivateNativeTerrainSave().
|
private |
Definition at line 979 of file overworld.h.
Referenced by Destroy().
|
private |
Definition at line 980 of file overworld.h.
Referenced by AssembleMap32Tiles(), AssignWorldTiles(), BuildLyraTerrainPreview(), CreateTile32Tilemap(), Destroy(), OrganizeMapTiles(), SaveMap32Expanded(), SaveMap32Tiles(), SetLyraA0Tile32(), and tiles32_unique().
|
private |
Definition at line 982 of file overworld.h.
Referenced by CreateTile32Tilemap(), Load(), and SaveOverworldMaps().
|
private |
Definition at line 983 of file overworld.h.
Referenced by deleted_entrances(), and mutable_deleted_entrances().
|
private |
Definition at line 985 of file overworld.h.
Referenced by BuildLyraTerrainPreview(), Load(), and LoadSpritesFromMap().
|
private |
Definition at line 986 of file overworld.h.
Referenced by all_tiles_types(), AutoDetectDiggableTiles(), GetTile8CollisionTypes(), LoadTileTypes(), mutable_all_tiles_types(), and SaveOverworldTilesType().
|
private |
Definition at line 987 of file overworld.h.
Referenced by all_sprites(), Destroy(), LoadSpritesFromMap(), mutable_sprites(), PrepareSpriteSave(), and sprites().
|
private |
Definition at line 988 of file overworld.h.
Referenced by Destroy(), LoadSpritesFromMap(), and PrepareSpriteSave().
|
private |
Definition at line 989 of file overworld.h.
Referenced by AutoDetectDiggableTiles(), diggable_tiles(), LoadDiggableTiles(), and mutable_diggable_tiles().
|
private |
Definition at line 990 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 991 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 992 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 993 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 994 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 995 of file overworld.h.
Referenced by SaveOverworldMaps().