yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::editor::Tile16Editor Class Reference

Popup window to edit Tile16 data. More...

#include <tile16_editor.h>

Inheritance diagram for yaze::editor::Tile16Editor:

Classes

struct  LayoutScratch
 

Public Member Functions

 Tile16Editor (Rom *rom, gfx::Tilemap *tile16_blockset)
 
absl::Status Initialize (gfx::Bitmap &tile16_blockset_bmp, gfx::Bitmap &current_gfx_bmp, std::array< uint8_t, 0x200 > &all_tiles_types)
 
absl::Status Update ()
 
absl::Status UpdateAsPanel ()
 Update the editor content without MenuBar (for WindowContent usage)
 
void DrawContextMenu ()
 Draw context menu with editor actions.
 
void DrawTile16Editor ()
 
absl::Status UpdateBlockset ()
 
void DrawScratchSpace ()
 
absl::Status SaveLayoutToScratch (int slot)
 
absl::Status LoadLayoutFromScratch (int slot)
 
absl::Status DrawToCurrentTile16 (ImVec2 pos, const gfx::Bitmap *source_tile=nullptr)
 
absl::Status HandleTile16CanvasClick (const ImVec2 &tile_position, bool left_click, bool right_click)
 
absl::Status UpdateTile16Edit ()
 
absl::Status LoadTile8 ()
 
absl::Status SetCurrentTile (int id)
 
void RequestTileSwitch (int target_tile_id)
 
absl::Status CopyTile16ToClipboard (int tile_id)
 
absl::Status PasteTile16FromClipboard ()
 
absl::Status SaveTile16ToScratchSpace (int slot)
 
absl::Status LoadTile16FromScratchSpace (int slot)
 
absl::Status ClearScratchSpace (int slot)
 
absl::Status FlipTile16Horizontal ()
 
absl::Status FlipTile16Vertical ()
 
absl::Status RotateTile16 ()
 
absl::Status FillTile16WithTile8 (int tile8_id)
 
absl::Status ClearTile16 ()
 
absl::Status CyclePalette (bool forward=true)
 
absl::Status ApplyPaletteToAll (uint8_t palette_id)
 
absl::Status ApplyPaletteToQuadrant (int quadrant, uint8_t palette_id)
 
absl::Status PreviewPaletteChange (uint8_t palette_id)
 
absl::Status Undo ()
 
absl::Status Redo ()
 
void SaveUndoState ()
 
void EnableLivePreview (bool enable)
 
absl::Status UpdateLivePreview ()
 
absl::Status ValidateTile16Data ()
 
bool IsTile16Valid (int tile_id) const
 
absl::Status SaveTile16ToROM ()
 Write current tile16 data directly to ROM (bypasses pending system)
 
absl::Status UpdateOverworldTilemap ()
 Update the overworld tilemap to reflect tile changes.
 
absl::Status CommitChangesToBlockset ()
 Commit pending changes to the blockset atlas.
 
absl::Status CommitChangesToOverworld ()
 Single-tile commit: ROM + blockset + parent refresh callback. Prefer CommitAllChanges() from the main UI; kept for integration tests.
 
absl::Status DiscardChanges ()
 Discard current tile's changes (single tile)
 
bool has_pending_changes () const
 Check if any tiles have uncommitted changes.
 
int pending_changes_count () const
 Get count of tiles with pending changes.
 
bool is_tile_modified (int tile_id) const
 Check if a specific tile has pending changes.
 
const gfx::BitmapGetPendingTileBitmap (int tile_id) const
 Get preview bitmap for a pending tile (nullptr if not modified)
 
absl::Status CommitAllChanges ()
 Write all pending changes to ROM and notify parent.
 
void DiscardAllChanges ()
 Discard all pending changes (revert to ROM state)
 
void DiscardCurrentTileChanges ()
 Discard only the current tile's pending changes.
 
void MarkCurrentTileModified ()
 Mark the current tile as having pending changes.
 
absl::Status UpdateTile8Palette (int tile8_id)
 Update palette for a specific tile8.
 
absl::Status RefreshAllPalettes ()
 Refresh all tile8 palettes after a palette change.
 
void DrawPaletteSettings ()
 Draw palette settings UI.
 
int GetActualPaletteSlot (int palette_button, int sheet_index) const
 Calculate actual palette slot from button.
 
int GetSheetIndexForTile8 (int tile8_id) const
 Determine which graphics sheet contains a tile8.
 
int GetActualPaletteSlotForCurrentTile16 () const
 Get the palette slot for the current tile being edited.
 
gfx::SnesPalette CreateRemappedPaletteForViewing (const gfx::SnesPalette &source, int target_row) const
 Create a remapped palette for viewing with user-selected palette.
 
int GetEncodedPaletteRow (uint8_t pixel_value) const
 Get the encoded palette row for a pixel value.
 
absl::Status UpdateROMTile16Data ()
 
absl::Status RefreshTile16Blockset ()
 
gfx::Tile16GetCurrentTile16Data ()
 
absl::Status RegenerateTile16BitmapFromROM ()
 
absl::Status UpdateBlocksetBitmap ()
 
absl::Status PickTile8FromTile16 (const ImVec2 &position)
 
void DrawManualTile8Inputs ()
 
void SetRom (Rom *rom)
 
Romrom () const
 
void SetGameData (zelda3::GameData *game_data)
 
zelda3::GameDatagame_data () const
 
void set_palette (const gfx::SnesPalette &palette)
 
void set_on_changes_committed (std::function< absl::Status(const std::vector< Tile16Commit > &)> callback)
 
void set_on_current_tile_changed (std::function< void(int)> callback)
 
int current_palette () const
 
void set_current_palette (int palette)
 
const gfx::BitmapTile8PreviewBitmapForTesting () const
 
int current_tile16 () const
 
int selected_tile16_for_testing () const
 
int current_tile8 () const
 
int active_quadrant () const
 
void set_active_quadrant (int quadrant)
 
Tile16EditMode edit_mode () const
 
void set_edit_mode (Tile16EditMode mode)
 
void AnalyzeTile8SourceData () const
 

Static Public Member Functions

static ImVec2 Tile16PreviewDisplayPixelToTilePosition (const ImVec2 &display_position)
 

Private Member Functions

gfx::SnesPalette CreateRemappedPaletteForTile8 (const gfx::SnesPalette &source, int target_row, int tile8_id) const
 
void FinalizePendingUndo ()
 Finalize any pending undo snapshot by capturing current state as "after" and pushing a Tile16EditAction to undo_manager_.
 
void RestoreFromSnapshot (const Tile16Snapshot &snapshot)
 Restore editor state from a Tile16Snapshot (used by undo actions).
 
void ApplyPaletteToCurrentTile16Bitmap ()
 
const gfx::SnesPaletteResolveDisplayPalette () const
 
bool BitmapHasEncodedPaletteRows (const gfx::Bitmap &bitmap) const
 
absl::Status BuildTile16BitmapFromData (const gfx::Tile16 &tile_data, gfx::Bitmap *output_bitmap) const
 
void CopyTileBitmapToBlockset (int tile_id, const gfx::Bitmap &tile_bitmap)
 
absl::Status RebuildTile8UsageCache ()
 
void DrawTile8UsageOverlay ()
 
void HandleKeyboardShortcuts ()
 
bool HasCurrentGfxBitmap () const
 
bool HasTile16BlocksetBitmap () const
 
void CopyTile16ToAtlas (int tile_id)
 
absl::Status DrawCompactActionStatusRow (bool has_pending, bool current_tile_pending, int pending_count, bool *show_debug_info, bool *show_advanced_controls)
 
absl::Status DrawBrushAndTilePaletteControls (bool show_debug_info)
 
absl::Status DrawTile8SourcePanel (float preferred_height=0.0f)
 
absl::Status HandleTile8SourceSelection (bool right_clicked, float display_scale)
 
absl::Status DrawPrimaryActionControls ()
 

Private Attributes

Romrom_ = nullptr
 
zelda3::GameDatagame_data_ = nullptr
 
bool map_blockset_loaded_ = false
 
bool x_flip = false
 
bool y_flip = false
 
bool priority_tile = false
 
int tile_size
 
int current_tile16_ = 0
 
int current_tile8_ = 0
 
uint8_t current_palette_ = 0
 
int active_quadrant_ = 0
 
Tile16EditMode edit_mode_ = Tile16EditMode::kPaint
 
Tile16ClipboardData clipboard_tile16_
 
std::array< Tile16ScratchData, 4 > scratch_space_
 
std::array< LayoutScratch, 4 > layout_scratch_
 
UndoManager undo_manager_
 
std::optional< Tile16Snapshotpending_undo_before_
 
bool live_preview_enabled_ = true
 
gfx::Bitmap preview_tile16_
 
bool preview_dirty_ = false
 
gfx::Bitmap tile8_preview_bmp_
 
std::vector< int > selected_tiles_
 
int selection_start_tile_ = -1
 
bool multi_select_mode_ = false
 
bool auto_tile_mode_ = false
 
bool grid_snap_enabled_ = true
 
bool show_tile_info_ = true
 
bool show_palette_preview_ = true
 
bool show_tile_grid_ = true
 
bool show_tile_collision_ids_ = false
 
int tile8_stamp_size_ = 1
 
bool highlight_tile8_usage_ = false
 
float tile8_source_display_scale_ = 4.0f
 
zelda3::Tile8UsageIndex tile8_usage_cache_
 
bool tile8_usage_cache_dirty_ = true
 
bool show_palette_settings_ = false
 
int current_palette_group_ = 0
 
uint8_t palette_normalization_mask_
 
bool auto_normalize_pixels_
 
std::chrono::steady_clock::time_point last_edit_time_
 
bool batch_mode_ = false
 
std::map< int, gfx::Tile16pending_tile16_changes_
 
std::map< int, gfx::Bitmappending_tile16_bitmaps_
 
bool show_unsaved_changes_dialog_ = false
 
int pending_tile_switch_target_ = -1
 
bool has_rom_write_history_ = false
 
int last_rom_write_count_ = 0
 
std::chrono::steady_clock::time_point last_rom_write_time_ {}
 
int jump_to_tile_id_ = 0
 
bool scroll_to_current_ = false
 
int current_page_ = 0
 
util::NotifyValue< uint32_t > notify_tile16
 
util::NotifyValue< uint8_t > notify_palette
 
std::array< uint8_t, 0x200 > all_tiles_types_
 
gui::Canvas blockset_canvas_
 
gui::TileSelectorWidget blockset_selector_
 
gfx::Bitmaptile16_blockset_bmp_ = nullptr
 
gui::Canvas tile16_edit_canvas_
 
gfx::Bitmap current_tile16_bmp_
 
gui::Canvas tile8_source_canvas_
 
gfx::Bitmapcurrent_gfx_bmp_ = nullptr
 
gui::Table tile_edit_table_
 
gfx::Tilemaptile16_blockset_ = nullptr
 
std::vector< zelda3::Tile8PixelDatacurrent_gfx_individual_
 
PaletteEditor palette_editor_
 
gfx::SnesPalette palette_
 
gfx::SnesPalette overworld_palette_
 
absl::Status status_
 
std::function< absl::Status(const std::vector< Tile16Commit > &) on_changes_committed_ )
 
std::function< void(int)> on_current_tile_changed_
 
gfx::Tile16 current_tile16_data_
 

Static Private Attributes

static constexpr int kTilesPerPage = 64
 
static constexpr int kTilesPerRow = 8
 

Additional Inherited Members

- Static Protected Attributes inherited from yaze::gfx::GfxContext
static std::unordered_map< uint8_t, gfx::Palettesetpalettesets_
 

Detailed Description

Popup window to edit Tile16 data.

Provides visual editing of 16x16 tiles composed of four 8x8 sub-tiles. Uses a pending changes system to prevent accidental ROM modifications.

See also
README.md for architecture overview and workflow documentation

Definition at line 133 of file tile16_editor.h.

Constructor & Destructor Documentation

◆ Tile16Editor()

yaze::editor::Tile16Editor::Tile16Editor ( Rom * rom,
gfx::Tilemap * tile16_blockset )
inline

Definition at line 135 of file tile16_editor.h.

Member Function Documentation

◆ Initialize()

◆ Update()

◆ UpdateAsPanel()

absl::Status yaze::editor::Tile16Editor::UpdateAsPanel ( )

Update the editor content without MenuBar (for WindowContent usage)

This is the panel-friendly version that doesn't require ImGuiWindowFlags_MenuBar. Menu items are available through the context menu instead.

Definition at line 322 of file tile16_editor.cc.

References CommitAllChanges(), current_tile16_, yaze::gui::DangerButton(), DrawContextMenu(), DrawPaletteSettings(), DrawTile16Editor(), HandleKeyboardShortcuts(), ICON_MD_MENU, yaze::util::logf(), map_blockset_loaded_, pending_tile16_bitmaps_, pending_tile16_changes_, pending_tile_switch_target_, RETURN_IF_ERROR, SetCurrentTile(), show_unsaved_changes_dialog_, yaze::gui::SuccessButton(), and UpdateLivePreview().

◆ DrawContextMenu()

void yaze::editor::Tile16Editor::DrawContextMenu ( )

◆ DrawTile16Editor()

void yaze::editor::Tile16Editor::DrawTile16Editor ( )

Definition at line 317 of file tile16_editor.cc.

References status_, and UpdateTile16Edit().

Referenced by Update(), and UpdateAsPanel().

Here is the call graph for this function:

◆ UpdateBlockset()

◆ DrawScratchSpace()

void yaze::editor::Tile16Editor::DrawScratchSpace ( )

Definition at line 3290 of file tile16_editor.cc.

References layout_scratch_, LoadLayoutFromScratch(), SaveLayoutToScratch(), and status_.

Referenced by UpdateTile16Edit().

Here is the call graph for this function:

◆ SaveLayoutToScratch()

absl::Status yaze::editor::Tile16Editor::SaveLayoutToScratch ( int slot)

Definition at line 3317 of file tile16_editor.cc.

References yaze::zelda3::ComputeTile16Count(), current_tile16_, layout_scratch_, and tile16_blockset_.

Referenced by DrawScratchSpace().

Here is the call graph for this function:

◆ LoadLayoutFromScratch()

absl::Status yaze::editor::Tile16Editor::LoadLayoutFromScratch ( int slot)

◆ DrawToCurrentTile16()

absl::Status yaze::editor::Tile16Editor::DrawToCurrentTile16 ( ImVec2 pos,
const gfx::Bitmap * source_tile = nullptr )

Definition at line 686 of file tile16_editor.cc.

References active_quadrant_, ApplyPaletteToCurrentTile16Bitmap(), ASSIGN_OR_RETURN, yaze::gfx::Tilemap::atlas, BuildTile16BitmapFromData(), yaze::zelda3::BuildTile16StampMutations(), CopyTileBitmapToBlockset(), yaze::gfx::Bitmap::Create(), current_gfx_bmp_, current_gfx_individual_, current_palette_, yaze::zelda3::Tile16StampRequest::current_tile16, current_tile16_, current_tile16_bmp_, current_tile16_data_, yaze::zelda3::Tile16StampRequest::current_tile16_id, current_tile8_, yaze::gfx::Arena::Get(), HasTile16BlocksetBitmap(), yaze::gfx::Bitmap::is_active(), yaze::editor::kTile16Size, yaze::editor::kTile8Size, kTilesPerRow, last_edit_time_, live_preview_enabled_, yaze::util::logf(), MarkCurrentTileModified(), yaze::zelda3::Tile16StampRequest::max_tile16_id, yaze::zelda3::Tile16StampRequest::max_tile8_id, yaze::gfx::Bitmap::palette(), yaze::zelda3::Tile16StampRequest::palette_id, pending_tile16_bitmaps_, pending_tile16_changes_, preview_dirty_, yaze::zelda3::Tile16StampRequest::priority, priority_tile, yaze::zelda3::Tile16StampRequest::quadrant_index, yaze::gfx::Arena::QueueTextureCommand(), RETURN_IF_ERROR, SaveUndoState(), yaze::zelda3::Tile16StampRequest::selected_tile8_id, yaze::gfx::Bitmap::set_modified(), yaze::gfx::Bitmap::SetPalette(), yaze::gfx::SnesPalette::size(), yaze::zelda3::Tile16StampRequest::stamp_size, tile16_blockset_, tile16_blockset_bmp_, yaze::zelda3::Tile16StampRequest::tile16_row_stride, yaze::zelda3::Tile16StampRequest::tile8_row_stride, tile8_stamp_size_, tile8_usage_cache_dirty_, yaze::gfx::Arena::UPDATE, UpdateOverworldTilemap(), yaze::gfx::Bitmap::vector(), yaze::gfx::Bitmap::width(), x_flip, yaze::zelda3::Tile16StampRequest::x_flip, y_flip, and yaze::zelda3::Tile16StampRequest::y_flip.

Referenced by HandleTile16CanvasClick().

◆ HandleTile16CanvasClick()

absl::Status yaze::editor::Tile16Editor::HandleTile16CanvasClick ( const ImVec2 & tile_position,
bool left_click,
bool right_click )

◆ Tile16PreviewDisplayPixelToTilePosition()

ImVec2 yaze::editor::Tile16Editor::Tile16PreviewDisplayPixelToTilePosition ( const ImVec2 & display_position)
static

Definition at line 824 of file tile16_editor.cc.

References yaze::editor::kTile8DisplayScale.

Referenced by UpdateTile16Edit().

◆ UpdateTile16Edit()

absl::Status yaze::editor::Tile16Editor::UpdateTile16Edit ( )

Definition at line 830 of file tile16_editor.cc.

References AnalyzeTile8SourceData(), yaze::gui::BeginCanvas(), blockset_canvas_, blockset_selector_, yaze::gui::CanvasFrameOptions::canvas_size, yaze::zelda3::ComputeTile16Count(), yaze::gfx::Bitmap::Create(), yaze::gfx::Arena::CREATE, CreateRemappedPaletteForViewing(), current_gfx_bmp_, current_gfx_individual_, current_page_, current_palette_, current_tile16_, current_tile16_bmp_, current_tile8_, yaze::gui::CanvasFrameOptions::draw_context_menu, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::CanvasFrameOptions::draw_overlay, yaze::gui::Canvas::DrawBitmap(), DrawBrushAndTilePaletteControls(), DrawCompactActionStatusRow(), DrawManualTile8Inputs(), DrawPaletteSettings(), DrawPrimaryActionControls(), DrawScratchSpace(), DrawTile8SourcePanel(), DrawTile8UsageOverlay(), yaze::gui::Canvas::DrawTilePainter(), edit_mode_, yaze::gfx::SnesPalette::empty(), yaze::gui::EndCanvas(), yaze::gfx::Arena::Get(), GetActualPaletteSlot(), GetActualPaletteSlotForCurrentTile16(), yaze::gui::TileSelectorWidget::GetSelectedTileID(), GetSheetIndexForTile8(), yaze::gui::CanvasFrameOptions::grid_step, HandleTile16CanvasClick(), has_pending_changes(), HOVER_HINT, yaze::gfx::Bitmap::is_active(), is_tile_modified(), jump_to_tile_id_, yaze::editor::kPaint, yaze::editor::kPick, yaze::editor::kTile8DisplayScale, yaze::editor::kTile8PixelCount, yaze::editor::kTile8Size, kTilesPerPage, kTilesPerRow, yaze::editor::kUsageProbe, yaze::util::logf(), yaze::gfx::Bitmap::mutable_data(), overworld_palette_, yaze::gfx::Bitmap::palette(), palette_, pending_changes_count(), priority_tile, yaze::gfx::Arena::QueueTextureCommand(), RefreshTile16Blockset(), yaze::gui::TileSelectorWidget::Render(), yaze::gui::CanvasFrameOptions::render_popups, RequestTileSwitch(), RETURN_IF_ERROR, scroll_to_current_, yaze::gui::TileSelectorWidget::ScrollToTile(), yaze::gfx::Bitmap::SetPalette(), yaze::gui::TileSelectorWidget::SetSelectedTile(), show_palette_settings_, show_tile_grid_, yaze::gui::Canvas::ShowAdvancedCanvasProperties(), yaze::gui::Canvas::ShowScalingControls(), yaze::gfx::SnesPalette::size(), yaze::gfx::Bitmap::texture(), tile16_blockset_, tile16_blockset_bmp_, tile16_edit_canvas_, Tile16PreviewDisplayPixelToTilePosition(), tile8_preview_bmp_, tile8_source_canvas_, tile8_stamp_size_, yaze::gfx::Arena::UPDATE, yaze::gfx::Bitmap::UpdateSurfacePixels(), yaze::gui::CanvasFrameOptions::use_child_window, x_flip, y_flip, and yaze::gui::Canvas::zero_point().

Referenced by DrawTile16Editor().

◆ LoadTile8()

◆ SetCurrentTile()

◆ RequestTileSwitch()

void yaze::editor::Tile16Editor::RequestTileSwitch ( int target_tile_id)

◆ CopyTile16ToClipboard()

◆ PasteTile16FromClipboard()

◆ SaveTile16ToScratchSpace()

◆ LoadTile16FromScratchSpace()

◆ ClearScratchSpace()

absl::Status yaze::editor::Tile16Editor::ClearScratchSpace ( int slot)

Definition at line 2111 of file tile16_editor.cc.

References yaze::editor::kNumScratchSlots, and scratch_space_.

Referenced by DrawContextMenu(), and Update().

◆ FlipTile16Horizontal()

◆ FlipTile16Vertical()

◆ RotateTile16()

◆ FillTile16WithTile8()

◆ ClearTile16()

◆ CyclePalette()

absl::Status yaze::editor::Tile16Editor::CyclePalette ( bool forward = true)

Definition at line 2247 of file tile16_editor.cc.

References current_palette_, yaze::util::logf(), RefreshAllPalettes(), and RETURN_IF_ERROR.

Referenced by HandleKeyboardShortcuts().

Here is the call graph for this function:

◆ ApplyPaletteToAll()

◆ ApplyPaletteToQuadrant()

◆ PreviewPaletteChange()

◆ Undo()

absl::Status yaze::editor::Tile16Editor::Undo ( )

Definition at line 2446 of file tile16_editor.cc.

References FinalizePendingUndo(), yaze::editor::UndoManager::Undo(), and undo_manager_.

Referenced by DrawCompactActionStatusRow(), and HandleKeyboardShortcuts().

Here is the call graph for this function:

◆ Redo()

absl::Status yaze::editor::Tile16Editor::Redo ( )

Definition at line 2451 of file tile16_editor.cc.

References yaze::editor::UndoManager::Redo(), and undo_manager_.

Referenced by DrawCompactActionStatusRow(), and HandleKeyboardShortcuts().

Here is the call graph for this function:

◆ SaveUndoState()

◆ EnableLivePreview()

void yaze::editor::Tile16Editor::EnableLivePreview ( bool enable)
inline

Definition at line 209 of file tile16_editor.h.

References live_preview_enabled_.

Referenced by DrawContextMenu(), and Update().

◆ UpdateLivePreview()

◆ ValidateTile16Data()

absl::Status yaze::editor::Tile16Editor::ValidateTile16Data ( )

Definition at line 2455 of file tile16_editor.cc.

References current_palette_, and tile16_blockset_.

◆ IsTile16Valid()

bool yaze::editor::Tile16Editor::IsTile16Valid ( int tile_id) const

Definition at line 2471 of file tile16_editor.cc.

References tile16_blockset_.

◆ SaveTile16ToROM()

◆ UpdateOverworldTilemap()

absl::Status yaze::editor::Tile16Editor::UpdateOverworldTilemap ( )

◆ CommitChangesToBlockset()

absl::Status yaze::editor::Tile16Editor::CommitChangesToBlockset ( )

Commit pending changes to the blockset atlas.

Definition at line 2523 of file tile16_editor.cc.

References yaze::gfx::Tilemap::atlas, yaze::gfx::Arena::Get(), yaze::gfx::Bitmap::modified(), yaze::gfx::Arena::QueueTextureCommand(), tile16_blockset_, and yaze::gfx::Arena::UPDATE.

Referenced by DrawContextMenu(), HandleKeyboardShortcuts(), SaveTile16ToROM(), and Update().

Here is the call graph for this function:

◆ CommitChangesToOverworld()

absl::Status yaze::editor::Tile16Editor::CommitChangesToOverworld ( )

Single-tile commit: ROM + blockset + parent refresh callback. Prefer CommitAllChanges() from the main UI; kept for integration tests.

Definition at line 2543 of file tile16_editor.cc.

References CopyTile16ToAtlas(), current_tile16_, current_tile16_data_, has_rom_write_history_, last_rom_write_count_, last_rom_write_time_, yaze::util::logf(), on_changes_committed_, pending_tile16_bitmaps_, pending_tile16_changes_, RETURN_IF_ERROR, tile8_usage_cache_dirty_, UpdateBlocksetBitmap(), and UpdateROMTile16Data().

Here is the call graph for this function:

◆ DiscardChanges()

absl::Status yaze::editor::Tile16Editor::DiscardChanges ( )

Discard current tile's changes (single tile)

Definition at line 2574 of file tile16_editor.cc.

References current_tile16_, yaze::util::logf(), pending_tile16_bitmaps_, pending_tile16_changes_, RETURN_IF_ERROR, SetCurrentTile(), and tile8_usage_cache_dirty_.

Here is the call graph for this function:

◆ has_pending_changes()

bool yaze::editor::Tile16Editor::has_pending_changes ( ) const
inline

◆ pending_changes_count()

int yaze::editor::Tile16Editor::pending_changes_count ( ) const
inline

Get count of tiles with pending changes.

Definition at line 256 of file tile16_editor.h.

References pending_tile16_changes_.

Referenced by UpdateTile16Edit().

◆ is_tile_modified()

bool yaze::editor::Tile16Editor::is_tile_modified ( int tile_id) const
inline

◆ GetPendingTileBitmap()

const gfx::Bitmap * yaze::editor::Tile16Editor::GetPendingTileBitmap ( int tile_id) const
inline

Get preview bitmap for a pending tile (nullptr if not modified)

Definition at line 267 of file tile16_editor.h.

References pending_tile16_bitmaps_.

Referenced by yaze::editor::MapRefreshCoordinator::UpdateBlocksetWithPendingTileChanges().

◆ CommitAllChanges()

◆ DiscardAllChanges()

void yaze::editor::Tile16Editor::DiscardAllChanges ( )

Discard all pending changes (revert to ROM state)

Definition at line 2631 of file tile16_editor.cc.

References current_tile16_, yaze::util::logf(), pending_tile16_bitmaps_, pending_tile16_changes_, SetCurrentTile(), and tile8_usage_cache_dirty_.

Referenced by DrawCompactActionStatusRow().

Here is the call graph for this function:

◆ DiscardCurrentTileChanges()

void yaze::editor::Tile16Editor::DiscardCurrentTileChanges ( )

Discard only the current tile's pending changes.

Definition at line 2651 of file tile16_editor.cc.

References current_tile16_, yaze::util::logf(), pending_tile16_bitmaps_, pending_tile16_changes_, SetCurrentTile(), and tile8_usage_cache_dirty_.

Referenced by DrawCompactActionStatusRow().

Here is the call graph for this function:

◆ MarkCurrentTileModified()

◆ UpdateTile8Palette()

◆ RefreshAllPalettes()

◆ DrawPaletteSettings()

◆ GetActualPaletteSlot()

int yaze::editor::Tile16Editor::GetActualPaletteSlot ( int palette_button,
int sheet_index ) const

Calculate actual palette slot from button.

Parameters
palette_buttonUser-selected palette (0-7)
sheet_indexGraphics sheet the tile8 belongs to (diagnostic only)
Returns
Final palette slot index in 256-color palette

This mirrors the Tile16 metadata render path: (pixel & 0x0F) + (palette_button * 0x10).

Definition at line 2793 of file tile16_editor.cc.

Referenced by AnalyzeTile8SourceData(), DrawBrushAndTilePaletteControls(), GetActualPaletteSlotForCurrentTile16(), PreviewPaletteChange(), UpdateLivePreview(), UpdateTile16Edit(), and UpdateTile8Palette().

◆ GetSheetIndexForTile8()

int yaze::editor::Tile16Editor::GetSheetIndexForTile8 ( int tile8_id) const

Determine which graphics sheet contains a tile8.

Parameters
tile8_idTile8 ID from the graphics buffer
Returns
Graphics chunk index (0-15) based on tile position

Definition at line 2801 of file tile16_editor.cc.

Referenced by PreviewPaletteChange(), UpdateLivePreview(), UpdateTile16Edit(), and UpdateTile8Palette().

◆ GetActualPaletteSlotForCurrentTile16()

int yaze::editor::Tile16Editor::GetActualPaletteSlotForCurrentTile16 ( ) const

Get the palette slot for the current tile being edited.

Returns
Palette slot based on current_palette_

Definition at line 2810 of file tile16_editor.cc.

References current_palette_, and GetActualPaletteSlot().

Referenced by ApplyPaletteToCurrentTile16Bitmap(), DrawBrushAndTilePaletteControls(), and UpdateTile16Edit().

Here is the call graph for this function:

◆ CreateRemappedPaletteForViewing()

gfx::SnesPalette yaze::editor::Tile16Editor::CreateRemappedPaletteForViewing ( const gfx::SnesPalette & source,
int target_row ) const

Create a remapped palette for viewing with user-selected palette.

Parameters
sourceFull 256-color palette
target_rowUser-selected Tile16 palette row (0-7)
Returns
Remapped 256-color palette where all pixels map to target row

Definition at line 2814 of file tile16_editor.cc.

References CreateRemappedPaletteForTile8(), and current_tile8_.

Referenced by RefreshAllPalettes(), and UpdateTile16Edit().

Here is the call graph for this function:

◆ GetEncodedPaletteRow()

int yaze::editor::Tile16Editor::GetEncodedPaletteRow ( uint8_t pixel_value) const

Get the encoded palette row for a pixel value.

Parameters
pixel_valueRaw pixel value from the graphics buffer
Returns
Palette row (0-15) that this pixel would use

Definition at line 2856 of file tile16_editor.cc.

Referenced by AnalyzeTile8SourceData().

◆ UpdateROMTile16Data()

absl::Status yaze::editor::Tile16Editor::UpdateROMTile16Data ( )

Definition at line 566 of file tile16_editor.cc.

References current_tile16_, GetCurrentTile16Data(), yaze::zelda3::kTile16Ptr, yaze::util::logf(), RETURN_IF_ERROR, rom_, and yaze::Rom::WriteTile16().

Referenced by CommitChangesToOverworld(), and SaveTile16ToROM().

Here is the call graph for this function:

◆ RefreshTile16Blockset()

absl::Status yaze::editor::Tile16Editor::RefreshTile16Blockset ( )

◆ GetCurrentTile16Data()

◆ RegenerateTile16BitmapFromROM()

◆ UpdateBlocksetBitmap()

◆ PickTile8FromTile16()

◆ DrawManualTile8Inputs()

◆ SetRom()

void yaze::editor::Tile16Editor::SetRom ( Rom * rom)
inline

Definition at line 351 of file tile16_editor.h.

References rom(), and rom_.

Referenced by yaze::editor::OverworldEditor::Load().

Here is the call graph for this function:

◆ rom()

Rom * yaze::editor::Tile16Editor::rom ( ) const
inline

Definition at line 352 of file tile16_editor.h.

References rom_.

Referenced by SetRom().

◆ SetGameData()

void yaze::editor::Tile16Editor::SetGameData ( zelda3::GameData * game_data)
inline

Definition at line 353 of file tile16_editor.h.

References game_data(), and game_data_.

Referenced by yaze::editor::OverworldEditor::SetGameData().

Here is the call graph for this function:

◆ game_data()

zelda3::GameData * yaze::editor::Tile16Editor::game_data ( ) const
inline

Definition at line 354 of file tile16_editor.h.

References game_data_.

Referenced by ResolveDisplayPalette(), and SetGameData().

◆ set_palette()

◆ set_on_changes_committed()

void yaze::editor::Tile16Editor::set_on_changes_committed ( std::function< absl::Status(const std::vector< Tile16Commit > &)> callback)
inline

Definition at line 389 of file tile16_editor.h.

References on_changes_committed_.

Referenced by yaze::editor::OverworldEditor::Load().

◆ set_on_current_tile_changed()

void yaze::editor::Tile16Editor::set_on_current_tile_changed ( std::function< void(int)> callback)
inline

Optional: invoked after every successful SetCurrentTile (keeps overworld paint selection aligned with the Tile16 editor, including dialog paths).

Definition at line 396 of file tile16_editor.h.

References on_current_tile_changed_.

Referenced by yaze::editor::OverworldEditor::Load().

◆ current_palette()

int yaze::editor::Tile16Editor::current_palette ( ) const
inline

Definition at line 401 of file tile16_editor.h.

References current_palette_.

◆ set_current_palette()

void yaze::editor::Tile16Editor::set_current_palette ( int palette)
inline

Definition at line 402 of file tile16_editor.h.

References current_palette_.

◆ Tile8PreviewBitmapForTesting()

const gfx::Bitmap & yaze::editor::Tile16Editor::Tile8PreviewBitmapForTesting ( ) const
inline

Definition at line 405 of file tile16_editor.h.

References tile8_preview_bmp_.

◆ current_tile16()

int yaze::editor::Tile16Editor::current_tile16 ( ) const
inline

Definition at line 408 of file tile16_editor.h.

References current_tile16_.

Referenced by yaze::editor::OverworldEditor::RequestTile16Selection().

◆ selected_tile16_for_testing()

int yaze::editor::Tile16Editor::selected_tile16_for_testing ( ) const
inline

Definition at line 409 of file tile16_editor.h.

References blockset_selector_, and yaze::gui::TileSelectorWidget::GetSelectedTileID().

Here is the call graph for this function:

◆ current_tile8()

int yaze::editor::Tile16Editor::current_tile8 ( ) const
inline

Definition at line 412 of file tile16_editor.h.

References current_tile8_.

◆ active_quadrant()

int yaze::editor::Tile16Editor::active_quadrant ( ) const
inline

Definition at line 413 of file tile16_editor.h.

References active_quadrant_.

◆ set_active_quadrant()

void yaze::editor::Tile16Editor::set_active_quadrant ( int quadrant)
inline

Definition at line 414 of file tile16_editor.h.

References active_quadrant_.

◆ edit_mode()

Tile16EditMode yaze::editor::Tile16Editor::edit_mode ( ) const
inline

Definition at line 417 of file tile16_editor.h.

References edit_mode_.

◆ set_edit_mode()

void yaze::editor::Tile16Editor::set_edit_mode ( Tile16EditMode mode)
inline

Definition at line 418 of file tile16_editor.h.

References edit_mode_.

◆ AnalyzeTile8SourceData()

◆ CreateRemappedPaletteForTile8()

gfx::SnesPalette yaze::editor::Tile16Editor::CreateRemappedPaletteForTile8 ( const gfx::SnesPalette & source,
int target_row,
int tile8_id ) const
private

◆ FinalizePendingUndo()

◆ RestoreFromSnapshot()

◆ ApplyPaletteToCurrentTile16Bitmap()

◆ ResolveDisplayPalette()

◆ BitmapHasEncodedPaletteRows()

bool yaze::editor::Tile16Editor::BitmapHasEncodedPaletteRows ( const gfx::Bitmap & bitmap) const
private

Definition at line 2882 of file tile16_editor.cc.

References yaze::gfx::Bitmap::data(), yaze::gfx::Bitmap::is_active(), and yaze::gfx::Bitmap::size().

Referenced by ApplyPaletteToCurrentTile16Bitmap(), PreviewPaletteChange(), and UpdateLivePreview().

Here is the call graph for this function:

◆ BuildTile16BitmapFromData()

absl::Status yaze::editor::Tile16Editor::BuildTile16BitmapFromData ( const gfx::Tile16 & tile_data,
gfx::Bitmap * output_bitmap ) const
private

Definition at line 599 of file tile16_editor.cc.

References current_gfx_individual_, and yaze::zelda3::RenderTile16BitmapFromMetadata().

Referenced by DrawToCurrentTile16(), and RegenerateTile16BitmapFromROM().

Here is the call graph for this function:

◆ CopyTileBitmapToBlockset()

void yaze::editor::Tile16Editor::CopyTileBitmapToBlockset ( int tile_id,
const gfx::Bitmap & tile_bitmap )
private

◆ RebuildTile8UsageCache()

absl::Status yaze::editor::Tile16Editor::RebuildTile8UsageCache ( )
private

◆ DrawTile8UsageOverlay()

◆ HandleKeyboardShortcuts()

◆ HasCurrentGfxBitmap()

bool yaze::editor::Tile16Editor::HasCurrentGfxBitmap ( ) const
inlineprivate

◆ HasTile16BlocksetBitmap()

bool yaze::editor::Tile16Editor::HasTile16BlocksetBitmap ( ) const
inlineprivate

Definition at line 599 of file tile16_editor.h.

References yaze::gfx::Bitmap::is_active(), and tile16_blockset_bmp_.

Referenced by CopyTileBitmapToBlockset(), DrawToCurrentTile16(), and UpdateBlocksetBitmap().

Here is the call graph for this function:

◆ CopyTile16ToAtlas()

◆ DrawCompactActionStatusRow()

◆ DrawBrushAndTilePaletteControls()

◆ DrawTile8SourcePanel()

◆ HandleTile8SourceSelection()

absl::Status yaze::editor::Tile16Editor::HandleTile8SourceSelection ( bool right_clicked,
float display_scale )
private

◆ DrawPrimaryActionControls()

absl::Status yaze::editor::Tile16Editor::DrawPrimaryActionControls ( )
private

Definition at line 1806 of file tile16_editor.cc.

References ClearTile16(), CopyTile16ToClipboard(), current_tile16_, PasteTile16FromClipboard(), and RETURN_IF_ERROR.

Referenced by UpdateTile16Edit().

Here is the call graph for this function:

Member Data Documentation

◆ rom_

◆ game_data_

zelda3::GameData* yaze::editor::Tile16Editor::game_data_ = nullptr
private

Definition at line 425 of file tile16_editor.h.

Referenced by game_data(), and SetGameData().

◆ map_blockset_loaded_

bool yaze::editor::Tile16Editor::map_blockset_loaded_ = false
private

Definition at line 426 of file tile16_editor.h.

Referenced by Initialize(), Update(), and UpdateAsPanel().

◆ x_flip

bool yaze::editor::Tile16Editor::x_flip = false
private

◆ y_flip

bool yaze::editor::Tile16Editor::y_flip = false
private

◆ priority_tile

bool yaze::editor::Tile16Editor::priority_tile = false
private

◆ tile_size

int yaze::editor::Tile16Editor::tile_size
private

Definition at line 435 of file tile16_editor.h.

◆ current_tile16_

◆ current_tile8_

◆ current_palette_

◆ active_quadrant_

int yaze::editor::Tile16Editor::active_quadrant_ = 0
private

◆ edit_mode_

◆ clipboard_tile16_

Tile16ClipboardData yaze::editor::Tile16Editor::clipboard_tile16_
private

Definition at line 443 of file tile16_editor.h.

Referenced by CopyTile16ToClipboard(), and PasteTile16FromClipboard().

◆ scratch_space_

std::array<Tile16ScratchData, 4> yaze::editor::Tile16Editor::scratch_space_
private

◆ layout_scratch_

std::array<LayoutScratch, 4> yaze::editor::Tile16Editor::layout_scratch_
private

Definition at line 454 of file tile16_editor.h.

Referenced by DrawScratchSpace(), LoadLayoutFromScratch(), and SaveLayoutToScratch().

◆ undo_manager_

UndoManager yaze::editor::Tile16Editor::undo_manager_
private

Definition at line 457 of file tile16_editor.h.

Referenced by DrawCompactActionStatusRow(), FinalizePendingUndo(), Redo(), and Undo().

◆ pending_undo_before_

std::optional<Tile16Snapshot> yaze::editor::Tile16Editor::pending_undo_before_
private

Definition at line 458 of file tile16_editor.h.

Referenced by FinalizePendingUndo(), and SaveUndoState().

◆ live_preview_enabled_

◆ preview_tile16_

gfx::Bitmap yaze::editor::Tile16Editor::preview_tile16_
private

Definition at line 469 of file tile16_editor.h.

Referenced by PreviewPaletteChange(), and UpdateLivePreview().

◆ preview_dirty_

bool yaze::editor::Tile16Editor::preview_dirty_ = false
private

◆ tile8_preview_bmp_

gfx::Bitmap yaze::editor::Tile16Editor::tile8_preview_bmp_
private

Definition at line 472 of file tile16_editor.h.

Referenced by Tile8PreviewBitmapForTesting(), and UpdateTile16Edit().

◆ selected_tiles_

std::vector<int> yaze::editor::Tile16Editor::selected_tiles_
private

Definition at line 475 of file tile16_editor.h.

Referenced by LoadLayoutFromScratch().

◆ selection_start_tile_

int yaze::editor::Tile16Editor::selection_start_tile_ = -1
private

Definition at line 476 of file tile16_editor.h.

Referenced by LoadLayoutFromScratch().

◆ multi_select_mode_

bool yaze::editor::Tile16Editor::multi_select_mode_ = false
private

Definition at line 477 of file tile16_editor.h.

◆ auto_tile_mode_

bool yaze::editor::Tile16Editor::auto_tile_mode_ = false
private

Definition at line 480 of file tile16_editor.h.

◆ grid_snap_enabled_

bool yaze::editor::Tile16Editor::grid_snap_enabled_ = true
private

Definition at line 481 of file tile16_editor.h.

◆ show_tile_info_

bool yaze::editor::Tile16Editor::show_tile_info_ = true
private

Definition at line 482 of file tile16_editor.h.

◆ show_palette_preview_

bool yaze::editor::Tile16Editor::show_palette_preview_ = true
private

Definition at line 483 of file tile16_editor.h.

Referenced by PreviewPaletteChange().

◆ show_tile_grid_

bool yaze::editor::Tile16Editor::show_tile_grid_ = true
private

Definition at line 484 of file tile16_editor.h.

Referenced by DrawContextMenu(), DrawTile8SourcePanel(), and UpdateTile16Edit().

◆ show_tile_collision_ids_

bool yaze::editor::Tile16Editor::show_tile_collision_ids_ = false
private

Definition at line 485 of file tile16_editor.h.

Referenced by DrawContextMenu(), DrawTile8SourcePanel(), and Initialize().

◆ tile8_stamp_size_

int yaze::editor::Tile16Editor::tile8_stamp_size_ = 1
private

Definition at line 486 of file tile16_editor.h.

Referenced by DrawToCurrentTile16(), and UpdateTile16Edit().

◆ highlight_tile8_usage_

bool yaze::editor::Tile16Editor::highlight_tile8_usage_ = false
private

Definition at line 487 of file tile16_editor.h.

Referenced by DrawTile8SourcePanel(), and DrawTile8UsageOverlay().

◆ tile8_source_display_scale_

float yaze::editor::Tile16Editor::tile8_source_display_scale_ = 4.0f
private

Definition at line 488 of file tile16_editor.h.

Referenced by DrawTile8SourcePanel(), and LoadTile8().

◆ tile8_usage_cache_

zelda3::Tile8UsageIndex yaze::editor::Tile16Editor::tile8_usage_cache_
private

Definition at line 490 of file tile16_editor.h.

Referenced by DrawTile8UsageOverlay(), and RebuildTile8UsageCache().

◆ tile8_usage_cache_dirty_

◆ show_palette_settings_

bool yaze::editor::Tile16Editor::show_palette_settings_ = false
private

Definition at line 494 of file tile16_editor.h.

Referenced by DrawPaletteSettings(), and UpdateTile16Edit().

◆ current_palette_group_

int yaze::editor::Tile16Editor::current_palette_group_ = 0
private

Definition at line 495 of file tile16_editor.h.

Referenced by DrawPaletteSettings().

◆ palette_normalization_mask_

uint8_t yaze::editor::Tile16Editor::palette_normalization_mask_
private
Initial value:
=
0xFF

Definition at line 496 of file tile16_editor.h.

Referenced by DrawPaletteSettings(), and LoadTile8().

◆ auto_normalize_pixels_

bool yaze::editor::Tile16Editor::auto_normalize_pixels_
private

◆ last_edit_time_

std::chrono::steady_clock::time_point yaze::editor::Tile16Editor::last_edit_time_
private

Definition at line 502 of file tile16_editor.h.

Referenced by DrawToCurrentTile16().

◆ batch_mode_

bool yaze::editor::Tile16Editor::batch_mode_ = false
private

Definition at line 503 of file tile16_editor.h.

◆ pending_tile16_changes_

◆ pending_tile16_bitmaps_

◆ show_unsaved_changes_dialog_

bool yaze::editor::Tile16Editor::show_unsaved_changes_dialog_ = false
private

Definition at line 508 of file tile16_editor.h.

Referenced by RequestTileSwitch(), Update(), and UpdateAsPanel().

◆ pending_tile_switch_target_

int yaze::editor::Tile16Editor::pending_tile_switch_target_ = -1
private

Definition at line 509 of file tile16_editor.h.

Referenced by RequestTileSwitch(), Update(), and UpdateAsPanel().

◆ has_rom_write_history_

bool yaze::editor::Tile16Editor::has_rom_write_history_ = false
private

◆ last_rom_write_count_

int yaze::editor::Tile16Editor::last_rom_write_count_ = 0
private

◆ last_rom_write_time_

std::chrono::steady_clock::time_point yaze::editor::Tile16Editor::last_rom_write_time_ {}
private

◆ jump_to_tile_id_

int yaze::editor::Tile16Editor::jump_to_tile_id_ = 0
private

Definition at line 515 of file tile16_editor.h.

Referenced by SetCurrentTile(), and UpdateTile16Edit().

◆ scroll_to_current_

bool yaze::editor::Tile16Editor::scroll_to_current_ = false
private

Definition at line 516 of file tile16_editor.h.

Referenced by LoadLayoutFromScratch(), and UpdateTile16Edit().

◆ current_page_

int yaze::editor::Tile16Editor::current_page_ = 0
private

Definition at line 517 of file tile16_editor.h.

Referenced by UpdateTile16Edit().

◆ kTilesPerPage

constexpr int yaze::editor::Tile16Editor::kTilesPerPage = 64
staticconstexprprivate

Definition at line 518 of file tile16_editor.h.

Referenced by UpdateTile16Edit().

◆ kTilesPerRow

constexpr int yaze::editor::Tile16Editor::kTilesPerRow = 8
staticconstexprprivate

Definition at line 519 of file tile16_editor.h.

Referenced by DrawToCurrentTile16(), and UpdateTile16Edit().

◆ notify_tile16

util::NotifyValue<uint32_t> yaze::editor::Tile16Editor::notify_tile16
private

Definition at line 521 of file tile16_editor.h.

◆ notify_palette

util::NotifyValue<uint8_t> yaze::editor::Tile16Editor::notify_palette
private

Definition at line 522 of file tile16_editor.h.

◆ all_tiles_types_

std::array<uint8_t, 0x200> yaze::editor::Tile16Editor::all_tiles_types_
private

Definition at line 524 of file tile16_editor.h.

Referenced by Initialize().

◆ blockset_canvas_

gui::Canvas yaze::editor::Tile16Editor::blockset_canvas_
private
Initial value:

Definition at line 527 of file tile16_editor.h.

Referenced by DrawTile8UsageOverlay(), Initialize(), UpdateBlockset(), and UpdateTile16Edit().

◆ blockset_selector_

gui::TileSelectorWidget yaze::editor::Tile16Editor::blockset_selector_
private
Initial value:
{
"Tile16BlocksetSelector",
gui::TileSelectorWidget::Config{.show_hover_tooltip = true}}

Definition at line 530 of file tile16_editor.h.

Referenced by Initialize(), LoadLayoutFromScratch(), selected_tile16_for_testing(), SetCurrentTile(), UpdateBlockset(), and UpdateTile16Edit().

◆ tile16_blockset_bmp_

gfx::Bitmap* yaze::editor::Tile16Editor::tile16_blockset_bmp_ = nullptr
private

◆ tile16_edit_canvas_

gui::Canvas yaze::editor::Tile16Editor::tile16_edit_canvas_
private
Initial value:
{
"Tile16EditCanvas",
ImVec2(64, 64),

Definition at line 537 of file tile16_editor.h.

Referenced by DrawPaletteSettings(), Initialize(), and UpdateTile16Edit().

◆ current_tile16_bmp_

◆ tile8_source_canvas_

gui::Canvas yaze::editor::Tile16Editor::tile8_source_canvas_
private
Initial value:
{
"Tile8SourceCanvas",
constexpr int kTilesheetHeight
Definition snes_tile.h:17
constexpr int kTilesheetWidth
Definition snes_tile.h:16

Definition at line 544 of file tile16_editor.h.

Referenced by DrawContextMenu(), DrawPaletteSettings(), DrawTile8SourcePanel(), HandleTile8SourceSelection(), Initialize(), LoadTile8(), Update(), and UpdateTile16Edit().

◆ current_gfx_bmp_

◆ tile_edit_table_

gui::Table yaze::editor::Tile16Editor::tile_edit_table_
private
Initial value:
{"##TileEditTable", 3, ImGuiTableFlags_Borders,
ImVec2(0, 0)}

Definition at line 550 of file tile16_editor.h.

Referenced by Initialize().

◆ tile16_blockset_

◆ current_gfx_individual_

◆ palette_editor_

PaletteEditor yaze::editor::Tile16Editor::palette_editor_
private

Definition at line 556 of file tile16_editor.h.

◆ palette_

gfx::SnesPalette yaze::editor::Tile16Editor::palette_
private

◆ overworld_palette_

gfx::SnesPalette yaze::editor::Tile16Editor::overworld_palette_
private

◆ status_

absl::Status yaze::editor::Tile16Editor::status_
private

◆ on_changes_committed_

std::function<absl::Status(const std::vector<Tile16Commit>&) yaze::editor::Tile16Editor::on_changes_committed_)
private

◆ on_current_tile_changed_

std::function<void(int)> yaze::editor::Tile16Editor::on_current_tile_changed_
private

Definition at line 565 of file tile16_editor.h.

Referenced by set_on_current_tile_changed(), and SetCurrentTile().

◆ current_tile16_data_


The documentation for this class was generated from the following files: