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 | 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 () |
| 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) |
| auto | overworld_maps () const |
| auto | overworld_map (int i) const |
| auto | mutable_overworld_map (int i) |
| auto | exits () const |
| auto | mutable_exits () |
| std::vector< gfx::Tile16 > | tiles16 () const |
| auto | tiles32_unique () const |
| auto | mutable_tiles16 () |
| auto | sprites (int state) const |
| auto | mutable_sprites (int state) |
| auto | 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 () |
| auto | current_area_palette () const |
| auto | current_map_bitmap_data () const |
| auto | 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 = 20 |
| static constexpr int | kMaxCachedConfigs = 8 |
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 217 of file overworld.h.
|
private |
| Enumerator | |
|---|---|
| map32TilesTL | |
| map32TilesTR | |
| map32TilesBL | |
| map32TilesBR | |
Definition at line 570 of file overworld.h.
Definition at line 219 of file overworld.h.
|
inline |
Definition at line 222 of file overworld.h.
References game_data_.
Referenced by yaze::editor::OverworldEditor::SetGameData().
|
inline |
Get version-specific ROM addresses.
Definition at line 225 of file overworld.h.
References game_data_, and yaze::zelda3::GameData::version.
Referenced by AssembleMap32Tiles(), DecompressAllMapTilesParallel(), 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 36 of file overworld.cc.
References all_entrances_, all_exits_, all_holes_, all_items_, AssembleMap16Tiles(), AssembleMap32Tiles(), ASSIGN_OR_RETURN, AssignMapSizes(), DecompressAllMapTilesParallel(), FetchLargeMaps(), game_data_, yaze::zelda3::OverworldVersionHelper::GetVersion(), 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::editor::OverworldEditor::ApplyZSCustomOverworldASM(), yaze::cli::handlers::OverworldFindTileCommandHandler::Execute(), yaze::cli::handlers::OverworldDescribeMapCommandHandler::Execute(), yaze::cli::handlers::OverworldListWarpsCommandHandler::Execute(), yaze::cli::handlers::OverworldListSpritesCommandHandler::Execute(), yaze::cli::handlers::OverworldGetEntranceCommandHandler::Execute(), yaze::cli::handlers::OverworldTileStatsCommandHandler::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 751 of file overworld.cc.
References CacheTileset(), ComputeGraphicsConfigHash(), current_graphics(), game_state_, GetCachedTileset(), GetMapTiles(), yaze::zelda3::kAreaGfxIdPtr, yaze::zelda3::kDarkWorldMapIdStart, 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 993 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 1169 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kOverworldSpritesAgahnim, yaze::zelda3::kOverworldSpritesBeginning, yaze::zelda3::kOverworldSpritesZelda, LoadSpritesFromMap(), yaze::zelda3::overworldSpritesAgahnimExpanded, yaze::zelda3::overworldSpritesBeginingExpanded, yaze::zelda3::overworldSpritesZeldaExpanded, RETURN_IF_ERROR, rom_, 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 1220 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 888 of file overworld.cc.
References built_map_lru_, CacheTileset(), ComputeGraphicsConfigHash(), current_graphics(), FillBlankMapTiles(), game_state_, yaze::core::FeatureFlags::get(), GetCachedTileset(), GetMapTiles(), yaze::zelda3::OverworldVersionHelper::GetVersion(), HasExpandedPointerTables(), 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::OverworldEditor::CheckForCurrentMap(), yaze::editor::OverworldEditor::EnsureMapTexture(), and yaze::editor::OverworldEditor::ProcessPreloadQueue().
| uint64_t yaze::zelda3::Overworld::ComputeGraphicsConfigHash | ( | int | map_index | ) |
Compute hash of graphics configuration for cache lookup.
Definition at line 1000 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 1078 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 1087 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 273 of file overworld.h.
References gfx_config_cache_.
Referenced by yaze::editor::OverworldEditor::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 1106 of file overworld.cc.
References ComputeGraphicsConfigHash(), gfx_config_cache_, yaze::zelda3::kNumOverworldMaps, and overworld_maps_.
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 1121 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), InvalidateMapCache(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::LargeArea, mutable_overworld_map(), rom_, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.
Referenced by yaze::editor::OverworldEditor::ForceRefreshGraphics(), and yaze::editor::OverworldEditor::InvalidateGraphicsCache().

| absl::Status yaze::zelda3::Overworld::Save | ( | Rom * | rom | ) |
Master save method (calls sub-methods in correct order)
Definition at line 1261 of file overworld.cc.
References expanded_tile16_, expanded_tile32_, RETURN_IF_ERROR, rom(), rom_, SaveAreaSizes(), SaveAreaSpecificBGColors(), 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 1286 of file overworld.cc.
References 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::PcToSnes(), RETURN_IF_ERROR, rom(), SaveLargeMaps(), tiles32_list_, and version_constants().
Referenced by 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 1424 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kNumMapsPerWorld, 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_, yaze::zelda3::OverworldCustomASMHasBeenApplied, RETURN_IF_ERROR, rom(), 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 2298 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMapParentIdExpanded, yaze::zelda3::kOverworldScreenTileMapChangeByScreen1Expanded, yaze::zelda3::kOverworldScreenTileMapChangeByScreen2Expanded, yaze::zelda3::kOverworldScreenTileMapChangeByScreen3Expanded, yaze::zelda3::kOverworldScreenTileMapChangeByScreen4Expanded, yaze::zelda3::kOverworldTransitionPositionXExpanded, yaze::zelda3::kOverworldTransitionPositionYExpanded, 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 1756 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 1865 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 2021 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 2161 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 2900 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 2907 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 2912 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 2917 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 2989 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 3066 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), 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(), rom_, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), and yaze::zelda3::OverworldVersionHelper::SupportsCustomBGColors().
| absl::Status yaze::zelda3::Overworld::SaveAreaSpecificBGColors | ( | ) |
Save per-area background colors (v2+)
Definition at line 3151 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kNumOverworldMaps, yaze::util::logf(), overworld_maps_, yaze::zelda3::OverworldCustomAreaSpecificBGPalette, RETURN_IF_ERROR, rom(), rom_, and yaze::zelda3::OverworldVersionHelper::SupportsCustomBGColors().
Referenced by Save().

| absl::Status yaze::zelda3::Overworld::CreateTile32Tilemap | ( | ) |
Build tile32 tilemap from current tile16 data.
Definition at line 2426 of file overworld.cc.
References yaze::core::FeatureFlags::get(), yaze::gfx::Tile32::GetPackedValue(), yaze::zelda3::LimitOfMap32, map_tiles_, yaze::zelda3::NumberOfMap32, tiles32_list_, and tiles32_unique_.
Referenced by yaze::editor::OverworldEditor::Save().

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

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

| absl::Status yaze::zelda3::Overworld::SaveMap32Expanded | ( | ) |
Save expanded tile32 definitions (v1+ ROMs)
Definition at line 2486 of file overworld.cc.
References yaze::zelda3::kMap32TileBLExpanded, yaze::zelda3::kMap32TileBRExpanded, zelda3_version_pointers::kMap32TileTL, yaze::zelda3::kMap32TileTRExpanded, yaze::PcToSnes(), RETURN_IF_ERROR, rom(), tiles32_unique_, and version_constants().
Referenced by Save().

| absl::Status yaze::zelda3::Overworld::SaveMap32Tiles | ( | ) |
Save tile32 definitions to ROM.
Definition at line 2655 of file overworld.cc.
References 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::editor::OverworldEditor::Save(), and Save().

| absl::Status yaze::zelda3::Overworld::SaveMapProperties | ( | ) |
Save per-area graphics, palettes, and messages.
Definition at line 3170 of file overworld.cc.
References yaze::zelda3::kAreaGfxIdPtr, yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kOverworldMapPaletteIds, yaze::zelda3::kOverworldSpritePaletteIds, yaze::zelda3::kOverworldSpriteset, yaze::zelda3::kSpecialWorldMapIdStart, yaze::util::logf(), overworld_maps_, RETURN_IF_ERROR, and rom().
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 3221 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 3246 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMessagesExpanded, yaze::zelda3::kOverworldScreenSize, yaze::util::logf(), overworld_maps_, yaze::zelda3::OverworldCustomASMHasBeenApplied, RETURN_IF_ERROR, and rom().
Referenced by Save().

| 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 218 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 306 of file overworld.cc.
References yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::OverworldVersionHelper::GetVersionName(), yaze::zelda3::kNumOverworldMaps, yaze::zelda3::kOverworldMapParentId, yaze::zelda3::kOverworldMapParentIdExpanded, yaze::zelda3::kOverworldScreenSize, yaze::zelda3::LargeArea, LOG_DEBUG, overworld_maps_, RETURN_IF_ERROR, rom(), rom_, yaze::zelda3::SmallArea, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), yaze::zelda3::OverworldVersionHelper::SupportsExpandedSpace(), yaze::zelda3::TallArea, and yaze::zelda3::WideArea.
Referenced by yaze::editor::OverworldToolbar::Draw(), yaze::editor::MapPropertiesSystem::DrawCanvasToolbar(), yaze::editor::OverworldSidebar::DrawConfiguration(), yaze::editor::MapPropertiesSystem::DrawCustomFeaturesTab(), and yaze::editor::MapPropertiesSystem::DrawPropertiesPopup().
|
inline |
Definition at line 415 of file overworld.h.
References rom_.
Referenced by AssembleMap16Tiles(), AssembleMap32Tiles(), ConfigureMultiAreaMap(), 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 416 of file overworld.h.
References rom_.
|
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 425 of file overworld.h.
References yaze::Rom::data(), yaze::zelda3::kExpandedPtrTableMagic, yaze::zelda3::kExpandedPtrTableMarker, rom_, and yaze::Rom::size().
Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

|
inline |
Definition at line 432 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 449 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::CheckForSelectRectangle(), and yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch().
|
inline |
Definition at line 459 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::OverworldEditor::RefreshChildMap(), yaze::editor::OverworldEditor::RefreshChildMapOnDemand(), and yaze::editor::OverworldEditor::RefreshMultiAreaMapsSafely().
|
inline |
Definition at line 472 of file overworld.h.
References overworld_maps_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteOverworldMapsData().
|
inline |
Definition at line 473 of file overworld.h.
References overworld_maps_.
Referenced by yaze::cli::overworld::BuildMapSummary(), yaze::editor::OverworldEditor::CheckForCurrentMap(), yaze::editor::OverworldToolbar::Draw(), yaze::editor::MapPropertiesSystem::DrawCanvasToolbar(), yaze::editor::OverworldSidebar::DrawConfiguration(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::MapPropertiesSystem::DrawCustomFeaturesTab(), yaze::editor::MapPropertiesSystem::DrawOverlayControls(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::MapPropertiesSystem::DrawOverlayPreviewOnMap(), yaze::editor::OverworldEditor::DrawOverworldProperties(), yaze::editor::MapPropertiesSystem::DrawPropertiesPopup(), yaze::editor::InsertEntrance(), yaze::editor::InsertExit(), yaze::editor::InsertItem(), yaze::editor::InsertSprite(), yaze::editor::OverworldEditor::QueueAdjacentMapsForPreload(), yaze::editor::OverworldEditor::RefreshMapPalette(), yaze::editor::OverworldEditor::RefreshTile16Blockset(), and yaze::zelda3::OverworldExit::UpdateMapProperties().
|
inline |
Definition at line 479 of file overworld.h.
References overworld_maps_.
Referenced by yaze::editor::MapPropertiesSystem::DrawBasicPropertiesTab(), yaze::editor::OverworldSidebar::DrawConfiguration(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::MapPropertiesSystem::DrawCustomFeaturesTab(), yaze::editor::MapPropertiesSystem::DrawGraphicsPopup(), yaze::editor::OverworldSidebar::DrawGraphicsSettings(), yaze::editor::MapPropertiesSystem::DrawMosaicControls(), yaze::editor::MapPropertiesSystem::DrawMusicTab(), yaze::editor::OverworldSidebar::DrawMusicTab(), yaze::editor::MapPropertiesSystem::DrawOverlayControls(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::OverworldSidebar::DrawPaletteSettings(), yaze::editor::MapPropertiesSystem::DrawPalettesPopup(), yaze::editor::MapPropertiesSystem::DrawPropertiesPopup(), yaze::editor::MapPropertiesSystem::DrawSpritePropertiesTab(), yaze::editor::OverworldSidebar::DrawSpritePropertiesTab(), yaze::editor::MapPropertiesSystem::DrawTileGraphicsTab(), InvalidateSiblingMapCaches(), yaze::editor::OverworldEditor::RefreshChildMap(), yaze::editor::OverworldEditor::RefreshChildMapOnDemand(), yaze::editor::OverworldEditor::RefreshMapPalette(), yaze::editor::OverworldEditor::RefreshMapProperties(), yaze::editor::OverworldEditor::RefreshMultiAreaMapsSafely(), yaze::editor::MapPropertiesSystem::RefreshSiblingMapGraphics(), yaze::editor::OverworldEditor::RefreshSiblingMapGraphics(), and yaze::test::RomDependentTestSuite::RunComprehensiveSaveTest().
|
inline |
Definition at line 485 of file overworld.h.
References all_exits_.
|
inline |
Definition at line 486 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 487 of file overworld.h.
References tiles16_.
Referenced by yaze::editor::OverworldEditor::RefreshChildMap(), yaze::editor::OverworldEditor::RefreshChildMapOnDemand(), yaze::editor::OverworldEditor::RefreshMultiAreaMapsSafely(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 488 of file overworld.h.
References tiles32_unique_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 489 of file overworld.h.
References tiles16_.
Referenced by yaze::editor::OverworldEditor::RefreshChildMap(), yaze::editor::OverworldEditor::RefreshChildMapOnDemand(), and yaze::editor::OverworldEditor::RefreshMultiAreaMapsSafely().
|
inline |
Definition at line 490 of file overworld.h.
References all_sprites_.
Referenced by yaze::cli::overworld::CollectOverworldSprites(), and Destroy().
|
inline |
Definition at line 494 of file overworld.h.
References all_sprites_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawSprites(), yaze::editor::OverworldEntityRenderer::DrawSprites(), yaze::editor::InsertSprite(), and yaze::editor::OverworldEditor::LoadSpriteGraphics().
|
inline |
Definition at line 498 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by yaze::editor::OverworldEditor::DrawAreaGraphics(), EnsureMapBuilt(), yaze::editor::OverworldEditor::LoadGraphics(), and LoadOverworldMaps().

|
inline |
Definition at line 502 of file overworld.h.
References all_entrances_.
Referenced by yaze::cli::overworld::CollectWarpEntries(), yaze::editor::OverworldEntityRenderer::DrawEntrances(), yaze::editor::OverworldEntityRenderer::DrawEntrances(), yaze::cli::overworld::GetEntranceDetails(), and yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteEntranceData().
|
inline |
Definition at line 505 of file overworld.h.
References all_entrances_.
|
inline |
Definition at line 506 of file overworld.h.
References all_entrances_.
Referenced by yaze::editor::InsertEntrance().
|
inline |
Definition at line 507 of file overworld.h.
References all_holes_.
Referenced by yaze::cli::overworld::CollectWarpEntries(), and yaze::editor::InsertEntrance().
|
inline |
Definition at line 508 of file overworld.h.
References all_holes_.
|
inline |
Definition at line 509 of file overworld.h.
References all_holes_.
|
inline |
Definition at line 510 of file overworld.h.
References deleted_entrances_.
|
inline |
Definition at line 511 of file overworld.h.
References deleted_entrances_.
|
inline |
Definition at line 512 of file overworld.h.
References current_map_, is_current_map_valid(), and overworld_maps_.
Referenced by yaze::editor::OverworldEditor::DrawAreaGraphics(), yaze::editor::OverworldEditor::DrawScratchSpace(), yaze::editor::OverworldEditor::EnsureMapTexture(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::OverworldEditor::RefreshMapPalette(), yaze::editor::OverworldEditor::RefreshTile16Blockset(), and yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch().

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

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

|
inline |
Definition at line 525 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 528 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::OverworldEditor::DrawAreaGraphics(), yaze::editor::MapPropertiesSystem::DrawCustomBackgroundColorEditor(), yaze::editor::MapPropertiesSystem::DrawMapPropertiesPanel(), yaze::editor::MapPropertiesSystem::DrawOverlayEditor(), yaze::editor::OverworldEditor::DrawOverworldCanvas(), yaze::editor::OverworldEditor::HandleTile16Edit(), yaze::editor::InsertEntrance(), yaze::editor::InsertExit(), yaze::editor::InsertItem(), yaze::editor::InsertSprite(), yaze::editor::OverworldEditor::ProcessPendingEntityInsertion(), and yaze::editor::OverworldEditor::Update().
|
inline |
Definition at line 529 of file overworld.h.
References expanded_tile16_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 530 of file overworld.h.
References expanded_tile32_.
Referenced by yaze::cli::handlers::ToolsExtractGoldenCommandHandler::WriteTileData().
|
inline |
Definition at line 531 of file overworld.h.
References expanded_entrances_.
|
inline |
Definition at line 532 of file overworld.h.
References current_map_.
|
inline |
Definition at line 533 of file overworld.h.
References current_world_.
|
inline |
Definition at line 534 of file overworld.h.
References current_map_.
Referenced by yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::editor::OverworldEditor::CheckForSelectRectangle(), yaze::editor::OverworldEditor::Copy(), yaze::editor::OverworldEditor::DrawAreaGraphics(), yaze::editor::OverworldEditor::EnsureMapTexture(), yaze::editor::OverworldEditor::LoadGraphics(), yaze::editor::OverworldEditor::RefreshTile16Blockset(), yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch(), and yaze::editor::OverworldEditor::set_current_map().
|
inline |
Definition at line 535 of file overworld.h.
References current_world_.
Referenced by yaze::cli::Tile16ProposalGenerator::ApplyProposal(), yaze::editor::OverworldEditor::AutomationGetTile(), yaze::editor::OverworldEditor::AutomationSetTile(), yaze::editor::OverworldEditor::CheckForSelectRectangle(), yaze::editor::OverworldEditor::Copy(), yaze::cli::overworld::FindTileMatches(), yaze::cli::Tile16ProposalGenerator::GenerateDiff(), yaze::cli::HandleOverworldSetTileLegacy(), yaze::cli::Tile16ProposalGenerator::ParseReplaceTileCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetAreaCommand(), yaze::cli::Tile16ProposalGenerator::ParseSetTileCommand(), yaze::editor::OverworldEditor::SaveCurrentSelectionToScratch(), and yaze::editor::OverworldEditor::set_current_map().
|
inline |
Definition at line 536 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::OverworldEditor::Copy(), 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 545 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(), and yaze::cli::HandleOverworldSetTileLegacy().
|
inline |
Definition at line 554 of file overworld.h.
References map_tiles_.
|
inline |
Definition at line 555 of file overworld.h.
References map_tiles_.
Referenced by yaze::editor::OverworldEditor::CheckForOverworldEdits(), yaze::editor::OverworldEditor::DrawOverworldEdits(), yaze::editor::OverworldEditor::GetWorldTiles(), and yaze::editor::OverworldEditor::Paste().
|
inline |
Definition at line 556 of file overworld.h.
References all_items_.
|
inline |
Definition at line 557 of file overworld.h.
References all_items_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawItems(), yaze::editor::OverworldEntityRenderer::DrawItems(), and yaze::editor::InsertItem().
|
inline |
Definition at line 558 of file overworld.h.
References all_tiles_types_.
|
inline |
Definition at line 559 of file overworld.h.
References all_tiles_types_.
Referenced by yaze::editor::OverworldEditor::Load().
|
inline |
Definition at line 560 of file overworld.h.
References all_sprites_.
|
inline |
Definition at line 563 of file overworld.h.
References diggable_tiles_.
Referenced by yaze::editor::OverworldEntityRenderer::DrawDiggableTileHighlights().
|
inline |
Definition at line 564 of file overworld.h.
References diggable_tiles_.
| absl::Status yaze::zelda3::Overworld::LoadDiggableTiles | ( | ) |
Definition at line 3000 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 3023 of file overworld.cc.
References 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 3046 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 127 of file overworld.cc.
References yaze::zelda3::kNumOverworldMaps, and overworld_maps_.
Referenced by Load().
|
private |
Definition at line 463 of file overworld.cc.
References ASSIGN_OR_RETURN, and rom().
Referenced by AssembleMap32Tiles().

|
private |
Definition at line 474 of file overworld.cc.
References ASSIGN_OR_RETURN, yaze::zelda3::OverworldMapTiles::dark_world, expanded_tile32_, GetTile16ForTile32(), yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kMap32ExpandedFlagPos, zelda3_version_pointers::kMap32TileBL, yaze::zelda3::kMap32TileBLExpanded, zelda3_version_pointers::kMap32TileBR, yaze::zelda3::kMap32TileBRExpanded, yaze::zelda3::kMap32TileCountExpanded, zelda3_version_pointers::kMap32TileTL, zelda3_version_pointers::kMap32TileTR, yaze::zelda3::kMap32TileTRExpanded, yaze::zelda3::OverworldMapTiles::light_world, yaze::util::logf(), map32TilesBL, map32TilesBR, map32TilesTL, map32TilesTR, map_tiles_, rom(), rom_, yaze::zelda3::OverworldMapTiles::special_world, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), tiles32_unique_, and version_constants().
Referenced by Load().
|
private |
Definition at line 539 of file overworld.cc.
References ASSIGN_OR_RETURN, expanded_tile16_, yaze::gfx::GetTilesInfo(), yaze::zelda3::OverworldVersionHelper::GetVersion(), yaze::zelda3::kMap16ExpandedFlagPos, yaze::zelda3::kMap16Tiles, yaze::zelda3::kMap16TilesExpanded, yaze::zelda3::kNumTile16Individual, yaze::util::logf(), yaze::zelda3::NumberOfMap16Ex, rom(), rom_, yaze::zelda3::OverworldVersionHelper::SupportsAreaEnum(), and tiles16_.
Referenced by Load().
|
private |
Definition at line 579 of file overworld.cc.
References tiles32_unique_.
Referenced by OrganizeMapTiles().
|
private |
Definition at line 602 of file overworld.cc.
References yaze::zelda3::kDarkWorldMapIdStart, yaze::zelda3::kSpecialWorldMapIdStart, and SelectWorldBlockset().
Referenced by DecompressAllMapTilesParallel(), and EnsureMapBuilt().

|
private |
Definition at line 591 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 623 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 643 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 592 of file overworld.h.
Referenced by AssembleMap16Tiles(), AssembleMap32Tiles(), ConfigureMultiAreaMap(), EnsureMapBuilt(), HasExpandedPointerTables(), InvalidateSiblingMapCaches(), Load(), LoadOverworldMaps(), LoadSprites(), mutable_rom(), rom(), Save(), SaveAreaSpecificBGColors(), SaveCustomOverworldASM(), SaveDiggableTiles(), SaveEntrances(), SaveExits(), SaveItems(), and SaveLargeMaps().
|
private |
Definition at line 593 of file overworld.h.
Referenced by Load(), SetGameData(), and version_constants().
|
private |
Definition at line 595 of file overworld.h.
Referenced by Destroy(), is_loaded(), and Load().
|
private |
Definition at line 596 of file overworld.h.
Referenced by AssembleMap16Tiles(), expanded_tile16(), and Save().
|
private |
Definition at line 597 of file overworld.h.
Referenced by AssembleMap32Tiles(), expanded_tile32(), and Save().
|
private |
Definition at line 598 of file overworld.h.
Referenced by expanded_entrances(), and SaveEntrances().
|
private |
Definition at line 600 of file overworld.h.
Referenced by ComputeGraphicsConfigHash(), EnsureMapBuilt(), and LoadOverworldMaps().
|
private |
Definition at line 601 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 602 of file overworld.h.
Referenced by current_world(), GetTile(), GetTileFromPosition(), set_current_world(), and SetTile().
|
private |
Definition at line 604 of file overworld.h.
Referenced by AssembleMap32Tiles(), CreateTile32Tilemap(), GetMapTiles(), GetTile(), GetTileFromPosition(), map_tiles(), mutable_map_tiles(), OrganizeMapTiles(), SelectWorldBlockset(), and SetTile().
|
mutableprivate |
Definition at line 607 of file overworld.h.
|
staticconstexprprivate |
Definition at line 611 of file overworld.h.
Referenced by EnsureMapBuilt().
|
private |
Definition at line 612 of file overworld.h.
Referenced by EnsureMapBuilt().
|
private |
Definition at line 621 of file overworld.h.
Referenced by CacheTileset(), ClearGraphicsConfigCache(), GetCachedTileset(), and InvalidateMapCache().
|
staticconstexprprivate |
Definition at line 627 of file overworld.h.
Referenced by CacheTileset().
|
private |
Definition at line 630 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 631 of file overworld.h.
Referenced by Destroy(), entrances(), entrances(), Load(), mutable_entrances(), and SaveEntrances().
|
private |
Definition at line 632 of file overworld.h.
Referenced by holes(), holes(), Load(), mutable_holes(), and SaveEntrances().
|
private |
Definition at line 633 of file overworld.h.
Referenced by Destroy(), exits(), Load(), mutable_exits(), and SaveExits().
|
private |
Definition at line 634 of file overworld.h.
Referenced by all_items(), Destroy(), Load(), mutable_all_items(), and SaveItems().
|
private |
Definition at line 636 of file overworld.h.
Referenced by AssembleMap16Tiles(), AutoDetectDiggableTiles(), Destroy(), EnsureMapBuilt(), LoadOverworldMaps(), mutable_tiles16(), SaveMap16Expanded(), SaveMap16Tiles(), and tiles16().
|
private |
Definition at line 637 of file overworld.h.
Referenced by Destroy().
|
private |
Definition at line 638 of file overworld.h.
Referenced by AssembleMap32Tiles(), AssignWorldTiles(), CreateTile32Tilemap(), Destroy(), OrganizeMapTiles(), SaveMap32Expanded(), SaveMap32Tiles(), and tiles32_unique().
|
private |
Definition at line 640 of file overworld.h.
Referenced by CreateTile32Tilemap(), and SaveOverworldMaps().
|
private |
Definition at line 641 of file overworld.h.
Referenced by deleted_entrances(), and mutable_deleted_entrances().
|
private |
Definition at line 643 of file overworld.h.
Referenced by Load(), and LoadSpritesFromMap().
|
private |
Definition at line 644 of file overworld.h.
Referenced by all_tiles_types(), AutoDetectDiggableTiles(), LoadTileTypes(), mutable_all_tiles_types(), and SaveOverworldTilesType().
|
private |
Definition at line 645 of file overworld.h.
Referenced by all_sprites(), Destroy(), LoadSpritesFromMap(), mutable_sprites(), and sprites().
|
private |
Definition at line 646 of file overworld.h.
Referenced by AutoDetectDiggableTiles(), diggable_tiles(), LoadDiggableTiles(), mutable_diggable_tiles(), and SaveDiggableTiles().
|
private |
Definition at line 647 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 648 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 649 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 650 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 651 of file overworld.h.
Referenced by SaveOverworldMaps().
|
private |
Definition at line 652 of file overworld.h.
Referenced by SaveOverworldMaps().