Contains classes for handling graphical data. More...
Namespaces | |
namespace | anonymous_namespace{tilemap.cc} |
namespace | lc_lz2 |
Contains the LC_LZ2 compression algorithm. | |
namespace | palette_group_internal |
Internal functions for loading palettes by group. | |
Classes | |
class | Arena |
class | BackgroundBuffer |
class | Bitmap |
Represents a bitmap image. More... | |
class | BitmapError |
struct | CgxHeader |
Cgx file header. More... | |
class | GfxContext |
Shared graphical context across editors. More... | |
class | GraphicsBuffer |
class | OamTile |
Object Attribute Memory tile abstraction container. More... | |
struct | Pair |
struct | PaletteGroup |
Represents a group of palettes. More... | |
struct | PaletteGroupMap |
Represents a mapping of palette groups. More... | |
struct | Paletteset |
Represents a set of palettes used in a SNES graphics system. More... | |
class | SnesColor |
SNES Color container. More... | |
class | SnesPalette |
Represents a palette of colors for the Super Nintendo Entertainment System (SNES). More... | |
class | Tile16 |
Tile composition of four 8x8 tiles. More... | |
class | Tile32 |
Tile composition of four 16x16 tiles. More... | |
class | TileInfo |
SNES 16-bit tile metadata container. More... | |
struct | Tilemap |
Typedefs | |
using | BitmapTable = std::unordered_map<int, gfx::Bitmap> |
Enumerations | |
enum | BitmapFormat { kIndexed = 0 , k4bpp = 1 , k8bpp = 2 } |
enum | PaletteCategory { kSword , kShield , kClothes , kWorldColors , kAreaColors , kGlobalSprites , kSpritesAux1 , kSpritesAux2 , kSpritesAux3 , kDungeons , kWorldMap , kDungeonMap , kTriforce , kCrystal } |
Functions | |
Uint32 | GetSnesPixelFormat (int format) |
Get the SDL pixel format for a given bitmap format. | |
std::vector< uint8_t > | HyruleMagicCompress (uint8_t const *const src, int const oldsize, int *const size, int const flag) |
std::vector< uint8_t > | HyruleMagicDecompress (uint8_t const *src, int *const size, int const p_big_endian) |
void | FindMetastamp () |
Find metastamp in CGX file. | |
absl::Status | LoadCgx (uint8_t bpp, std::string_view filename, std::vector< uint8_t > &cgx_data, std::vector< uint8_t > &cgx_loaded, std::vector< uint8_t > &cgx_header) |
Load Cgx file (graphical content) | |
absl::Status | LoadScr (std::string_view filename, uint8_t input_value, std::vector< uint8_t > &map_data) |
Load Scr file (screen data) | |
absl::Status | DrawScrWithCgx (uint8_t bpp, std::vector< uint8_t > &map_bitmap_data, std::vector< uint8_t > &map_data, std::vector< uint8_t > &cgx_loaded) |
Draw screen tilemap with graphical data. | |
std::vector< SDL_Color > | DecodeColFile (const std::string_view filename) |
Decode color file. | |
absl::Status | DecodeObjFile (std::string_view filename, std::vector< uint8_t > &obj_data, std::vector< uint8_t > actual_obj_data, std::unordered_map< std::string, std::vector< uint8_t > > decoded_obj, std::vector< uint8_t > &decoded_extra_obj, int &obj_loaded) |
Decode obj file. | |
snes_color | ConvertSnesToRgb (uint16_t color_snes) |
uint16_t | ConvertRgbToSnes (const snes_color &color) |
uint16_t | ConvertRgbToSnes (const ImVec4 &color) |
SnesColor | ReadColorFromRom (int offset, const uint8_t *rom) |
std::vector< snes_color > | Extract (const char *data, unsigned int offset, unsigned int palette_size) |
std::vector< char > | Convert (const std::vector< snes_color > &palette) |
SnesColor | GetCgxColor (uint16_t color) |
std::vector< SnesColor > | GetColFileData (uint8_t *data) |
uint32_t | GetPaletteAddress (const std::string &group_name, size_t palette_index, size_t color_index) |
SnesPalette | ReadPaletteFromRom (int offset, int num_colors, const uint8_t *rom) |
std::array< float, 4 > | ToFloatArray (const SnesColor &color) |
absl::StatusOr< PaletteGroup > | CreatePaletteGroupFromColFile (std::vector< SnesColor > &palette_rows) |
absl::StatusOr< PaletteGroup > | CreatePaletteGroupFromLargePalette (SnesPalette &palette, int num_colors=8) |
Take a SNESPalette, divide it into palettes of 8 colors. | |
absl::Status | LoadAllPalettes (const std::vector< uint8_t > &rom_data, PaletteGroupMap &groups) |
Loads all the palettes for the game. | |
snes_tile8 | UnpackBppTile (std::span< uint8_t > data, const uint32_t offset, const uint32_t bpp) |
std::vector< uint8_t > | PackBppTile (const snes_tile8 &tile, const uint32_t bpp) |
std::vector< uint8_t > | ConvertBpp (std::span< uint8_t > tiles, uint32_t from_bpp, uint32_t to_bpp) |
std::vector< uint8_t > | SnesTo8bppSheet (std::span< uint8_t > sheet, int bpp, int num_sheets) |
std::vector< uint8_t > | Bpp8SnesToIndexed (std::vector< uint8_t > data, uint64_t bpp) |
uint16_t | TileInfoToWord (TileInfo tile_info) |
TileInfo | WordToTileInfo (uint16_t word) |
uint16_t | TileInfoToShort (TileInfo tile_info) |
TileInfo | GetTilesInfo (uint16_t tile) |
void | CopyTile8bpp16 (int x, int y, int tile, std::vector< uint8_t > &bitmap, std::vector< uint8_t > &blockset) |
std::vector< uint8_t > | LoadSNES4bppGFXToIndexedColorMatrix (std::span< uint8_t > src) |
Tilemap | CreateTilemap (std::vector< uint8_t > &data, int width, int height, int tile_size, int num_tiles, SnesPalette &palette) |
void | UpdateTilemap (Tilemap &tilemap, const std::vector< uint8_t > &data) |
void | RenderTile (Tilemap &tilemap, int tile_id) |
void | RenderTile16 (Tilemap &tilemap, int tile_id) |
void | UpdateTile16 (Tilemap &tilemap, int tile_id) |
std::vector< uint8_t > | FetchTileDataFromGraphicsBuffer (const std::vector< uint8_t > &data, int tile_id, int sheet_offset) |
void | ModifyTile16 (Tilemap &tilemap, const std::vector< uint8_t > &data, const TileInfo &top_left, const TileInfo &top_right, const TileInfo &bottom_left, const TileInfo &bottom_right, int sheet_offset, int tile_id) |
void | ComposeTile16 (Tilemap &tilemap, const std::vector< uint8_t > &data, const TileInfo &top_left, const TileInfo &top_right, const TileInfo &bottom_left, const TileInfo &bottom_right, int sheet_offset) |
std::vector< uint8_t > | GetTilemapData (Tilemap &tilemap, int tile_id) |
Variables | |
constexpr Uint32 | SNES_PIXELFORMAT_INDEXED |
constexpr Uint32 | SNES_PIXELFORMAT_4BPP |
constexpr Uint32 | SNES_PIXELFORMAT_8BPP |
constexpr uint16_t | kMatchedBytes [] = {0x4E, 0x41, 0x4B, 0x31, 0x39, 0x38, 0x39} |
constexpr uint16_t | kOffsetFromMatchedBytesEnd = 0x1D |
constexpr uint16_t | SNES_RED_MASK = 32 |
constexpr uint16_t | SNES_GREEN_MASK = 32 |
constexpr uint16_t | SNES_BLUE_MASK = 32 |
constexpr uint16_t | SNES_GREEN_SHIFT = 32 |
constexpr uint16_t | SNES_BLUE_SHIFT = 1024 |
constexpr int | NumberOfColors = 3143 |
constexpr uint8_t | kColorByteMax = 255 |
constexpr float | kColorByteMaxF = 255.f |
const absl::flat_hash_map< std::string, uint32_t > | kPaletteGroupAddressMap |
const absl::flat_hash_map< std::string, uint32_t > | kPaletteGroupColorCounts |
constexpr int | kNumPalettes = 14 |
constexpr const char * | kPaletteGroupAddressesKeys [] |
constexpr int | kOverworldPaletteMain = 0xDE6C8 |
constexpr int | kOverworldPaletteAux = 0xDE86C |
constexpr int | kOverworldPaletteAnimated = 0xDE604 |
constexpr int | kGlobalSpritesLW = 0xDD218 |
constexpr int | kGlobalSpritePalettesDW = 0xDD290 |
constexpr int | kArmorPalettes = 0xDD308 |
constexpr int | kSpritesPalettesAux1 = 0xDD39E |
constexpr int | kSpritesPalettesAux2 = 0xDD446 |
constexpr int | kSpritesPalettesAux3 = 0xDD4E0 |
constexpr int | kSwordPalettes = 0xDD630 |
constexpr int | kShieldPalettes = 0xDD648 |
constexpr int | kHudPalettes = 0xDD660 |
constexpr int | kDungeonMapPalettes = 0xDD70A |
constexpr int | kDungeonMainPalettes = 0xDD734 |
constexpr int | kDungeonMapBgPalettes = 0xDE544 |
constexpr int | kHardcodedGrassLW = 0x5FEA9 |
constexpr int | kHardcodedGrassDW = 0x05FEB3 |
constexpr int | kHardcodedGrassSpecial = 0x75640 |
constexpr int | kOverworldMiniMapPalettes = 0x55B27 |
constexpr int | kTriforcePalette = 0x64425 |
constexpr int | kCrystalPalette = 0xF4CD3 |
constexpr int | CustomAreaSpecificBGPalette = 0x140000 |
constexpr int | CustomAreaSpecificBGASM = 0x140150 |
constexpr int | kCustomAreaSpecificBGEnabled = 0x140140 |
constexpr int | HudPalettesMax = 2 |
constexpr int | OverworldMainPalettesMax = 6 |
constexpr int | OverworldAuxPalettesMax = 20 |
constexpr int | OverworldAnimatedPalettesMax = 14 |
constexpr int | GlobalSpritePalettesMax = 2 |
constexpr int | ArmorPalettesMax = 5 |
constexpr int | SwordsPalettesMax = 4 |
constexpr int | SpritesAux1PalettesMax = 12 |
constexpr int | SpritesAux2PalettesMax = 11 |
constexpr int | SpritesAux3PalettesMax = 24 |
constexpr int | ShieldsPalettesMax = 3 |
constexpr int | DungeonsMainPalettesMax = 20 |
constexpr int | OverworldBackgroundPaletteMax = 160 |
constexpr int | OverworldGrassPalettesMax = 3 |
constexpr int | Object3DPalettesMax = 2 |
constexpr int | OverworldMiniMapPalettesMax = 2 |
constexpr uint16_t | TilePriorityBit = 0x2000 |
constexpr uint16_t | TileHFlipBit = 0x4000 |
constexpr uint16_t | TileVFlipBit = 0x8000 |
constexpr uint16_t | TileNameMask = 0x03FF |
constexpr int | kTilesheetWidth = 128 |
constexpr int | kTilesheetHeight = 32 |
constexpr int | kTilesheetDepth = 8 |
constexpr uint8_t | kGraphicsBitmap [8] |
Contains classes for handling graphical data.
using yaze::gfx::BitmapTable = std::unordered_map<int, gfx::Bitmap> |
Enumerator | |
---|---|
kSword | |
kShield | |
kClothes | |
kWorldColors | |
kAreaColors | |
kGlobalSprites | |
kSpritesAux1 | |
kSpritesAux2 | |
kSpritesAux3 | |
kDungeons | |
kWorldMap | |
kDungeonMap | |
kTriforce | |
kCrystal |
Definition at line 24 of file snes_palette.h.
Uint32 yaze::gfx::GetSnesPixelFormat | ( | int | format | ) |
Get the SDL pixel format for a given bitmap format.
Definition at line 188 of file bitmap.cc.
References SNES_PIXELFORMAT_4BPP, and SNES_PIXELFORMAT_8BPP.
Referenced by yaze::gfx::Bitmap::Create(), and yaze::gfx::Bitmap::Reformat().
std::vector< uint8_t > yaze::gfx::HyruleMagicCompress | ( | uint8_t const *const | src, |
int const | oldsize, | ||
int *const | size, | ||
int const | flag ) |
Definition at line 18 of file compression.cc.
Referenced by yaze::SaveAllGraphicsData(), and yaze::zelda3::Overworld::SaveOverworldMaps().
std::vector< uint8_t > yaze::gfx::HyruleMagicDecompress | ( | uint8_t const * | src, |
int *const | size, | ||
int const | p_big_endian ) |
Definition at line 167 of file compression.cc.
References yaze::zelda3::ldle16b(), and yaze::zelda3::stle16b().
Referenced by yaze::zelda3::Overworld::DecompressAllMapTiles().
void yaze::gfx::FindMetastamp | ( | ) |
Find metastamp in CGX file.
Definition at line 17 of file scad_format.cc.
References kMatchedBytes, and kOffsetFromMatchedBytesEnd.
absl::Status yaze::gfx::LoadCgx | ( | uint8_t | bpp, |
std::string_view | filename, | ||
std::vector< uint8_t > & | cgx_data, | ||
std::vector< uint8_t > & | cgx_loaded, | ||
std::vector< uint8_t > & | cgx_header ) |
Load Cgx file (graphical content)
Definition at line 42 of file scad_format.cc.
References Bpp8SnesToIndexed().
Referenced by yaze::editor::GraphicsEditor::DrawCgxImport().
absl::Status yaze::gfx::LoadScr | ( | std::string_view | filename, |
uint8_t | input_value, | ||
std::vector< uint8_t > & | map_data ) |
Load Scr file (screen data)
Definition at line 67 of file scad_format.cc.
References GetTilesInfo(), and TileInfoToShort().
Referenced by yaze::editor::GraphicsEditor::DrawScrImport().
absl::Status yaze::gfx::DrawScrWithCgx | ( | uint8_t | bpp, |
std::vector< uint8_t > & | map_data, | ||
std::vector< uint8_t > & | map_bitmap_data, | ||
std::vector< uint8_t > & | cgx_loaded ) |
Draw screen tilemap with graphical data.
Definition at line 119 of file scad_format.cc.
References GetTilesInfo().
Referenced by yaze::editor::GraphicsEditor::DrawScrImport().
std::vector< SDL_Color > yaze::gfx::DecodeColFile | ( | const std::string_view | filename | ) |
Decode color file.
Definition at line 158 of file scad_format.cc.
Referenced by yaze::editor::GraphicsEditor::DrawPaletteControls().
absl::Status yaze::gfx::DecodeObjFile | ( | std::string_view | filename, |
std::vector< uint8_t > & | obj_data, | ||
std::vector< uint8_t > | actual_obj_data, | ||
std::unordered_map< std::string, std::vector< uint8_t > > | decoded_obj, | ||
std::vector< uint8_t > & | decoded_extra_obj, | ||
int & | obj_loaded ) |
Decode obj file.
Definition at line 193 of file scad_format.cc.
snes_color yaze::gfx::ConvertSnesToRgb | ( | uint16_t | color_snes | ) |
Definition at line 19 of file snes_color.cc.
References snes_color::blue, snes_color::green, snes_color::red, SNES_BLUE_MASK, SNES_BLUE_SHIFT, SNES_GREEN_MASK, and SNES_RED_MASK.
Referenced by Extract(), yaze::gfx::SnesColor::set_snes(), yaze::gfx::SnesColor::SnesColor(), yaze::gfx::SnesPalette::SnesPalette(), and yaze::gfx::SnesPalette::SnesPalette().
uint16_t yaze::gfx::ConvertRgbToSnes | ( | const snes_color & | color | ) |
Definition at line 33 of file snes_color.cc.
References snes_color::blue, snes_color::green, snes_color::red, SNES_BLUE_SHIFT, and SNES_GREEN_SHIFT.
Referenced by Convert(), ConvertRgbToSnes(), yaze::editor::PaletteEditor::HandleColorPopup(), ReadPaletteFromRom(), yaze::gfx::SnesColor::set_rgb(), yaze::gfx::SnesColor::SnesColor(), yaze::gfx::SnesColor::SnesColor(), yaze::gfx::SnesColor::SnesColor(), yaze::gui::SnesColorEdit4(), and yaze::gfx::Bitmap::WriteColor().
uint16_t yaze::gfx::ConvertRgbToSnes | ( | const ImVec4 & | color | ) |
Definition at line 40 of file snes_color.cc.
References snes_color::blue, ConvertRgbToSnes(), snes_color::green, kColorByteMax, and snes_color::red.
SnesColor yaze::gfx::ReadColorFromRom | ( | int | offset, |
const uint8_t * | rom ) |
Definition at line 48 of file snes_color.cc.
References snes_color::blue, snes_color::green, and snes_color::red.
Referenced by yaze::gfx::palette_group_internal::LoadGrassColors().
std::vector< snes_color > yaze::gfx::Extract | ( | const char * | data, |
unsigned int | offset, | ||
unsigned int | palette_size ) |
Definition at line 58 of file snes_color.cc.
References ConvertSnesToRgb().
std::vector< char > yaze::gfx::Convert | ( | const std::vector< snes_color > & | palette | ) |
Definition at line 69 of file snes_color.cc.
References ConvertRgbToSnes().
Referenced by yaze::test::TEST().
SnesColor yaze::gfx::GetCgxColor | ( | uint16_t | color | ) |
Definition at line 79 of file snes_color.cc.
References yaze::gfx::SnesColor::set_rgb().
Referenced by GetColFileData().
std::vector< SnesColor > yaze::gfx::GetColFileData | ( | uint8_t * | data | ) |
Definition at line 89 of file snes_color.cc.
References GetCgxColor().
Referenced by yaze::editor::GraphicsEditor::DrawPaletteControls().
uint32_t yaze::gfx::GetPaletteAddress | ( | const std::string & | group_name, |
size_t | palette_index, | ||
size_t | color_index ) |
Definition at line 264 of file snes_palette.cc.
References kPaletteGroupAddressMap, and kPaletteGroupColorCounts.
Referenced by yaze::Rom::SavePalette().
SnesPalette yaze::gfx::ReadPaletteFromRom | ( | int | offset, |
int | num_colors, | ||
const uint8_t * | rom ) |
Definition at line 279 of file snes_palette.cc.
References snes_color::blue, ConvertRgbToSnes(), snes_color::green, and snes_color::red.
Referenced by yaze::gfx::palette_group_internal::Load3DObjectPalettes(), yaze::gfx::palette_group_internal::LoadArmorPalettes(), yaze::gfx::palette_group_internal::LoadDungeonMainPalettes(), yaze::gfx::palette_group_internal::LoadGlobalSpritePalettes(), yaze::gfx::palette_group_internal::LoadHUDPalettes(), yaze::gfx::palette_group_internal::LoadOverworldAnimatedPalettes(), yaze::gfx::palette_group_internal::LoadOverworldAuxiliaryPalettes(), yaze::gfx::palette_group_internal::LoadOverworldMainPalettes(), yaze::gfx::palette_group_internal::LoadOverworldMiniMapPalettes(), yaze::gfx::palette_group_internal::LoadShieldPalettes(), yaze::gfx::palette_group_internal::LoadSpriteAux1Palettes(), yaze::gfx::palette_group_internal::LoadSpriteAux2Palettes(), yaze::gfx::palette_group_internal::LoadSpriteAux3Palettes(), and yaze::gfx::palette_group_internal::LoadSwordPalettes().
std::array< float, 4 > yaze::gfx::ToFloatArray | ( | const SnesColor & | color | ) |
Definition at line 300 of file snes_palette.cc.
References yaze::gfx::SnesColor::rgb().
Referenced by yaze::editor::PaletteEditor::HandleColorPopup().
absl::StatusOr< PaletteGroup > yaze::gfx::CreatePaletteGroupFromColFile | ( | std::vector< SnesColor > & | palette_rows | ) |
Definition at line 309 of file snes_palette.cc.
References yaze::gfx::SnesPalette::AddColor(), and yaze::gfx::PaletteGroup::AddPalette().
Referenced by yaze::editor::GraphicsEditor::DrawPaletteControls().
absl::StatusOr< PaletteGroup > yaze::gfx::CreatePaletteGroupFromLargePalette | ( | SnesPalette & | palette, |
int | num_colors ) |
Take a SNESPalette, divide it into palettes of 8 colors.
Definition at line 322 of file snes_palette.cc.
References yaze::gfx::SnesPalette::AddColor(), yaze::gfx::PaletteGroup::AddPalette(), and yaze::gfx::SnesPalette::size().
Referenced by yaze::editor::DungeonEditor::Load().
absl::Status yaze::gfx::LoadAllPalettes | ( | const std::vector< uint8_t > & | rom_data, |
PaletteGroupMap & | groups ) |
Loads all the palettes for the game.
This function loads all the palettes for the game, including overworld, HUD, armor, swords, shields, sprites, dungeon, grass, and 3D object palettes. It also adds the loaded palettes to their respective palette groups.
Definition at line 340 of file snes_palette.cc.
References yaze::gfx::palette_group_internal::Load3DObjectPalettes(), yaze::gfx::palette_group_internal::LoadArmorPalettes(), yaze::gfx::palette_group_internal::LoadDungeonMainPalettes(), yaze::gfx::palette_group_internal::LoadGlobalSpritePalettes(), yaze::gfx::palette_group_internal::LoadGrassColors(), yaze::gfx::palette_group_internal::LoadHUDPalettes(), yaze::gfx::palette_group_internal::LoadOverworldAnimatedPalettes(), yaze::gfx::palette_group_internal::LoadOverworldAuxiliaryPalettes(), yaze::gfx::palette_group_internal::LoadOverworldMainPalettes(), yaze::gfx::palette_group_internal::LoadOverworldMiniMapPalettes(), yaze::gfx::palette_group_internal::LoadShieldPalettes(), yaze::gfx::palette_group_internal::LoadSpriteAux1Palettes(), yaze::gfx::palette_group_internal::LoadSpriteAux2Palettes(), yaze::gfx::palette_group_internal::LoadSpriteAux3Palettes(), yaze::gfx::palette_group_internal::LoadSwordPalettes(), and RETURN_IF_ERROR.
Referenced by yaze::Rom::LoadZelda3().
snes_tile8 yaze::gfx::UnpackBppTile | ( | std::span< uint8_t > | data, |
const uint32_t | offset, | ||
const uint32_t | bpp ) |
Definition at line 23 of file snes_tile.cc.
References snes_tile8::data.
Referenced by ConvertBpp(), and yaze::test::TEST().
std::vector< uint8_t > yaze::gfx::PackBppTile | ( | const snes_tile8 & | tile, |
const uint32_t | bpp ) |
Definition at line 72 of file snes_tile.cc.
References snes_tile8::data.
Referenced by ConvertBpp(), and yaze::test::TEST().
std::vector< uint8_t > yaze::gfx::ConvertBpp | ( | std::span< uint8_t > | tiles, |
uint32_t | from_bpp, | ||
uint32_t | to_bpp ) |
Definition at line 115 of file snes_tile.cc.
References PackBppTile(), and UnpackBppTile().
Referenced by yaze::test::TEST(), and yaze::gfx::GraphicsBuffer::to_bpp().
std::vector< uint8_t > yaze::gfx::SnesTo8bppSheet | ( | std::span< uint8_t > | sheet, |
int | bpp, | ||
int | num_sheets ) |
Definition at line 129 of file snes_tile.cc.
References kGraphicsBitmap.
Referenced by yaze::editor::GraphicsEditor::DecompressImportData(), yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::editor::MessageEditor::Initialize(), yaze::Load2BppGraphics(), yaze::LoadAllGraphicsData(), yaze::editor::ScreenEditor::LoadBinaryGfx(), yaze::zelda3::LoadDungeonMapGfxFromBinary(), and yaze::LoadLinkGraphics().
std::vector< uint8_t > yaze::gfx::Bpp8SnesToIndexed | ( | std::vector< uint8_t > | data, |
uint64_t | bpp ) |
Definition at line 189 of file snes_tile.cc.
Referenced by LoadCgx(), and yaze::SaveAllGraphicsData().
uint16_t yaze::gfx::TileInfoToWord | ( | TileInfo | tile_info | ) |
Definition at line 291 of file snes_tile.cc.
References yaze::gfx::TileInfo::horizontal_mirror_, yaze::gfx::TileInfo::id_, yaze::gfx::TileInfo::over_, yaze::gfx::TileInfo::palette_, and yaze::gfx::TileInfo::vertical_mirror_.
Referenced by yaze::zelda3::SaveDungeonMapTile16(), yaze::test::TEST(), and yaze::Rom::WriteTile16().
TileInfo yaze::gfx::WordToTileInfo | ( | uint16_t | word | ) |
Definition at line 308 of file snes_tile.cc.
Referenced by yaze::zelda3::LoadDungeonMapTile16(), yaze::Rom::ReadTile16(), and yaze::test::TEST().
uint16_t yaze::gfx::TileInfoToShort | ( | TileInfo | tile_info | ) |
Definition at line 323 of file snes_tile.cc.
References yaze::gfx::TileInfo::horizontal_mirror_, yaze::gfx::TileInfo::id_, yaze::gfx::TileInfo::over_, yaze::gfx::TileInfo::palette_, TileHFlipBit, TileNameMask, TilePriorityBit, TileVFlipBit, and yaze::gfx::TileInfo::vertical_mirror_.
Referenced by LoadScr().
TileInfo yaze::gfx::GetTilesInfo | ( | uint16_t | tile | ) |
Definition at line 354 of file snes_tile.cc.
References TileHFlipBit, TileNameMask, TilePriorityBit, and TileVFlipBit.
Referenced by yaze::zelda3::Overworld::AssembleMap16Tiles(), yaze::zelda3::Inventory::Create(), yaze::gfx::BackgroundBuffer::DrawBackground(), DrawScrWithCgx(), and LoadScr().
void yaze::gfx::CopyTile8bpp16 | ( | int | x, |
int | y, | ||
int | tile, | ||
std::vector< uint8_t > & | bitmap, | ||
std::vector< uint8_t > & | blockset ) |
Definition at line 366 of file snes_tile.cc.
Referenced by yaze::zelda3::OverworldMap::BuildBitmap().
std::vector< uint8_t > yaze::gfx::LoadSNES4bppGFXToIndexedColorMatrix | ( | std::span< uint8_t > | src | ) |
Definition at line 379 of file snes_tile.cc.
Tilemap yaze::gfx::CreateTilemap | ( | std::vector< uint8_t > & | data, |
int | width, | ||
int | height, | ||
int | tile_size, | ||
int | num_tiles, | ||
SnesPalette & | palette ) |
Definition at line 12 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::core::Renderer::Get(), yaze::gfx::Tilemap::map_size, yaze::core::Renderer::RenderBitmap(), yaze::gfx::Bitmap::SetPalette(), yaze::gfx::Tilemap::tile_size, yaze::gfx::Pair::x, and yaze::gfx::Pair::y.
Referenced by yaze::editor::OverworldEditor::LoadGraphics().
void yaze::gfx::UpdateTilemap | ( | Tilemap & | tilemap, |
const std::vector< uint8_t > & | data ) |
Definition at line 25 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::core::Renderer::Get(), yaze::gfx::Bitmap::set_data(), and yaze::core::Renderer::UpdateBitmap().
Referenced by yaze::editor::OverworldEditor::RefreshTile16Blockset().
void yaze::gfx::RenderTile | ( | Tilemap & | tilemap, |
int | tile_id ) |
Definition at line 30 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::core::Renderer::Get(), GetTilemapData(), yaze::gfx::Bitmap::palette(), yaze::core::Renderer::RenderBitmap(), yaze::gfx::Tilemap::tile_bitmaps, yaze::gfx::Tilemap::tile_size, yaze::core::Renderer::UpdateBitmap(), yaze::gfx::Pair::x, and yaze::gfx::Pair::y.
Referenced by yaze::editor::Tile16Editor::CopyTile16ToClipboard(), yaze::gui::Canvas::DrawBitmapGroup(), yaze::editor::Tile16Editor::SetCurrentTile(), and yaze::editor::Tile16Editor::UpdateBlockset().
void yaze::gfx::RenderTile16 | ( | Tilemap & | tilemap, |
int | tile_id ) |
Definition at line 42 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::core::Renderer::Get(), yaze::gfx::Bitmap::Get16x16Tile(), yaze::gfx::Bitmap::palette(), yaze::core::Renderer::RenderBitmap(), yaze::gfx::Tilemap::tile_bitmaps, yaze::gfx::Tilemap::tile_size, yaze::gfx::Bitmap::width(), yaze::gfx::Pair::x, and yaze::gfx::Pair::y.
Referenced by yaze::editor::ScreenEditor::DrawDungeonMapsRoomGfx(), and yaze::editor::ScreenEditor::DrawDungeonMapsTabs().
void yaze::gfx::UpdateTile16 | ( | Tilemap & | tilemap, |
int | tile_id ) |
Definition at line 59 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::core::Renderer::Get(), yaze::gfx::Bitmap::Get16x16Tile(), yaze::gfx::Tilemap::tile_bitmaps, yaze::gfx::Tilemap::tile_size, yaze::core::Renderer::UpdateBitmap(), yaze::gfx::Bitmap::width(), yaze::gfx::Pair::x, and yaze::gfx::Pair::y.
Referenced by yaze::editor::ScreenEditor::DrawDungeonMapsRoomGfx().
std::vector< uint8_t > yaze::gfx::FetchTileDataFromGraphicsBuffer | ( | const std::vector< uint8_t > & | data, |
int | tile_id, | ||
int | sheet_offset ) |
Definition at line 71 of file tilemap.cc.
Referenced by yaze::gfx::anonymous_namespace{tilemap.cc}::ComposeAndPlaceTilePart().
void yaze::gfx::ModifyTile16 | ( | Tilemap & | tilemap, |
const std::vector< uint8_t > & | data, | ||
const TileInfo & | top_left, | ||
const TileInfo & | top_right, | ||
const TileInfo & | bottom_left, | ||
const TileInfo & | bottom_right, | ||
int | sheet_offset, | ||
int | tile_id ) |
Definition at line 146 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::gfx::Tilemap::tile_info, yaze::gfx::Tilemap::tile_size, yaze::gfx::Bitmap::width(), yaze::gfx::Pair::x, and yaze::gfx::Pair::y.
Referenced by yaze::editor::ScreenEditor::DrawDungeonMapsRoomGfx().
void yaze::gfx::ComposeTile16 | ( | Tilemap & | tilemap, |
const std::vector< uint8_t > & | data, | ||
const TileInfo & | top_left, | ||
const TileInfo & | top_right, | ||
const TileInfo & | bottom_left, | ||
const TileInfo & | bottom_right, | ||
int | sheet_offset ) |
Definition at line 170 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::gfx::Tilemap::tile_info, yaze::gfx::Tilemap::tile_size, yaze::gfx::Bitmap::width(), yaze::gfx::Pair::x, and yaze::gfx::Pair::y.
std::vector< uint8_t > yaze::gfx::GetTilemapData | ( | Tilemap & | tilemap, |
int | tile_id ) |
Definition at line 193 of file tilemap.cc.
References yaze::gfx::Tilemap::atlas, yaze::gfx::Tilemap::map_size, yaze::gfx::Tilemap::tile_size, yaze::gfx::Bitmap::vector(), yaze::gfx::Bitmap::width(), and yaze::gfx::Pair::x.
Referenced by yaze::editor::OverworldEditor::DrawOverworldEdits(), yaze::gui::Canvas::DrawTilemapPainter(), and RenderTile().
|
constexpr |
|
constexpr |
Definition at line 24 of file bitmap.h.
Referenced by GetSnesPixelFormat().
|
constexpr |
Definition at line 28 of file bitmap.h.
Referenced by GetSnesPixelFormat().
|
constexpr |
Definition at line 47 of file scad_format.h.
Referenced by FindMetastamp().
|
constexpr |
Definition at line 48 of file scad_format.h.
Referenced by FindMetastamp().
|
constexpr |
Definition at line 12 of file snes_color.cc.
Referenced by ConvertSnesToRgb().
|
constexpr |
Definition at line 13 of file snes_color.cc.
Referenced by ConvertSnesToRgb().
|
constexpr |
Definition at line 14 of file snes_color.cc.
Referenced by ConvertSnesToRgb().
|
constexpr |
Definition at line 16 of file snes_color.cc.
Referenced by ConvertRgbToSnes().
|
constexpr |
Definition at line 17 of file snes_color.cc.
Referenced by ConvertRgbToSnes(), and ConvertSnesToRgb().
|
constexpr |
Definition at line 14 of file snes_color.h.
|
constexpr |
Definition at line 25 of file snes_color.h.
Referenced by ConvertRgbToSnes(), yaze::gfx::SnesColor::set_rgb(), and yaze::gfx::SnesColor::SnesColor().
|
constexpr |
Definition at line 26 of file snes_color.h.
Referenced by yaze::gfx::SnesColor::set_snes(), yaze::gfx::SnesColor::SnesColor(), and yaze::gfx::SnesColor::SnesColor().
const absl::flat_hash_map<std::string, uint32_t> yaze::gfx::kPaletteGroupAddressMap |
Definition at line 238 of file snes_palette.cc.
Referenced by GetPaletteAddress().
const absl::flat_hash_map<std::string, uint32_t> yaze::gfx::kPaletteGroupColorCounts |
Definition at line 256 of file snes_palette.cc.
Referenced by GetPaletteAddress().
|
constexpr |
Definition at line 22 of file snes_palette.h.
Referenced by yaze::editor::PaletteEditor::Load(), and yaze::editor::PaletteEditor::Update().
|
constexpr |
Definition at line 53 of file snes_palette.h.
Referenced by yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::gui::Canvas::DrawContextMenu(), yaze::editor::GraphicsEditor::DrawPaletteControls(), yaze::editor::GraphicsEditor::UpdatePaletteColumn(), and yaze_get_color_from_paletteset().
|
constexpr |
Definition at line 60 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadOverworldMainPalettes().
|
constexpr |
Definition at line 61 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadOverworldAuxiliaryPalettes().
|
constexpr |
Definition at line 62 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadOverworldAnimatedPalettes().
|
constexpr |
Definition at line 63 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadGlobalSpritePalettes().
|
constexpr |
Definition at line 64 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadGlobalSpritePalettes().
|
constexpr |
< Green, Blue, Red, Bunny, Electrocuted (15 colors each)
Definition at line 67 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadArmorPalettes().
|
constexpr |
Definition at line 68 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadSpriteAux1Palettes().
|
constexpr |
Definition at line 69 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadSpriteAux2Palettes().
|
constexpr |
Definition at line 70 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadSpriteAux3Palettes().
|
constexpr |
Definition at line 71 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadSwordPalettes().
|
constexpr |
Definition at line 72 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadShieldPalettes().
|
constexpr |
Definition at line 73 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadHUDPalettes().
|
constexpr |
Definition at line 74 of file snes_palette.h.
|
constexpr |
Definition at line 77 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadDungeonMainPalettes().
|
constexpr |
Definition at line 78 of file snes_palette.h.
|
constexpr |
Definition at line 81 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadGrassColors().
|
constexpr |
Definition at line 82 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadGrassColors().
|
constexpr |
Definition at line 83 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadGrassColors().
|
constexpr |
Definition at line 84 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::LoadOverworldMiniMapPalettes().
|
constexpr |
Definition at line 85 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::Load3DObjectPalettes().
|
constexpr |
Definition at line 86 of file snes_palette.h.
Referenced by yaze::gfx::palette_group_internal::Load3DObjectPalettes().
|
constexpr |
< 2 bytes for each overworld area (320)
Definition at line 89 of file snes_palette.h.
|
constexpr |
Definition at line 90 of file snes_palette.h.
|
constexpr |
Definition at line 93 of file snes_palette.h.
|
constexpr |
Definition at line 95 of file snes_palette.h.
|
constexpr |
Definition at line 96 of file snes_palette.h.
|
constexpr |
Definition at line 97 of file snes_palette.h.
|
constexpr |
Definition at line 98 of file snes_palette.h.
|
constexpr |
Definition at line 99 of file snes_palette.h.
|
constexpr |
Definition at line 100 of file snes_palette.h.
|
constexpr |
Definition at line 101 of file snes_palette.h.
|
constexpr |
Definition at line 102 of file snes_palette.h.
|
constexpr |
Definition at line 103 of file snes_palette.h.
|
constexpr |
Definition at line 104 of file snes_palette.h.
|
constexpr |
Definition at line 105 of file snes_palette.h.
|
constexpr |
Definition at line 106 of file snes_palette.h.
|
constexpr |
Definition at line 107 of file snes_palette.h.
|
constexpr |
Definition at line 108 of file snes_palette.h.
|
constexpr |
Definition at line 109 of file snes_palette.h.
|
constexpr |
Definition at line 110 of file snes_palette.h.
|
constexpr |
Definition at line 12 of file snes_tile.cc.
Referenced by GetTilesInfo(), and TileInfoToShort().
|
constexpr |
Definition at line 15 of file snes_tile.cc.
Referenced by GetTilesInfo(), and TileInfoToShort().
|
constexpr |
Definition at line 18 of file snes_tile.cc.
Referenced by GetTilesInfo(), and TileInfoToShort().
|
constexpr |
Definition at line 21 of file snes_tile.cc.
Referenced by GetTilesInfo(), and TileInfoToShort().
|
constexpr |
Definition at line 16 of file snes_tile.h.
Referenced by yaze::editor::GraphicsEditor::DecompressImportData(), yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::LoadAllGraphicsData(), and yaze::LoadLinkGraphics().
|
constexpr |
Definition at line 17 of file snes_tile.h.
Referenced by yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::LoadAllGraphicsData(), yaze::LoadLinkGraphics(), and yaze::editor::GraphicsEditor::UpdateLinkGfxView().
|
constexpr |
Definition at line 18 of file snes_tile.h.
Referenced by yaze::editor::GraphicsEditor::DecompressImportData(), yaze::editor::GraphicsEditor::DecompressSuperDonkey(), yaze::LoadAllGraphicsData(), and yaze::LoadLinkGraphics().
|
constexpr |
Definition at line 20 of file snes_tile.h.
Referenced by SnesTo8bppSheet().