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 GetPaletteSlotForSheet (int sheet_index) const
 Get base palette slot for a graphics sheet.
 
int GetActualPaletteSlot (int palette_button, int sheet_index) const
 Calculate actual palette slot from button + sheet.
 
int GetPaletteBaseForSheet (int sheet_index) const
 Get palette base row for a graphics sheet.
 
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()> callback)
 
void set_on_current_tile_changed (std::function< void(int)> callback)
 
int current_palette () const
 
void set_current_palette (int palette)
 
int current_tile16 () 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
 

Private Member Functions

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)
 
void DrawEditorHeader (bool show_debug_info)
 
void DrawEditorHeaderToggles (bool *show_debug_info, bool *show_advanced_controls)
 
void DrawStagedStateBar (bool has_pending, bool current_tile_pending, int pending_count)
 
absl::Status DrawBrushAndTilePaletteControls (bool show_debug_info)
 
absl::Status DrawTile8SourcePanel ()
 
absl::Status HandleTile8SourceSelection (bool right_clicked)
 
absl::Status DrawPrimaryActionControls ()
 
absl::Status DrawBottomActionRail (bool has_pending, bool current_tile_pending, int pending_count)
 

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
 
int tile8_stamp_size_ = 1
 
bool highlight_tile8_usage_ = false
 
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()> 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 134 of file tile16_editor.h.

Constructor & Destructor Documentation

◆ Tile16Editor()

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

Definition at line 136 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 318 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 313 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 3448 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 3475 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 674 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 )

◆ UpdateTile16Edit()

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

Definition at line 812 of file tile16_editor.cc.

References AnalyzeTile8SourceData(), auto_normalize_pixels_, yaze::gui::BeginCanvas(), blockset_canvas_, yaze::gui::CanvasFrameOptions::canvas_size, yaze::zelda3::ComputeTile16Count(), yaze::gfx::Bitmap::Create(), yaze::gfx::Arena::CREATE, 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(), DrawBottomActionRail(), DrawBrushAndTilePaletteControls(), DrawEditorHeader(), DrawEditorHeaderToggles(), DrawManualTile8Inputs(), DrawPaletteSettings(), DrawPrimaryActionControls(), DrawScratchSpace(), DrawStagedStateBar(), DrawTile8SourcePanel(), DrawTile8UsageOverlay(), yaze::gui::Canvas::DrawTilePainter(), yaze::gui::Canvas::DrawTileSelector(), edit_mode_, yaze::gfx::SnesPalette::empty(), yaze::gui::EndCanvas(), yaze::gfx::Arena::Get(), GetActualPaletteSlot(), GetActualPaletteSlotForCurrentTile16(), yaze::gui::Canvas::GetGlobalScale(), GetSheetIndexForTile8(), yaze::gui::CanvasFrameOptions::grid_step, HandleTile16CanvasClick(), has_pending_changes(), HOVER_HINT, yaze::gfx::Bitmap::is_active(), is_tile_modified(), yaze::gui::Canvas::IsMouseHovering(), jump_to_tile_id_, yaze::editor::kPaint, yaze::editor::kPick, yaze::editor::kTile8DisplayScale, yaze::editor::kTile8PixelCount, 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::CanvasFrameOptions::render_popups, RequestTileSwitch(), RETURN_IF_ERROR, scroll_to_current_, yaze::gfx::Bitmap::SetPalette(), yaze::gfx::Bitmap::SetPaletteWithTransparent(), show_palette_settings_, yaze::gui::Canvas::ShowAdvancedCanvasProperties(), yaze::gui::Canvas::ShowScalingControls(), yaze::gfx::SnesPalette::size(), yaze::gfx::Bitmap::texture(), tile16_blockset_, tile16_blockset_bmp_, tile16_edit_canvas_, 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 2202 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 2338 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 2537 of file tile16_editor.cc.

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

Referenced by DrawBottomActionRail(), and HandleKeyboardShortcuts().

Here is the call graph for this function:

◆ Redo()

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

Definition at line 2542 of file tile16_editor.cc.

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

Referenced by HandleKeyboardShortcuts().

Here is the call graph for this function:

◆ SaveUndoState()

◆ EnableLivePreview()

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

Definition at line 208 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 2546 of file tile16_editor.cc.

References current_palette_, and tile16_blockset_.

◆ IsTile16Valid()

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

Definition at line 2562 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 2614 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 2634 of file tile16_editor.cc.

References CopyTile16ToAtlas(), current_tile16_, 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 2662 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 255 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 266 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 2716 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 DrawBottomActionRail().

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 2736 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 DrawBottomActionRail().

Here is the call graph for this function:

◆ MarkCurrentTileModified()

◆ UpdateTile8Palette()

absl::Status yaze::editor::Tile16Editor::UpdateTile8Palette ( int tile8_id)

◆ RefreshAllPalettes()

◆ DrawPaletteSettings()

◆ GetPaletteSlotForSheet()

int yaze::editor::Tile16Editor::GetPaletteSlotForSheet ( int sheet_index) const

Get base palette slot for a graphics sheet.

Parameters
sheet_indexGraphics sheet index (0-7)
Returns
Base palette offset (e.g., 10 for AUX, 2 for MAIN)

Definition at line 2874 of file tile16_editor.cc.

References current_palette_.

◆ GetActualPaletteSlot()

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

Calculate actual palette slot from button + sheet.

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

This is the core palette mapping function. It combines:

  • palette_button: Which of 8 sub-palettes user selected
  • sheet_index: Which graphics sheet contains the tile8 To produce the actual 256-color palette index.

Definition at line 2908 of file tile16_editor.cc.

References GetPaletteBaseForSheet().

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

Here is the call graph for this function:

◆ GetPaletteBaseForSheet()

int yaze::editor::Tile16Editor::GetPaletteBaseForSheet ( int sheet_index) const

Get palette base row for a graphics sheet.

Parameters
sheet_indexGraphics sheet index (0-7)
Returns
Base row index in the 16-row palette structure

Definition at line 2945 of file tile16_editor.cc.

Referenced by CreateRemappedPaletteForViewing(), and GetActualPaletteSlot().

◆ 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
Sheet index (0-7) based on tile position

Definition at line 2919 of file tile16_editor.cc.

Referenced by CreateRemappedPaletteForViewing(), GetActualPaletteSlotForCurrentTile16(), 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_tile8_ and current_palette_

Definition at line 2931 of file tile16_editor.cc.

References current_gfx_individual_, current_palette_, current_tile8_, GetActualPaletteSlot(), and GetSheetIndexForTile8().

Referenced by ApplyPaletteToCurrentTile16Bitmap(), DrawBrushAndTilePaletteControls(), DrawEditorHeader(), 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 palette row (0-7 maps to the sheet base)
Returns
Remapped 256-color palette where all pixels map to target row

Definition at line 2975 of file tile16_editor.cc.

References yaze::gfx::SnesPalette::AddColor(), current_gfx_individual_, current_tile8_, GetPaletteBaseForSheet(), GetSheetIndexForTile8(), and yaze::gfx::SnesPalette::size().

Referenced by RefreshAllPalettes().

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 3018 of file tile16_editor.cc.

Referenced by AnalyzeTile8SourceData().

◆ UpdateROMTile16Data()

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

Definition at line 554 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 362 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 363 of file tile16_editor.h.

References rom_.

Referenced by SetRom().

◆ SetGameData()

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

Definition at line 364 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 365 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()> callback)
inline

Definition at line 400 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 406 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 411 of file tile16_editor.h.

References current_palette_.

◆ set_current_palette()

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

Definition at line 412 of file tile16_editor.h.

References current_palette_.

◆ current_tile16()

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

Definition at line 415 of file tile16_editor.h.

References current_tile16_.

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

◆ current_tile8()

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

Definition at line 416 of file tile16_editor.h.

References current_tile8_.

◆ active_quadrant()

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

Definition at line 417 of file tile16_editor.h.

References active_quadrant_.

◆ set_active_quadrant()

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

Definition at line 418 of file tile16_editor.h.

References active_quadrant_.

◆ edit_mode()

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

Definition at line 421 of file tile16_editor.h.

References edit_mode_.

◆ set_edit_mode()

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

Definition at line 422 of file tile16_editor.h.

References edit_mode_.

◆ AnalyzeTile8SourceData()

◆ FinalizePendingUndo()

◆ RestoreFromSnapshot()

◆ ApplyPaletteToCurrentTile16Bitmap()

◆ ResolveDisplayPalette()

◆ BitmapHasEncodedPaletteRows()

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

Definition at line 3044 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 587 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

Definition at line 591 of file tile16_editor.h.

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

Referenced by AnalyzeTile8SourceData(), FillTile16WithTile8(), LoadTile8(), RefreshAllPalettes(), and RegenerateTile16BitmapFromROM().

Here is the call graph for this function:

◆ HasTile16BlocksetBitmap()

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

Definition at line 595 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()

◆ DrawEditorHeader()

void yaze::editor::Tile16Editor::DrawEditorHeader ( bool show_debug_info)
private

Definition at line 1422 of file tile16_editor.cc.

References active_quadrant_, current_palette_, current_tile16_, edit_mode_, GetActualPaletteSlotForCurrentTile16(), GetCurrentTile16Data(), and highlight_tile8_usage_.

Referenced by UpdateTile16Edit().

Here is the call graph for this function:

◆ DrawEditorHeaderToggles()

void yaze::editor::Tile16Editor::DrawEditorHeaderToggles ( bool * show_debug_info,
bool * show_advanced_controls )
private

Definition at line 1488 of file tile16_editor.cc.

Referenced by UpdateTile16Edit().

◆ DrawStagedStateBar()

void yaze::editor::Tile16Editor::DrawStagedStateBar ( bool has_pending,
bool current_tile_pending,
int pending_count )
private

◆ DrawBrushAndTilePaletteControls()

◆ DrawTile8SourcePanel()

◆ HandleTile8SourceSelection()

◆ DrawPrimaryActionControls()

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

Definition at line 1804 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:

◆ DrawBottomActionRail()

Member Data Documentation

◆ rom_

◆ game_data_

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

Definition at line 429 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 430 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 DrawBottomActionRail(), 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 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().

◆ tile8_stamp_size_

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

Definition at line 484 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 485 of file tile16_editor.h.

Referenced by DrawEditorHeader(), DrawTile8SourcePanel(), and DrawTile8UsageOverlay().

◆ tile8_usage_cache_

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

Definition at line 487 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 491 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 492 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 493 of file tile16_editor.h.

Referenced by DrawPaletteSettings(), LoadTile8(), and SetCurrentTile().

◆ 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 499 of file tile16_editor.h.

Referenced by DrawToCurrentTile16().

◆ batch_mode_

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

Definition at line 500 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 505 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 506 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 512 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 513 of file tile16_editor.h.

Referenced by LoadLayoutFromScratch(), and UpdateTile16Edit().

◆ current_page_

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

Definition at line 514 of file tile16_editor.h.

Referenced by UpdateTile16Edit().

◆ kTilesPerPage

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

Definition at line 515 of file tile16_editor.h.

Referenced by UpdateTile16Edit().

◆ kTilesPerRow

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

Definition at line 516 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 518 of file tile16_editor.h.

◆ notify_palette

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

Definition at line 519 of file tile16_editor.h.

◆ all_tiles_types_

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

Definition at line 521 of file tile16_editor.h.

Referenced by Initialize().

◆ blockset_canvas_

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

Definition at line 524 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 527 of file tile16_editor.h.

Referenced by Initialize(), LoadLayoutFromScratch(), and UpdateBlockset().

◆ 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 534 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 541 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 547 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 553 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()> 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 561 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: