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

#include <dungeon_canvas_viewer.h>

Classes

struct  ChangePingRect
 
struct  ConnectedRoomGraphData
 
struct  EntityVisibility
 
struct  ObjectOutlineToggles
 
struct  ObjectRenderCache
 

Public Member Functions

 DungeonCanvasViewer (Rom *rom=nullptr)
 
void DrawDungeonCanvas (int room_id)
 
std::optional< int > DrawConnectedRoomMatrix (int center_room_id)
 
void DrawConnectedToolbarControls (int center_room_id)
 
void Draw (int room_id)
 
void TriggerChangePing ()
 
void TriggerCanvasPingRect (int pixel_x, int pixel_y, int pixel_w, int pixel_h)
 
void TriggerObjectChangePing (const std::vector< zelda3::RoomObject > &previous_objects, const std::vector< zelda3::RoomObject > &next_objects)
 
ImVec2 GetConnectedContentSize (int center_room_id)
 
float ConnectedCanvasScale () const
 
void SetConnectedControlsInline (bool inline_controls)
 
void SetContext (EditorContext ctx)
 
EditorContext context () const
 
void SetRom (Rom *rom)
 
Romrom () const
 
void SetGameData (zelda3::GameData *game_data)
 
zelda3::GameDatagame_data () const
 
void SetRenderer (gfx::IRenderer *renderer)
 
void SetRooms (DungeonRoomStore *rooms)
 
void RefreshRomBackedState (Rom *rom, zelda3::GameData *game_data, DungeonRoomStore *rooms, int room_id)
 
DungeonRoomStorerooms () const
 
bool HasRooms () const
 
int current_room_id () const
 
void SetCompactHeaderMode (bool compact)
 
bool compact_header_mode () const
 
void SetRoomDetailsExpanded (bool expanded)
 
void set_active_rooms (const ImVector< int > &rooms)
 
void set_current_active_room_tab (int tab)
 
void set_current_palette_group_id (uint64_t id)
 
void SetCurrentPaletteId (uint64_t id)
 
void SetCurrentPaletteGroup (const gfx::PaletteGroup &group)
 
void SetEntranceRenderContext (int entrance_id, uint8_t entrance_blockset)
 
void ClearEntranceRenderContext ()
 
int current_entrance_id () const
 
uint8_t current_entrance_blockset () const
 
void SetRoomNavigationCallback (std::function< void(int)> callback)
 
void SetRoomSwapCallback (std::function< void(int, int)> callback)
 
bool CanNavigateRooms () const
 
void NavigateToRoom (int target_room)
 
void SetShowObjectPanelCallback (std::function< void()> callback)
 
void SetShowSpritePanelCallback (std::function< void()> callback)
 
void SetShowItemPanelCallback (std::function< void()> callback)
 
void SetShowRoomListCallback (std::function< void()> callback)
 
void SetShowRoomMatrixCallback (std::function< void()> callback)
 
void SetShowEntranceListCallback (std::function< void()> callback)
 
void set_show_custom_collision_overlay (bool show)
 
bool show_custom_collision_overlay () const
 
void set_show_water_fill_overlay (bool show)
 
bool show_water_fill_overlay () const
 
bool show_track_collision_overlay () const
 
void set_show_track_collision_overlay (bool show)
 
bool show_camera_quadrant_overlay () const
 
void set_show_camera_quadrant_overlay (bool show)
 
bool show_minecart_sprite_overlay () const
 
void set_show_minecart_sprite_overlay (bool show)
 
bool show_track_gap_overlay () const
 
void set_show_track_gap_overlay (bool show)
 
bool show_track_route_overlay () const
 
void set_show_track_route_overlay (bool show)
 
bool show_custom_objects_overlay () const
 
void set_show_custom_objects_overlay (bool show)
 
bool show_grid () const
 
void set_show_grid (bool show)
 
int custom_grid_size () const
 
void set_custom_grid_size (int size)
 
bool show_object_bounds () const
 
void set_show_object_bounds (bool show)
 
bool show_coordinate_overlay () const
 
void set_show_coordinate_overlay (bool show)
 
bool show_room_debug_info () const
 
void set_show_room_debug_info (bool show)
 
bool show_texture_debug () const
 
void set_show_texture_debug (bool show)
 
bool show_layer_info () const
 
void set_show_layer_info (bool show)
 
bool show_minecart_tracks () const
 
void set_show_minecart_tracks (bool show)
 
bool show_track_collision_legend () const
 
void set_show_track_collision_legend (bool show)
 
bool * mutable_show_grid ()
 
bool * mutable_show_object_bounds ()
 
bool * mutable_show_coordinate_overlay ()
 
bool * mutable_show_room_debug_info ()
 
bool * mutable_show_texture_debug ()
 
bool * mutable_show_layer_info ()
 
bool * mutable_show_minecart_tracks ()
 
bool * mutable_show_custom_collision_overlay ()
 
bool * mutable_show_track_collision_overlay ()
 
bool * mutable_show_camera_quadrant_overlay ()
 
bool * mutable_show_minecart_sprite_overlay ()
 
bool * mutable_show_track_collision_legend ()
 
void SetShowRoomGraphicsCallback (std::function< void()> callback)
 
void SetShowDoorEditorCallback (std::function< void()> callback)
 
void SetShowDungeonSettingsCallback (std::function< void()> callback)
 
void SetSaveRoomCallback (std::function< void(int)> callback)
 
void SetEditGraphicsCallback (std::function< void(int, const zelda3::RoomObject &)> callback)
 
void SetMinecartTrackPanel (MinecartTrackEditorPanel *panel)
 
void SetPinned (bool pinned)
 
void SetPinCallback (std::function< void(bool)> callback)
 
void SetProject (const project::YazeProject *project)
 
const project::YazeProjectproject () const
 
gui::Canvascanvas ()
 
const gui::Canvascanvas () const
 
DungeonObjectInteractionobject_interaction ()
 
void SetEditorSystem (zelda3::DungeonEditorSystem *system)
 
void SetObjectInteractionEnabled (bool enabled)
 
bool IsObjectInteractionEnabled () const
 
void SetHeaderReadOnly (bool read_only)
 
bool header_read_only () const
 
void SetHeaderVisible (bool visible)
 
bool header_visible () const
 
void SetHeaderHiddenMetadataHudVisible (bool visible)
 
bool show_header_hidden_metadata_hud () const
 
void SetObjectRenderMode (ObjectRenderMode mode)
 
ObjectRenderMode GetObjectRenderMode () const
 
void SetLayerVisible (int room_id, zelda3::LayerType layer, bool visible)
 
bool IsLayerVisible (int room_id, zelda3::LayerType layer) const
 
void SetBG1Visible (int room_id, bool visible)
 
void SetBG2Visible (int room_id, bool visible)
 
bool IsBG1Visible (int room_id) const
 
bool IsBG2Visible (int room_id) const
 
void SetLayerBlendMode (int room_id, zelda3::LayerType layer, zelda3::LayerBlendMode mode)
 
zelda3::LayerBlendMode GetLayerBlendMode (int room_id, zelda3::LayerType layer) const
 
void SetObjectTranslucent (int room_id, size_t object_index, bool translucent, uint8_t alpha=128)
 
zelda3::RoomLayerManagerGetRoomLayerManager (int room_id)
 
const zelda3::RoomLayerManagerGetRoomLayerManager (int room_id) const
 
void SetBG2LayerType (int room_id, int type)
 
int GetBG2LayerType (int room_id) const
 
void SetPreviewObject (const zelda3::RoomObject &object)
 
void ClearPreviewObject ()
 
void ScrollToTile (int tile_x, int tile_y)
 
bool HasPendingScrollTarget () const
 
std::optional< std::pair< int, int > > GetPendingScrollTarget () const
 
void DeleteSelectedObjects ()
 
void SetSpritesVisible (bool visible)
 
bool AreSpritesVisible () const
 
void SetPotItemsVisible (bool visible)
 
bool ArePotItemsVisible () const
 

Private Member Functions

void DisplayObjectInfo (const gui::CanvasRuntime &rt, const zelda3::RoomObject &object, int canvas_x, int canvas_y)
 
void DrawRoomHeader (zelda3::Room &room, int room_id)
 
void DrawRoomNavigation (int room_id)
 
void DrawRoomPropertyTable (zelda3::Room &room, int room_id)
 
void DrawRecentRoomBreadcrumbs (int room_id)
 
void DrawLayerControls (zelda3::Room &room, int room_id)
 
void DrawCompactLayerToggles (int room_id)
 
void PopulateCanvasContextMenu (int room_id)
 
void AddInteractionContextMenuItems (int room_id)
 
void AddLoadedRoomContextMenuItems (int room_id)
 
gui::CanvasMenuItem BuildInsertContextMenu ()
 
std::vector< gui::CanvasMenuItemBuildSelectionContextMenuItems (int room_id)
 
std::optional< zelda3::RoomObjectGetObjectUnderContextCursor (int room_id)
 
gui::CanvasMenuItem BuildRoomContextMenu (int room_id)
 
gui::CanvasMenuItem BuildReportContextMenu (int room_id)
 
std::optional< gui::CanvasMenuItemBuildOpenContextMenu ()
 
gui::CanvasMenuItem BuildCopyExportContextMenu (int room_id)
 
gui::CanvasMenuItem BuildLayerVisibilityContextMenu (int room_id)
 
gui::CanvasMenuItem BuildOverlayContextMenu ()
 
gui::CanvasMenuItem BuildDebugContextMenu (int room_id)
 
std::string BuildRoomMetadataSummary (const zelda3::Room &room, int room_id) const
 
std::string BuildDrawIssueReport (const zelda3::Room &room, int room_id) const
 
std::string BuildSelectionIssueReport (const zelda3::Room &room, int room_id) const
 
void OpenIssueReportPopup (const std::string &title, const std::string &summary, const std::string &kind_label, const std::string &diagnostics, int room_id, int default_category_index)
 
absl::Status PrepareIssueReportPopup (const std::string &title, const std::string &summary, const std::string &kind_label, const std::string &diagnostics, int room_id, int default_category_index)
 
std::string BuildIssueReportClipboardText () const
 
absl::Status CaptureIssueReportScreenshot ()
 
absl::Status AppendIssueReportToLog ()
 
absl::Status EnsureIssueReportPersisted ()
 
void MarkIssueReportDirty ()
 
void RefreshIssueReportOutputTargets ()
 
void SetIssueReportPopupStatus (std::string message, bool is_error)
 
void DrawIssueReportStorageSummary () const
 
void DrawIssueReportStatusMessage () const
 
void RenderSprites (const gui::CanvasRuntime &rt, const zelda3::Room &room)
 
void RenderPotItems (const gui::CanvasRuntime &rt, const zelda3::Room &room)
 
void RenderEntityOverlay (const gui::CanvasRuntime &rt, const zelda3::Room &room)
 
void HandleTouchLongPressContextMenu (const gui::CanvasRuntime &rt, const zelda3::Room &room)
 
void DrawObjectPositionOutlines (const gui::CanvasRuntime &rt, const zelda3::Room &room)
 
void ApplyTrackCollisionConfig ()
 
const DungeonRenderingHelpers::CollisionOverlayCacheGetCollisionOverlayCache (int room_id)
 
void DrawMaskHighlights (const gui::CanvasRuntime &rt, const zelda3::Room &room)
 
void DrawPersistentDebugWindows (int room_id)
 
void DrawRoomDebugWindow (zelda3::Room &room, int room_id)
 
void DrawTextureDebugWindow (zelda3::Room &room, int room_id)
 
void DrawLayerInfoWindow (int room_id)
 
void DrawRoomCanvasOverlays (const gui::CanvasRuntime &rt, zelda3::Room &room, int room_id)
 
void DrawCoordinateOverlayHud (int room_id)
 
bool ValidateRoomCanvasRequest (int room_id)
 
gui::CanvasFrameOptions BuildRoomCanvasFrameOptions () const
 
void SyncCanvasConfigFromViewerState ()
 
void SyncViewerStateFromCanvasConfig ()
 
void RefreshActiveRoomCanvasState (zelda3::Room &room, int room_id)
 
zelda3::RoomPrepareActiveRoomForCanvasFrame (int room_id)
 
void SyncCanvasCaptureRegion (const gui::CanvasRuntime &canvas_rt)
 
void ConsumePendingCanvasScroll (const gui::CanvasRuntime &canvas_rt)
 
void DrawHeaderHiddenMetadataHud (int room_id)
 
void PrepareRoomStateForCanvas (zelda3::Room &room, int room_id)
 
void DrawRoomCanvasContent (const gui::CanvasRuntime &canvas_rt, zelda3::Room &room, int room_id)
 
void HandleRoomCanvasDropTargets (zelda3::Room &room, int room_id)
 
void DrawChangePingOverlay (const gui::CanvasRuntime &canvas_rt, const zelda3::Room &room)
 
void RecordVisitedRoom (int room_id)
 
absl::Status LoadAndRenderRoomGraphics (int room_id)
 
gfx::BitmapPrepareRoomCompositeBitmap (int room_id)
 
zelda3::RoomEnsureRoomLoadedForConnectedView (int room_id)
 
bool RoomHasNonExitDoorInDirection (int room_id, zelda3::DoorDirection dir)
 
ConnectedRoomGraphData BuildConnectedRoomGraph (int start_room_id)
 
int ApplyConnectedStaircaseIssueAutoFixes (int center_room_id)
 
bool DrawRoomBackgroundLayers (int room_id)
 

Private Attributes

Romrom_ = nullptr
 
zelda3::GameDatagame_data_ = nullptr
 
gui::Canvas canvas_ {"##DungeonCanvas", ImVec2(0x200, 0x200)}
 
gui::Canvas connected_canvas_
 
DungeonObjectInteraction object_interaction_
 
gui::CanvasTouchHandler touch_handler_
 
std::optional< std::pair< int, int > > pending_scroll_target_
 
DungeonRoomStorerooms_ = nullptr
 
int current_room_id_ = -1
 
std::vector< int > recently_visited_rooms_
 
int current_entrance_id_ = -1
 
uint8_t current_entrance_blockset_ = 0xFF
 
ImVector< int > active_rooms_
 
int current_active_room_tab_ = 0
 
int last_connected_matrix_room_id_ = -1
 
bool connected_canvas_initialized_ = false
 
bool show_connected_overview_ = false
 
bool show_connected_current_room_preview_ = false
 
bool connected_controls_inline_ = false
 
bool connected_canvas_fit_requested_ = false
 
bool connected_canvas_reset_requested_ = false
 
bool connected_side_panel_visible_last_frame_ = false
 
bool connected_controls_custom_position_ = false
 
ImVec2 connected_controls_custom_position_value_ = ImVec2(0.0f, 0.0f)
 
int connected_graph_cache_start_room_id_ = -1
 
ConnectedRoomGraphData connected_graph_cache_ {}
 
std::string connected_action_status_message_
 
bool connected_action_status_is_error_ = false
 
bool object_interaction_enabled_ = true
 
std::map< int, zelda3::RoomLayerManagerroom_layer_managers_
 
uint64_t current_palette_group_id_ = 0
 
uint64_t current_palette_id_ = 0
 
gfx::PaletteGroup current_palette_group_
 
std::function< void(int)> room_navigation_callback_
 
std::function< void(int, int)> room_swap_callback_
 
std::function< void()> show_object_panel_callback_
 
std::function< void()> show_sprite_panel_callback_
 
std::function< void()> show_item_panel_callback_
 
std::function< void()> show_room_list_callback_
 
std::function< void()> show_room_matrix_callback_
 
std::function< void()> show_entrance_list_callback_
 
std::function< void()> show_room_graphics_callback_
 
std::function< void()> show_door_editor_callback_
 
std::function< void()> show_dungeon_settings_callback_
 
std::function< void(int)> save_room_callback_
 
std::function< void(int, const zelda3::RoomObject &) edit_graphics_callback_ )
 
MinecartTrackEditorPanelminecart_track_panel_ = nullptr
 
bool show_minecart_tracks_ = false
 
bool is_pinned_ = false
 
std::function< void(bool)> pin_callback_
 
const project::YazeProjectproject_ = nullptr
 
bool show_track_collision_overlay_ = false
 
bool show_track_collision_legend_ = true
 
bool show_camera_quadrant_overlay_ = false
 
bool show_minecart_sprite_overlay_ = false
 
bool show_track_gap_overlay_ = false
 
bool show_track_route_overlay_ = false
 
bool show_custom_objects_overlay_ = false
 
bool show_custom_collision_overlay_ = false
 
bool show_water_fill_overlay_ = false
 
bool show_room_details_ = false
 
bool compact_header_mode_ = false
 
bool header_read_only_ = false
 
bool header_visible_ = true
 
bool show_header_hidden_metadata_hud_ = true
 
bool track_direction_map_enabled_ = true
 
std::vector< uint16_t > track_tile_order_
 
std::vector< uint16_t > switch_tile_order_
 
DungeonRenderingHelpers::TrackCollisionConfig track_collision_config_
 
std::unordered_map< int, DungeonRenderingHelpers::CollisionOverlayCachecollision_overlay_cache_
 
std::bitset< 256 > minecart_sprite_ids_ {}
 
std::vector< ObjectRenderCacheobject_render_cache_
 
uint64_t last_palette_hash_ = 0
 
bool show_room_debug_info_ = false
 
bool show_texture_debug_ = false
 
bool show_object_bounds_ = false
 
bool show_layer_info_ = false
 
bool show_grid_ = false
 
bool show_coordinate_overlay_
 
int layout_override_ = -1
 
int custom_grid_size_ = 8
 
ObjectRenderMode object_render_mode_
 
ObjectOutlineToggles object_outline_toggles_
 
EntityVisibility entity_visibility_
 
gfx::IRendererrenderer_ = nullptr
 
int prev_blockset_ = -1
 
int prev_palette_ = -1
 
int prev_layout_ = -1
 
int prev_spriteset_ = -1
 
std::string issue_report_popup_title_
 
std::string issue_report_popup_kind_
 
std::string issue_report_popup_diagnostics_
 
std::string issue_report_popup_log_target_path_
 
std::string issue_report_popup_screenshot_dir_
 
std::string issue_report_popup_screenshot_path_
 
std::string issue_report_popup_last_log_path_
 
std::string issue_report_popup_status_message_
 
std::string issue_report_popup_id_ = "##DungeonIssueReportPopup"
 
int issue_report_popup_room_id_ = -1
 
int issue_report_category_index_ = 0
 
bool issue_report_popup_persisted_ = false
 
bool issue_report_popup_status_is_error_ = false
 
char issue_report_summary_ [256] {}
 
char issue_report_notes_ [2048] {}
 
bool has_canvas_capture_region_ = false
 
int canvas_capture_x_ = 0
 
int canvas_capture_y_ = 0
 
int canvas_capture_width_ = 0
 
int canvas_capture_height_ = 0
 
std::vector< ChangePingRectchange_ping_rects_
 
double change_ping_start_time_ = -1.0
 

Friends

class DungeonCanvasViewerTestPeer
 
class DungeonEditorPaletteRefreshTest_CachedRoomRefreshesThroughViewerCompositePreparation_Test
 
class DungeonEditorPaletteRefreshTest_CachedCompositePreparationPreservesTargetEntranceContext_Test
 

Detailed Description

Definition at line 211 of file dungeon_canvas_viewer.h.

Constructor & Destructor Documentation

◆ DungeonCanvasViewer()

Member Function Documentation

◆ DrawDungeonCanvas()

◆ DrawConnectedRoomMatrix()

std::optional< int > yaze::editor::DungeonCanvasViewer::DrawConnectedRoomMatrix ( int center_room_id)

Definition at line 844 of file dungeon_canvas_connected_matrix.cc.

References yaze::gui::BeginCanvas(), yaze::gui::BeginNoPadding(), BuildConnectedRoomGraph(), yaze::gui::CanvasFrameOptions::canvas_size, yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics(), yaze::gui::ComputeZoomToFit(), connected_canvas_, connected_canvas_fit_requested_, connected_canvas_initialized_, connected_canvas_reset_requested_, connected_controls_custom_position_, connected_controls_custom_position_value_, connected_controls_inline_, connected_graph_cache_, connected_graph_cache_start_room_id_, connected_side_panel_visible_last_frame_, current_room_id_, yaze::editor::Door, yaze::gui::CanvasFrameOptions::draw_context_menu, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::CanvasFrameOptions::draw_overlay, yaze::gui::DrawCanvasHUD(), yaze::gui::EndCanvas(), yaze::gui::EndNoPadding(), EnsureRoomLoadedForConnectedView(), yaze::editor::FormatDungeonConnectedLinkDescription(), yaze::editor::FormatDungeonStaircaseIssueDescription(), yaze::gfx::Arena::Get(), yaze::gui::Canvas::GetConfig(), yaze::gui::GetOutlineVec4(), yaze::editor::dungeon_project_labels::GetRoomLabel(), yaze::editor::AgentUI::GetTheme(), yaze::gui::Canvas::global_scale(), yaze::Rom::is_loaded(), yaze::zelda3::kNumberOfRooms, yaze::gui::kPreviewOnly, last_connected_matrix_room_id_, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::links, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::max_col, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::max_row, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::min_col, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::min_row, NavigateToRoom(), PrepareRoomCompositeBitmap(), yaze::gfx::Arena::ProcessTextureQueue(), project_, yaze::gui::CanvasFrameOptions::render_popups, renderer_, yaze::gui::CanvasConfig::role, rom_, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_count, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_floor_labels, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_mask, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_positions, RoomHasNonExitDoorInDirection(), rooms_, yaze::gui::Canvas::set_global_scale(), show_connected_current_room_preview_, show_connected_overview_, yaze::editor::DungeonRoomStore::size(), and yaze::gfx::Bitmap::texture().

Referenced by yaze::editor::DungeonWorkbenchContent::DrawCanvasPane().

◆ DrawConnectedToolbarControls()

◆ Draw()

void yaze::editor::DungeonCanvasViewer::Draw ( int room_id)

Definition at line 167 of file dungeon_canvas_viewer.cc.

References DrawDungeonCanvas().

Here is the call graph for this function:

◆ TriggerChangePing()

void yaze::editor::DungeonCanvasViewer::TriggerChangePing ( )

◆ TriggerCanvasPingRect()

void yaze::editor::DungeonCanvasViewer::TriggerCanvasPingRect ( int pixel_x,
int pixel_y,
int pixel_w,
int pixel_h )

Definition at line 50 of file dungeon_canvas_viewer.cc.

References change_ping_rects_, and change_ping_start_time_.

Referenced by DungeonCanvasViewer().

◆ TriggerObjectChangePing()

void yaze::editor::DungeonCanvasViewer::TriggerObjectChangePing ( const std::vector< zelda3::RoomObject > & previous_objects,
const std::vector< zelda3::RoomObject > & next_objects )

◆ GetConnectedContentSize()

ImVec2 yaze::editor::DungeonCanvasViewer::GetConnectedContentSize ( int center_room_id)

◆ ConnectedCanvasScale()

float yaze::editor::DungeonCanvasViewer::ConnectedCanvasScale ( ) const

◆ SetConnectedControlsInline()

void yaze::editor::DungeonCanvasViewer::SetConnectedControlsInline ( bool inline_controls)
inline

◆ SetContext()

void yaze::editor::DungeonCanvasViewer::SetContext ( EditorContext ctx)
inline

◆ context()

EditorContext yaze::editor::DungeonCanvasViewer::context ( ) const
inline

Definition at line 263 of file dungeon_canvas_viewer.h.

References game_data_, and rom_.

◆ SetRom()

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

◆ rom()

◆ SetGameData()

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

Definition at line 271 of file dungeon_canvas_viewer.h.

References game_data(), and game_data_.

Referenced by RefreshRomBackedState(), and yaze::editor::DungeonEditorV2::RefreshWorkbenchViewerRuntimeContext().

Here is the call graph for this function:

◆ game_data()

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

◆ SetRenderer()

void yaze::editor::DungeonCanvasViewer::SetRenderer ( gfx::IRenderer * renderer)
inline

◆ SetRooms()

void yaze::editor::DungeonCanvasViewer::SetRooms ( DungeonRoomStore * rooms)
inline

◆ RefreshRomBackedState()

◆ rooms()

◆ HasRooms()

◆ current_room_id()

◆ SetCompactHeaderMode()

void yaze::editor::DungeonCanvasViewer::SetCompactHeaderMode ( bool compact)
inline

Definition at line 294 of file dungeon_canvas_viewer.h.

References compact_header_mode_.

◆ compact_header_mode()

bool yaze::editor::DungeonCanvasViewer::compact_header_mode ( ) const
inline

Definition at line 295 of file dungeon_canvas_viewer.h.

References compact_header_mode_.

◆ SetRoomDetailsExpanded()

void yaze::editor::DungeonCanvasViewer::SetRoomDetailsExpanded ( bool expanded)
inline

Definition at line 296 of file dungeon_canvas_viewer.h.

References show_room_details_.

◆ set_active_rooms()

void yaze::editor::DungeonCanvasViewer::set_active_rooms ( const ImVector< int > & rooms)
inline

Definition at line 299 of file dungeon_canvas_viewer.h.

References active_rooms_, and rooms().

Here is the call graph for this function:

◆ set_current_active_room_tab()

void yaze::editor::DungeonCanvasViewer::set_current_active_room_tab ( int tab)
inline

Definition at line 300 of file dungeon_canvas_viewer.h.

References current_active_room_tab_.

◆ set_current_palette_group_id()

void yaze::editor::DungeonCanvasViewer::set_current_palette_group_id ( uint64_t id)
inline

Definition at line 303 of file dungeon_canvas_viewer.h.

References current_palette_group_id_.

◆ SetCurrentPaletteId()

void yaze::editor::DungeonCanvasViewer::SetCurrentPaletteId ( uint64_t id)
inline

◆ SetCurrentPaletteGroup()

void yaze::editor::DungeonCanvasViewer::SetCurrentPaletteGroup ( const gfx::PaletteGroup & group)
inline

◆ SetEntranceRenderContext()

void yaze::editor::DungeonCanvasViewer::SetEntranceRenderContext ( int entrance_id,
uint8_t entrance_blockset )
inline

◆ ClearEntranceRenderContext()

void yaze::editor::DungeonCanvasViewer::ClearEntranceRenderContext ( )
inline

◆ current_entrance_id()

int yaze::editor::DungeonCanvasViewer::current_entrance_id ( ) const
inline

Definition at line 318 of file dungeon_canvas_viewer.h.

References current_entrance_id_.

◆ current_entrance_blockset()

uint8_t yaze::editor::DungeonCanvasViewer::current_entrance_blockset ( ) const
inline

Definition at line 319 of file dungeon_canvas_viewer.h.

References current_entrance_blockset_.

◆ SetRoomNavigationCallback()

void yaze::editor::DungeonCanvasViewer::SetRoomNavigationCallback ( std::function< void(int)> callback)
inline

Definition at line 322 of file dungeon_canvas_viewer.h.

References room_navigation_callback_.

◆ SetRoomSwapCallback()

void yaze::editor::DungeonCanvasViewer::SetRoomSwapCallback ( std::function< void(int, int)> callback)
inline

Definition at line 326 of file dungeon_canvas_viewer.h.

References room_swap_callback_.

◆ CanNavigateRooms()

bool yaze::editor::DungeonCanvasViewer::CanNavigateRooms ( ) const
inline

◆ NavigateToRoom()

void yaze::editor::DungeonCanvasViewer::NavigateToRoom ( int target_room)
inline

◆ SetShowObjectPanelCallback()

void yaze::editor::DungeonCanvasViewer::SetShowObjectPanelCallback ( std::function< void()> callback)
inline

◆ SetShowSpritePanelCallback()

void yaze::editor::DungeonCanvasViewer::SetShowSpritePanelCallback ( std::function< void()> callback)
inline

◆ SetShowItemPanelCallback()

void yaze::editor::DungeonCanvasViewer::SetShowItemPanelCallback ( std::function< void()> callback)
inline

◆ SetShowRoomListCallback()

void yaze::editor::DungeonCanvasViewer::SetShowRoomListCallback ( std::function< void()> callback)
inline

◆ SetShowRoomMatrixCallback()

void yaze::editor::DungeonCanvasViewer::SetShowRoomMatrixCallback ( std::function< void()> callback)
inline

◆ SetShowEntranceListCallback()

void yaze::editor::DungeonCanvasViewer::SetShowEntranceListCallback ( std::function< void()> callback)
inline

◆ set_show_custom_collision_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_custom_collision_overlay ( bool show)
inline

◆ show_custom_collision_overlay()

◆ set_show_water_fill_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_water_fill_overlay ( bool show)
inline

◆ show_water_fill_overlay()

bool yaze::editor::DungeonCanvasViewer::show_water_fill_overlay ( ) const
inline

◆ show_track_collision_overlay()

bool yaze::editor::DungeonCanvasViewer::show_track_collision_overlay ( ) const
inline

◆ set_show_track_collision_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_track_collision_overlay ( bool show)
inline

◆ show_camera_quadrant_overlay()

bool yaze::editor::DungeonCanvasViewer::show_camera_quadrant_overlay ( ) const
inline

◆ set_show_camera_quadrant_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_camera_quadrant_overlay ( bool show)
inline

◆ show_minecart_sprite_overlay()

bool yaze::editor::DungeonCanvasViewer::show_minecart_sprite_overlay ( ) const
inline

◆ set_show_minecart_sprite_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_minecart_sprite_overlay ( bool show)
inline

◆ show_track_gap_overlay()

bool yaze::editor::DungeonCanvasViewer::show_track_gap_overlay ( ) const
inline

◆ set_show_track_gap_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_track_gap_overlay ( bool show)
inline

◆ show_track_route_overlay()

bool yaze::editor::DungeonCanvasViewer::show_track_route_overlay ( ) const
inline

◆ set_show_track_route_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_track_route_overlay ( bool show)
inline

◆ show_custom_objects_overlay()

bool yaze::editor::DungeonCanvasViewer::show_custom_objects_overlay ( ) const
inline

◆ set_show_custom_objects_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_custom_objects_overlay ( bool show)
inline

◆ show_grid()

bool yaze::editor::DungeonCanvasViewer::show_grid ( ) const
inline

◆ set_show_grid()

void yaze::editor::DungeonCanvasViewer::set_show_grid ( bool show)
inline

◆ custom_grid_size()

int yaze::editor::DungeonCanvasViewer::custom_grid_size ( ) const
inline

Definition at line 414 of file dungeon_canvas_viewer.h.

References custom_grid_size_.

◆ set_custom_grid_size()

void yaze::editor::DungeonCanvasViewer::set_custom_grid_size ( int size)
inline

Definition at line 415 of file dungeon_canvas_viewer.h.

References custom_grid_size_.

Referenced by SyncViewerStateFromCanvasConfig().

◆ show_object_bounds()

bool yaze::editor::DungeonCanvasViewer::show_object_bounds ( ) const
inline

◆ set_show_object_bounds()

void yaze::editor::DungeonCanvasViewer::set_show_object_bounds ( bool show)
inline

◆ show_coordinate_overlay()

bool yaze::editor::DungeonCanvasViewer::show_coordinate_overlay ( ) const
inline

◆ set_show_coordinate_overlay()

void yaze::editor::DungeonCanvasViewer::set_show_coordinate_overlay ( bool show)
inline

◆ show_room_debug_info()

bool yaze::editor::DungeonCanvasViewer::show_room_debug_info ( ) const
inline

Definition at line 424 of file dungeon_canvas_viewer.h.

References show_room_debug_info_.

◆ set_show_room_debug_info()

void yaze::editor::DungeonCanvasViewer::set_show_room_debug_info ( bool show)
inline

Definition at line 425 of file dungeon_canvas_viewer.h.

References show_room_debug_info_.

◆ show_texture_debug()

bool yaze::editor::DungeonCanvasViewer::show_texture_debug ( ) const
inline

Definition at line 426 of file dungeon_canvas_viewer.h.

References show_texture_debug_.

◆ set_show_texture_debug()

void yaze::editor::DungeonCanvasViewer::set_show_texture_debug ( bool show)
inline

Definition at line 427 of file dungeon_canvas_viewer.h.

References show_texture_debug_.

◆ show_layer_info()

bool yaze::editor::DungeonCanvasViewer::show_layer_info ( ) const
inline

Definition at line 428 of file dungeon_canvas_viewer.h.

References show_layer_info_.

◆ set_show_layer_info()

void yaze::editor::DungeonCanvasViewer::set_show_layer_info ( bool show)
inline

Definition at line 429 of file dungeon_canvas_viewer.h.

References show_layer_info_.

◆ show_minecart_tracks()

bool yaze::editor::DungeonCanvasViewer::show_minecart_tracks ( ) const
inline

Definition at line 430 of file dungeon_canvas_viewer.h.

References show_minecart_tracks_.

◆ set_show_minecart_tracks()

void yaze::editor::DungeonCanvasViewer::set_show_minecart_tracks ( bool show)
inline

Definition at line 431 of file dungeon_canvas_viewer.h.

References show_minecart_tracks_.

◆ show_track_collision_legend()

bool yaze::editor::DungeonCanvasViewer::show_track_collision_legend ( ) const
inline

Definition at line 432 of file dungeon_canvas_viewer.h.

References show_track_collision_legend_.

◆ set_show_track_collision_legend()

void yaze::editor::DungeonCanvasViewer::set_show_track_collision_legend ( bool show)
inline

Definition at line 435 of file dungeon_canvas_viewer.h.

References show_track_collision_legend_.

◆ mutable_show_grid()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_grid ( )
inline

Definition at line 440 of file dungeon_canvas_viewer.h.

References show_grid_.

◆ mutable_show_object_bounds()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_object_bounds ( )
inline

Definition at line 441 of file dungeon_canvas_viewer.h.

References show_object_bounds_.

◆ mutable_show_coordinate_overlay()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_coordinate_overlay ( )
inline

Definition at line 442 of file dungeon_canvas_viewer.h.

References show_coordinate_overlay_.

◆ mutable_show_room_debug_info()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_room_debug_info ( )
inline

Definition at line 443 of file dungeon_canvas_viewer.h.

References show_room_debug_info_.

◆ mutable_show_texture_debug()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_texture_debug ( )
inline

Definition at line 444 of file dungeon_canvas_viewer.h.

References show_texture_debug_.

◆ mutable_show_layer_info()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_layer_info ( )
inline

Definition at line 445 of file dungeon_canvas_viewer.h.

References show_layer_info_.

◆ mutable_show_minecart_tracks()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_minecart_tracks ( )
inline

Definition at line 446 of file dungeon_canvas_viewer.h.

References show_minecart_tracks_.

◆ mutable_show_custom_collision_overlay()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_custom_collision_overlay ( )
inline

Definition at line 447 of file dungeon_canvas_viewer.h.

References show_custom_collision_overlay_.

◆ mutable_show_track_collision_overlay()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_track_collision_overlay ( )
inline

Definition at line 450 of file dungeon_canvas_viewer.h.

References show_track_collision_overlay_.

◆ mutable_show_camera_quadrant_overlay()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_camera_quadrant_overlay ( )
inline

Definition at line 453 of file dungeon_canvas_viewer.h.

References show_camera_quadrant_overlay_.

◆ mutable_show_minecart_sprite_overlay()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_minecart_sprite_overlay ( )
inline

Definition at line 456 of file dungeon_canvas_viewer.h.

References show_minecart_sprite_overlay_.

◆ mutable_show_track_collision_legend()

bool * yaze::editor::DungeonCanvasViewer::mutable_show_track_collision_legend ( )
inline

Definition at line 459 of file dungeon_canvas_viewer.h.

References show_track_collision_legend_.

◆ SetShowRoomGraphicsCallback()

void yaze::editor::DungeonCanvasViewer::SetShowRoomGraphicsCallback ( std::function< void()> callback)
inline

◆ SetShowDoorEditorCallback()

void yaze::editor::DungeonCanvasViewer::SetShowDoorEditorCallback ( std::function< void()> callback)
inline

◆ SetShowDungeonSettingsCallback()

void yaze::editor::DungeonCanvasViewer::SetShowDungeonSettingsCallback ( std::function< void()> callback)
inline

◆ SetSaveRoomCallback()

void yaze::editor::DungeonCanvasViewer::SetSaveRoomCallback ( std::function< void(int)> callback)
inline

◆ SetEditGraphicsCallback()

void yaze::editor::DungeonCanvasViewer::SetEditGraphicsCallback ( std::function< void(int, const zelda3::RoomObject &)> callback)
inline

◆ SetMinecartTrackPanel()

◆ SetPinned()

void yaze::editor::DungeonCanvasViewer::SetPinned ( bool pinned)
inline

Definition at line 481 of file dungeon_canvas_viewer.h.

References is_pinned_.

◆ SetPinCallback()

void yaze::editor::DungeonCanvasViewer::SetPinCallback ( std::function< void(bool)> callback)
inline

Definition at line 482 of file dungeon_canvas_viewer.h.

References pin_callback_.

◆ SetProject()

void yaze::editor::DungeonCanvasViewer::SetProject ( const project::YazeProject * project)

◆ project()

◆ canvas() [1/2]

gui::Canvas & yaze::editor::DungeonCanvasViewer::canvas ( )
inline

◆ canvas() [2/2]

const gui::Canvas & yaze::editor::DungeonCanvasViewer::canvas ( ) const
inline

Definition at line 490 of file dungeon_canvas_viewer.h.

References canvas_.

◆ object_interaction()

DungeonObjectInteraction & yaze::editor::DungeonCanvasViewer::object_interaction ( )
inline

Definition at line 493 of file dungeon_canvas_viewer.h.

References object_interaction_.

Referenced by yaze::editor::DoorEditorContent::CancelPlacement(), yaze::editor::ObjectSelectorContent::CancelPlacement(), yaze::editor::ObjectEditorContent::CopySelectedObjects(), yaze::editor::ObjectEditorContent::CycleObjectSelection(), yaze::editor::ObjectEditorContent::DeleteAllSelectedTypeInRoom(), yaze::editor::ObjectEditorContent::DeleteCurrentSelection(), yaze::editor::ObjectEditorContent::DeleteSelectedEntity(), yaze::editor::ObjectEditorContent::DeleteSelectedObjects(), yaze::editor::ObjectEditorContent::DeselectAllObjects(), yaze::editor::DoorEditorContent::Draw(), yaze::editor::ObjectEditorContent::Draw(), yaze::editor::ObjectSelectorContent::Draw(), yaze::editor::DungeonWorkbenchContent::DrawCanvasPane(), yaze::editor::DungeonWorkbenchContent::DrawInspectorCompactSummary(), yaze::editor::DungeonWorkbenchContent::DrawInspectorShelf(), yaze::editor::DungeonWorkbenchContent::DrawInspectorShelfRoom(), yaze::editor::DungeonWorkbenchContent::DrawInspectorShelfSelection(), yaze::editor::ObjectSelectorContent::DrawInteractionSummary(), yaze::editor::ItemEditorPanel::DrawItemSelector(), yaze::editor::ItemEditorPanel::DrawPlacementControls(), yaze::editor::SpriteEditorPanel::DrawPlacementControls(), yaze::editor::ItemEditorPanel::DrawRoomItems(), yaze::editor::SpriteEditorPanel::DrawRoomSprites(), yaze::editor::ObjectEditorContent::DrawSelectedDoorInfo(), yaze::editor::ObjectEditorContent::DrawSelectedItemInfo(), yaze::editor::ObjectEditorContent::DrawSelectedObjectInfo(), yaze::editor::ObjectEditorContent::DrawSelectedSpriteInfo(), yaze::editor::DungeonWorkbenchContent::DrawSelectionShelf(), yaze::editor::SpriteEditorPanel::DrawSpriteSelector(), yaze::editor::DungeonWorkbenchContent::DrawWorkbenchTool(), yaze::editor::ObjectEditorContent::DuplicateSelectedObjects(), yaze::editor::ObjectEditorContent::DuplicateSelectedSprite(), yaze::editor::anonymous_namespace{object_editor_content.cc}::MutateSelectedItem(), yaze::editor::anonymous_namespace{object_editor_content.cc}::MutateSelectedSprite(), yaze::editor::ObjectEditorContent::NudgeCurrentSelection(), yaze::editor::ObjectEditorContent::OnSelectionChanged(), yaze::editor::ObjectEditorContent::PasteObjects(), yaze::editor::ObjectEditorContent::RefreshSelectionSnapshot(), yaze::editor::ObjectEditorContent::SelectAllObjects(), and yaze::editor::ObjectEditorContent::SetupSelectionCallbacks().

◆ SetEditorSystem()

void yaze::editor::DungeonCanvasViewer::SetEditorSystem ( zelda3::DungeonEditorSystem * system)
inline

◆ SetObjectInteractionEnabled()

void yaze::editor::DungeonCanvasViewer::SetObjectInteractionEnabled ( bool enabled)
inline

◆ IsObjectInteractionEnabled()

bool yaze::editor::DungeonCanvasViewer::IsObjectInteractionEnabled ( ) const
inline

Definition at line 503 of file dungeon_canvas_viewer.h.

References object_interaction_enabled_.

◆ SetHeaderReadOnly()

void yaze::editor::DungeonCanvasViewer::SetHeaderReadOnly ( bool read_only)
inline

Definition at line 509 of file dungeon_canvas_viewer.h.

References header_read_only_.

◆ header_read_only()

bool yaze::editor::DungeonCanvasViewer::header_read_only ( ) const
inline

Definition at line 510 of file dungeon_canvas_viewer.h.

References header_read_only_.

◆ SetHeaderVisible()

void yaze::editor::DungeonCanvasViewer::SetHeaderVisible ( bool visible)
inline

Definition at line 514 of file dungeon_canvas_viewer.h.

References header_visible_.

◆ header_visible()

bool yaze::editor::DungeonCanvasViewer::header_visible ( ) const
inline

Definition at line 515 of file dungeon_canvas_viewer.h.

References header_visible_.

◆ SetHeaderHiddenMetadataHudVisible()

void yaze::editor::DungeonCanvasViewer::SetHeaderHiddenMetadataHudVisible ( bool visible)
inline

Definition at line 516 of file dungeon_canvas_viewer.h.

References show_header_hidden_metadata_hud_.

◆ show_header_hidden_metadata_hud()

bool yaze::editor::DungeonCanvasViewer::show_header_hidden_metadata_hud ( ) const
inline

Definition at line 519 of file dungeon_canvas_viewer.h.

References show_header_hidden_metadata_hud_.

◆ SetObjectRenderMode()

void yaze::editor::DungeonCanvasViewer::SetObjectRenderMode ( ObjectRenderMode mode)
inline

Definition at line 524 of file dungeon_canvas_viewer.h.

References object_render_mode_.

◆ GetObjectRenderMode()

ObjectRenderMode yaze::editor::DungeonCanvasViewer::GetObjectRenderMode ( ) const
inline

Definition at line 527 of file dungeon_canvas_viewer.h.

References object_render_mode_.

◆ SetLayerVisible()

void yaze::editor::DungeonCanvasViewer::SetLayerVisible ( int room_id,
zelda3::LayerType layer,
bool visible )
inline

Definition at line 530 of file dungeon_canvas_viewer.h.

References GetRoomLayerManager(), and yaze::zelda3::RoomLayerManager::SetLayerVisible().

Here is the call graph for this function:

◆ IsLayerVisible()

bool yaze::editor::DungeonCanvasViewer::IsLayerVisible ( int room_id,
zelda3::LayerType layer ) const
inline

Definition at line 533 of file dungeon_canvas_viewer.h.

References room_layer_managers_.

◆ SetBG1Visible()

void yaze::editor::DungeonCanvasViewer::SetBG1Visible ( int room_id,
bool visible )
inline

Definition at line 540 of file dungeon_canvas_viewer.h.

References yaze::zelda3::BG1_Layout, yaze::zelda3::BG1_Objects, and GetRoomLayerManager().

Here is the call graph for this function:

◆ SetBG2Visible()

void yaze::editor::DungeonCanvasViewer::SetBG2Visible ( int room_id,
bool visible )
inline

Definition at line 545 of file dungeon_canvas_viewer.h.

References yaze::zelda3::BG2_Layout, yaze::zelda3::BG2_Objects, and GetRoomLayerManager().

Here is the call graph for this function:

◆ IsBG1Visible()

bool yaze::editor::DungeonCanvasViewer::IsBG1Visible ( int room_id) const
inline

◆ IsBG2Visible()

bool yaze::editor::DungeonCanvasViewer::IsBG2Visible ( int room_id) const
inline

◆ SetLayerBlendMode()

void yaze::editor::DungeonCanvasViewer::SetLayerBlendMode ( int room_id,
zelda3::LayerType layer,
zelda3::LayerBlendMode mode )
inline

Definition at line 566 of file dungeon_canvas_viewer.h.

References GetRoomLayerManager(), and yaze::zelda3::RoomLayerManager::SetLayerBlendMode().

Here is the call graph for this function:

◆ GetLayerBlendMode()

zelda3::LayerBlendMode yaze::editor::DungeonCanvasViewer::GetLayerBlendMode ( int room_id,
zelda3::LayerType layer ) const
inline

Definition at line 570 of file dungeon_canvas_viewer.h.

References yaze::zelda3::Normal, and room_layer_managers_.

Referenced by GetBG2LayerType().

◆ SetObjectTranslucent()

void yaze::editor::DungeonCanvasViewer::SetObjectTranslucent ( int room_id,
size_t object_index,
bool translucent,
uint8_t alpha = 128 )
inline

Definition at line 579 of file dungeon_canvas_viewer.h.

References GetRoomLayerManager(), and yaze::zelda3::RoomLayerManager::SetObjectTranslucency().

Here is the call graph for this function:

◆ GetRoomLayerManager() [1/2]

◆ GetRoomLayerManager() [2/2]

const zelda3::RoomLayerManager & yaze::editor::DungeonCanvasViewer::GetRoomLayerManager ( int room_id) const
inline

Definition at line 589 of file dungeon_canvas_viewer.h.

References room_layer_managers_.

◆ SetBG2LayerType()

void yaze::editor::DungeonCanvasViewer::SetBG2LayerType ( int room_id,
int type )
inline

◆ GetBG2LayerType()

int yaze::editor::DungeonCanvasViewer::GetBG2LayerType ( int room_id) const
inline

◆ SetPreviewObject()

void yaze::editor::DungeonCanvasViewer::SetPreviewObject ( const zelda3::RoomObject & object)
inline

◆ ClearPreviewObject()

void yaze::editor::DungeonCanvasViewer::ClearPreviewObject ( )
inline

◆ ScrollToTile()

void yaze::editor::DungeonCanvasViewer::ScrollToTile ( int tile_x,
int tile_y )
inline

◆ HasPendingScrollTarget()

bool yaze::editor::DungeonCanvasViewer::HasPendingScrollTarget ( ) const
inline

Definition at line 655 of file dungeon_canvas_viewer.h.

References pending_scroll_target_.

◆ GetPendingScrollTarget()

std::optional< std::pair< int, int > > yaze::editor::DungeonCanvasViewer::GetPendingScrollTarget ( ) const
inline

Definition at line 658 of file dungeon_canvas_viewer.h.

References pending_scroll_target_.

◆ DeleteSelectedObjects()

void yaze::editor::DungeonCanvasViewer::DeleteSelectedObjects ( )
inline

Definition at line 663 of file dungeon_canvas_viewer.h.

References yaze::editor::DungeonObjectInteraction::HandleDeleteSelected(), and object_interaction_.

Here is the call graph for this function:

◆ SetSpritesVisible()

void yaze::editor::DungeonCanvasViewer::SetSpritesVisible ( bool visible)
inline

◆ AreSpritesVisible()

bool yaze::editor::DungeonCanvasViewer::AreSpritesVisible ( ) const
inline

◆ SetPotItemsVisible()

void yaze::editor::DungeonCanvasViewer::SetPotItemsVisible ( bool visible)
inline

◆ ArePotItemsVisible()

bool yaze::editor::DungeonCanvasViewer::ArePotItemsVisible ( ) const
inline

◆ DisplayObjectInfo()

void yaze::editor::DungeonCanvasViewer::DisplayObjectInfo ( const gui::CanvasRuntime & rt,
const zelda3::RoomObject & object,
int canvas_x,
int canvas_y )
private

Definition at line 24 of file dungeon_canvas_room_chrome.cc.

References yaze::gui::DrawText(), and yaze::zelda3::GetObjectName().

Here is the call graph for this function:

◆ DrawRoomHeader()

void yaze::editor::DungeonCanvasViewer::DrawRoomHeader ( zelda3::Room & room,
int room_id )
private

◆ DrawRoomNavigation()

void yaze::editor::DungeonCanvasViewer::DrawRoomNavigation ( int room_id)
private

◆ DrawRoomPropertyTable()

◆ DrawRecentRoomBreadcrumbs()

void yaze::editor::DungeonCanvasViewer::DrawRecentRoomBreadcrumbs ( int room_id)
private

◆ DrawLayerControls()

void yaze::editor::DungeonCanvasViewer::DrawLayerControls ( zelda3::Room & room,
int room_id )
private

◆ DrawCompactLayerToggles()

◆ PopulateCanvasContextMenu()

void yaze::editor::DungeonCanvasViewer::PopulateCanvasContextMenu ( int room_id)
private

Definition at line 19 of file dungeon_canvas_context_menu.cc.

References AddInteractionContextMenuItems(), AddLoadedRoomContextMenuItems(), canvas_, and yaze::gui::Canvas::ClearContextMenuItems().

Referenced by DrawDungeonCanvas().

Here is the call graph for this function:

◆ AddInteractionContextMenuItems()

void yaze::editor::DungeonCanvasViewer::AddInteractionContextMenuItems ( int room_id)
private

◆ AddLoadedRoomContextMenuItems()

◆ BuildInsertContextMenu()

◆ BuildSelectionContextMenuItems()

◆ GetObjectUnderContextCursor()

◆ BuildRoomContextMenu()

◆ BuildReportContextMenu()

◆ BuildOpenContextMenu()

◆ BuildCopyExportContextMenu()

◆ BuildLayerVisibilityContextMenu()

◆ BuildOverlayContextMenu()

◆ BuildDebugContextMenu()

◆ BuildRoomMetadataSummary()

◆ BuildDrawIssueReport()

◆ BuildSelectionIssueReport()

◆ OpenIssueReportPopup()

◆ PrepareIssueReportPopup()

absl::Status yaze::editor::DungeonCanvasViewer::PrepareIssueReportPopup ( const std::string & title,
const std::string & summary,
const std::string & kind_label,
const std::string & diagnostics,
int room_id,
int default_category_index )
private

◆ BuildIssueReportClipboardText()

std::string yaze::editor::DungeonCanvasViewer::BuildIssueReportClipboardText ( ) const
private

◆ CaptureIssueReportScreenshot()

◆ AppendIssueReportToLog()

◆ EnsureIssueReportPersisted()

absl::Status yaze::editor::DungeonCanvasViewer::EnsureIssueReportPersisted ( )
private

◆ MarkIssueReportDirty()

void yaze::editor::DungeonCanvasViewer::MarkIssueReportDirty ( )
private

Definition at line 744 of file dungeon_canvas_issue_report.cc.

References issue_report_popup_persisted_.

Referenced by OpenIssueReportPopup().

◆ RefreshIssueReportOutputTargets()

void yaze::editor::DungeonCanvasViewer::RefreshIssueReportOutputTargets ( )
private

◆ SetIssueReportPopupStatus()

void yaze::editor::DungeonCanvasViewer::SetIssueReportPopupStatus ( std::string message,
bool is_error )
private

◆ DrawIssueReportStorageSummary()

void yaze::editor::DungeonCanvasViewer::DrawIssueReportStorageSummary ( ) const
private

◆ DrawIssueReportStatusMessage()

void yaze::editor::DungeonCanvasViewer::DrawIssueReportStatusMessage ( ) const
private

◆ RenderSprites()

◆ RenderPotItems()

◆ RenderEntityOverlay()

void yaze::editor::DungeonCanvasViewer::RenderEntityOverlay ( const gui::CanvasRuntime & rt,
const zelda3::Room & room )
private

Definition at line 296 of file dungeon_canvas_overlays.cc.

References RenderPotItems(), and RenderSprites().

Referenced by DrawRoomCanvasContent().

Here is the call graph for this function:

◆ HandleTouchLongPressContextMenu()

void yaze::editor::DungeonCanvasViewer::HandleTouchLongPressContextMenu ( const gui::CanvasRuntime & rt,
const zelda3::Room & room )
private

Definition at line 302 of file dungeon_canvas_overlays.cc.

References yaze::gui::CanvasRuntime::canvas_p0, yaze::editor::InteractionCoordinator::DeleteSelectedEntity(), yaze::editor::DungeonObjectInteraction::entity_coordinator(), yaze::zelda3::DimensionService::Get(), yaze::gui::CanvasTouchHandler::GetGesturePosition(), yaze::zelda3::GetObjectName(), yaze::zelda3::DimensionService::GetPixelDimensions(), yaze::zelda3::Room::GetPotItems(), yaze::editor::DungeonObjectInteraction::GetSelectedEntity(), yaze::editor::DungeonObjectInteraction::GetSelectedObjectIndices(), yaze::editor::DungeonObjectInteraction::GetSelectionCount(), yaze::zelda3::GetSpriteLabel(), yaze::zelda3::Room::GetSprites(), yaze::zelda3::Room::GetTileObjects(), yaze::editor::DungeonObjectInteraction::HandleCopySelected(), yaze::editor::DungeonObjectInteraction::HandleDeleteSelected(), yaze::editor::DungeonObjectInteraction::HasEntitySelection(), yaze::gui::CanvasRuntime::hovered, yaze::gui::LayoutHelpers::IsTouchDevice(), yaze::editor::dungeon_coords::IsWithinBounds(), yaze::editor::Item, object_interaction_, yaze::gui::CanvasRuntime::scale, yaze::editor::DungeonCanvasTransform::ScreenToRoomPixelCoordinates(), yaze::editor::DungeonCanvasTransform::ScreenToRoomPixels(), yaze::gui::CanvasRuntime::scrolling, yaze::editor::DungeonObjectInteraction::SelectEntity(), yaze::editor::DungeonObjectInteraction::SendSelectedToBack(), yaze::editor::DungeonObjectInteraction::SendSelectedToFront(), yaze::editor::DungeonObjectInteraction::SetSelectedObjects(), yaze::editor::Sprite, touch_handler_, and yaze::gui::CanvasTouchHandler::WasLongPressed().

Referenced by DrawRoomCanvasContent().

◆ DrawObjectPositionOutlines()

◆ ApplyTrackCollisionConfig()

◆ GetCollisionOverlayCache()

◆ DrawMaskHighlights()

◆ DrawPersistentDebugWindows()

void yaze::editor::DungeonCanvasViewer::DrawPersistentDebugWindows ( int room_id)
private

◆ DrawRoomDebugWindow()

◆ DrawTextureDebugWindow()

◆ DrawLayerInfoWindow()

◆ DrawRoomCanvasOverlays()

void yaze::editor::DungeonCanvasViewer::DrawRoomCanvasOverlays ( const gui::CanvasRuntime & rt,
zelda3::Room & room,
int room_id )
private

Definition at line 289 of file dungeon_canvas_debug.cc.

References yaze::editor::dungeon_coords::CameraToLocalCoords(), yaze::gui::CanvasRuntime::canvas_p0, yaze::editor::DungeonRenderingHelpers::DrawCameraQuadrantOverlay(), yaze::editor::DungeonRenderingHelpers::DrawCustomCollisionOverlay(), yaze::editor::DungeonRenderingHelpers::DrawMinecartSpriteOverlay(), DrawObjectPositionOutlines(), yaze::editor::DungeonRenderingHelpers::DrawTrackCollisionOverlay(), yaze::editor::DungeonRenderingHelpers::DrawTrackGapOverlay(), yaze::editor::DungeonRenderingHelpers::DrawTrackRouteOverlay(), yaze::editor::DungeonRenderingHelpers::DrawWaterFillOverlay(), GetCollisionOverlayCache(), yaze::gui::GetInfoColor(), yaze::editor::MinecartTrackEditorPanel::GetPickingTrackIndex(), yaze::editor::AgentUI::GetTheme(), yaze::zelda3::Room::GetTileObjects(), yaze::editor::MinecartTrackEditorPanel::GetTracks(), yaze::zelda3::Room::id(), yaze::editor::MinecartTrackEditorPanel::IsPickingCoordinates(), minecart_sprite_ids_, minecart_track_panel_, yaze::editor::DungeonCanvasTransform::room_origin_screen(), yaze::editor::DungeonCanvasTransform::scale(), yaze::gui::CanvasRuntime::scale, yaze::gui::CanvasRuntime::scrolling, show_camera_quadrant_overlay_, show_custom_collision_overlay_, show_custom_objects_overlay_, show_minecart_sprite_overlay_, show_minecart_tracks_, show_object_bounds_, show_track_collision_legend_, show_track_collision_overlay_, show_track_gap_overlay_, show_track_route_overlay_, show_water_fill_overlay_, switch_tile_order_, track_collision_config_, track_direction_map_enabled_, and track_tile_order_.

Referenced by DrawDungeonCanvas().

◆ DrawCoordinateOverlayHud()

◆ ValidateRoomCanvasRequest()

bool yaze::editor::DungeonCanvasViewer::ValidateRoomCanvasRequest ( int room_id)
private

Definition at line 15 of file dungeon_canvas_room_frame.cc.

References yaze::Rom::is_loaded(), yaze::zelda3::kNumberOfRooms, and rom_.

Referenced by DrawDungeonCanvas().

Here is the call graph for this function:

◆ BuildRoomCanvasFrameOptions()

◆ SyncCanvasConfigFromViewerState()

void yaze::editor::DungeonCanvasViewer::SyncCanvasConfigFromViewerState ( )
private

◆ SyncViewerStateFromCanvasConfig()

void yaze::editor::DungeonCanvasViewer::SyncViewerStateFromCanvasConfig ( )
private

Definition at line 54 of file dungeon_canvas_room_frame.cc.

References canvas_, yaze::gui::CanvasConfig::enable_grid, yaze::gui::Canvas::GetConfig(), set_custom_grid_size(), and show_grid_.

Referenced by DrawDungeonCanvas().

Here is the call graph for this function:

◆ RefreshActiveRoomCanvasState()

◆ PrepareActiveRoomForCanvasFrame()

zelda3::Room * yaze::editor::DungeonCanvasViewer::PrepareActiveRoomForCanvasFrame ( int room_id)
private

Definition at line 79 of file dungeon_canvas_room_frame.cc.

References RefreshActiveRoomCanvasState(), rooms_, and yaze::editor::DungeonRoomStore::TryEnsureRoom().

Referenced by DrawDungeonCanvas().

Here is the call graph for this function:

◆ SyncCanvasCaptureRegion()

void yaze::editor::DungeonCanvasViewer::SyncCanvasCaptureRegion ( const gui::CanvasRuntime & canvas_rt)
private

◆ ConsumePendingCanvasScroll()

void yaze::editor::DungeonCanvasViewer::ConsumePendingCanvasScroll ( const gui::CanvasRuntime & canvas_rt)
private

◆ DrawHeaderHiddenMetadataHud()

◆ PrepareRoomStateForCanvas()

◆ DrawRoomCanvasContent()

◆ HandleRoomCanvasDropTargets()

◆ DrawChangePingOverlay()

◆ RecordVisitedRoom()

void yaze::editor::DungeonCanvasViewer::RecordVisitedRoom ( int room_id)
private

Definition at line 25 of file dungeon_canvas_viewer.cc.

References yaze::zelda3::kNumberOfRooms, and recently_visited_rooms_.

Referenced by DrawDungeonCanvas().

◆ LoadAndRenderRoomGraphics()

◆ PrepareRoomCompositeBitmap()

◆ EnsureRoomLoadedForConnectedView()

◆ RoomHasNonExitDoorInDirection()

bool yaze::editor::DungeonCanvasViewer::RoomHasNonExitDoorInDirection ( int room_id,
zelda3::DoorDirection dir )
private

Definition at line 427 of file dungeon_canvas_connected_view.cc.

References EnsureRoomLoadedForConnectedView(), and yaze::zelda3::Room::GetDoors().

Referenced by BuildConnectedRoomGraph(), and DrawConnectedRoomMatrix().

Here is the call graph for this function:

◆ BuildConnectedRoomGraph()

DungeonCanvasViewer::ConnectedRoomGraphData yaze::editor::DungeonCanvasViewer::BuildConnectedRoomGraph ( int start_room_id)
private

Definition at line 443 of file dungeon_canvas_connected_view.cc.

References yaze::editor::CollectDungeonConnectedRoomLinkDiagnostics(), yaze::editor::Door, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::dungeon_scope_active, EnsureRoomLoadedForConnectedView(), yaze::editor::dungeon_project_labels::FindDungeonForRoom(), yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::floor_order, yaze::zelda3::kNumberOfRooms, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::links, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::max_col, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::max_row, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::min_col, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::min_row, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::out_of_scope_links, project_, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_count, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_floor_labels, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_mask, yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::room_positions, RoomHasNonExitDoorInDirection(), yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::staircase_issues, and yaze::editor::DungeonCanvasViewer::ConnectedRoomGraphData::unlinked_room_count.

Referenced by ApplyConnectedStaircaseIssueAutoFixes(), DrawConnectedRoomMatrix(), DrawConnectedToolbarControls(), and GetConnectedContentSize().

Here is the call graph for this function:

◆ ApplyConnectedStaircaseIssueAutoFixes()

◆ DrawRoomBackgroundLayers()

Friends And Related Symbol Documentation

◆ DungeonCanvasViewerTestPeer

friend class DungeonCanvasViewerTestPeer
friend

Definition at line 708 of file dungeon_canvas_viewer.h.

◆ DungeonEditorPaletteRefreshTest_CachedRoomRefreshesThroughViewerCompositePreparation_Test

friend class DungeonEditorPaletteRefreshTest_CachedRoomRefreshesThroughViewerCompositePreparation_Test
friend

Definition at line 710 of file dungeon_canvas_viewer.h.

◆ DungeonEditorPaletteRefreshTest_CachedCompositePreparationPreservesTargetEntranceContext_Test

friend class DungeonEditorPaletteRefreshTest_CachedCompositePreparationPreservesTargetEntranceContext_Test
friend

Definition at line 712 of file dungeon_canvas_viewer.h.

Member Data Documentation

◆ rom_

◆ game_data_

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

◆ canvas_

◆ connected_canvas_

gui::Canvas yaze::editor::DungeonCanvasViewer::connected_canvas_
private
Initial value:
{"##DungeonConnectedCanvas",
ImVec2(0x200, 0x200)}

Definition at line 824 of file dungeon_canvas_viewer.h.

Referenced by ConnectedCanvasScale(), and DrawConnectedRoomMatrix().

◆ object_interaction_

◆ touch_handler_

gui::CanvasTouchHandler yaze::editor::DungeonCanvasViewer::touch_handler_
private

Definition at line 830 of file dungeon_canvas_viewer.h.

Referenced by DrawDungeonCanvas(), and HandleTouchLongPressContextMenu().

◆ pending_scroll_target_

std::optional<std::pair<int, int> > yaze::editor::DungeonCanvasViewer::pending_scroll_target_
private

◆ rooms_

◆ current_room_id_

int yaze::editor::DungeonCanvasViewer::current_room_id_ = -1
private

◆ recently_visited_rooms_

std::vector<int> yaze::editor::DungeonCanvasViewer::recently_visited_rooms_
private

Definition at line 838 of file dungeon_canvas_viewer.h.

Referenced by DrawRecentRoomBreadcrumbs(), and RecordVisitedRoom().

◆ current_entrance_id_

int yaze::editor::DungeonCanvasViewer::current_entrance_id_ = -1
private

◆ current_entrance_blockset_

◆ active_rooms_

ImVector<int> yaze::editor::DungeonCanvasViewer::active_rooms_
private

Definition at line 842 of file dungeon_canvas_viewer.h.

Referenced by set_active_rooms().

◆ current_active_room_tab_

int yaze::editor::DungeonCanvasViewer::current_active_room_tab_ = 0
private

Definition at line 843 of file dungeon_canvas_viewer.h.

Referenced by set_current_active_room_tab().

◆ last_connected_matrix_room_id_

int yaze::editor::DungeonCanvasViewer::last_connected_matrix_room_id_ = -1
private

Definition at line 844 of file dungeon_canvas_viewer.h.

Referenced by DrawConnectedRoomMatrix(), and RefreshRomBackedState().

◆ connected_canvas_initialized_

bool yaze::editor::DungeonCanvasViewer::connected_canvas_initialized_ = false
private

Definition at line 845 of file dungeon_canvas_viewer.h.

Referenced by DrawConnectedRoomMatrix().

◆ show_connected_overview_

bool yaze::editor::DungeonCanvasViewer::show_connected_overview_ = false
private

◆ show_connected_current_room_preview_

bool yaze::editor::DungeonCanvasViewer::show_connected_current_room_preview_ = false
private

◆ connected_controls_inline_

bool yaze::editor::DungeonCanvasViewer::connected_controls_inline_ = false
private

Definition at line 848 of file dungeon_canvas_viewer.h.

Referenced by DrawConnectedRoomMatrix(), and SetConnectedControlsInline().

◆ connected_canvas_fit_requested_

bool yaze::editor::DungeonCanvasViewer::connected_canvas_fit_requested_ = false
private

◆ connected_canvas_reset_requested_

bool yaze::editor::DungeonCanvasViewer::connected_canvas_reset_requested_ = false
private

◆ connected_side_panel_visible_last_frame_

bool yaze::editor::DungeonCanvasViewer::connected_side_panel_visible_last_frame_ = false
private

Definition at line 855 of file dungeon_canvas_viewer.h.

Referenced by DrawConnectedRoomMatrix().

◆ connected_controls_custom_position_

bool yaze::editor::DungeonCanvasViewer::connected_controls_custom_position_ = false
private

Definition at line 856 of file dungeon_canvas_viewer.h.

Referenced by DrawConnectedRoomMatrix().

◆ connected_controls_custom_position_value_

ImVec2 yaze::editor::DungeonCanvasViewer::connected_controls_custom_position_value_ = ImVec2(0.0f, 0.0f)
private

Definition at line 857 of file dungeon_canvas_viewer.h.

Referenced by DrawConnectedRoomMatrix().

◆ connected_graph_cache_start_room_id_

int yaze::editor::DungeonCanvasViewer::connected_graph_cache_start_room_id_ = -1
private

◆ connected_graph_cache_

ConnectedRoomGraphData yaze::editor::DungeonCanvasViewer::connected_graph_cache_ {}
private

◆ connected_action_status_message_

std::string yaze::editor::DungeonCanvasViewer::connected_action_status_message_
private

◆ connected_action_status_is_error_

bool yaze::editor::DungeonCanvasViewer::connected_action_status_is_error_ = false
private

◆ object_interaction_enabled_

bool yaze::editor::DungeonCanvasViewer::object_interaction_enabled_ = true
private

◆ room_layer_managers_

std::map<int, zelda3::RoomLayerManager> yaze::editor::DungeonCanvasViewer::room_layer_managers_
private

◆ current_palette_group_id_

uint64_t yaze::editor::DungeonCanvasViewer::current_palette_group_id_ = 0
private

◆ current_palette_id_

uint64_t yaze::editor::DungeonCanvasViewer::current_palette_id_ = 0
private

Definition at line 871 of file dungeon_canvas_viewer.h.

Referenced by SetCurrentPaletteId().

◆ current_palette_group_

gfx::PaletteGroup yaze::editor::DungeonCanvasViewer::current_palette_group_
private

◆ room_navigation_callback_

std::function<void(int)> yaze::editor::DungeonCanvasViewer::room_navigation_callback_
private

◆ room_swap_callback_

std::function<void(int, int)> yaze::editor::DungeonCanvasViewer::room_swap_callback_
private

◆ show_object_panel_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_object_panel_callback_
private

Definition at line 876 of file dungeon_canvas_viewer.h.

Referenced by BuildInsertContextMenu(), and SetShowObjectPanelCallback().

◆ show_sprite_panel_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_sprite_panel_callback_
private

Definition at line 877 of file dungeon_canvas_viewer.h.

Referenced by BuildInsertContextMenu(), and SetShowSpritePanelCallback().

◆ show_item_panel_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_item_panel_callback_
private

Definition at line 878 of file dungeon_canvas_viewer.h.

Referenced by BuildInsertContextMenu(), and SetShowItemPanelCallback().

◆ show_room_list_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_room_list_callback_
private

Definition at line 879 of file dungeon_canvas_viewer.h.

Referenced by SetShowRoomListCallback().

◆ show_room_matrix_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_room_matrix_callback_
private

Definition at line 880 of file dungeon_canvas_viewer.h.

Referenced by BuildOpenContextMenu(), and SetShowRoomMatrixCallback().

◆ show_entrance_list_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_entrance_list_callback_
private

Definition at line 881 of file dungeon_canvas_viewer.h.

Referenced by BuildOpenContextMenu(), and SetShowEntranceListCallback().

◆ show_room_graphics_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_room_graphics_callback_
private

◆ show_door_editor_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_door_editor_callback_
private

Definition at line 883 of file dungeon_canvas_viewer.h.

Referenced by BuildOpenContextMenu(), and SetShowDoorEditorCallback().

◆ show_dungeon_settings_callback_

std::function<void()> yaze::editor::DungeonCanvasViewer::show_dungeon_settings_callback_
private

Definition at line 884 of file dungeon_canvas_viewer.h.

Referenced by SetShowDungeonSettingsCallback().

◆ save_room_callback_

std::function<void(int)> yaze::editor::DungeonCanvasViewer::save_room_callback_
private

Definition at line 885 of file dungeon_canvas_viewer.h.

Referenced by BuildRoomContextMenu(), and SetSaveRoomCallback().

◆ edit_graphics_callback_

std::function<void(int, const zelda3::RoomObject&) yaze::editor::DungeonCanvasViewer::edit_graphics_callback_)
private

◆ minecart_track_panel_

MinecartTrackEditorPanel* yaze::editor::DungeonCanvasViewer::minecart_track_panel_ = nullptr
private

◆ show_minecart_tracks_

bool yaze::editor::DungeonCanvasViewer::show_minecart_tracks_ = false
private

◆ is_pinned_

bool yaze::editor::DungeonCanvasViewer::is_pinned_ = false
private

Definition at line 889 of file dungeon_canvas_viewer.h.

Referenced by DrawRoomPropertyTable(), and SetPinned().

◆ pin_callback_

std::function<void(bool)> yaze::editor::DungeonCanvasViewer::pin_callback_
private

Definition at line 890 of file dungeon_canvas_viewer.h.

Referenced by DrawRoomPropertyTable(), and SetPinCallback().

◆ project_

◆ show_track_collision_overlay_

bool yaze::editor::DungeonCanvasViewer::show_track_collision_overlay_ = false
private

◆ show_track_collision_legend_

bool yaze::editor::DungeonCanvasViewer::show_track_collision_legend_ = true
private

◆ show_camera_quadrant_overlay_

bool yaze::editor::DungeonCanvasViewer::show_camera_quadrant_overlay_ = false
private

◆ show_minecart_sprite_overlay_

bool yaze::editor::DungeonCanvasViewer::show_minecart_sprite_overlay_ = false
private

◆ show_track_gap_overlay_

bool yaze::editor::DungeonCanvasViewer::show_track_gap_overlay_ = false
private

◆ show_track_route_overlay_

bool yaze::editor::DungeonCanvasViewer::show_track_route_overlay_ = false
private

◆ show_custom_objects_overlay_

bool yaze::editor::DungeonCanvasViewer::show_custom_objects_overlay_ = false
private

◆ show_custom_collision_overlay_

◆ show_water_fill_overlay_

bool yaze::editor::DungeonCanvasViewer::show_water_fill_overlay_ = false
private

◆ show_room_details_

bool yaze::editor::DungeonCanvasViewer::show_room_details_ = false
private

◆ compact_header_mode_

bool yaze::editor::DungeonCanvasViewer::compact_header_mode_ = false
private

◆ header_read_only_

bool yaze::editor::DungeonCanvasViewer::header_read_only_ = false
private

Definition at line 904 of file dungeon_canvas_viewer.h.

Referenced by DrawRoomHeader(), header_read_only(), and SetHeaderReadOnly().

◆ header_visible_

bool yaze::editor::DungeonCanvasViewer::header_visible_ = true
private

◆ show_header_hidden_metadata_hud_

bool yaze::editor::DungeonCanvasViewer::show_header_hidden_metadata_hud_ = true
private

◆ track_direction_map_enabled_

bool yaze::editor::DungeonCanvasViewer::track_direction_map_enabled_ = true
private

Definition at line 908 of file dungeon_canvas_viewer.h.

Referenced by ApplyTrackCollisionConfig(), and DrawRoomCanvasOverlays().

◆ track_tile_order_

std::vector<uint16_t> yaze::editor::DungeonCanvasViewer::track_tile_order_
private

Definition at line 909 of file dungeon_canvas_viewer.h.

Referenced by ApplyTrackCollisionConfig(), and DrawRoomCanvasOverlays().

◆ switch_tile_order_

std::vector<uint16_t> yaze::editor::DungeonCanvasViewer::switch_tile_order_
private

Definition at line 910 of file dungeon_canvas_viewer.h.

Referenced by ApplyTrackCollisionConfig(), and DrawRoomCanvasOverlays().

◆ track_collision_config_

DungeonRenderingHelpers::TrackCollisionConfig yaze::editor::DungeonCanvasViewer::track_collision_config_
private

◆ collision_overlay_cache_

std::unordered_map<int, DungeonRenderingHelpers::CollisionOverlayCache> yaze::editor::DungeonCanvasViewer::collision_overlay_cache_
private

◆ minecart_sprite_ids_

std::bitset<256> yaze::editor::DungeonCanvasViewer::minecart_sprite_ids_ {}
private

Definition at line 914 of file dungeon_canvas_viewer.h.

Referenced by ApplyTrackCollisionConfig(), and DrawRoomCanvasOverlays().

◆ object_render_cache_

std::vector<ObjectRenderCache> yaze::editor::DungeonCanvasViewer::object_render_cache_
private

Definition at line 924 of file dungeon_canvas_viewer.h.

Referenced by RefreshRomBackedState().

◆ last_palette_hash_

uint64_t yaze::editor::DungeonCanvasViewer::last_palette_hash_ = 0
private

Definition at line 925 of file dungeon_canvas_viewer.h.

Referenced by RefreshRomBackedState().

◆ show_room_debug_info_

bool yaze::editor::DungeonCanvasViewer::show_room_debug_info_ = false
private

◆ show_texture_debug_

bool yaze::editor::DungeonCanvasViewer::show_texture_debug_ = false
private

◆ show_object_bounds_

◆ show_layer_info_

bool yaze::editor::DungeonCanvasViewer::show_layer_info_ = false
private

◆ show_grid_

◆ show_coordinate_overlay_

bool yaze::editor::DungeonCanvasViewer::show_coordinate_overlay_
private

◆ layout_override_

int yaze::editor::DungeonCanvasViewer::layout_override_ = -1
private

Definition at line 935 of file dungeon_canvas_viewer.h.

Referenced by DrawRoomDebugWindow().

◆ custom_grid_size_

int yaze::editor::DungeonCanvasViewer::custom_grid_size_ = 8
private

◆ object_render_mode_

ObjectRenderMode yaze::editor::DungeonCanvasViewer::object_render_mode_
private

◆ object_outline_toggles_

ObjectOutlineToggles yaze::editor::DungeonCanvasViewer::object_outline_toggles_
private

◆ entity_visibility_

◆ renderer_

gfx::IRenderer* yaze::editor::DungeonCanvasViewer::renderer_ = nullptr
private

◆ prev_blockset_

int yaze::editor::DungeonCanvasViewer::prev_blockset_ = -1
private

Definition at line 962 of file dungeon_canvas_viewer.h.

Referenced by RefreshActiveRoomCanvasState(), and RefreshRomBackedState().

◆ prev_palette_

int yaze::editor::DungeonCanvasViewer::prev_palette_ = -1
private

Definition at line 963 of file dungeon_canvas_viewer.h.

Referenced by RefreshActiveRoomCanvasState(), and RefreshRomBackedState().

◆ prev_layout_

int yaze::editor::DungeonCanvasViewer::prev_layout_ = -1
private

Definition at line 964 of file dungeon_canvas_viewer.h.

Referenced by RefreshActiveRoomCanvasState(), and RefreshRomBackedState().

◆ prev_spriteset_

int yaze::editor::DungeonCanvasViewer::prev_spriteset_ = -1
private

Definition at line 965 of file dungeon_canvas_viewer.h.

Referenced by RefreshActiveRoomCanvasState(), and RefreshRomBackedState().

◆ issue_report_popup_title_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_title_
private

Definition at line 967 of file dungeon_canvas_viewer.h.

Referenced by OpenIssueReportPopup(), and PrepareIssueReportPopup().

◆ issue_report_popup_kind_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_kind_
private

◆ issue_report_popup_diagnostics_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_diagnostics_
private

◆ issue_report_popup_log_target_path_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_log_target_path_
private

◆ issue_report_popup_screenshot_dir_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_screenshot_dir_
private

◆ issue_report_popup_screenshot_path_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_screenshot_path_
private

◆ issue_report_popup_last_log_path_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_last_log_path_
private

◆ issue_report_popup_status_message_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_status_message_
private

◆ issue_report_popup_id_

std::string yaze::editor::DungeonCanvasViewer::issue_report_popup_id_ = "##DungeonIssueReportPopup"
private

Definition at line 975 of file dungeon_canvas_viewer.h.

Referenced by OpenIssueReportPopup().

◆ issue_report_popup_room_id_

int yaze::editor::DungeonCanvasViewer::issue_report_popup_room_id_ = -1
private

◆ issue_report_category_index_

int yaze::editor::DungeonCanvasViewer::issue_report_category_index_ = 0
private

◆ issue_report_popup_persisted_

bool yaze::editor::DungeonCanvasViewer::issue_report_popup_persisted_ = false
private

◆ issue_report_popup_status_is_error_

bool yaze::editor::DungeonCanvasViewer::issue_report_popup_status_is_error_ = false
private

◆ issue_report_summary_

char yaze::editor::DungeonCanvasViewer::issue_report_summary_[256] {}
private

◆ issue_report_notes_

char yaze::editor::DungeonCanvasViewer::issue_report_notes_[2048] {}
private

◆ has_canvas_capture_region_

bool yaze::editor::DungeonCanvasViewer::has_canvas_capture_region_ = false
private

◆ canvas_capture_x_

int yaze::editor::DungeonCanvasViewer::canvas_capture_x_ = 0
private

◆ canvas_capture_y_

int yaze::editor::DungeonCanvasViewer::canvas_capture_y_ = 0
private

◆ canvas_capture_width_

int yaze::editor::DungeonCanvasViewer::canvas_capture_width_ = 0
private

◆ canvas_capture_height_

int yaze::editor::DungeonCanvasViewer::canvas_capture_height_ = 0
private

◆ change_ping_rects_

std::vector<ChangePingRect> yaze::editor::DungeonCanvasViewer::change_ping_rects_
private

◆ change_ping_start_time_

double yaze::editor::DungeonCanvasViewer::change_ping_start_time_ = -1.0
private

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