Represents the full Overworld data, light and dark world. More...
#include <overworld.h>

Classes | |
| struct | GraphicsConfigCache |
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 | LoadOverworldMaps () |
| Load overworld map tile data. | |
| void | LoadTileTypes () |
| Load tile type collision data. | |
| absl::Status | LoadSprites () |
| Load sprite data for all game states. | |
| 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. | |
| uint64_t | ComputeGraphicsConfigHash (int map_index) |
| Compute hash of graphics configuration for cache lookup. | |
| const std::vector< uint8_t > * | GetCachedTileset (uint64_t config_hash) |
| Try to get cached tileset data for a graphics configuration. | |
| void | CacheTileset (uint64_t config_hash, const std::vector< uint8_t > &tileset) |
| Cache tileset data for future reuse. | |
| void | ClearGraphicsConfigCache () |
| Clear entire graphics config cache Call when palette or graphics settings change globally. | |
| 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 | 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) |
| 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 } |
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 () |
Static Private Attributes | |
| static constexpr int | kMaxBuiltMaps = 8 |
| static constexpr int | kMaxCachedConfigs = 12 |
Represents the full Overworld data, light and dark world.
This class is responsible for loading and saving the overworld data, as well as creating the tilesets and tilemaps for the overworld.
The Overworld manages 160 map screens across three worlds and provides the data layer that the OverworldEditor UI operates on.
Definition at line 389 of file overworld.h.
|
private |
| Enumerator | |
|---|---|
| map32TilesTL | |
| map32TilesTR | |
| map32TilesBL | |
| map32TilesBR | |
Definition at line 770 of file overworld.h.
Definition at line 391 of file overworld.h.
|
inline |
Definition at line 394 of file overworld.h.
References game_data_.
Referenced by yaze::editor::OverworldEditor::SetGameData().
|
inline |
Get version-specific ROM addresses.
Definition at line 397 of file overworld.h.
References game_data_, and yaze::zelda3::GameData::version.
Referenced by AssembleMap32Tiles(), CreateTile32Tilemap(), DecompressAllMapTilesParallel(), GetProjectedWriteRanges(), 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 131 of file overworld.cc.
References all_entrances_, all_exits_, all_holes_, all_items_, AssembleMap16Tiles(), AssembleMap32Tiles(), ASSIGN_OR_RETURN, AssignMapSizes(), cached_version_, DecompressAllMapTilesParallel(), yaze::zelda3::DetectOverworldRomProfile(), expanded_entrances_, FetchLargeMaps(), game_data_, is_loaded_, yaze::zelda3::kNumOverworldMaps, LoadDiggableTiles(), yaze::zelda3::LoadEntrances(), yaze::zelda3::LoadExits(), yaze::zelda3::LoadHoles(), yaze::zelda3::LoadItems(), LoadOverworldMaps(), LoadSprites(), LoadTileTypes(), map_parent_, 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::OverworldSetTileCommandHandler::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::Tile16ProposalGenerator::GenerateDiff(), yaze::cli::HandleOverworldDescribeMapLegacy(), yaze::cli::HandleOverworldFindTileLegacy(), yaze::cli::HandleOverworldGetTileLegacy(), yaze::cli::HandleOverworldListWarpsLegacy(), yaze::cli::HandleOverworldSetTileLegacy(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand(), yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), and yaze::test::RomDependentTestSuite::RunRomOverworldLoadingTest().
| absl::Status yaze::zelda3::Overworld::LoadOverworldMaps | ( | ) |
Load overworld map tile data.
Definition at line 860 of file overworld.cc.
References built_map_lru_, cached_version_, CacheTileset(), ComputeGraphicsConfigHash(), current_graphics(), game_state_, GetCachedTileset(), 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_, and tiles16_.
Referenced by Load().
| void yaze::zelda3::Overworld::LoadTileTypes | ( | ) |
Load tile type collision data.
Definition at line 1112 of file overworld.cc.
References all_tiles_types_, yaze::zelda3::kNumTileTypes, zelda3_version_pointers::kOverworldTilesType, rom(), and version_constants().
Referenced by Load().

| absl::Status yaze::zelda3::Overworld::LoadSprites | ( | ) |
Load sprite data for all game states.
Definition at line 1289 of file overworld.cc.
References cached_version_, yaze::zelda3::kOverworldSpritesAgahnim, yaze::zelda3::kOverworldSpritesBeginning, yaze::zelda3::kOverworldSpritesZelda, LoadSpritesFromMap(), yaze::zelda3::overworldSpritesAgahnimExpanded, yaze::zelda3::overworldSpritesBeginingExpanded, yaze::zelda3::overworldSpritesZeldaExpanded, RETURN_IF_ERROR, and yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum().
Referenced by Load().

| 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 1341 of file overworld.cc.
References all_sprites_, ASSIGN_OR_RETURN, map_parent_, overworld_maps_, rom(), and yaze::SnesToPc().
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 1004 of file overworld.cc.
References built_map_lru_, cached_version_, CacheTileset(), ComputeGraphicsConfigHash(), current_graphics(), FillBlankMapTiles(), game_state_, yaze::core::FeatureFlags::get(), GetCachedTileset(), GetMapTiles(), HasExpandedPointerTables(), InvalidateMapCache(), 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 tiles16_.
Referenced by yaze::cli::overworld::BuildMapSummary(), yaze::editor::CanvasNavigationManager::CheckForCurrentMap(), yaze::editor::OverworldCanvasRenderer::DrawAreaGraphics(), yaze::editor::OverworldMapTextureCoordinator::EnsureMapTexture(), yaze::editor::CanvasNavigationManager::ProcessPreloadQueue(), yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset(), yaze::editor::OverworldEditor::SelectMapForEditing(), and yaze::editor::OverworldEditor::SwitchToWorld().
| uint64_t yaze::zelda3::Overworld::ComputeGraphicsConfigHash | ( | int | map_index | ) |
Compute hash of graphics configuration for cache lookup.
Definition at line 1119 of file overworld.cc.
References game_state_, yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kSpecialWorldMapIdStart, and overworld_maps_.
Referenced by EnsureMapBuilt(), InvalidateMapCache(), and LoadOverworldMaps().
| const std::vector< uint8_t > * yaze::zelda3::Overworld::GetCachedTileset | ( | uint64_t | config_hash | ) |
Try to get cached tileset data for a graphics configuration.
Definition at line 1198 of file overworld.cc.
References gfx_config_cache_.
Referenced by EnsureMapBuilt(), and LoadOverworldMaps().
| void yaze::zelda3::Overworld::CacheTileset | ( | uint64_t | config_hash, |
| const std::vector< uint8_t > & | tileset ) |
Cache tileset data for future reuse.
Definition at line 1207 of file overworld.cc.
References gfx_config_cache_, and kMaxCachedConfigs.
Referenced by EnsureMapBuilt(), and LoadOverworldMaps().
|
inline |
Clear entire graphics config cache Call when palette or graphics settings change globally.
Definition at line 446 of file overworld.h.
References gfx_config_cache_.
Referenced by yaze::editor::MapRefreshCoordinator::InvalidateGraphicsCache().
| 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 1226 of file overworld.cc.
References ComputeGraphicsConfigHash(), gfx_config_cache_, yaze::zelda3::kNumOverworldMaps, and overworld_maps_.
Referenced by EnsureMapBuilt(), and 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 1241 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 1382 of file overworld.cc.
References CreateTile32Tilemap(), expanded_tile16_, expanded_tile32_, RETURN_IF_ERROR, rom(), rom_, SaveCustomOverworldData(), SaveDiggableTiles(), SaveEntrances(), SaveExits(), SaveItems(), SaveMap16Expanded(), SaveMap16Tiles(), SaveMap32Expanded(), SaveMap32Tiles(), SaveMapOverlays(), SaveMusic(), SaveOverworldMaps(), and SaveOverworldTilesType().
| absl::Status yaze::zelda3::Overworld::SaveOverworldMaps | ( | ) |
Save compressed map tile data to ROM.
Definition at line 1407 of file overworld.cc.
References CreateTile32Tilemap(), 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, yaze::zelda3::NumberOfMap32, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), SaveLargeMaps(), tiles32_list_, and version_constants().
Referenced by yaze::cli::handlers::OverworldSetTileCommandHandler::Execute(), yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest(), yaze::editor::OverworldEditor::Save(), and Save().
| absl::Status yaze::zelda3::Overworld::SaveLargeMaps | ( | ) |
Save large map parent/sibling relationships.
Definition at line 1605 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 2502 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 1960 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 2069 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 2225 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 2365 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 3092 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().

| absl::Status yaze::zelda3::Overworld::SaveExits | ( | ) |
Save exit return points to ROM.
Definition at line 3099 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 3104 of file overworld.cc.
References all_items_, 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 3117 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().

| absl::Status yaze::zelda3::Overworld::SaveOverworldTilesType | ( | ) |
Save tile type collision data to ROM.
Definition at line 3189 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().

| 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 3265 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 3359 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 3377 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 2631 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::core::FeatureFlags::get(), yaze::gfx::Tile32::GetPackedValue(), map_tiles_, yaze::zelda3::NumberOfMap32, RETURN_IF_ERROR, rom(), tiles32_list_, tiles32_unique_, and version_constants().
Referenced by yaze::editor::OverworldEditor::Save(), Save(), and SaveOverworldMaps().

| absl::Status yaze::zelda3::Overworld::SaveMap16Expanded | ( | ) |
Save expanded tile16 definitions (v1+ ROMs)
Definition at line 2975 of file overworld.cc.
References yaze::zelda3::GetMap16TilesExpanded(), yaze::zelda3::NumberOfMap16Ex, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), yaze::SnesToPc(), and tiles16_.
Referenced by yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveMap16Tiles | ( | ) |
Save tile16 definitions to ROM.
Definition at line 3071 of file overworld.cc.
References yaze::zelda3::kMap16Tiles, yaze::util::logf(), yaze::zelda3::NumberOfMap16, RETURN_IF_ERROR, rom(), and tiles16_.
Referenced by yaze::cli::handlers::OverworldSetTileCommandHandler::Execute(), yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveMap32Expanded | ( | ) |
Save expanded tile32 definitions (v1+ ROMs)
Definition at line 2682 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::zelda3::GetMap32TileBLExpanded(), yaze::zelda3::GetMap32TileBRExpanded(), yaze::zelda3::GetMap32TileTRExpanded(), yaze::zelda3::kMap32BytesPerPackedGroup, yaze::zelda3::kMap32DefinitionsPerPackedGroup, zelda3_version_pointers::kMap32TileTL, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), tiles32_unique_, and version_constants().
Referenced by yaze::editor::OverworldEditor::Save(), and Save().
| absl::Status yaze::zelda3::Overworld::SaveMap32Tiles | ( | ) |
Save tile32 definitions to ROM.
Definition at line 2843 of file overworld.cc.
References ASSIGN_OR_RETURN, 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, RETURN_IF_ERROR, rom(), tiles32_unique_, and version_constants().
Referenced by yaze::cli::handlers::OverworldSetTileCommandHandler::Execute(), yaze::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveMapProperties | ( | ) |
Save per-area graphics, palettes, and messages.
Definition at line 3408 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 3483 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 3508 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 318 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 406 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::OverworldToolbar::Draw(), and yaze::editor::OverworldCanvasRenderer::DrawV3Settings().
|
inline |
Definition at line 591 of file overworld.h.
References rom_.
Referenced by AssembleMap16Tiles(), AssembleMap32Tiles(), ConfigureMultiAreaMap(), CreateTile32Tilemap(), DecompressAllMapTilesParallel(), GetTile16ForTile32(), Load(), LoadDiggableTiles(), LoadSpritesFromMap(), LoadTileTypes(), Save(), SaveAreaSizes(), SaveAreaSpecificBGColors(), SaveCustomOverworldASM(), SaveDiggableTiles(), 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 592 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 1549 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::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 611 of file overworld.h.
References yaze::Rom::data(), yaze::zelda3::GetExpandedPtrTableMagic(), yaze::zelda3::GetExpandedPtrTableMarker(), rom_, and yaze::Rom::size().
Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

|
inline |
Definition at line 619 of file overworld.h.
References all_entrances_, all_exits_, all_items_, all_sprites_, is_loaded_, overworld_maps_, sprites(), tiles16_, tiles32_, and tiles32_unique_.
Referenced by yaze::editor::OverworldEditor::Clear().

|
inline |
Definition at line 636 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::TilePaintingManager::CheckForSelectRectangle(), and yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch().
|
inline |
Definition at line 646 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 yaze::editor::OverworldEntityRenderer::DrawDiggableTileHighlights(), EnsureMapBuilt(), LoadOverworldMaps(), yaze::editor::anonymous_namespace{map_refresh_coordinator.cc}::MapTilesForMapIndex(), yaze::editor::OverworldTilePaintAction::Redo(), and yaze::editor::OverworldTilePaintAction::Undo().
|
inline |
Definition at line 659 of file overworld.h.
References overworld_maps_.
Referenced by yaze::cli::handlers::OverworldListItemsCommandHandler::Execute(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteOverworldMapsData().
|
inline |
Definition at line 662 of file overworld.h.
References overworld_maps_.
Referenced by yaze::cli::overworld::BuildMapSummary(), yaze::editor::BuildOverworldMapMetadata(), yaze::editor::anonymous_namespace{map_properties.cc}::CaptureMapMetadataClipboard(), yaze::editor::CanvasNavigationManager::CheckForCurrentMap(), yaze::editor::OverworldToolbar::Draw(), yaze::editor::OverworldSidebar::Draw(), yaze::editor::OverworldCanvasRenderer::DrawAreaGraphics(), yaze::editor::MapPropertiesSystem::DrawCanvasToolbar(), yaze::editor::OverworldSidebar::DrawConfiguration(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::OverworldSidebar::DrawGraphicsSettings(), yaze::editor::OverworldSidebar::DrawMusicTab(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::OverworldCanvasRenderer::DrawOverworldProperties(), yaze::editor::OverworldSidebar::DrawPaletteSettings(), yaze::editor::OverworldSidebar::DrawSpritePropertiesTab(), yaze::editor::UsageStatisticsCard::DrawUsageGrid(), yaze::editor::UsageStatisticsCard::DrawUsageStates(), yaze::editor::OverworldCanvasRenderer::DrawV3Settings(), yaze::editor::OverworldMapTextureCoordinator::EnsureMapTexture(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), yaze::editor::InsertEntrance(), yaze::editor::InsertExit(), yaze::editor::InsertItem(), yaze::editor::InsertSprite(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::MapFromCanvasPosition(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::CanvasNavigationManager::QueueAdjacentMapsForPreload(), yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::SelectMapFallback(), yaze::editor::OverworldEditor::SelectMapForEditing(), yaze::editor::OverworldEditor::set_current_map(), yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu(), and yaze::zelda3::OverworldExit::UpdateMapProperties().
|
inline |
Definition at line 668 of file overworld.h.
References overworld_maps_.
Referenced by yaze::editor::OverworldSidebar::DrawConfiguration(), yaze::editor::anonymous_namespace{map_properties.cc}::EffectivePropertyMapId(), InvalidateSiblingMapCaches(), yaze::editor::MapPropertiesSystem::PrepareMapForGraphicsRefresh(), yaze::editor::MapRefreshCoordinator::RefreshChildMap(), yaze::editor::MapRefreshCoordinator::RefreshChildMapOnDemand(), yaze::editor::MapRefreshCoordinator::RefreshMapPalette(), yaze::editor::MapRefreshCoordinator::RefreshMapProperties(), yaze::editor::MapRefreshCoordinator::RefreshMultiAreaMapsSafely(), yaze::editor::MapRefreshCoordinator::RefreshSiblingMapGraphics(), yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset(), and yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest().
|
inline |
Definition at line 674 of file overworld.h.
References all_exits_.
Referenced by yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute().
|
inline |
Definition at line 675 of file overworld.h.
References all_exits_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawExits(), yaze::editor::OverworldEntityRenderer::DrawExits(), and yaze::editor::InsertExit().
|
inline |
Definition at line 676 of file overworld.h.
References tiles16_.
Referenced by yaze::editor::MapRefreshCoordinator::RefreshChildMap(), yaze::editor::MapRefreshCoordinator::RefreshChildMapOnDemand(), yaze::editor::MapRefreshCoordinator::RefreshMultiAreaMapsSafely(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 677 of file overworld.h.
References tiles32_unique_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 678 of file overworld.h.
References tiles16_.
Referenced by yaze::editor::OverworldEditor::Load(), yaze::editor::MapRefreshCoordinator::RefreshChildMap(), yaze::editor::MapRefreshCoordinator::RefreshChildMapOnDemand(), and yaze::editor::MapRefreshCoordinator::RefreshMultiAreaMapsSafely().
|
inline |
Definition at line 679 of file overworld.h.
References all_sprites_.
Referenced by yaze::cli::overworld::CollectOverworldSprites(), and Destroy().
|
inline |
Definition at line 684 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 689 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by EnsureMapBuilt(), yaze::editor::OverworldEditor::LoadGraphics(), and LoadOverworldMaps().

|
inline |
Definition at line 695 of file overworld.h.
References all_entrances_.
Referenced by yaze::cli::overworld::CollectWarpEntries(), yaze::editor::OverworldEntityRenderer::DrawEntrances(), yaze::editor::OverworldEntityRenderer::DrawEntrances(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), yaze::cli::overworld::GetEntranceDetails(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteEntranceData().
|
inline |
Definition at line 698 of file overworld.h.
References all_entrances_.
|
inline |
Definition at line 699 of file overworld.h.
References all_entrances_.
Referenced by yaze::editor::InsertEntrance().
|
inline |
Definition at line 700 of file overworld.h.
References all_holes_.
Referenced by yaze::cli::overworld::CollectWarpEntries(), yaze::cli::handlers::OverworldExportGraphCommandHandler::Execute(), and yaze::editor::InsertEntrance().
|
inline |
Definition at line 701 of file overworld.h.
References all_holes_.
|
inline |
Definition at line 702 of file overworld.h.
References all_holes_.
|
inline |
Definition at line 703 of file overworld.h.
References deleted_entrances_.
|
inline |
Definition at line 704 of file overworld.h.
References deleted_entrances_.
|
inline |
Definition at line 705 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by yaze::editor::OverworldEditor::DrawScratchSpace(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::OverworldEditor::RebuildScratchBitmapFromTileData(), and yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch().

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

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

|
inline |
Definition at line 724 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 728 of file overworld.h.
References is_loaded_.
Referenced by yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::editor::UsageStatisticsCard::Draw(), yaze::editor::OverworldToolbar::Draw(), yaze::editor::OverworldSidebar::Draw(), yaze::editor::OverworldCanvasRenderer::DrawAreaGraphics(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::MapPropertiesSystem::DrawMapPropertiesPanel(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::OverworldCanvasRenderer::DrawOverworldCanvas(), yaze::editor::OverworldEditor::HandleTile16Edit(), yaze::editor::InsertEntrance(), yaze::editor::InsertExit(), yaze::editor::InsertItem(), yaze::editor::InsertSprite(), yaze::editor::OverworldEditor::ProcessPendingEntityInsertion(), yaze::editor::MapPropertiesSystem::SetupCanvasContextMenu(), and yaze::editor::OverworldEditor::Update().
|
inline |
Definition at line 729 of file overworld.h.
References expanded_tile16_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 730 of file overworld.h.
References expanded_tile32_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 731 of file overworld.h.
References expanded_entrances_.
|
inline |
Definition at line 732 of file overworld.h.
References current_map_.
|
inline |
Definition at line 733 of file overworld.h.
References current_world_.
Referenced by yaze::editor::UsageStatisticsCard::DrawUsageGrid(), and yaze::editor::UsageStatisticsCard::DrawUsageStates().
|
inline |
Definition at line 734 of file overworld.h.
References current_map_.
Referenced by yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::editor::TilePaintingManager::CheckForOverworldEdits(), yaze::editor::TilePaintingManager::CheckForSelectRectangle(), yaze::editor::OverworldEditor::Copy(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::SelectMapFallback(), yaze::editor::OverworldEditor::SelectMapForEditing(), yaze::editor::OverworldEditor::set_current_map(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::SetOverworldContextForMap().
|
inline |
Definition at line 735 of file overworld.h.
References current_world_.
Referenced by yaze::cli::Tile16ProposalGenerator::ApplyProposal(), yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::editor::TilePaintingManager::CheckForOverworldEdits(), yaze::editor::TilePaintingManager::CheckForSelectRectangle(), yaze::editor::OverworldEditor::Copy(), yaze::cli::overworld::FindTileMatches(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::cli::HandleOverworldSetTileLegacy(), yaze::editor::OverworldEditor::NormalizeCurrentSelectionState(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand(), yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch(), yaze::editor::anonymous_namespace{canvas_navigation_manager.cc}::SelectMapFallback(), yaze::editor::OverworldEditor::SelectMapForEditing(), yaze::editor::OverworldEditor::set_current_map(), and yaze::cli::handlers::anonymous_namespace{overworld_commands.cc}::SetOverworldContextForMap().
|
inline |
Definition at line 736 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::editor::TilePaintingManager::CheckForOverworldEdits(), yaze::editor::OverworldEditor::Copy(), yaze::cli::handlers::OverworldGetTileCommandHandler::Execute(), yaze::cli::handlers::OverworldSetTileCommandHandler::Execute(), yaze::cli::overworld::FindTileMatches(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::cli::HandleOverworldGetTileLegacy(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), and yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand().
|
inline |
Definition at line 745 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(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::cli::handlers::OverworldSetTileCommandHandler::Execute(), and yaze::cli::HandleOverworldSetTileLegacy().
|
inline |
Definition at line 754 of file overworld.h.
References map_tiles_.
|
inline |
Definition at line 755 of file overworld.h.
References map_tiles_.
Referenced by yaze::editor::TilePaintingManager::CheckForOverworldEdits(), yaze::editor::TilePaintingManager::DrawOverworldEdits(), yaze::editor::OverworldEditor::GetWorldTiles(), yaze::editor::OverworldEditor::Paste(), and yaze::editor::TilePaintingManager::PickTile16FromHoveredCanvas().
|
inline |
Definition at line 756 of file overworld.h.
References all_items_.
Referenced by yaze::editor::OverworldEditor::CaptureItemUndoSnapshot().
|
inline |
Definition at line 757 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 758 of file overworld.h.
References all_tiles_types_.
|
inline |
Definition at line 759 of file overworld.h.
References all_tiles_types_.
Referenced by yaze::editor::OverworldEditor::Load().
|
inline |
Definition at line 760 of file overworld.h.
References all_sprites_.
|
inline |
Definition at line 763 of file overworld.h.
References diggable_tiles_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawDiggableTileHighlights().
|
inline |
Definition at line 764 of file overworld.h.
References diggable_tiles_.
| absl::Status yaze::zelda3::Overworld::LoadDiggableTiles | ( | ) |
Definition at line 3200 of file overworld.cc.
References ASSIGN_OR_RETURN, diggable_tiles_, yaze::zelda3::DiggableTiles::FromBytes(), yaze::zelda3::kDiggableTilesBitfieldSize, yaze::zelda3::kOverworldCustomDiggableTilesArray, yaze::zelda3::kOverworldCustomDiggableTilesEnabled, yaze::util::logf(), rom(), and yaze::zelda3::DiggableTiles::SetVanillaDefaults().
Referenced by Load().

| absl::Status yaze::zelda3::Overworld::SaveDiggableTiles | ( | ) |
Definition at line 3223 of file overworld.cc.
References cached_version_, diggable_tiles_, yaze::zelda3::DiggableTiles::GetRawData(), yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kDiggableTilesBitfieldSize, yaze::zelda3::kOverworldCustomDiggableTilesArray, yaze::zelda3::kOverworldCustomDiggableTilesEnabled, yaze::util::logf(), RETURN_IF_ERROR, rom(), rom_, and yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum().
Referenced by Save().
| absl::Status yaze::zelda3::Overworld::AutoDetectDiggableTiles | ( | ) |
Definition at line 3246 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 225 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, and overworld_maps_.
Referenced by Load().
|
private |
Definition at line 578 of file overworld.cc.
References ASSIGN_OR_RETURN, and rom().
Referenced by AssembleMap32Tiles().

|
private |
Definition at line 589 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 Load().
|
private |
Definition at line 649 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::zelda3::DetectOverworldRomProfile(), expanded_tile16_, yaze::zelda3::GetMap16TilesExpanded(), yaze::gfx::GetTilesInfo(), yaze::zelda3::kMap16ExpandedFlagPos, yaze::zelda3::kMap16Tiles, yaze::zelda3::kNumTile16Individual, yaze::util::logf(), yaze::zelda3::NumberOfMap16Ex, yaze::zelda3::ReadRomByteOr(), rom(), and tiles16_.
Referenced by Load().
|
private |
Definition at line 685 of file overworld.cc.
References tiles32_unique_.
Referenced by OrganizeMapTiles().
|
private |
Definition at line 708 of file overworld.cc.
References yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kSpecialWorldMapIdStart, and SelectWorldBlockset().
Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

|
private |
Definition at line 697 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 FillBlankMapTiles().
|
private |
Definition at line 730 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 750 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 792 of file overworld.h.
Referenced by EnsureMapBuilt(), HasExpandedPointerTables(), Load(), LoadOverworldMaps(), mutable_rom(), rom(), Save(), SaveCustomOverworldData(), SaveDiggableTiles(), SaveEntrances(), SaveExits(), SaveItems(), and SaveMapProperties().
|
private |
Definition at line 793 of file overworld.h.
Referenced by Load(), SetGameData(), and version_constants().
|
private |
Definition at line 795 of file overworld.h.
Referenced by Destroy(), is_loaded(), and Load().
|
private |
Definition at line 796 of file overworld.h.
Referenced by AssembleMap16Tiles(), expanded_tile16(), GetProjectedWriteRanges(), and Save().
|
private |
Definition at line 797 of file overworld.h.
Referenced by AssembleMap32Tiles(), expanded_tile32(), GetProjectedWriteRanges(), and Save().
|
private |
Definition at line 798 of file overworld.h.
Referenced by expanded_entrances(), Load(), and SaveEntrances().
|
private |
Definition at line 800 of file overworld.h.
Referenced by ComputeGraphicsConfigHash(), EnsureMapBuilt(), and LoadOverworldMaps().
|
private |
Definition at line 801 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 802 of file overworld.h.
Referenced by current_world(), GetTile(), GetTileFromPosition(), set_current_world(), and SetTile().
|
private |
Definition at line 805 of file overworld.h.
Referenced by ConfigureMultiAreaMap(), EnsureMapBuilt(), InvalidateSiblingMapCaches(), Load(), LoadOverworldMaps(), LoadSprites(), SaveAreaSpecificBGColors(), SaveCustomOverworldASM(), SaveCustomOverworldData(), SaveDiggableTiles(), and SaveLargeMaps().
|
private |
Definition at line 807 of file overworld.h.
Referenced by AssembleMap32Tiles(), CreateTile32Tilemap(), GetMapTiles(), GetTile(), GetTileFromPosition(), map_tiles(), mutable_map_tiles(), OrganizeMapTiles(), SelectWorldBlockset(), and SetTile().
|
mutableprivate |
Definition at line 810 of file overworld.h.
|
staticconstexprprivate |
Definition at line 815 of file overworld.h.
Referenced by EnsureMapBuilt().
|
private |
Definition at line 816 of file overworld.h.
Referenced by EnsureMapBuilt(), and LoadOverworldMaps().
|
private |
Definition at line 825 of file overworld.h.
Referenced by CacheTileset(), ClearGraphicsConfigCache(), GetCachedTileset(), and InvalidateMapCache().
|
staticconstexprprivate |
Definition at line 832 of file overworld.h.
Referenced by CacheTileset().
|
private |
Definition at line 835 of file overworld.h.
Referenced by ComputeGraphicsConfigHash(), 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(), SaveLargeAreaTransitions(), SaveLargeMaps(), SaveLargeMapsExpanded(), SaveMapOverlays(), SaveMapProperties(), SaveMusic(), SaveSmallAreaTransitions(), SaveTallAreaTransitions(), SaveWideAreaTransitions(), and tile16_blockset_data().
|
private |
Definition at line 836 of file overworld.h.
Referenced by Destroy(), entrances(), entrances(), Load(), mutable_entrances(), and SaveEntrances().
|
private |
Definition at line 837 of file overworld.h.
Referenced by holes(), holes(), Load(), mutable_holes(), and SaveEntrances().
|
private |
Definition at line 838 of file overworld.h.
Referenced by Destroy(), exits(), Load(), mutable_exits(), and SaveExits().
|
private |
Definition at line 839 of file overworld.h.
Referenced by all_items(), Destroy(), Load(), mutable_all_items(), and SaveItems().
|
private |
Definition at line 841 of file overworld.h.
Referenced by AssembleMap16Tiles(), AutoDetectDiggableTiles(), Destroy(), EnsureMapBuilt(), LoadOverworldMaps(), mutable_tiles16(), SaveMap16Expanded(), SaveMap16Tiles(), and tiles16().
|
private |
Definition at line 842 of file overworld.h.
Referenced by Destroy().
|
private |
Definition at line 843 of file overworld.h.
Referenced by AssembleMap32Tiles(), AssignWorldTiles(), CreateTile32Tilemap(), Destroy(), OrganizeMapTiles(), SaveMap32Expanded(), SaveMap32Tiles(), and tiles32_unique().
|
private |
Definition at line 845 of file overworld.h.
Referenced by CreateTile32Tilemap(), and SaveOverworldMaps().
|
private |
Definition at line 846 of file overworld.h.
Referenced by deleted_entrances(), and mutable_deleted_entrances().
|
private |
Definition at line 848 of file overworld.h.
Referenced by Load(), and LoadSpritesFromMap().
|
private |
Definition at line 849 of file overworld.h.
Referenced by all_tiles_types(), AutoDetectDiggableTiles(), LoadTileTypes(), mutable_all_tiles_types(), and SaveOverworldTilesType().
|
private |
Definition at line 850 of file overworld.h.
Referenced by all_sprites(), Destroy(), LoadSpritesFromMap(), mutable_sprites(), and sprites().
|
private |
Definition at line 851 of file overworld.h.
Referenced by AutoDetectDiggableTiles(), diggable_tiles(), LoadDiggableTiles(), mutable_diggable_tiles(), and SaveDiggableTiles().
|
private |
Definition at line 852 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 853 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 854 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 855 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 856 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 857 of file overworld.h.
Referenced by SaveOverworldMaps().