Panel for editing the tile8 composition of dungeon objects. More...
#include <object_tile_editor_panel.h>

Classes | |
| struct | CustomLayoutBaseline |
| struct | SourceImpactDisplayCacheKey |
| struct | SourceImpactSnapshot |
Public Types | |
| using | StandardWritePreflightCallback |
| using | TilesAppliedCallback = std::function<void()> |
Public Member Functions | |
| ObjectTileEditorPanel (gfx::IRenderer *renderer, Rom *rom) | |
| ~ObjectTileEditorPanel () override | |
| std::string | GetId () const override |
| Unique identifier for this panel. | |
| std::string | GetDisplayName () const override |
| Human-readable name shown in menus and title bars. | |
| std::string | GetIcon () const override |
| Material Design icon for this panel. | |
| std::string | GetEditorCategory () const override |
| Editor category this panel belongs to. | |
| int | GetPriority () const override |
| Get display priority for menu ordering. | |
| std::string | GetWorkflowGroup () const override |
| Optional workflow group for hack-centric actions. | |
| float | GetPreferredWidth () const override |
| Get preferred width for this panel (optional) | |
| float | GetPreferredHeight () const override |
| Get preferred height for this panel (optional) | |
| void | Draw (bool *p_open) override |
| Draw the panel content. | |
| void | OnClose () override |
| Called when panel is hidden. | |
| absl::Status | OpenForObject (int16_t object_id, int room_id, DungeonRoomStore *rooms) |
| absl::Status | OpenForObject (int16_t object_id, int room_id, DungeonRoomStore *rooms, const gfx::PaletteGroup &palette_group) |
| absl::Status | OpenForCustomObject (int16_t object_id, int subtype, int room_id, DungeonRoomStore *rooms) |
| absl::Status | OpenForCustomObject (int16_t object_id, int subtype, int room_id, DungeonRoomStore *rooms, const gfx::PaletteGroup &palette_group) |
| void | Close () |
| bool | IsOpen () const |
| int | current_room_id () const |
| bool | HasUnappliedChanges () const |
| void | SetCurrentPaletteGroup (const gfx::PaletteGroup &group) |
| void | SetCurrentPaletteGroupForRoom (int room_id, const gfx::PaletteGroup &group) |
| void | SetStandardWritePreflightCallback (StandardWritePreflightCallback callback) |
| void | SetTilesAppliedCallback (TilesAppliedCallback callback) |
Public Member Functions inherited from yaze::editor::WindowContent | |
| virtual | ~WindowContent ()=default |
| virtual void | OnFirstDraw () |
| Called once before the first Draw() in a session. | |
| virtual bool | RequiresLazyInit () const |
| Whether this panel uses lazy initialization. | |
| void | InvalidateLazyInit () |
| Reset lazy init state so OnFirstDraw() runs again. | |
| virtual void | OnOpen () |
| Called when panel becomes visible. | |
| virtual void | OnFocus () |
| Called when panel receives focus. | |
| virtual WindowLifecycle | GetWindowLifecycle () const |
| Get the lifecycle category for this window. | |
| virtual WindowContextScope | GetContextScope () const |
| Optional context binding for this window (room/selection/etc) | |
| virtual WindowScope | GetScope () const |
| Get the registration scope for this window. | |
| virtual WindowPresentationPolicy | GetPresentationPolicy () const |
| How this content is hosted and advertised by workspace chrome. | |
| virtual bool | IsEnabled () const |
| Check if this panel is currently enabled. | |
| virtual std::string | GetDisabledTooltip () const |
| Get tooltip text when panel is disabled. | |
| virtual std::string | GetShortcutHint () const |
| Get keyboard shortcut hint for display. | |
| virtual std::string | GetWorkflowLabel () const |
| Optional workflow label for menus/command palette. | |
| virtual std::string | GetWorkflowDescription () const |
| Optional workflow description for menus/command palette. | |
| virtual int | GetWorkflowPriority () const |
| Optional workflow ordering priority (lower sorts first). | |
| virtual bool | HasExactPreferredWidth () const |
| Whether GetPreferredWidth() is an exact content width. | |
| virtual bool | PrefersFloating () const |
| virtual bool | PreferAutoHideTabBar () const |
| Whether the dock node hosting this panel should auto-hide its tab bar. | |
| virtual bool | IsVisibleByDefault () const |
| Whether this panel should be visible by default. | |
| virtual std::string | GetParentPanelId () const |
| Get parent panel ID for cascade behavior. | |
| virtual bool | CascadeCloseChildren () const |
| Whether closing this panel should close child panels. | |
| void | DrawWithLazyInit (bool *p_open) |
| Execute lazy initialization if needed, then call Draw() | |
Private Types | |
| enum class | ActionStatusTone { kNone , kWarning , kSuccess , kError } |
Static Private Attributes | |
| static constexpr int | kCustomObjectBufferTiles = 64 |
Friends | |
| struct | ObjectTileEditorPanelTestAccess |
| class | AuthoringSaveWorkflowTestPeer |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::WindowContent | |
| void | InvalidateCache () |
| Invalidate all cached computations. | |
| template<typename T > | |
| T & | GetCached (const std::string &key, std::function< T()> compute) |
| Get or compute a cached value. | |
| bool | IsCacheValid () const |
| Check if cache has been invalidated. | |
| void | ClearCache () |
| Clear all cached values (more aggressive than InvalidateCache) | |
Panel for editing the tile8 composition of dungeon objects.
Shows an interactive grid of an object's constituent 8x8 tiles alongside a tile source sheet from the room's graphics buffer. Users can click a cell in the grid, then pick a replacement tile from the source sheet. Tile properties (palette, flip, priority) can be edited per-cell.
Standard-object sessions open from the dungeon canvas selection menu. Existing fixed-slot custom assets open from the Custom Assets browser. Custom sessions may add or move tiles anywhere in the 64x64 runtime buffer; standard object shapes stay fixed.
Definition at line 44 of file object_tile_editor_panel.h.
Definition at line 46 of file object_tile_editor_panel.h.
| using yaze::editor::ObjectTileEditorPanel::TilesAppliedCallback = std::function<void()> |
Definition at line 48 of file object_tile_editor_panel.h.
|
strongprivate |
| Enumerator | |
|---|---|
| kNone | |
| kWarning | |
| kSuccess | |
| kError | |
Definition at line 96 of file object_tile_editor_panel.h.
| yaze::editor::ObjectTileEditorPanel::ObjectTileEditorPanel | ( | gfx::IRenderer * | renderer, |
| Rom * | rom ) |
Definition at line 41 of file object_tile_editor_panel.cc.
References tile_editor_.
|
override |
Definition at line 46 of file object_tile_editor_panel.cc.
References ClearRenderedBitmaps().

|
inlineoverridevirtual |
Unique identifier for this panel.
IDs should be:
Implements yaze::editor::WindowContent.
Definition at line 53 of file object_tile_editor_panel.h.
Referenced by yaze::editor::DungeonEditorV2::Load(), and yaze::editor::DungeonEditorV2::OpenObjectTileEditorForObject().
|
inlineoverridevirtual |
Human-readable name shown in menus and title bars.
Implements yaze::editor::WindowContent.
Definition at line 54 of file object_tile_editor_panel.h.
|
inlineoverridevirtual |
Material Design icon for this panel.
Implements yaze::editor::WindowContent.
Definition at line 55 of file object_tile_editor_panel.h.
References ICON_MD_GRID_ON.
|
inlineoverridevirtual |
Editor category this panel belongs to.
Implements yaze::editor::WindowContent.
Definition at line 56 of file object_tile_editor_panel.h.
|
inlineoverridevirtual |
Get display priority for menu ordering.
Reimplemented from yaze::editor::WindowContent.
Definition at line 57 of file object_tile_editor_panel.h.
|
inlineoverridevirtual |
Optional workflow group for hack-centric actions.
Reimplemented from yaze::editor::WindowContent.
Definition at line 58 of file object_tile_editor_panel.h.
|
inlineoverridevirtual |
Get preferred width for this panel (optional)
Override this to specify content-based sizing. For example, a tile selector with 8 tiles at 16px × 2.0 scale would return ~276px.
Reimplemented from yaze::editor::WindowContent.
Definition at line 59 of file object_tile_editor_panel.h.
|
inlineoverridevirtual |
Get preferred height for this panel (optional)
Override this with GetPreferredWidth() for panels whose first-use window must be large enough to keep their primary controls visible.
Reimplemented from yaze::editor::WindowContent.
Definition at line 60 of file object_tile_editor_panel.h.
|
overridevirtual |
Draw the panel content.
| p_open | Pointer to visibility flag (nullptr if not closable) |
Called by WorkspaceWindowManager when the panel is visible. Do NOT call ImGui::Begin/End - the PanelWindow wrapper handles that. Just draw your content directly.
Implements yaze::editor::WindowContent.
Definition at line 633 of file object_tile_editor_panel.cc.
References AddFirstTileToEmptyCustomLayout(), ApplyChanges(), atlas_dirty_, BuildWindowTitle(), yaze::zelda3::ObjectTileLayout::cells, yaze::gui::ConvertColorToImVec4(), current_layout_, current_room_id_, DrawActionBar(), DrawSourceSheet(), DrawTileGrid(), DrawTileProperties(), yaze::gui::ThemeManager::Get(), yaze::gui::ThemeManager::GetCurrentTheme(), yaze::editor::DungeonRoomStore::GetIfLoaded(), yaze::zelda3::Room::graphics_revision(), HandleKeyboardShortcuts(), ICON_MD_ADD, ICON_MD_VISIBILITY_OFF, yaze::zelda3::ObjectTileLayout::is_custom, is_open_, kError, yaze::zelda3::ObjectTileLayout::pattern_source, pending_shared_confirmation_, preview_dirty_, room_graphics_revision_, rooms_, SetActionStatus(), shared_object_count_, and show_shared_confirm_.
|
overridevirtual |
Called when panel is hidden.
Use this to cleanup state, release resources, or save state. Called after the panel is hidden.
Reimplemented from yaze::editor::WindowContent.
Definition at line 190 of file object_tile_editor_panel.cc.
References Close(), current_layout_, and yaze::zelda3::ObjectTileLayout::HasModifications().

| absl::Status yaze::editor::ObjectTileEditorPanel::OpenForObject | ( | int16_t | object_id, |
| int | room_id, | ||
| DungeonRoomStore * | rooms ) |
Definition at line 88 of file object_tile_editor_panel.cc.
References current_palette_group_, and OpenForObject().
Referenced by OpenForObject(), and yaze::editor::DungeonEditorV2::OpenObjectTileEditorForObject().

| absl::Status yaze::editor::ObjectTileEditorPanel::OpenForObject | ( | int16_t | object_id, |
| int | room_id, | ||
| DungeonRoomStore * | rooms, | ||
| const gfx::PaletteGroup & | palette_group ) |
Definition at line 94 of file object_tile_editor_panel.cc.
References current_layout_, current_object_id_, current_palette_group_, current_room_id_, yaze::zelda3::ObjectTileLayout::HasModifications(), is_open_, yaze::zelda3::ObjectTileEditor::IsEditableStandardObject(), ResetTransientState(), rooms_, SelectFirstCellIfAvailable(), yaze::editor::DungeonRoomStore::size(), and tile_editor_.
| absl::Status yaze::editor::ObjectTileEditorPanel::OpenForCustomObject | ( | int16_t | object_id, |
| int | subtype, | ||
| int | room_id, | ||
| DungeonRoomStore * | rooms ) |
Definition at line 134 of file object_tile_editor_panel.cc.
References current_palette_group_, and OpenForCustomObject().
Referenced by yaze::editor::DungeonObjectSelector::OpenExistingCustomObjectEditor(), and OpenForCustomObject().

| absl::Status yaze::editor::ObjectTileEditorPanel::OpenForCustomObject | ( | int16_t | object_id, |
| int | subtype, | ||
| int | room_id, | ||
| DungeonRoomStore * | rooms, | ||
| const gfx::PaletteGroup & | palette_group ) |
Definition at line 140 of file object_tile_editor_panel.cc.
References current_layout_, current_object_id_, current_palette_group_, current_room_id_, yaze::core::FeatureFlags::get(), yaze::editor::DungeonRoomStore::GetIfLoaded(), yaze::zelda3::ObjectTileLayout::HasModifications(), is_open_, ResetTransientState(), rooms_, SelectFirstCellIfAvailable(), yaze::editor::DungeonRoomStore::size(), SnapshotCustomBaseline(), and tile_editor_.
| void yaze::editor::ObjectTileEditorPanel::Close | ( | ) |
Definition at line 181 of file object_tile_editor_panel.cc.
References current_layout_, current_object_id_, current_room_id_, is_open_, ResetTransientState(), and rooms_.
Referenced by DrawActionBar(), OnClose(), yaze::editor::DungeonObjectSelector::OpenExistingCustomObjectEditor(), yaze::editor::DungeonEditorV2::OpenObjectTileEditorForObject(), yaze::editor::DungeonEditorV2::PrepareForSessionTeardown(), yaze::editor::DungeonEditorV2::RefreshRomBackedState(), and RequestSafeWindowClose().

|
inline |
Definition at line 76 of file object_tile_editor_panel.h.
References is_open_.
Referenced by yaze::editor::DungeonEditorV2::HandleDungeonPaletteChanged(), yaze::editor::DungeonObjectSelector::OpenExistingCustomObjectEditor(), and yaze::editor::DungeonEditorV2::OpenObjectTileEditorForObject().
|
inline |
Definition at line 77 of file object_tile_editor_panel.h.
References current_room_id_.
Referenced by yaze::editor::DungeonEditorV2::HandleDungeonPaletteChanged().
|
inline |
Definition at line 78 of file object_tile_editor_panel.h.
References current_layout_, and yaze::zelda3::ObjectTileLayout::HasModifications().
Referenced by yaze::editor::DungeonEditorV2::HasPendingDungeonChanges(), and yaze::editor::DungeonEditorV2::Save().

| void yaze::editor::ObjectTileEditorPanel::SetCurrentPaletteGroup | ( | const gfx::PaletteGroup & | group | ) |
Definition at line 199 of file object_tile_editor_panel.cc.
References atlas_dirty_, current_palette_group_, and preview_dirty_.
Referenced by yaze::editor::DungeonEditorV2::RefreshRomBackedState(), and SetCurrentPaletteGroupForRoom().
| void yaze::editor::ObjectTileEditorPanel::SetCurrentPaletteGroupForRoom | ( | int | room_id, |
| const gfx::PaletteGroup & | group ) |
Definition at line 206 of file object_tile_editor_panel.cc.
References current_room_id_, is_open_, and SetCurrentPaletteGroup().
Referenced by yaze::editor::DungeonEditorV2::HandleDungeonPaletteChanged(), yaze::editor::DungeonEditorV2::OnRoomSelected(), and yaze::editor::DungeonEditorV2::RefreshRoomMetadataViews().

|
inline |
Definition at line 86 of file object_tile_editor_panel.h.
References standard_write_preflight_.
Referenced by yaze::editor::DungeonEditorV2::PrepareForSessionTeardown().
|
inline |
Definition at line 91 of file object_tile_editor_panel.h.
References on_tiles_applied_.
Referenced by yaze::editor::DungeonEditorV2::PrepareForSessionTeardown().
|
private |
Definition at line 50 of file object_tile_editor_panel.cc.
References yaze::gfx::Arena::Get(), object_preview_bmp_, yaze::gfx::Arena::RetireBitmap(), and tile8_atlas_bmp_.
Referenced by ResetTransientState(), and ~ObjectTileEditorPanel().

|
private |
Definition at line 57 of file object_tile_editor_panel.cc.
References action_status_message_, action_status_tone_, and kNone.
Referenced by AppendCustomCell(), ApplyChanges(), DrawSourceSheet(), DrawTileProperties(), HandleKeyboardShortcuts(), MoveSelectedCustomTileTo(), ResetTransientState(), and RevertCurrentLayout().
|
private |
Definition at line 62 of file object_tile_editor_panel.cc.
References action_status_message_, and action_status_tone_.
Referenced by ApplyChanges(), Draw(), DrawCustomTileAdder(), and RequestSafeWindowClose().
|
private |
Definition at line 68 of file object_tile_editor_panel.cc.
References add_tile_x_, add_tile_y_, atlas_dirty_, ClearActionStatus(), ClearRenderedBitmaps(), custom_baseline_, pending_shared_confirmation_, preview_dirty_, room_graphics_revision_, selected_cell_index_, selected_source_tile_, shared_object_count_, shared_tile_data_usage_override_, show_shared_confirm_, source_attributes_, source_impact_display_cache_key_, and source_impact_display_cache_result_.
Referenced by Close(), OpenForCustomObject(), and OpenForObject().

|
private |
Definition at line 214 of file object_tile_editor_panel.cc.
References current_layout_, current_object_id_, yaze::zelda3::ObjectTileLayout::custom_filename, yaze::zelda3::ObjectTileLayout::custom_subtype, yaze::zelda3::GetObjectName(), ICON_MD_GRID_ON, and yaze::zelda3::ObjectTileLayout::is_custom.
Referenced by Draw().

|
private |
Definition at line 226 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::cells, current_layout_, selected_cell_index_, selected_source_tile_, SyncSourceAttributesFromSelectedCell(), and SyncSourceSelectionFromSelectedCell().
Referenced by OpenForCustomObject(), OpenForObject(), and RevertCurrentLayout().

|
private |
Definition at line 238 of file object_tile_editor_panel.cc.
References AppendCustomCell(), yaze::zelda3::ObjectTileLayout::cells, current_layout_, yaze::zelda3::ObjectTileLayout::is_custom, and is_open_.
Referenced by Draw().

|
private |
Definition at line 253 of file object_tile_editor_panel.cc.
References AppendCustomCell(), yaze::zelda3::ObjectTileLayout::cells, current_layout_, yaze::zelda3::ObjectTileLayout::is_custom, is_open_, kCustomObjectBufferTiles, selected_cell_index_, selected_source_tile_, source_attributes_, source_palette_, SyncSourceSelectionFromSelectedCell(), and yaze::gfx::WordToTileInfo().
Referenced by DrawCustomTileAdder().

|
private |
Definition at line 287 of file object_tile_editor_panel.cc.
References atlas_dirty_, yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), current_layout_, DiscardSourceImpactConfirmation(), yaze::zelda3::EncodeCustomObjectBinary(), yaze::zelda3::CustomObject::GetBoundingBox(), yaze::zelda3::ObjectTileLayout::Cell::modified, yaze::zelda3::ObjectTileLayout::Cell::original_word, preview_dirty_, yaze::zelda3::ObjectTileLayout::Cell::rel_x, yaze::zelda3::ObjectTileLayout::Cell::rel_y, selected_cell_index_, SyncSourceSelectionFromSelectedCell(), yaze::zelda3::ObjectTileLayout::Cell::tile_info, yaze::gfx::TileInfoToWord(), yaze::zelda3::CustomObject::tiles, and yaze::zelda3::ObjectTileLayout::Cell::write_index.
Referenced by AddCustomTileAt(), and AddFirstTileToEmptyCustomLayout().
|
private |
Definition at line 325 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), current_layout_, DiscardSourceImpactConfirmation(), yaze::zelda3::EncodeCustomObjectBinary(), yaze::zelda3::CustomObject::GetBoundingBox(), yaze::zelda3::ObjectTileLayout::is_custom, is_open_, kCustomObjectBufferTiles, preview_dirty_, selected_cell_index_, yaze::gfx::TileInfoToWord(), and yaze::zelda3::CustomObject::tiles.
Referenced by DrawCustomTileAdder().
|
private |
Definition at line 390 of file object_tile_editor_panel.cc.
References pending_shared_confirmation_, shared_object_count_, show_shared_confirm_, source_impact_display_cache_key_, and source_impact_display_cache_result_.
Referenced by AppendCustomCell(), MoveSelectedCustomTileTo(), and RevertCurrentLayout().
|
private |
Definition at line 398 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, current_layout_, custom_baseline_, and yaze::zelda3::ObjectTileLayout::is_custom.
Referenced by ApplyChanges(), and OpenForCustomObject().
|
private |
Definition at line 408 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), current_layout_, custom_baseline_, DiscardSourceImpactConfirmation(), yaze::zelda3::ObjectTileLayout::is_custom, preview_dirty_, yaze::zelda3::ObjectTileLayout::RevertAll(), selected_cell_index_, SelectFirstCellIfAvailable(), and SyncSourceSelectionFromSelectedCell().
Referenced by DrawActionBar().
|
private |
Definition at line 429 of file object_tile_editor_panel.cc.
References current_layout_, current_object_id_, yaze::zelda3::ObjectTileLayout::custom_resolved_path, yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::ObjectTileLayout::is_custom, yaze::Rom::is_loaded(), yaze::zelda3::ObjectTileLayout::object_id, yaze::zelda3::ResolveCustomObjectAssetPath(), rom_, yaze::zelda3::CustomObjectManager::RuntimeObjectIds(), shared_tile_data_usage_override_, and tile_editor_.
Referenced by ApplyChanges(), and GetSharedTileDataUsageCount().

|
private |
Definition at line 533 of file object_tile_editor_panel.cc.
References AnalyzeSourceImpactSnapshot().
Referenced by GetDisplayedSharedTileDataUsageCount(), and HasSharedTileDataConflict().

|
private |
Definition at line 593 of file object_tile_editor_panel.cc.
References BuildSourceImpactProvenanceFingerprint(), current_object_id_, GetSharedTileDataUsageCount(), yaze::Rom::object_tile_revision(), rom_, source_impact_display_cache_key_, and source_impact_display_cache_result_.
Referenced by DrawActionBar().

|
private |
Definition at line 607 of file object_tile_editor_panel.cc.
References GetSharedTileDataUsageCount().

|
private |
Definition at line 541 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, current_layout_, yaze::zelda3::ObjectTileLayout::custom_resolved_path, yaze::zelda3::ObjectTileLayout::custom_subtype, yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::ObjectTileLayout::is_custom, yaze::zelda3::ObjectTileLayout::object_id, yaze::zelda3::ObjectTileLayout::source_provenance, and yaze::zelda3::ObjectTileLayout::tile_data_address.
Referenced by GetDisplayedSharedTileDataUsageCount().

|
private |
Definition at line 615 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::cells, current_layout_, current_room_id_, yaze::editor::DungeonRoomStore::GetIfLoaded(), and rooms_.
Referenced by ApplyChanges(), and RefreshRenderedViewsFromCurrentRoom().

|
private |
Definition at line 621 of file object_tile_editor_panel.cc.
References atlas_dirty_, HasRenderableRoomContext(), preview_dirty_, RenderObjectPreview(), and RenderTile8Atlas().
Referenced by ApplyChanges().

|
private |
Definition at line 839 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, current_layout_, DrawCustomTileAdder(), DrawTileGridCanvas(), yaze::zelda3::ObjectTileLayout::is_custom, preview_dirty_, and RenderObjectPreview().
Referenced by Draw().

|
private |
Definition at line 880 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::bounds_height, yaze::zelda3::ObjectTileLayout::bounds_width, yaze::zelda3::ObjectTileLayout::cells, current_layout_, yaze::gfx::Bitmap::is_active(), yaze::gui::kScale, object_preview_bmp_, selected_cell_index_, SyncSourceSelectionFromSelectedCell(), and yaze::gfx::Bitmap::texture().
Referenced by DrawTileGrid().

|
private |
Definition at line 944 of file object_tile_editor_panel.cc.
References add_tile_x_, add_tile_y_, AddCustomTileAt(), ICON_MD_ADD, ICON_MD_OPEN_WITH, kCustomObjectBufferTiles, kError, MoveSelectedCustomTileTo(), and SetActionStatus().
Referenced by DrawTileGrid().

|
private |
Definition at line 984 of file object_tile_editor_panel.cc.
References atlas_dirty_, yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), current_layout_, yaze::gfx::Bitmap::is_active(), yaze::zelda3::ObjectTileEditor::kAtlasHeightPx, yaze::zelda3::ObjectTileEditor::kAtlasTileRows, yaze::zelda3::ObjectTileEditor::kAtlasTilesPerRow, yaze::zelda3::ObjectTileEditor::kAtlasWidthPx, preview_dirty_, RenderTile8Atlas(), selected_cell_index_, selected_source_tile_, source_palette_, yaze::gfx::Bitmap::texture(), and tile8_atlas_bmp_.
Referenced by Draw().

|
private |
Definition at line 1083 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), current_layout_, preview_dirty_, selected_cell_index_, SyncSourceAttributesFromSelectedCell(), and SyncSourceSelectionFromSelectedCell().
Referenced by Draw().

|
private |
Definition at line 1321 of file object_tile_editor_panel.cc.
References action_status_message_, action_status_tone_, ApplyChanges(), yaze::zelda3::ObjectTileLayout::cells, Close(), yaze::gui::ConvertColorToImVec4(), current_layout_, yaze::gui::ThemeManager::Get(), yaze::gui::ThemeManager::GetCurrentTheme(), GetDisplayedSharedTileDataUsageCount(), ICON_MD_CLOSE, ICON_MD_ERROR, ICON_MD_INFO, ICON_MD_SAVE, ICON_MD_UNDO, ICON_MD_WARNING, yaze::zelda3::ObjectTileLayout::is_custom, kError, kNone, kSuccess, kWarning, yaze::zelda3::ObjectTileLayout::pattern_source, and RevertCurrentLayout().
Referenced by Draw().
|
private |
Definition at line 1474 of file object_tile_editor_panel.cc.
References yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), current_layout_, preview_dirty_, RequestSafeWindowClose(), selected_cell_index_, SyncSourceAttributesFromSelectedCell(), and SyncSourceSelectionFromSelectedCell().
Referenced by Draw().

|
private |
Definition at line 1456 of file object_tile_editor_panel.cc.
References Close(), current_layout_, yaze::zelda3::ObjectTileLayout::HasModifications(), ICON_MD_WARNING, kWarning, and SetActionStatus().
Referenced by HandleKeyboardShortcuts().

|
private |
Definition at line 753 of file object_tile_editor_panel.cc.
References yaze::gfx::Bitmap::CreateTexture(), current_layout_, current_palette_group_, current_room_id_, yaze::gfx::Bitmap::data(), yaze::gfx::Arena::Get(), yaze::editor::DungeonRoomStore::GetIfLoaded(), object_preview_bmp_, preview_dirty_, yaze::gfx::Arena::RetireBitmap(), rooms_, yaze::gfx::Bitmap::texture(), tile_editor_, and yaze::gfx::Bitmap::UpdateTexture().
Referenced by DrawTileGrid(), and RefreshRenderedViewsFromCurrentRoom().
|
private |
Definition at line 778 of file object_tile_editor_panel.cc.
References atlas_dirty_, yaze::gfx::Bitmap::CreateTexture(), current_layout_, current_palette_group_, current_room_id_, yaze::gfx::Bitmap::data(), yaze::gfx::Arena::Get(), yaze::editor::DungeonRoomStore::GetIfLoaded(), yaze::zelda3::ObjectTileLayout::is_custom, yaze::zelda3::ObjectTileLayout::object_id, yaze::gfx::Arena::RetireBitmap(), rooms_, source_attributes_, source_palette_, yaze::gfx::Bitmap::texture(), tile8_atlas_bmp_, tile_editor_, and yaze::gfx::Bitmap::UpdateTexture().
Referenced by DrawSourceSheet(), and RefreshRenderedViewsFromCurrentRoom().
|
private |
Definition at line 807 of file object_tile_editor_panel.cc.
References atlas_dirty_, yaze::zelda3::ObjectTileLayout::cells, current_layout_, selected_cell_index_, selected_source_tile_, source_palette_, and SyncSourceAttributesFromSelectedCell().
Referenced by AddCustomTileAt(), AppendCustomCell(), DrawTileGridCanvas(), DrawTileProperties(), HandleKeyboardShortcuts(), RevertCurrentLayout(), and SelectFirstCellIfAvailable().

|
private |
Definition at line 825 of file object_tile_editor_panel.cc.
References atlas_dirty_, yaze::zelda3::ObjectTileLayout::cells, current_layout_, yaze::zelda3::ObjectTileLayout::is_custom, selected_cell_index_, source_attributes_, and yaze::gfx::TileInfoToWord().
Referenced by DrawTileProperties(), HandleKeyboardShortcuts(), SelectFirstCellIfAvailable(), and SyncSourceSelectionFromSelectedCell().

|
private |
Definition at line 1141 of file object_tile_editor_panel.cc.
References current_layout_, yaze::zelda3::ObjectTileLayout::is_custom, standard_write_preflight_, and tile_editor_.
Referenced by ApplyChanges().
|
private |
Definition at line 1164 of file object_tile_editor_panel.cc.
References AnalyzeSourceImpactSnapshot(), yaze::zelda3::ObjectTileLayout::cells, ClearActionStatus(), yaze::editor::ObjectTileEditorPanel::SourceImpactSnapshot::consumer_count, current_layout_, current_room_id_, yaze::editor::DungeonRoomStore::ForEachMaterialized(), yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::CustomObjectManager::GetTilePatterns(), HasRenderableRoomContext(), ICON_MD_CHECK_CIRCLE, ICON_MD_ERROR, ICON_MD_WARNING, yaze::zelda3::ObjectTileLayout::is_custom, kError, kSuccess, kWarning, yaze::zelda3::Room::MarkObjectsDirty(), on_tiles_applied_, yaze::zelda3::ObjectTileLayout::pattern_source, pending_shared_confirmation_, RefreshRenderedViewsFromCurrentRoom(), rooms_, SetActionStatus(), shared_object_count_, show_shared_confirm_, SnapshotCustomBaseline(), yaze::zelda3::ObjectTileLayout::source_provenance, yaze::gfx::TileInfoToWord(), and WriteBackCurrentLayout().
Referenced by Draw(), and DrawActionBar().
|
friend |
Definition at line 154 of file object_tile_editor_panel.h.
|
friend |
Definition at line 155 of file object_tile_editor_panel.h.
|
private |
Definition at line 156 of file object_tile_editor_panel.h.
Referenced by AnalyzeSourceImpactSnapshot(), ObjectTileEditorPanel(), OpenForCustomObject(), OpenForObject(), RenderObjectPreview(), RenderTile8Atlas(), and WriteBackCurrentLayout().
|
private |
Definition at line 157 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), AddFirstTileToEmptyCustomLayout(), AnalyzeSourceImpactSnapshot(), AppendCustomCell(), ApplyChanges(), BuildSourceImpactProvenanceFingerprint(), BuildWindowTitle(), Close(), Draw(), DrawActionBar(), DrawSourceSheet(), DrawTileGrid(), DrawTileGridCanvas(), DrawTileProperties(), HandleKeyboardShortcuts(), HasRenderableRoomContext(), HasUnappliedChanges(), MoveSelectedCustomTileTo(), OnClose(), OpenForCustomObject(), OpenForObject(), RenderObjectPreview(), RenderTile8Atlas(), RequestSafeWindowClose(), RevertCurrentLayout(), SelectFirstCellIfAvailable(), SnapshotCustomBaseline(), SyncSourceAttributesFromSelectedCell(), SyncSourceSelectionFromSelectedCell(), and WriteBackCurrentLayout().
|
private |
Definition at line 158 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), AppendCustomCell(), DrawSourceSheet(), DrawTileGridCanvas(), DrawTileProperties(), HandleKeyboardShortcuts(), MoveSelectedCustomTileTo(), ResetTransientState(), RevertCurrentLayout(), SelectFirstCellIfAvailable(), SyncSourceAttributesFromSelectedCell(), and SyncSourceSelectionFromSelectedCell().
|
private |
Definition at line 159 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), DrawSourceSheet(), ResetTransientState(), SelectFirstCellIfAvailable(), and SyncSourceSelectionFromSelectedCell().
|
private |
Definition at line 160 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), DrawSourceSheet(), RenderTile8Atlas(), and SyncSourceSelectionFromSelectedCell().
|
private |
Definition at line 161 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), RenderTile8Atlas(), ResetTransientState(), and SyncSourceAttributesFromSelectedCell().
|
staticconstexprprivate |
Definition at line 164 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), DrawCustomTileAdder(), and MoveSelectedCustomTileTo().
|
private |
Definition at line 165 of file object_tile_editor_panel.h.
Referenced by DrawCustomTileAdder(), and ResetTransientState().
|
private |
Definition at line 166 of file object_tile_editor_panel.h.
Referenced by DrawCustomTileAdder(), and ResetTransientState().
|
private |
Definition at line 175 of file object_tile_editor_panel.h.
Referenced by ResetTransientState(), RevertCurrentLayout(), and SnapshotCustomBaseline().
|
private |
Definition at line 178 of file object_tile_editor_panel.h.
|
private |
Definition at line 179 of file object_tile_editor_panel.h.
|
private |
Definition at line 182 of file object_tile_editor_panel.h.
Referenced by ClearRenderedBitmaps(), DrawTileGridCanvas(), and RenderObjectPreview().
|
private |
Definition at line 183 of file object_tile_editor_panel.h.
Referenced by ClearRenderedBitmaps(), DrawSourceSheet(), and RenderTile8Atlas().
|
private |
Definition at line 184 of file object_tile_editor_panel.h.
Referenced by AppendCustomCell(), Draw(), DrawSourceSheet(), DrawTileGrid(), DrawTileProperties(), HandleKeyboardShortcuts(), MoveSelectedCustomTileTo(), RefreshRenderedViewsFromCurrentRoom(), RenderObjectPreview(), ResetTransientState(), RevertCurrentLayout(), and SetCurrentPaletteGroup().
|
private |
Definition at line 185 of file object_tile_editor_panel.h.
Referenced by AppendCustomCell(), Draw(), DrawSourceSheet(), RefreshRenderedViewsFromCurrentRoom(), RenderTile8Atlas(), ResetTransientState(), SetCurrentPaletteGroup(), SyncSourceAttributesFromSelectedCell(), and SyncSourceSelectionFromSelectedCell().
|
private |
Definition at line 186 of file object_tile_editor_panel.h.
Referenced by Draw(), and ResetTransientState().
|
private |
Definition at line 189 of file object_tile_editor_panel.h.
Referenced by ApplyChanges(), DiscardSourceImpactConfirmation(), Draw(), and ResetTransientState().
|
private |
Definition at line 190 of file object_tile_editor_panel.h.
Referenced by ApplyChanges(), DiscardSourceImpactConfirmation(), Draw(), and ResetTransientState().
|
private |
Definition at line 191 of file object_tile_editor_panel.h.
Referenced by ApplyChanges(), DiscardSourceImpactConfirmation(), Draw(), and ResetTransientState().
|
private |
Definition at line 192 of file object_tile_editor_panel.h.
Referenced by AnalyzeSourceImpactSnapshot(), and ResetTransientState().
|
private |
Definition at line 200 of file object_tile_editor_panel.h.
Referenced by DiscardSourceImpactConfirmation(), GetDisplayedSharedTileDataUsageCount(), and ResetTransientState().
|
private |
Definition at line 201 of file object_tile_editor_panel.h.
Referenced by DiscardSourceImpactConfirmation(), GetDisplayedSharedTileDataUsageCount(), and ResetTransientState().
|
private |
Definition at line 202 of file object_tile_editor_panel.h.
Referenced by ClearActionStatus(), DrawActionBar(), and SetActionStatus().
|
private |
Definition at line 203 of file object_tile_editor_panel.h.
Referenced by ClearActionStatus(), DrawActionBar(), and SetActionStatus().
|
private |
Definition at line 205 of file object_tile_editor_panel.h.
Referenced by SetStandardWritePreflightCallback(), and WriteBackCurrentLayout().
|
private |
Definition at line 206 of file object_tile_editor_panel.h.
Referenced by ApplyChanges(), and SetTilesAppliedCallback().
|
private |
Definition at line 209 of file object_tile_editor_panel.h.
|
private |
Definition at line 210 of file object_tile_editor_panel.h.
Referenced by AnalyzeSourceImpactSnapshot(), and GetDisplayedSharedTileDataUsageCount().
|
private |
Definition at line 211 of file object_tile_editor_panel.h.
Referenced by ApplyChanges(), Close(), current_room_id(), Draw(), HasRenderableRoomContext(), OpenForCustomObject(), OpenForObject(), RenderObjectPreview(), RenderTile8Atlas(), and SetCurrentPaletteGroupForRoom().
|
private |
Definition at line 212 of file object_tile_editor_panel.h.
Referenced by AnalyzeSourceImpactSnapshot(), BuildWindowTitle(), Close(), GetDisplayedSharedTileDataUsageCount(), OpenForCustomObject(), and OpenForObject().
|
private |
Definition at line 213 of file object_tile_editor_panel.h.
Referenced by ApplyChanges(), Close(), Draw(), HasRenderableRoomContext(), OpenForCustomObject(), OpenForObject(), RenderObjectPreview(), and RenderTile8Atlas().
|
private |
Definition at line 214 of file object_tile_editor_panel.h.
Referenced by OpenForCustomObject(), OpenForCustomObject(), OpenForObject(), OpenForObject(), RenderObjectPreview(), RenderTile8Atlas(), and SetCurrentPaletteGroup().
|
private |
Definition at line 215 of file object_tile_editor_panel.h.
Referenced by AddCustomTileAt(), AddFirstTileToEmptyCustomLayout(), Close(), Draw(), IsOpen(), MoveSelectedCustomTileTo(), OpenForCustomObject(), OpenForObject(), and SetCurrentPaletteGroupForRoom().