Represents a single Overworld map screen. More...
#include <overworld_map.h>
Public Member Functions | |
OverworldMap ()=default | |
OverworldMap (int index, Rom &rom, bool load_custom_data=false) | |
absl::Status | BuildMap (int count, int game_state, int world, std::vector< gfx::Tile16 > &tiles16, OWBlockset &world_blockset) |
void | LoadAreaGraphics () |
absl::Status | LoadPalette () |
absl::Status | BuildTileset () |
absl::Status | BuildTiles16Gfx (std::vector< gfx::Tile16 > &tiles16, int count) |
absl::Status | BuildBitmap (OWBlockset &world_blockset) |
void | DrawAnimatedTiles () |
auto | current_tile16_blockset () const |
auto | current_graphics () const |
auto | current_palette () const |
auto | bitmap_data () const |
auto | is_large_map () const |
auto | is_initialized () const |
auto | parent () const |
auto | mutable_mosaic () |
auto | mutable_current_palette () |
auto | area_graphics () const |
auto | area_palette () const |
auto | sprite_graphics (int i) const |
auto | sprite_palette (int i) const |
auto | message_id () const |
auto | area_music (int i) const |
auto | static_graphics (int i) const |
auto | large_index () const |
auto | mutable_area_graphics () |
auto | mutable_area_palette () |
auto | mutable_sprite_graphics (int i) |
auto | mutable_sprite_palette (int i) |
auto | mutable_message_id () |
auto | mutable_area_music (int i) |
auto | mutable_static_graphics (int i) |
auto | set_area_graphics (uint8_t value) |
auto | set_area_palette (uint8_t value) |
auto | set_sprite_graphics (int i, uint8_t value) |
auto | set_sprite_palette (int i, uint8_t value) |
auto | set_message_id (uint16_t value) |
uint8_t * | mutable_custom_tileset (int index) |
void | SetAsLargeMap (int parent_index, int quadrant) |
void | SetAsSmallMap (int index=-1) |
void | Destroy () |
Private Member Functions | |
void | LoadAreaInfo () |
void | LoadCustomOverworldData () |
void | SetupCustomTileset (uint8_t asm_version) |
void | LoadMainBlocksetId () |
void | LoadSpritesBlocksets () |
void | LoadMainBlocksets () |
void | LoadAreaGraphicsBlocksets () |
void | LoadDeathMountainGFX () |
void | ProcessGraphicsBuffer (int index, int static_graphics_offset, int size) |
absl::StatusOr< gfx::SnesPalette > | GetPalette (const gfx::PaletteGroup &group, int index, int previous_index, int limit) |
Private Attributes | |
bool | built_ = false |
bool | large_map_ = false |
bool | initialized_ = false |
bool | mosaic_ = false |
int | index_ = 0 |
int | parent_ = 0 |
int | large_index_ = 0 |
int | world_ = 0 |
int | game_state_ = 0 |
int | main_gfx_id_ = 0 |
uint16_t | message_id_ = 0 |
uint8_t | area_graphics_ = 0 |
uint8_t | area_palette_ = 0 |
uint8_t | animated_gfx_ = 0 |
uint16_t | subscreen_overlay_ = 0 |
uint8_t | custom_gfx_ids_ [8] |
uchar | sprite_graphics_ [3] |
uchar | sprite_palette_ [3] |
uchar | area_music_ [4] |
uchar | static_graphics_ [16] |
Rom | rom_ |
std::vector< uint8_t > | all_gfx_ |
std::vector< uint8_t > | current_blockset_ |
std::vector< uint8_t > | current_gfx_ |
std::vector< uint8_t > | bitmap_data_ |
OWMapTiles | map_tiles_ |
gfx::SnesPalette | current_palette_ |
Additional Inherited Members | |
Static Protected Attributes inherited from yaze::app::GfxContext | |
static std::unordered_map< uint8_t, gfx::Paletteset > | palettesets_ |
Represents a single Overworld map screen.
Definition at line 62 of file overworld_map.h.
|
default |
yaze::app::zelda3::overworld::OverworldMap::OverworldMap | ( | int | index, |
Rom & | rom, | ||
bool | load_custom_data = false ) |
Definition at line 17 of file overworld_map.cc.
References LoadAreaInfo(), LoadCustomOverworldData(), yaze::app::zelda3::overworld::OverworldCustomASMHasBeenApplied, rom_, and SetupCustomTileset().
absl::Status yaze::app::zelda3::overworld::OverworldMap::BuildMap | ( | int | count, |
int | game_state, | ||
int | world, | ||
std::vector< gfx::Tile16 > & | tiles16, | ||
OWBlockset & | world_blockset ) |
Definition at line 33 of file overworld_map.cc.
References area_graphics_, area_palette_, BuildBitmap(), BuildTiles16Gfx(), BuildTileset(), built_, game_state_, index_, initialized_, yaze::app::zelda3::overworld::kAreaGfxIdPtr, yaze::app::zelda3::overworld::kOverworldMapPaletteIds, large_map_, LoadAreaGraphics(), LoadPalette(), yaze::app::zelda3::overworld::overworldSpecialGFXGroup, yaze::app::zelda3::overworld::overworldSpecialPALGroup, parent_, RETURN_IF_ERROR, rom_, and world_.
void yaze::app::zelda3::overworld::OverworldMap::LoadAreaGraphics | ( | ) |
Definition at line 422 of file overworld_map.cc.
References LoadAreaGraphicsBlocksets(), LoadDeathMountainGFX(), LoadMainBlocksetId(), LoadMainBlocksets(), and LoadSpritesBlocksets().
Referenced by BuildMap().
absl::Status yaze::app::zelda3::overworld::OverworldMap::LoadPalette | ( | ) |
Definition at line 569 of file overworld_map.cc.
References area_palette_, ASSIGN_OR_RETURN, current_palette_, game_state_, GetPalette(), index_, yaze::app::zelda3::overworld::kNumOverworldMaps, yaze::app::zelda3::overworld::kOverworldMapPaletteIds, yaze::app::zelda3::overworld::kOverworldSpritePaletteIds, main(), yaze::app::VersionConstants::overworldMapPaletteGroup, yaze::app::zelda3::overworld::overworldSpritePaletteGroup, yaze::app::Rom::palette_group(), yaze::app::GfxContext::palettesets_, parent_, RETURN_IF_ERROR, rom_, yaze::app::zelda3::overworld::palette_internal::SetColorsPalette(), sprite_palette_, and yaze::app::Rom::version_constants().
Referenced by BuildMap().
absl::Status yaze::app::zelda3::overworld::OverworldMap::BuildTileset | ( | ) |
Definition at line 666 of file overworld_map.cc.
References all_gfx_, current_gfx_, yaze::app::Rom::graphics_buffer(), ProcessGraphicsBuffer(), rom_, and static_graphics_.
Referenced by BuildMap().
absl::Status yaze::app::zelda3::overworld::OverworldMap::BuildTiles16Gfx | ( | std::vector< gfx::Tile16 > & | tiles16, |
int | count ) |
Definition at line 677 of file overworld_map.cc.
References current_blockset_, current_gfx_, yaze::app::gfx::TileInfo::horizontal_mirror_, yaze::app::gfx::TileInfo::id_, yaze::app::gfx::TileInfo::palette_, and yaze::app::gfx::TileInfo::vertical_mirror_.
Referenced by BuildMap().
absl::Status yaze::app::zelda3::overworld::OverworldMap::BuildBitmap | ( | OWBlockset & | world_blockset | ) |
Definition at line 723 of file overworld_map.cc.
References bitmap_data_, yaze::app::gfx::CopyTile8bpp16(), current_blockset_, index_, and world_.
Referenced by BuildMap().
void yaze::app::zelda3::overworld::OverworldMap::DrawAnimatedTiles | ( | ) |
Definition at line 381 of file overworld_map.cc.
References static_graphics_, and yaze::app::core::UppercaseHexByte().
|
inline |
Definition at line 79 of file overworld_map.h.
References current_blockset_.
|
inline |
Definition at line 80 of file overworld_map.h.
References current_gfx_.
|
inline |
Definition at line 81 of file overworld_map.h.
References current_palette_.
|
inline |
Definition at line 82 of file overworld_map.h.
References bitmap_data_.
|
inline |
Definition at line 83 of file overworld_map.h.
References large_map_.
|
inline |
Definition at line 84 of file overworld_map.h.
References initialized_.
|
inline |
Definition at line 85 of file overworld_map.h.
References parent_.
|
inline |
Definition at line 86 of file overworld_map.h.
References mosaic_.
|
inline |
Definition at line 87 of file overworld_map.h.
References current_palette_.
|
inline |
Definition at line 89 of file overworld_map.h.
References area_graphics_.
|
inline |
Definition at line 90 of file overworld_map.h.
References area_palette_.
|
inline |
Definition at line 91 of file overworld_map.h.
References sprite_graphics_.
|
inline |
Definition at line 92 of file overworld_map.h.
References sprite_palette_.
|
inline |
Definition at line 93 of file overworld_map.h.
References message_id_.
|
inline |
Definition at line 94 of file overworld_map.h.
References area_music_.
|
inline |
Definition at line 95 of file overworld_map.h.
References static_graphics_.
|
inline |
Definition at line 96 of file overworld_map.h.
References large_index_.
|
inline |
Definition at line 98 of file overworld_map.h.
References area_graphics_.
|
inline |
Definition at line 99 of file overworld_map.h.
References area_palette_.
|
inline |
Definition at line 100 of file overworld_map.h.
References sprite_graphics_.
|
inline |
Definition at line 101 of file overworld_map.h.
References sprite_palette_.
|
inline |
Definition at line 102 of file overworld_map.h.
References message_id_.
|
inline |
Definition at line 103 of file overworld_map.h.
References area_music_.
|
inline |
Definition at line 104 of file overworld_map.h.
References static_graphics_.
|
inline |
Definition at line 106 of file overworld_map.h.
References area_graphics_.
|
inline |
Definition at line 107 of file overworld_map.h.
References area_palette_.
|
inline |
Definition at line 108 of file overworld_map.h.
References sprite_graphics_.
|
inline |
Definition at line 111 of file overworld_map.h.
References sprite_palette_.
|
inline |
Definition at line 112 of file overworld_map.h.
References message_id_.
|
inline |
Definition at line 114 of file overworld_map.h.
References custom_gfx_ids_.
|
inline |
Definition at line 116 of file overworld_map.h.
References large_index_, large_map_, and parent_.
|
inline |
Definition at line 122 of file overworld_map.h.
References index_, large_index_, large_map_, and parent_.
|
inline |
Definition at line 131 of file overworld_map.h.
References bitmap_data_, current_blockset_, and current_gfx_.
|
private |
Definition at line 64 of file overworld_map.cc.
References area_graphics_, area_music_, area_palette_, index_, yaze::app::zelda3::overworld::kAreaGfxIdPtr, yaze::app::zelda3::overworld::kOverworldMapPaletteIds, yaze::app::zelda3::overworld::kOverworldMessageIds, yaze::app::zelda3::overworld::kOverworldSpritePaletteIds, large_map_, message_id_, yaze::app::zelda3::overworld::overworldMapSize, yaze::app::zelda3::overworld::overworldMusicAgahim, yaze::app::zelda3::overworld::overworldMusicBegining, yaze::app::zelda3::overworld::overworldMusicDW, yaze::app::zelda3::overworld::overworldMusicMasterSword, yaze::app::zelda3::overworld::overworldMusicZelda, yaze::app::zelda3::overworld::overworldSpecialGFXGroup, yaze::app::zelda3::overworld::overworldSpecialPALGroup, yaze::app::zelda3::overworld::overworldSpriteset, parent_, rom_, sprite_graphics_, sprite_palette_, and yaze::app::Rom::toint16().
Referenced by OverworldMap().
|
private |
Definition at line 152 of file overworld_map.cc.
References animated_gfx_, area_graphics_, area_palette_, custom_gfx_ids_, index_, yaze::app::VersionConstants::kOverworldGfxGroups1, yaze::app::VersionConstants::kOverworldGfxGroups2, mosaic_, parent_, rom_, subscreen_overlay_, and yaze::app::Rom::version_constants().
Referenced by OverworldMap().
|
private |
Definition at line 262 of file overworld_map.cc.
References animated_gfx_, area_graphics_, area_palette_, custom_gfx_ids_, index_, yaze::app::VersionConstants::kOverworldGfxGroups1, yaze::app::VersionConstants::kOverworldGfxGroups2, mosaic_, yaze::app::zelda3::overworld::OverworldCustomAnimatedGFXArray, yaze::app::zelda3::overworld::OverworldCustomMainPaletteArray, yaze::app::zelda3::overworld::OverworldCustomMosaicArray, yaze::app::zelda3::overworld::OverworldCustomSubscreenOverlayArray, yaze::app::zelda3::overworld::OverworldCustomTileGFXGroupArray, parent_, rom_, subscreen_overlay_, and yaze::app::Rom::version_constants().
Referenced by OverworldMap().
|
private |
Definition at line 343 of file overworld_map.cc.
References main_gfx_id_, and parent_.
Referenced by LoadAreaGraphics().
|
private |
Definition at line 353 of file overworld_map.cc.
References game_state_, rom_, sprite_graphics_, static_graphics_, and yaze::app::Rom::version_constants().
Referenced by LoadAreaGraphics().
|
private |
Definition at line 368 of file overworld_map.cc.
References yaze::app::VersionConstants::kOverworldGfxGroups2, main_gfx_id_, rom_, static_graphics_, and yaze::app::Rom::version_constants().
Referenced by LoadAreaGraphics().
|
private |
Definition at line 398 of file overworld_map.cc.
References area_graphics_, yaze::app::VersionConstants::kOverworldGfxGroups1, rom_, static_graphics_, and yaze::app::Rom::version_constants().
Referenced by LoadAreaGraphics().
|
private |
Definition at line 413 of file overworld_map.cc.
References parent_, and static_graphics_.
Referenced by LoadAreaGraphics().
|
private |
Definition at line 650 of file overworld_map.cc.
References all_gfx_, and current_gfx_.
Referenced by BuildTileset().
|
private |
Definition at line 556 of file overworld_map.cc.
References yaze::app::VersionConstants::overworldMapPaletteGroup, rom_, and yaze::app::Rom::version_constants().
Referenced by LoadPalette().
|
private |
Definition at line 153 of file overworld_map.h.
Referenced by BuildMap().
|
private |
Definition at line 154 of file overworld_map.h.
Referenced by BuildMap(), is_large_map(), LoadAreaInfo(), SetAsLargeMap(), and SetAsSmallMap().
|
private |
Definition at line 155 of file overworld_map.h.
Referenced by BuildMap(), and is_initialized().
|
private |
Definition at line 157 of file overworld_map.h.
Referenced by LoadCustomOverworldData(), mutable_mosaic(), and SetupCustomTileset().
|
private |
Definition at line 159 of file overworld_map.h.
Referenced by BuildBitmap(), BuildMap(), LoadAreaInfo(), LoadCustomOverworldData(), LoadPalette(), SetAsSmallMap(), and SetupCustomTileset().
|
private |
Definition at line 160 of file overworld_map.h.
Referenced by BuildMap(), LoadAreaInfo(), LoadCustomOverworldData(), LoadDeathMountainGFX(), LoadMainBlocksetId(), LoadPalette(), parent(), SetAsLargeMap(), SetAsSmallMap(), and SetupCustomTileset().
|
private |
Definition at line 161 of file overworld_map.h.
Referenced by large_index(), SetAsLargeMap(), and SetAsSmallMap().
|
private |
Definition at line 162 of file overworld_map.h.
Referenced by BuildBitmap(), and BuildMap().
|
private |
Definition at line 163 of file overworld_map.h.
Referenced by BuildMap(), LoadPalette(), and LoadSpritesBlocksets().
|
private |
Definition at line 164 of file overworld_map.h.
Referenced by LoadMainBlocksetId(), and LoadMainBlocksets().
|
private |
Definition at line 166 of file overworld_map.h.
Referenced by LoadAreaInfo(), message_id(), mutable_message_id(), and set_message_id().
|
private |
Definition at line 167 of file overworld_map.h.
Referenced by area_graphics(), BuildMap(), LoadAreaGraphicsBlocksets(), LoadAreaInfo(), LoadCustomOverworldData(), mutable_area_graphics(), set_area_graphics(), and SetupCustomTileset().
|
private |
Definition at line 168 of file overworld_map.h.
Referenced by area_palette(), BuildMap(), LoadAreaInfo(), LoadCustomOverworldData(), LoadPalette(), mutable_area_palette(), set_area_palette(), and SetupCustomTileset().
|
private |
Definition at line 169 of file overworld_map.h.
Referenced by LoadCustomOverworldData(), and SetupCustomTileset().
|
private |
Definition at line 170 of file overworld_map.h.
Referenced by LoadCustomOverworldData(), and SetupCustomTileset().
|
private |
Definition at line 172 of file overworld_map.h.
Referenced by LoadCustomOverworldData(), mutable_custom_tileset(), and SetupCustomTileset().
|
private |
Definition at line 173 of file overworld_map.h.
Referenced by LoadAreaInfo(), LoadSpritesBlocksets(), mutable_sprite_graphics(), set_sprite_graphics(), and sprite_graphics().
|
private |
Definition at line 174 of file overworld_map.h.
Referenced by LoadAreaInfo(), LoadPalette(), mutable_sprite_palette(), set_sprite_palette(), and sprite_palette().
|
private |
Definition at line 175 of file overworld_map.h.
Referenced by area_music(), LoadAreaInfo(), and mutable_area_music().
|
private |
Definition at line 176 of file overworld_map.h.
Referenced by BuildTileset(), DrawAnimatedTiles(), LoadAreaGraphicsBlocksets(), LoadDeathMountainGFX(), LoadMainBlocksets(), LoadSpritesBlocksets(), mutable_static_graphics(), and static_graphics().
|
private |
Definition at line 178 of file overworld_map.h.
Referenced by BuildMap(), BuildTileset(), GetPalette(), LoadAreaGraphicsBlocksets(), LoadAreaInfo(), LoadCustomOverworldData(), LoadMainBlocksets(), LoadPalette(), LoadSpritesBlocksets(), OverworldMap(), and SetupCustomTileset().
|
private |
Definition at line 179 of file overworld_map.h.
Referenced by BuildTileset(), and ProcessGraphicsBuffer().
|
private |
Definition at line 180 of file overworld_map.h.
Referenced by BuildBitmap(), BuildTiles16Gfx(), current_tile16_blockset(), and Destroy().
|
private |
Definition at line 181 of file overworld_map.h.
Referenced by BuildTiles16Gfx(), BuildTileset(), current_graphics(), Destroy(), and ProcessGraphicsBuffer().
|
private |
Definition at line 182 of file overworld_map.h.
Referenced by bitmap_data(), BuildBitmap(), and Destroy().
|
private |
Definition at line 183 of file overworld_map.h.
|
private |
Definition at line 185 of file overworld_map.h.
Referenced by current_palette(), LoadPalette(), and mutable_current_palette().