ImGui façade for Tile16 editing; domain state lives in Tile16EditSession. More...
#include <tile16_editor.h>

Public Member Functions | |
| Tile16Editor (Rom *rom, gfx::Tilemap *tile16_blockset) | |
| absl::Status | Initialize (gfx::Bitmap &tile16_blockset_bmp, gfx::Bitmap ¤t_gfx_bmp, std::array< uint8_t, 0x200 > &all_tiles_types) |
| absl::Status | Update () |
| absl::Status | UpdateAsPanel () |
| void | SetOpenGraphicsForQuadrant (std::function< absl::Status(int, int)> callback) |
| absl::Status | OpenGraphicsForActiveQuadrant () |
| void | DrawContextMenu () |
| void | DrawTile16Editor () |
| absl::Status | UpdateBlockset () |
| void | DrawScratchSpace () |
| 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) |
| void | BindDocument (std::vector< gfx::Tile16 > *definitions, UndoManager *history, std::function< void()> before_edit={}) |
| absl::Status | ReplaceCurrentTile (const gfx::Tile16 &data) |
| absl::Status | Undo () |
| absl::Status | Redo () |
| void | EnableLivePreview (bool enable) |
| absl::Status | UpdateLivePreview () |
| absl::Status | ValidateTile16Data () |
| bool | IsTile16Valid (int tile_id) const |
| absl::Status | SaveTile16ToROM () |
| absl::Status | UpdateOverworldTilemap () |
| absl::Status | CommitChangesToBlockset () |
| absl::Status | CommitChangesToOverworld () |
| absl::Status | DiscardChanges () |
| bool | has_pending_changes () const |
| int | pending_changes_count () const |
| bool | is_tile_modified (int tile_id) const |
| const gfx::Bitmap * | GetPendingTileBitmap (int tile_id) const |
| absl::Status | CommitAllChanges () |
| void | DiscardAllChanges () |
| void | DiscardCurrentTileChanges () |
| void | MarkCurrentTileModified () |
| absl::Status | UpdateTile8Palette (int tile8_id) |
| absl::Status | RefreshAllPalettes () |
| void | DrawPaletteSettings () |
| int | GetActualPaletteSlot (int palette_button, int sheet_index) const |
| int | GetSheetIndexForTile8 (int tile8_id) const |
| int | GetActualPaletteSlotForCurrentTile16 () const |
| gfx::SnesPalette | CreateRemappedPaletteForViewing (const gfx::SnesPalette &source, int target_row) const |
| int | GetEncodedPaletteRow (uint8_t pixel_value) const |
| absl::Status | UpdateROMTile16Data () |
| absl::Status | RefreshTile16Blockset () |
| gfx::Tile16 * | GetCurrentTile16Data () |
| absl::Status | RegenerateTile16BitmapFromROM () |
| absl::Status | UpdateBlocksetBitmap () |
| absl::Status | PickTile8FromTile16 (const ImVec2 &position) |
| void | DrawManualTile8Inputs () |
| void | SetRom (Rom *rom) |
| Rom * | rom () const |
| void | SetGameData (zelda3::GameData *game_data) |
| zelda3::GameData * | game_data () const |
| void | set_palette (const gfx::SnesPalette &palette) |
| void | set_on_document_changed (std::function< void(const std::vector< Tile16Commit > &)> callback) |
| 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::Bitmap & | Tile8PreviewBitmapForTesting () 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 |
| absl::Status | SaveLayoutToScratch (int slot) |
| absl::Status | LoadLayoutFromScratch (int slot) |
Static Public Member Functions | |
| static ImVec2 | Tile16PreviewDisplayPixelToTilePosition (const ImVec2 &display_position) |
Private Member Functions | |
| void | DrawTile8UsageOverlay () |
| void | HandleKeyboardShortcuts () |
| absl::Status | DrawTile16NavigationHeader (int total_tiles) |
| absl::Status | DrawTile16EditorWorkbenchColumn (bool show_debug_info, bool show_advanced_controls) |
| absl::Status | DrawCompactActionStatusRow (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 | |
| Tile16EditSession | session_ |
| gfx::Bitmap | stamp_preview_bitmap_ |
| std::vector< int > | selected_tiles_ |
| int | selection_start_tile_ = -1 |
| bool | multi_select_mode_ = false |
| util::NotifyValue< uint32_t > | notify_tile16 |
| util::NotifyValue< uint8_t > | notify_palette |
| gui::Canvas | blockset_canvas_ |
| gui::TileSelectorWidget | blockset_selector_ |
| gui::Canvas | tile16_edit_canvas_ |
| gui::Canvas | tile8_source_canvas_ |
| gui::Table | tile_edit_table_ |
| PaletteEditor | palette_editor_ |
| absl::Status | status_ |
| absl::Status | graphics_open_status_ |
| std::function< absl::Status(int, int)> | open_graphics_for_quadrant_ |
Additional Inherited Members | |
Static Protected Attributes inherited from yaze::gfx::GfxContext | |
| static std::unordered_map< uint8_t, gfx::Paletteset > | palettesets_ |
ImGui façade for Tile16 editing; domain state lives in Tile16EditSession.
Definition at line 31 of file tile16_editor.h.
|
inline |
Definition at line 33 of file tile16_editor.h.
| absl::Status yaze::editor::Tile16Editor::Initialize | ( | gfx::Bitmap & | tile16_blockset_bmp, |
| gfx::Bitmap & | current_gfx_bmp, | ||
| std::array< uint8_t, 0x200 > & | all_tiles_types ) |
Definition at line 41 of file tile16_editor.cc.
References yaze::gui::AddTableColumn(), yaze::gui::TileSelectorWidget::AttachCanvas(), blockset_canvas_, blockset_selector_, yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::current_tile8(), yaze::gui::Canvas::custom_labels_enabled(), yaze::util::HexByte(), yaze::editor::Tile16EditSession::InitializeBitmaps(), yaze::gui::Canvas::InitializeDefaults(), yaze::gui::Canvas::InitializePaletteEditor(), yaze::zelda3::kNumTile16Individual, yaze::gui::Canvas::mutable_labels(), yaze::editor::Tile16EditSession::mutable_priority_tile(), yaze::editor::Tile16EditSession::mutable_show_tile_collision_ids(), yaze::editor::Tile16EditSession::mutable_x_flip(), yaze::editor::Tile16EditSession::mutable_y_flip(), RETURN_IF_ERROR, yaze::editor::Tile16EditSession::rom(), session_, yaze::editor::Tile16EditSession::set_on_tile8_sheet_resized(), yaze::editor::Tile16EditSession::set_on_tile_selection_changed(), yaze::gui::Canvas::SetAutoResize(), yaze::gui::Canvas::SetCanvasSize(), yaze::gui::TileSelectorWidget::SetSelectedTile(), yaze::gui::TileSelectorWidget::SetTileCount(), tile16_edit_canvas_, tile8_source_canvas_, and tile_edit_table_.
Referenced by yaze::editor::OverworldEditor::Load(), and yaze::test::RomDependentTestSuite::RunTile16EditorTest().
| absl::Status yaze::editor::Tile16Editor::Update | ( | ) |
Definition at line 91 of file tile16_editor.cc.
References UpdateAsPanel().

| absl::Status yaze::editor::Tile16Editor::UpdateAsPanel | ( | ) |
Definition at line 100 of file tile16_editor.cc.
References yaze::editor::Tile16EditSession::active_quadrant(), DrawContextMenu(), DrawPaletteSettings(), DrawTile16Editor(), graphics_open_status_, HandleKeyboardShortcuts(), ICON_MD_MENU, yaze::editor::Tile16EditSession::map_blockset_loaded(), OpenGraphicsForActiveQuadrant(), RETURN_IF_ERROR, session_, status_, and UpdateLivePreview().
Referenced by Update().
|
inline |
Definition at line 42 of file tile16_editor.h.
References open_graphics_for_quadrant_.
Referenced by yaze::editor::OverworldEditor::Load().
|
inline |
Definition at line 46 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::active_quadrant(), yaze::editor::Tile16EditSession::current_tile16(), open_graphics_for_quadrant_, and session_.
Referenced by UpdateAsPanel().

| void yaze::editor::Tile16Editor::DrawContextMenu | ( | ) |
Definition at line 71 of file tile16_workbench.cc.
References ClearScratchSpace(), ClearTile16(), CopyTile16ToClipboard(), yaze::editor::Tile16EditSession::current_tile16(), yaze::gui::Canvas::custom_labels_enabled(), FlipTile16Horizontal(), FlipTile16Vertical(), yaze::editor::Tile16ScratchData::has_data, LoadTile16FromScratchSpace(), yaze::editor::Tile16EditSession::mutable_show_tile_collision_ids(), yaze::editor::Tile16EditSession::mutable_show_tile_grid(), PasteTile16FromClipboard(), RotateTile16(), SaveTile16ToScratchSpace(), yaze::editor::Tile16EditSession::scratch_slot(), session_, yaze::editor::Tile16EditSession::show_tile_collision_ids(), yaze::editor::Tile16EditSession::show_tile_grid(), status_, and tile8_source_canvas_.
Referenced by UpdateAsPanel().
| void yaze::editor::Tile16Editor::DrawTile16Editor | ( | ) |
Definition at line 96 of file tile16_editor.cc.
References status_, and UpdateTile16Edit().
Referenced by UpdateAsPanel().

| absl::Status yaze::editor::Tile16Editor::UpdateBlockset | ( | ) |
Definition at line 156 of file tile16_editor.cc.
References yaze::gui::BeginCanvas(), yaze::gui::BeginChildWithScrollbar(), yaze::gui::BeginPadding(), blockset_canvas_, blockset_selector_, yaze::editor::Tile16EditSession::current_tile16(), yaze::gui::CanvasFrameOptions::draw_context_menu, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::CanvasFrameOptions::draw_overlay, yaze::gui::TileSelectorWidget::DrawFilterBar(), yaze::gui::EndCanvas(), yaze::gui::EndPadding(), yaze::gui::TileSelectorWidget::GetSelectedTileID(), yaze::gui::CanvasFrameOptions::grid_step, yaze::util::logf(), yaze::gui::TileSelectorWidget::Render(), yaze::gui::CanvasFrameOptions::render_popups, RequestTileSwitch(), session_, yaze::gui::TileSelectorWidget::SetSelectedTile(), yaze::editor::Tile16EditSession::tile16_blockset_bmp(), and yaze::gui::CanvasFrameOptions::use_child_window.
| void yaze::editor::Tile16Editor::DrawScratchSpace | ( | ) |
Definition at line 1360 of file tile16_workbench.cc.
References yaze::editor::Tile16LayoutScratch::in_use, yaze::editor::Tile16EditSession::layout_scratch(), LoadLayoutFromScratch(), yaze::editor::Tile16LayoutScratch::name, SaveLayoutToScratch(), session_, and status_.
Referenced by DrawTile16EditorWorkbenchColumn().

| absl::Status yaze::editor::Tile16Editor::DrawToCurrentTile16 | ( | ImVec2 | pos, |
| const gfx::Bitmap * | source_tile = nullptr ) |
Definition at line 297 of file tile16_editor.cc.
References yaze::editor::Tile16EditSession::DrawToCurrentTile16(), and session_.

| absl::Status yaze::editor::Tile16Editor::HandleTile16CanvasClick | ( | const ImVec2 & | tile_position, |
| bool | left_click, | ||
| bool | right_click ) |
Definition at line 302 of file tile16_editor.cc.
References yaze::editor::Tile16EditSession::HandleTile16CanvasClick(), and session_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
static |
Definition at line 309 of file tile16_editor.cc.
References yaze::editor::Tile16EditSession::Tile16PreviewDisplayPixelToTilePosition(), yaze::editor::Tile16LocalPos::x, and yaze::editor::Tile16LocalPos::y.
Referenced by DrawTile16EditorWorkbenchColumn().

| absl::Status yaze::editor::Tile16Editor::UpdateTile16Edit | ( | ) |
Definition at line 137 of file tile16_workbench.cc.
References blockset_canvas_, yaze::zelda3::ComputeTile16Count(), DrawCompactActionStatusRow(), DrawPaletteSettings(), DrawTile16EditorWorkbenchColumn(), DrawTile16NavigationHeader(), DrawTile8SourcePanel(), yaze::gui::LayoutHelpers::SectionHeader(), session_, yaze::gui::Canvas::ShowAdvancedCanvasProperties(), yaze::gui::Canvas::ShowScalingControls(), yaze::editor::Tile16EditSession::tile16_blockset(), tile16_edit_canvas_, and tile8_source_canvas_.
Referenced by DrawTile16Editor().
|
inline |
Definition at line 66 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::LoadTile8(), and session_.
Referenced by DrawPaletteSettings().

|
inline |
Definition at line 67 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::SetCurrentTile().
Referenced by yaze::editor::TilePaintingManager::PickTile16FromHoveredCanvas(), yaze::editor::OverworldEditor::RequestTile16Selection(), and yaze::test::RomDependentTestSuite::RunTile16EditorTest().

|
inline |
Definition at line 68 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::RequestTileSwitch(), and session_.
Referenced by DrawTile16EditorWorkbenchColumn(), DrawTile16NavigationHeader(), yaze::editor::OverworldEditor::RequestTile16Selection(), and UpdateBlockset().

|
inline |
Definition at line 72 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::CopyTile16ToClipboard(), and session_.
Referenced by DrawContextMenu(), DrawPrimaryActionControls(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 75 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::PasteTile16FromClipboard(), and session_.
Referenced by DrawContextMenu(), DrawPrimaryActionControls(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 78 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::SaveTile16ToScratchSpace(), and session_.
Referenced by DrawContextMenu().

|
inline |
Definition at line 81 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::LoadTile16FromScratchSpace(), and session_.
Referenced by DrawContextMenu().

|
inline |
Definition at line 84 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::ClearScratchSpace(), and session_.
Referenced by DrawContextMenu().

|
inline |
Definition at line 88 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::FlipTile16Horizontal(), and session_.
Referenced by DrawContextMenu(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 91 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::FlipTile16Vertical(), and session_.
Referenced by DrawContextMenu(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 92 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::RotateTile16(), and session_.
Referenced by DrawContextMenu(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 93 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::FillTile16WithTile8(), and session_.
Referenced by HandleKeyboardShortcuts().

|
inline |
Definition at line 96 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::ClearTile16(), and session_.
Referenced by DrawContextMenu(), DrawPrimaryActionControls(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 98 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::CyclePalette(), and session_.
Referenced by HandleKeyboardShortcuts().

|
inline |
Definition at line 101 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::ApplyPaletteToAll(), and session_.
Referenced by DrawBrushAndTilePaletteControls().

|
inline |
Definition at line 104 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::ApplyPaletteToQuadrant(), and session_.
Referenced by DrawBrushAndTilePaletteControls().

|
inline |
Definition at line 107 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::PreviewPaletteChange(), and session_.

|
inline |
Definition at line 111 of file tile16_editor.h.
Referenced by yaze::editor::OverworldEditor::Load().
|
inline |
Definition at line 115 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::ReplaceCurrentTile(), and session_.
Referenced by DrawManualTile8Inputs().

|
inline |
Definition at line 118 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::Undo().
Referenced by DrawCompactActionStatusRow(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 119 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::Redo(), and session_.
Referenced by DrawCompactActionStatusRow(), and HandleKeyboardShortcuts().

|
inline |
Definition at line 121 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::EnableLivePreview(), and session_.

|
inline |
Definition at line 122 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::UpdateLivePreview().
Referenced by UpdateAsPanel().

|
inline |
Definition at line 124 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::ValidateTile16Data().

|
inline |
Definition at line 125 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::IsTile16Valid(), and session_.

|
inline |
Definition at line 129 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::SaveTile16ToROM(), and session_.

|
inline |
Definition at line 130 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::UpdateOverworldTilemap().

|
inline |
Definition at line 133 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::CommitChangesToBlockset(), and session_.

|
inline |
Definition at line 136 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::CommitChangesToOverworld(), and session_.

|
inline |
Definition at line 139 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::DiscardChanges(), and session_.

|
inline |
Definition at line 141 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::has_pending_changes(), and session_.
Referenced by yaze::editor::MapRefreshCoordinator::UpdateBlocksetWithPendingTileChanges().

|
inline |
Definition at line 142 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::pending_changes_count(), and session_.

|
inline |
Definition at line 143 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::is_tile_modified(), and session_.
Referenced by yaze::editor::MapRefreshCoordinator::UpdateBlocksetWithPendingTileChanges().

|
inline |
Definition at line 146 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::GetPendingTileBitmap(), and session_.
Referenced by yaze::editor::MapRefreshCoordinator::UpdateBlocksetWithPendingTileChanges().

|
inline |
Definition at line 150 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::CommitAllChanges(), and session_.

|
inline |
Definition at line 151 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::DiscardAllChanges(), and session_.

|
inline |
Definition at line 152 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::DiscardCurrentTileChanges(), and session_.

|
inline |
Definition at line 153 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::MarkCurrentTileModified(), and session_.

|
inline |
Definition at line 155 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::UpdateTile8Palette().
Referenced by HandleTile8SourceSelection().

|
inline |
Definition at line 158 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::RefreshAllPalettes(), and session_.
Referenced by DrawBrushAndTilePaletteControls(), and HandleKeyboardShortcuts().

| void yaze::editor::Tile16Editor::DrawPaletteSettings | ( | ) |
Definition at line 1195 of file tile16_workbench.cc.
References yaze::gui::Canvas::ApplyROMPalette(), yaze::editor::Tile16EditSession::current_gfx_bmp(), yaze::editor::Tile16EditSession::current_palette(), yaze::editor::Tile16EditSession::current_palette_group(), yaze::editor::Tile16EditSession::current_tile8(), yaze::gfx::SnesPalette::empty(), HOVER_HINT, LoadTile8(), yaze::util::logf(), yaze::editor::Tile16EditSession::mutable_auto_normalize_pixels(), yaze::editor::Tile16EditSession::mutable_current_gfx_individual(), yaze::editor::Tile16EditSession::mutable_palette_normalization_mask(), yaze::editor::Tile16EditSession::mutable_show_palette_settings(), yaze::editor::Tile16EditSession::palette(), yaze::gfx::Bitmap::palette(), yaze::editor::Tile16EditSession::palette_normalization_mask(), yaze::editor::Tile16EditSession::ResolveDisplayPalette(), yaze::editor::Tile16EditSession::rom(), session_, yaze::editor::Tile16EditSession::show_palette_settings(), yaze::gui::Canvas::ShowColorAnalysis(), yaze::gui::Canvas::ShowPaletteEditor(), yaze::gfx::SnesPalette::size(), tile16_edit_canvas_, and tile8_source_canvas_.
Referenced by UpdateAsPanel(), and UpdateTile16Edit().
|
inline |
Definition at line 161 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::GetActualPaletteSlot(), and session_.
Referenced by DrawBrushAndTilePaletteControls(), and DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 164 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::GetSheetIndexForTile8(), and session_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 167 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::GetActualPaletteSlotForCurrentTile16(), and session_.
Referenced by DrawBrushAndTilePaletteControls(), and DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 170 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::CreateRemappedPaletteForViewing(), and session_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 174 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::GetEncodedPaletteRow(), and session_.

|
inline |
Definition at line 178 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::UpdateROMTile16Data().

|
inline |
Definition at line 179 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::RefreshTile16Blockset(), and session_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 182 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::GetCurrentTile16Data(), and session_.
Referenced by DrawBrushAndTilePaletteControls().

|
inline |
Definition at line 185 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::RegenerateTile16BitmapFromROM(), and session_.

|
inline |
Definition at line 188 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::UpdateBlocksetBitmap().

| absl::Status yaze::editor::Tile16Editor::PickTile8FromTile16 | ( | const ImVec2 & | position | ) |
Definition at line 317 of file tile16_editor.cc.
References yaze::editor::Tile16EditSession::PickTile8FromTile16(), and session_.

| void yaze::editor::Tile16Editor::DrawManualTile8Inputs | ( | ) |
Definition at line 1387 of file tile16_workbench.cc.
References yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::current_tile16_data(), ReplaceCurrentTile(), session_, and status_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 195 of file tile16_editor.h.
References rom(), session_, and yaze::editor::Tile16EditSession::SetRom().
Referenced by yaze::editor::OverworldEditor::Load().

|
inline |
Definition at line 196 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::rom(), and session_.
Referenced by SetRom().

|
inline |
Definition at line 197 of file tile16_editor.h.
References game_data(), session_, and yaze::editor::Tile16EditSession::SetGameData().
Referenced by yaze::editor::OverworldEditor::SetGameData().

|
inline |
Definition at line 200 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::game_data(), and session_.
Referenced by SetGameData().

|
inline |
Definition at line 202 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_palette().
Referenced by yaze::editor::OverworldEditor::Load(), and yaze::editor::MapRefreshCoordinator::RefreshTile16Blockset().

|
inline |
Definition at line 206 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_on_document_changed().
Referenced by yaze::editor::OverworldEditor::Load().

|
inline |
Definition at line 210 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_on_changes_committed().

|
inline |
Definition at line 214 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_on_current_tile_changed().
Referenced by yaze::editor::OverworldEditor::Load().

|
inline |
Definition at line 218 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::current_palette(), and session_.

|
inline |
Definition at line 219 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_current_palette().

|
inline |
Definition at line 222 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::Tile8PreviewBitmap().

|
inline |
Definition at line 225 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::current_tile16(), and session_.
Referenced by yaze::editor::OverworldEditor::RequestTile16Selection().

|
inline |
Definition at line 226 of file tile16_editor.h.
References blockset_selector_, and yaze::gui::TileSelectorWidget::GetSelectedTileID().

|
inline |
Definition at line 229 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::current_tile8(), and session_.

|
inline |
Definition at line 230 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::active_quadrant(), and session_.

|
inline |
Definition at line 231 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_active_quadrant().

|
inline |
Definition at line 234 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::edit_mode(), and session_.

|
inline |
Definition at line 235 of file tile16_editor.h.
References session_, and yaze::editor::Tile16EditSession::set_edit_mode().

|
inline |
Definition at line 237 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::AnalyzeTile8SourceData(), and session_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
inline |
Definition at line 239 of file tile16_editor.h.
References yaze::editor::Tile16EditSession::SaveLayoutToScratch(), and session_.
Referenced by DrawScratchSpace().

| absl::Status yaze::editor::Tile16Editor::LoadLayoutFromScratch | ( | int | slot | ) |
Definition at line 321 of file tile16_editor.cc.
References blockset_selector_, yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::layout_scratch(), yaze::editor::Tile16EditSession::LoadLayoutFromScratch(), RETURN_IF_ERROR, selected_tiles_, selection_start_tile_, session_, yaze::gui::TileSelectorWidget::SetSelectedTile(), and yaze::editor::Tile16LayoutScratch::tile_layout.
Referenced by DrawScratchSpace().

|
private |
Definition at line 1150 of file tile16_workbench.cc.
References blockset_canvas_, yaze::editor::Tile16EditSession::current_tile8(), yaze::gui::Canvas::GetGlobalScale(), yaze::editor::Tile16EditSession::highlight_tile8_usage(), yaze::zelda3::kMaxTile8UsageId, yaze::editor::kTile16Size, yaze::util::logf(), yaze::editor::Tile16EditSession::RebuildTile8UsageCache(), session_, yaze::editor::Tile16EditSession::tile16_blockset_bmp(), yaze::editor::Tile16EditSession::tile8_usage_cache(), yaze::editor::Tile16EditSession::tile8_usage_cache_dirty(), yaze::gfx::Bitmap::width(), and yaze::gui::Canvas::zero_point().
Referenced by DrawTile16EditorWorkbenchColumn().
|
private |
Definition at line 203 of file tile16_editor.cc.
References ClearTile16(), CopyTile16ToClipboard(), yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::current_tile8(), CyclePalette(), FillTile16WithTile8(), FlipTile16Horizontal(), FlipTile16Vertical(), yaze::editor::Tile16EditSession::has_shared_history(), yaze::editor::kPaint, yaze::editor::kPick, yaze::editor::kUsageProbe, yaze::editor::Tile16EditSession::mutable_current_gfx_individual(), yaze::editor::Tile16NumericShortcutResult::palette_id, PasteTile16FromClipboard(), yaze::editor::Tile16NumericShortcutResult::quadrant_focus, Redo(), RefreshAllPalettes(), yaze::editor::ResolveTile16NumericShortcut(), RotateTile16(), session_, yaze::editor::Tile16EditSession::set_active_quadrant(), yaze::editor::Tile16EditSession::set_current_palette(), yaze::editor::Tile16EditSession::set_edit_mode(), status_, and Undo().
Referenced by UpdateAsPanel().
|
private |
Definition at line 218 of file tile16_workbench.cc.
References yaze::editor::Tile16EditSession::current_page(), yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::jump_to_tile_id(), yaze::editor::Tile16EditSession::kTilesPerPage, yaze::editor::Tile16EditSession::kTilesPerRow, yaze::editor::Tile16EditSession::mutable_jump_to_tile_id(), RequestTileSwitch(), session_, yaze::editor::Tile16EditSession::set_current_page(), and yaze::editor::Tile16EditSession::set_scroll_to_current().
Referenced by UpdateTile16Edit().
|
private |
Definition at line 339 of file tile16_workbench.cc.
References AnalyzeTile8SourceData(), yaze::gui::BeginCanvas(), blockset_canvas_, blockset_selector_, yaze::editor::Tile16EditSession::BuildStampPreview(), yaze::gui::CanvasFrameOptions::canvas_size, yaze::gfx::Bitmap::Create(), yaze::gfx::Arena::CREATE, CreateRemappedPaletteForViewing(), yaze::editor::Tile16EditSession::current_gfx_bmp(), yaze::editor::Tile16EditSession::current_palette(), yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::current_tile16_bmp(), yaze::editor::Tile16EditSession::current_tile8(), yaze::gui::CanvasFrameOptions::draw_context_menu, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::CanvasFrameOptions::draw_overlay, yaze::gui::Canvas::DrawBitmap(), DrawBrushAndTilePaletteControls(), DrawManualTile8Inputs(), DrawPrimaryActionControls(), DrawScratchSpace(), DrawTile8UsageOverlay(), yaze::editor::Tile16EditSession::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(), yaze::editor::Tile16EditSession::highlight_tile8_usage(), HOVER_HINT, yaze::gfx::Bitmap::is_active(), yaze::editor::kPaint, yaze::editor::kPick, yaze::editor::kTile8DisplayScale, yaze::editor::kTile8PixelCount, yaze::editor::kTile8Size, yaze::editor::kUsageProbe, yaze::util::logf(), yaze::editor::Tile16EditSession::mutable_current_gfx_individual(), yaze::gfx::Bitmap::mutable_data(), yaze::editor::Tile16EditSession::mutable_highlight_tile8_usage(), yaze::editor::Tile16EditSession::mutable_priority_tile(), yaze::editor::Tile16EditSession::mutable_show_palette_settings(), yaze::editor::Tile16EditSession::mutable_tile8_preview_bitmap(), yaze::editor::Tile16EditSession::mutable_x_flip(), yaze::editor::Tile16EditSession::mutable_y_flip(), yaze::editor::Tile16EditSession::overworld_palette(), yaze::editor::Tile16EditSession::palette(), yaze::gfx::Bitmap::palette(), yaze::gfx::Arena::QueueTextureCommand(), RefreshTile16Blockset(), yaze::gui::TileSelectorWidget::Render(), yaze::gui::CanvasFrameOptions::render_popups, RequestTileSwitch(), session_, yaze::editor::Tile16EditSession::set_edit_mode(), yaze::editor::Tile16EditSession::set_tile8_stamp_size(), yaze::gfx::Bitmap::SetPalette(), yaze::gui::TileSelectorWidget::SetSelectedTile(), yaze::editor::Tile16EditSession::show_palette_settings(), yaze::editor::Tile16EditSession::show_tile_grid(), yaze::gfx::SnesPalette::size(), stamp_preview_bitmap_, yaze::gfx::Bitmap::texture(), yaze::editor::Tile16EditSession::tile16_blockset_bmp(), tile16_edit_canvas_, Tile16PreviewDisplayPixelToTilePosition(), yaze::editor::Tile16EditSession::tile8_stamp_size(), yaze::gfx::Arena::UPDATE, yaze::gfx::Bitmap::UpdateSurfacePixels(), yaze::gui::CanvasFrameOptions::use_child_window, yaze::editor::Tile16EditSession::x_flip(), yaze::editor::Tile16EditSession::y_flip(), and yaze::gui::Canvas::zero_point().
Referenced by UpdateTile16Edit().
|
private |
Definition at line 707 of file tile16_workbench.cc.
References yaze::editor::Tile16EditSession::CanRedo(), yaze::editor::Tile16EditSession::CanUndo(), yaze::editor::ComputeTile16ActionRowCount(), yaze::editor::ComputeTile16CompactActionColumnCount(), yaze::editor::Tile16EditSession::current_tile16(), yaze::editor::Tile16EditSession::edit_mode(), Redo(), session_, and Undo().
Referenced by UpdateTile16Edit().
|
private |
Definition at line 790 of file tile16_workbench.cc.
References yaze::gui::ButtonColorSet::active, yaze::editor::Tile16EditSession::active_quadrant(), ApplyPaletteToAll(), ApplyPaletteToQuadrant(), yaze::gui::ButtonColorSet::button, yaze::editor::ComputeTile16PaletteButtonSize(), yaze::gui::CopyToClipboardItem(), yaze::editor::Tile16EditSession::current_palette(), yaze::gui::CanvasMenuItem::Destructive(), yaze::gui::GetAccentColor(), GetActualPaletteSlot(), GetActualPaletteSlotForCurrentTile16(), GetCurrentTile16Data(), yaze::gui::GetPrimaryButtonColors(), yaze::gui::GetSuccessButtonColors(), yaze::gui::GetSuccessColor(), yaze::gui::GetThemeColor(), yaze::gfx::TileInfo::horizontal_mirror_, HOVER_HINT, yaze::gui::ButtonColorSet::hovered, ICON_MD_BRUSH, ICON_MD_FORMAT_COLOR_FILL, yaze::gfx::TileInfo::id_, yaze::gui::ItemContextMenu(), yaze::util::logf(), yaze::gfx::TileInfo::over_, yaze::editor::Tile16EditSession::overworld_palette(), yaze::gfx::TileInfo::palette_, RefreshAllPalettes(), session_, yaze::editor::Tile16EditSession::set_active_quadrant(), yaze::editor::Tile16EditSession::set_current_palette(), yaze::gui::Success, yaze::gui::ThemedText(), yaze::zelda3::Tile16QuadrantInfo(), and yaze::gfx::TileInfo::vertical_mirror_.
Referenced by DrawTile16EditorWorkbenchColumn().
|
private |
Definition at line 1027 of file tile16_workbench.cc.
References yaze::gui::BeginCanvas(), yaze::editor::ComputeTile8SourceDisplayScale(), yaze::editor::ComputeTile8SourcePanelHeight(), yaze::editor::ComputeTile8UsageHighlight(), yaze::editor::Tile16EditSession::current_gfx_bmp(), yaze::gui::Canvas::custom_labels_enabled(), yaze::gui::CanvasFrameOptions::draw_context_menu, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::CanvasFrameOptions::draw_overlay, yaze::gui::Canvas::DrawBitmap(), yaze::gui::Canvas::DrawTileSelector(), yaze::editor::Tile16EditSession::edit_mode(), yaze::gui::EndCanvas(), yaze::gui::CanvasFrameOptions::grid_step, HandleTile8SourceSelection(), yaze::gfx::Bitmap::height(), yaze::gfx::Bitmap::is_active(), yaze::editor::kUsageProbe, yaze::editor::Tile16EditSession::mutable_highlight_tile8_usage(), yaze::editor::Tile16EditSession::mutable_show_tile_collision_ids(), yaze::editor::Tile16EditSession::mutable_show_tile_grid(), yaze::editor::Tile16EditSession::mutable_tile8_source_display_scale(), yaze::gui::CanvasFrameOptions::render_popups, session_, yaze::gui::Canvas::set_draggable(), yaze::gui::Canvas::SetCanvasSize(), yaze::editor::Tile16EditSession::show_tile_collision_ids(), yaze::editor::Tile16EditSession::show_tile_grid(), tile8_source_canvas_, yaze::editor::Tile16EditSession::tile8_source_display_scale(), yaze::gui::CanvasFrameOptions::use_child_window, and yaze::gfx::Bitmap::width().
Referenced by UpdateTile16Edit().
|
private |
Definition at line 1108 of file tile16_workbench.cc.
References yaze::editor::ComputeTile8IndexFromCanvasMouse(), yaze::editor::Tile16EditSession::current_gfx_bmp(), yaze::editor::Tile16EditSession::current_tile8(), yaze::util::logf(), yaze::editor::Tile16EditSession::mutable_current_gfx_individual(), RETURN_IF_ERROR, session_, yaze::editor::Tile16EditSession::set_current_tile8(), yaze::editor::Tile16EditSession::set_tile8_usage_cache_dirty(), tile8_source_canvas_, UpdateTile8Palette(), yaze::gfx::Bitmap::width(), and yaze::gui::Canvas::zero_point().
Referenced by DrawTile8SourcePanel().
|
private |
Definition at line 1133 of file tile16_workbench.cc.
References ClearTile16(), CopyTile16ToClipboard(), yaze::editor::Tile16EditSession::current_tile16(), PasteTile16FromClipboard(), RETURN_IF_ERROR, and session_.
Referenced by DrawTile16EditorWorkbenchColumn().

|
private |
Definition at line 259 of file tile16_editor.h.
Referenced by active_quadrant(), AnalyzeTile8SourceData(), ApplyPaletteToAll(), ApplyPaletteToQuadrant(), ClearScratchSpace(), ClearTile16(), CommitAllChanges(), CommitChangesToBlockset(), CommitChangesToOverworld(), CopyTile16ToClipboard(), CreateRemappedPaletteForViewing(), current_palette(), current_tile16(), current_tile8(), CyclePalette(), DiscardAllChanges(), DiscardChanges(), DiscardCurrentTileChanges(), DrawBrushAndTilePaletteControls(), DrawCompactActionStatusRow(), DrawContextMenu(), DrawManualTile8Inputs(), DrawPaletteSettings(), DrawPrimaryActionControls(), DrawScratchSpace(), DrawTile16EditorWorkbenchColumn(), DrawTile16NavigationHeader(), DrawTile8SourcePanel(), DrawTile8UsageOverlay(), DrawToCurrentTile16(), edit_mode(), EnableLivePreview(), FillTile16WithTile8(), FlipTile16Horizontal(), FlipTile16Vertical(), game_data(), GetActualPaletteSlot(), GetActualPaletteSlotForCurrentTile16(), GetCurrentTile16Data(), GetEncodedPaletteRow(), GetPendingTileBitmap(), GetSheetIndexForTile8(), HandleKeyboardShortcuts(), HandleTile16CanvasClick(), HandleTile8SourceSelection(), has_pending_changes(), Initialize(), is_tile_modified(), IsTile16Valid(), LoadLayoutFromScratch(), LoadTile16FromScratchSpace(), LoadTile8(), MarkCurrentTileModified(), OpenGraphicsForActiveQuadrant(), PasteTile16FromClipboard(), pending_changes_count(), PickTile8FromTile16(), PreviewPaletteChange(), Redo(), RefreshAllPalettes(), RefreshTile16Blockset(), RegenerateTile16BitmapFromROM(), ReplaceCurrentTile(), RequestTileSwitch(), rom(), RotateTile16(), SaveLayoutToScratch(), SaveTile16ToROM(), SaveTile16ToScratchSpace(), set_active_quadrant(), set_current_palette(), set_edit_mode(), set_on_changes_committed(), set_on_current_tile_changed(), set_on_document_changed(), set_palette(), SetCurrentTile(), SetGameData(), SetRom(), Tile8PreviewBitmapForTesting(), Undo(), UpdateAsPanel(), UpdateBlockset(), UpdateBlocksetBitmap(), UpdateLivePreview(), UpdateOverworldTilemap(), UpdateROMTile16Data(), UpdateTile16Edit(), UpdateTile8Palette(), and ValidateTile16Data().
|
private |
Definition at line 260 of file tile16_editor.h.
Referenced by DrawTile16EditorWorkbenchColumn().
|
private |
Definition at line 262 of file tile16_editor.h.
Referenced by LoadLayoutFromScratch().
|
private |
Definition at line 263 of file tile16_editor.h.
Referenced by LoadLayoutFromScratch().
|
private |
Definition at line 264 of file tile16_editor.h.
|
private |
Definition at line 266 of file tile16_editor.h.
|
private |
Definition at line 267 of file tile16_editor.h.
|
private |
Definition at line 269 of file tile16_editor.h.
Referenced by DrawTile16EditorWorkbenchColumn(), DrawTile8UsageOverlay(), Initialize(), UpdateBlockset(), and UpdateTile16Edit().
|
private |
Definition at line 272 of file tile16_editor.h.
Referenced by DrawTile16EditorWorkbenchColumn(), Initialize(), LoadLayoutFromScratch(), selected_tile16_for_testing(), and UpdateBlockset().
|
private |
Definition at line 276 of file tile16_editor.h.
Referenced by DrawPaletteSettings(), DrawTile16EditorWorkbenchColumn(), Initialize(), and UpdateTile16Edit().
|
private |
Definition at line 278 of file tile16_editor.h.
Referenced by DrawContextMenu(), DrawPaletteSettings(), DrawTile8SourcePanel(), HandleTile8SourceSelection(), Initialize(), and UpdateTile16Edit().
|
private |
Definition at line 283 of file tile16_editor.h.
Referenced by Initialize().
|
private |
Definition at line 286 of file tile16_editor.h.
|
private |
Definition at line 287 of file tile16_editor.h.
Referenced by DrawContextMenu(), DrawManualTile8Inputs(), DrawScratchSpace(), DrawTile16Editor(), HandleKeyboardShortcuts(), and UpdateAsPanel().
|
private |
Definition at line 288 of file tile16_editor.h.
Referenced by UpdateAsPanel().
|
private |
Definition at line 289 of file tile16_editor.h.
Referenced by OpenGraphicsForActiveQuadrant(), and SetOpenGraphicsForQuadrant().