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

Editors are the view controllers for the application. More...

Namespaces

namespace  AgentUI
 
namespace  anonymous_namespace{agent_chat_history_codec.cc}
 
namespace  anonymous_namespace{agent_collaboration_coordinator.cc}
 
namespace  anonymous_namespace{agent_configuration_panel.cc}
 
namespace  anonymous_namespace{agent_proposals_panel.cc}
 
namespace  anonymous_namespace{assembly_editor.cc}
 
namespace  anonymous_namespace{dungeon_canvas_viewer.cc}
 
namespace  anonymous_namespace{editor_manager.cc}
 
namespace  anonymous_namespace{gfx_group_editor.cc}
 
namespace  anonymous_namespace{layout_manager.cc}
 
namespace  anonymous_namespace{message_editor.cc}
 
namespace  anonymous_namespace{overworld_editor.cc}
 
namespace  anonymous_namespace{overworld_entity_renderer.cc}
 
namespace  anonymous_namespace{palette_editor.cc}
 
namespace  anonymous_namespace{polyhedral_editor_panel.cc}
 
namespace  anonymous_namespace{shortcut_configurator.cc}
 
namespace  anonymous_namespace{shortcut_manager.cc}
 
namespace  anonymous_namespace{welcome_screen.cc}
 
namespace  dungeon_coords
 Coordinate conversion utilities for dungeon editing.
 
namespace  layout_designer
 
namespace  music
 
namespace  palette_internal
 
namespace  palette_utility
 Utility functions for palette operations across editors.
 
namespace  PopupID
 
namespace  ResourcePanelLimits
 
namespace  zsprite
 Namespace for the ZSprite format from Zarby's ZSpriteMaker.
 

Classes

class  ActivityBar
 
class  AgentAutomationPanel
 
class  AgentBotProfilesPanel
 EditorPanel for Bot Profiles panel. More...
 
class  AgentBuilderPanel
 EditorPanel for Agent Builder panel. More...
 
class  AgentChat
 Unified Agent Chat Component. More...
 
class  AgentChatHistoryCodec
 
class  AgentChatHistoryPanel
 EditorPanel for Chat History panel. More...
 
class  AgentChatPanel
 EditorPanel for Agent Chat panel. More...
 
class  AgentCollaborationCoordinator
 
struct  AgentConfigState
 Agent configuration state. More...
 
class  AgentConfigurationPanel
 EditorPanel for AI Configuration panel. More...
 
class  AgentEditor
 Comprehensive AI Agent Platform & Bot Creator. More...
 
class  AgentKnowledgeBasePanel
 EditorPanel for Knowledge Base panel. More...
 
class  AgentKnowledgePanel
 Panel for viewing/editing learned knowledge patterns. More...
 
class  AgentMetricsDashboardPanel
 EditorPanel for Metrics Dashboard panel. More...
 
class  AgentPromptEditorPanel
 EditorPanel for Prompt Editor panel. More...
 
class  AgentProposalsPanel
 Compact proposal management panel for agent sidebar. More...
 
class  AgentRomSyncPanel
 
struct  AgentSession
 Represents a single agent session with its own chat history and config. More...
 
class  AgentSessionManager
 Manages multiple agent sessions with dual-view support. More...
 
class  AgentStatusPanel
 EditorPanel for Agent Status panel. More...
 
class  AgentUIContext
 Unified context for agent UI components. More...
 
class  AgentUiController
 Central coordinator for all agent UI components. More...
 
struct  AgentUITheme
 Centralized theme colors for Agent UI components. More...
 
class  AgentZ3EDCommandPanel
 
class  AreaGraphicsPanel
 Displays the current area's GFX sheet for preview. More...
 
class  AssemblyBuildOutputPanel
 Build output / errors panel. More...
 
class  AssemblyCodeEditorPanel
 Main code editor panel with text editing. More...
 
class  AssemblyEditor
 Text editor for modifying assembly code. More...
 
class  AssemblyFileBrowserPanel
 File browser panel for navigating project files. More...
 
class  AssemblySymbolsPanel
 Symbol table viewer panel. More...
 
class  AssemblyToolbarPanel
 Toolbar panel with quick actions. More...
 
struct  AutomationCallbacks
 Callbacks for automation operations. More...
 
struct  AutomationState
 State for automation/test harness integration. More...
 
struct  AutomationTelemetry
 Telemetry from automation/test harness. More...
 
class  BaseEntityHandler
 Abstract base class for entity interaction handlers. More...
 
struct  ChatCallbacks
 Callbacks for chat operations. More...
 
struct  ChatState
 State for chat UI and history. More...
 
struct  CollaborationCallbacks
 Callbacks for collaboration operations. More...
 
struct  CollaborationState
 State for collaborative editing sessions. More...
 
struct  ColorChange
 Represents a single color change for undo/redo. More...
 
struct  CommandEntry
 
class  CommandManager
 
class  CommandPalette
 
class  CustomPalettePanel
 
class  CustomSpriteEditorPanel
 EditorPanel for Custom Sprite Editor (ZSM format) More...
 
class  DashboardPanel
 
class  DebugWindowCard
 
class  DebugWindowPanel
 Displays debug information for the Overworld Editor. More...
 
struct  DictionaryEntry
 
class  DictionaryPanel
 EditorPanel for Dictionary. More...
 
class  DoorInteractionHandler
 Handles door placement and interaction in the dungeon editor. More...
 
class  DungeonCanvasViewer
 
class  DungeonEditorV2
 DungeonEditorV2 - Simplified dungeon editor using component delegation. More...
 
class  DungeonEmulatorPreviewPanel
 EditorPanel wrapper for DungeonObjectEmulatorPreview. More...
 
class  DungeonEntranceListPanel
 EditorPanel for entrance list selection. More...
 
class  DungeonEntrancesPanel
 EditorPanel for displaying and editing dungeon entrances. More...
 
class  DungeonMainPalettePanel
 Dungeon Main palette group panel. More...
 
class  DungeonMapsPanel
 EditorPanel for Dungeon Maps Editor. More...
 
class  DungeonObjectInteraction
 Handles object selection, placement, and interaction within the dungeon canvas. More...
 
class  DungeonObjectSelector
 Handles object selection, preview, and editing UI. More...
 
class  DungeonPaletteEditorPanel
 EditorPanel wrapper for PaletteEditorWidget in dungeon context. More...
 
class  DungeonRoomGraphicsPanel
 EditorPanel for displaying room graphics blocks. More...
 
class  DungeonRoomLoader
 Manages loading and saving of dungeon room data. More...
 
class  DungeonRoomMatrixPanel
 EditorPanel for displaying a visual 16x19 grid of all dungeon rooms. More...
 
class  DungeonRoomPanel
 ResourcePanel for editing individual dungeon rooms. More...
 
class  DungeonRoomSelector
 Handles room and entrance selection UI. More...
 
class  DungeonRoomSelectorPanel
 EditorPanel for room list selection. More...
 
class  DungeonToolset
 Handles the dungeon editor toolset UI. More...
 
class  DungeonUsageTracker
 Tracks and analyzes usage statistics for dungeon resources. More...
 
class  Editor
 Interface for editor classes. More...
 
class  EditorActivator
 Handles editor switching, layout initialization, and jump-to navigation. More...
 
struct  EditorContext
 Lightweight view into the essential runtime context (Rom + GameData) More...
 
struct  EditorDependencies
 Unified dependency container for all editor types. More...
 
struct  EditorInfo
 Metadata about an available editor. More...
 
class  EditorManager
 The EditorManager controls the main editor window and manages the various editor classes. More...
 
class  EditorPanel
 Base interface for all logical panel components. More...
 
class  EditorRegistry
 Manages editor types, categories, and lifecycle. More...
 
class  EditorSelectionDialog
 Beautiful grid-based editor selection dialog. More...
 
class  EditorSet
 Contains a complete set of editors for a single ROM instance. More...
 
class  EquipmentPalettePanel
 Equipment/Armor palette group panel. More...
 
class  ExtensionManager
 
class  FileBrowser
 File system browser for the sidebar. More...
 
struct  FileEntry
 Represents a file or folder in the file browser. More...
 
struct  FolderItem
 
class  FontAtlasPanel
 EditorPanel for Font Atlas. More...
 
class  GfxGroupEditor
 Manage graphics group configurations in a Rom. More...
 
class  GfxGroupsPanel
 Graphics group configuration editor. More...
 
class  GitignoreParser
 Simple .gitignore pattern matcher. More...
 
class  GlobalEditorContext
 
class  GraphicsEditor
 Allows the user to edit graphics sheets from the game or view prototype graphics. More...
 
class  GraphicsEditorState
 Shared state between GraphicsEditor panel components. More...
 
class  GraphicsGfxGroupPanel
 Graphics group editor panel for managing GFX groups. More...
 
class  GraphicsLinkSpritePanel
 Link sprite editor panel for editing Link's graphics. More...
 
class  GraphicsPaletteControlsPanel
 Palette controls panel for managing graphics palettes. More...
 
class  GraphicsPalettesetPanel
 Paletteset editor panel for managing dungeon palette associations. More...
 
class  GraphicsPixelEditorPanel
 Main pixel editing panel for graphics sheets. More...
 
class  GraphicsPolyhedralPanel
 3D polyhedral object editor panel More...
 
class  GraphicsPrototypeViewerPanel
 Prototype graphics viewer for Super Donkey and dev format imports. More...
 
class  GraphicsSheetBrowserPanel
 Sheet browser panel for navigating graphics sheets. More...
 
class  HistoryManager
 
struct  InteractionContext
 Shared context for all interaction handlers. More...
 
class  InteractionCoordinator
 Coordinates interaction mode switching and dispatches to handlers. More...
 
class  InteractionModeManager
 Manages interaction mode state and transitions. More...
 
class  InventoryMenuPanel
 EditorPanel for Inventory Menu Editor. More...
 
class  ItemEditorPanel
 EditorPanel for placing and managing dungeon pot items. More...
 
class  ItemInteractionHandler
 Handles pot item placement and interaction in the dungeon editor. More...
 
struct  KnowledgeState
 State for learned knowledge management (CLI integration) More...
 
class  LayoutCoordinator
 Facade class that coordinates all layout-related operations. More...
 
class  LayoutManager
 Manages ImGui DockBuilder layouts for each editor type. More...
 
class  LayoutOrchestrator
 Coordinates between LayoutManager, PanelManager, and LayoutPresets. More...
 
class  LayoutPresets
 Centralized definition of default layouts per editor. More...
 
class  LinkSpritePanel
 Dedicated panel for editing Link's 14 graphics sheets. More...
 
class  MapPropertiesPanel
 Displays and edits properties for the current overworld map. More...
 
class  MapPropertiesSystem
 
struct  MemoryEditor
 
class  MenuBuilder
 Fluent interface for building ImGui menus with icons. More...
 
class  MenuOrchestrator
 Handles all menu building and UI coordination logic. More...
 
struct  MessageData
 
class  MessageEditor
 
class  MessageEditorPanel
 EditorPanel for Message Editor. More...
 
class  MessageListPanel
 EditorPanel for Message List. More...
 
struct  MessagePreview
 
struct  MinecartTrack
 
class  MinecartTrackEditorPanel
 
struct  ModelPreset
 Model preset for quick switching. More...
 
struct  ModeState
 Mode-specific state data. More...
 
struct  MultimodalCallbacks
 Callbacks for multimodal/vision operations. More...
 
struct  MultimodalState
 State for multimodal/vision features. More...
 
class  MusicAssemblyPanel
 EditorPanel wrapper for the assembly editor view in Music context. More...
 
class  MusicAudioDebugPanel
 EditorPanel providing audio diagnostics for debugging the music editor. More...
 
class  MusicEditor
 A class for editing music data in a Rom. More...
 
class  MusicHelpPanel
 EditorPanel providing help documentation for the Music Editor. More...
 
class  MusicInstrumentEditorPanel
 EditorPanel wrapper for the instrument editor. More...
 
class  MusicPianoRollPanel
 EditorPanel wrapper for the piano roll view. More...
 
class  MusicPlaybackControlPanel
 EditorPanel for music playback controls and status display. More...
 
class  MusicSampleEditorPanel
 EditorPanel wrapper for the sample editor. More...
 
class  MusicSongBrowserPanel
 EditorPanel wrapper for the music song browser. More...
 
class  NamingScreenPanel
 EditorPanel for Naming Screen Editor. More...
 
struct  NotificationEntry
 Entry in the notification history with timestamp. More...
 
class  ObjectEditorPanel
 Unified panel for dungeon object editing. More...
 
class  ObjectSelection
 Manages object selection state and operations for the dungeon editor. More...
 
class  OverworldAnimatedPalettePanel
 Overworld Animated palette group panel. More...
 
class  OverworldCanvasPanel
 The main canvas panel for the Overworld Editor. More...
 
class  OverworldEditor
 Main UI class for editing overworld maps in A Link to the Past. More...
 
class  OverworldEntityInteraction
 Handles entity interaction logic for the Overworld Editor. More...
 
class  OverworldEntityRenderer
 Handles visualization of all overworld entities (entrances, exits, items, sprites) More...
 
class  OverworldMainPalettePanel
 Overworld Main palette group panel. More...
 
class  OverworldMapScreenPanel
 EditorPanel for Overworld Map Screen Editor. More...
 
struct  OverworldPanelIds
 Panel IDs for overworld editor panels. More...
 
class  OverworldSidebar
 
class  OverworldToolbar
 
struct  PaletteCategoryInfo
 Information about a palette category for UI rendering. More...
 
class  PaletteControlPanel
 
class  PaletteControlsPanel
 Panel for managing palettes applied to graphics sheets. More...
 
class  PaletteEditor
 Allows the user to view and edit in game palettes. More...
 
struct  PaletteGroupMetadata
 Metadata for an entire palette group. More...
 
class  PaletteGroupPanel
 Base class for palette group editing cards. More...
 
struct  PaletteMetadata
 Metadata for a single palette in a group. More...
 
class  PalettesetEditorPanel
 Dedicated panel for editing dungeon palette sets. More...
 
struct  PanelDescriptor
 Metadata for an editor panel (formerly PanelInfo) More...
 
struct  PanelLayoutPreset
 Defines default panel visibility for an editor type. More...
 
class  PanelManager
 Central registry for all editor cards with session awareness and dependency injection. More...
 
struct  PanelToggleEvent
 
struct  ParsedElement
 
struct  PersonaProfile
 User persona profile for personalized AI behavior. More...
 
class  PixelEditorPanel
 Main pixel editing panel for graphics sheets. More...
 
struct  PixelEditorSnapshot
 Snapshot for undo/redo operations. More...
 
struct  PixelSelection
 Selection data for copy/paste operations. More...
 
struct  PolyFace
 
class  PolyhedralEditorPanel
 
struct  PolyShape
 
struct  PolyVertex
 
struct  PopupDefinition
 Complete definition of a popup including metadata. More...
 
class  PopupManager
 
struct  PopupParams
 Runtime state for a registered popup. More...
 
class  ProjectFileEditor
 Editor for .yaze project files with syntax highlighting and validation. More...
 
class  ProjectManagementPanel
 Panel for managing project settings, ROM versions, and snapshots. More...
 
class  ProjectManager
 Handles all project file operations with ROM-first workflow. More...
 
struct  ProposalCallbacks
 Callbacks for proposal operations. More...
 
class  ProposalDrawer
 ImGui drawer for displaying and managing agent proposals. More...
 
struct  ProposalState
 State for proposal management. More...
 
class  QuickAccessPalettePanel
 
struct  RecentProject
 Information about a recently used project. More...
 
struct  RegionSelectionState
 Region selection state for screenshot cropping. More...
 
class  ResourcePanel
 Base class for panels that edit specific ROM resources. More...
 
class  RightPanelManager
 Manages right-side sliding panels for agent chat, proposals, settings. More...
 
class  RomFileManager
 Handles all ROM file I/O operations. More...
 
class  RomLoadOptionsDialog
 ROM load options and ZSCustomOverworld upgrade dialog. More...
 
struct  RomSession
 Represents a single session, containing a ROM and its associated editors. More...
 
struct  RomSyncCallbacks
 Callbacks for ROM sync operations. More...
 
struct  RomSyncState
 State for ROM synchronization. More...
 
class  ScratchSpacePanel
 Provides a scratch workspace for layout planning and clipboard operations. More...
 
class  ScreenEditor
 The ScreenEditor class allows the user to edit a variety of screens in the game or create a custom menu. More...
 
struct  ScreenshotPreviewState
 Preview state for captured screenshots. More...
 
struct  SelectedEntity
 Represents a selected entity in the dungeon editor. More...
 
struct  SelectionContext
 Holds information about the current selection. More...
 
class  SelectionPropertiesPanel
 Full-editing properties panel for selected entities. More...
 
class  SessionCoordinator
 High-level orchestrator for multi-session UI. More...
 
class  SessionObserver
 Observer interface for session state changes. More...
 
class  SettingsPanel
 Manages the settings UI displayed in the right sidebar. More...
 
class  SheetBrowserPanel
 EditorPanel for browsing and selecting graphics sheets. More...
 
struct  Shortcut
 
struct  ShortcutDependencies
 
class  ShortcutManager
 
class  SpriteDrawer
 Draws sprite OAM tiles to bitmaps for preview rendering. More...
 
class  SpriteEditor
 Allows the user to edit sprites. More...
 
class  SpriteEditorPanel
 EditorPanel for placing and managing dungeon sprites. More...
 
class  SpriteInteractionHandler
 Handles sprite placement and interaction in the dungeon editor. More...
 
struct  SpriteItem
 
class  SpritePalettePanel
 Global Sprite palette group panel. More...
 
class  SpritesAux1PalettePanel
 Sprites Aux1 palette group panel. More...
 
class  SpritesAux2PalettePanel
 Sprites Aux2 palette group panel. More...
 
class  SpritesAux3PalettePanel
 Sprites Aux3 palette group panel. More...
 
class  StatusBar
 A session-aware status bar displayed at the bottom of the application. More...
 
struct  StatusUpdateEvent
 
struct  TextElement
 
class  Tile16Editor
 Popup window to edit Tile16 data. More...
 
class  Tile16EditorPanel
 EditorPanel wrapper for Tile16Editor. More...
 
class  Tile16SelectorPanel
 Displays the Tile16 palette for painting tiles on the overworld. More...
 
class  Tile8SelectorPanel
 Low-level 8x8 tile editing interface. More...
 
class  TitleScreenPanel
 EditorPanel for Title Screen Editor. More...
 
struct  Toast
 
class  ToastManager
 
struct  ToolConfig
 Tool enablement configuration. More...
 
struct  ToolExecutionEntry
 Single tool execution entry for timeline display. More...
 
struct  ToolExecutionState
 State for tool execution timeline display. More...
 
class  UICoordinator
 Handles all UI drawing operations and state management. More...
 
class  UsageStatisticsCard
 
class  UsageStatisticsPanel
 Displays tile usage statistics across all overworld maps. More...
 
class  UserSettings
 Manages user preferences and settings persistence. More...
 
class  V3SettingsPanel
 ZSCustomOverworld configuration settings. More...
 
class  VanillaSpriteEditorPanel
 EditorPanel for Vanilla Sprite Editor. More...
 
class  WelcomeScreen
 Modern welcome screen with project grid and quick actions. More...
 
class  WindowDelegate
 Low-level window operations with minimal dependencies. More...
 
class  WorkspaceManager
 Manages workspace layouts, sessions, and presets. More...
 
struct  Z3EDCommandCallbacks
 Callbacks for Z3ED command operations. More...
 
struct  Z3EDCommandState
 State for Z3ED command palette. More...
 

Enumerations

enum class  CollaborationMode { kLocal = 0 , kNetwork = 1 }
 Collaboration mode for multi-user sessions. More...
 
enum class  CaptureMode { kFullWindow = 0 , kActiveEditor = 1 , kSpecificWindow = 2 , kRegionSelect = 3 }
 Screenshot capture mode. More...
 
enum class  ChainMode { kDisabled = 0 , kRoundRobin = 1 , kConsensus = 2 }
 Model chain mode for multi-model responses. More...
 
enum class  ObjectRenderMode { Manual , Emulator , Hybrid }
 Handles the main dungeon canvas rendering and interaction. More...
 
enum class  EntityType {
  None , Object , Door , Sprite ,
  Item
}
 Type of entity that can be selected in the dungeon editor. More...
 
enum class  InteractionMode {
  Select , PlaceObject , PlaceDoor , PlaceSprite ,
  PlaceItem , DraggingObjects , DraggingEntity , RectangleSelect
}
 Unified interaction mode for the dungeon editor. More...
 
enum class  EditorType {
  kUnknown , kAssembly , kDungeon , kEmulator ,
  kGraphics , kMusic , kOverworld , kPalette ,
  kScreen , kSprite , kMessage , kHex ,
  kAgent , kSettings
}
 
enum class  PixelTool {
  kSelect , kLasso , kPencil , kBrush ,
  kEraser , kFill , kLine , kRectangle ,
  kEyedropper
}
 Pixel editing tool types for the graphics editor. More...
 
enum class  LayoutType {
  kDefault , kOverworld , kDungeon , kGraphics ,
  kPalette , kScreen , kMusic , kSprite ,
  kMessage , kAssembly , kSettings , kEmulator
}
 Predefined layout types for different editor workflows. More...
 
enum class  DockPosition {
  Center , Left , Right , Bottom ,
  Top , LeftBottom , RightBottom , RightTop ,
  LeftTop
}
 Preferred dock position for a card in a layout. More...
 
enum  SpriteItemColumnID { SpriteItemColumnID_ID , SpriteItemColumnID_Name , SpriteItemColumnID_Description }
 Column IDs for the sprite table. More...
 
enum class  EditingMode { MOUSE = 0 , DRAW_TILE = 1 }
 
enum class  EntityEditMode {
  NONE = 0 , ENTRANCES = 1 , EXITS = 2 , ITEMS = 3 ,
  SPRITES = 4 , TRANSPORTS = 5 , MUSIC = 6
}
 
enum class  PaletteCategory {
  kOverworld , kDungeon , kSprites , kEquipment ,
  kMiscellaneous
}
 Categories for organizing palette groups in the UI. More...
 
enum class  PanelCategory { EditorBound , Persistent , CrossEditor }
 Defines lifecycle behavior for editor panels. More...
 
enum class  PopupType {
  kInfo , kHelp , kSettings , kFileOperation ,
  kConfirmation , kWarning , kEditor
}
 Type classification for popups to enable future filtering and organization. More...
 
enum class  SelectionType {
  kNone , kDungeonRoom , kDungeonObject , kDungeonSprite ,
  kDungeonEntrance , kOverworldMap , kOverworldTile , kOverworldSprite ,
  kOverworldEntrance , kOverworldExit , kOverworldItem , kGraphicsSheet ,
  kPalette
}
 Types of entities that can be selected and edited. More...
 
enum class  ToastType { kInfo , kSuccess , kWarning , kError }
 
enum class  StartupSurface { kWelcome , kDashboard , kEditor }
 Represents the current startup surface state. More...
 

Functions

absl::Status RequireRomLoaded (const Rom *rom, const std::string &operation)
 
absl::Status CheckRomState (const Rom *rom, const std::string &message)
 
std::string GetRomStatusMessage (const Rom *rom)
 
bool IsRomReadyForEditing (const Rom *rom)
 
const char * GetPanelTypeName (RightPanelManager::PanelType type)
 Get the name of a panel type.
 
const char * GetPanelTypeIcon (RightPanelManager::PanelType type)
 Get the icon for a panel type.
 
uint8_t FindMatchingCharacter (char value)
 
int8_t FindDictionaryEntry (uint8_t value)
 
std::optional< TextElementFindMatchingCommand (uint8_t b)
 
std::optional< TextElementFindMatchingSpecial (uint8_t value)
 
ParsedElement FindMatchingElement (const std::string &str)
 
std::string ParseTextDataByte (uint8_t value)
 
std::vector< uint8_t > ParseMessageToData (std::string str)
 
std::vector< DictionaryEntryBuildDictionaryEntries (Rom *rom)
 
std::string ReplaceAllDictionaryWords (std::string str, const std::vector< DictionaryEntry > &dictionary)
 
DictionaryEntry FindRealDictionaryEntry (uint8_t value, const std::vector< DictionaryEntry > &dictionary)
 
absl::StatusOr< MessageDataParseSingleMessage (const std::vector< uint8_t > &rom_data, int *current_pos)
 
std::vector< std::string > ParseMessageData (std::vector< MessageData > &message_data, const std::vector< DictionaryEntry > &dictionary_entries)
 
std::vector< MessageDataReadAllTextData (uint8_t *rom, int pos)
 
absl::Status LoadExpandedMessages (std::string &expanded_message_path, std::vector< std::string > &parsed_messages, std::vector< MessageData > &expanded_messages, std::vector< DictionaryEntry > &dictionary)
 
nlohmann::json SerializeMessagesToJson (const std::vector< MessageData > &messages)
 
absl::Status ExportMessagesToJson (const std::string &path, const std::vector< MessageData > &messages)
 
bool IsMouseHoveringOverEntity (const zelda3::GameEntity &entity, ImVec2 canvas_p0, ImVec2 scrolling, float scale=1.0f)
 Check if mouse is hovering over an entity.
 
bool IsMouseHoveringOverEntity (const zelda3::GameEntity &entity, const gui::CanvasRuntime &rt)
 Check if mouse is hovering over an entity (CanvasRuntime version)
 
void MoveEntityOnGrid (zelda3::GameEntity *entity, ImVec2 canvas_p0, ImVec2 scrolling, bool free_movement=false, float scale=1.0f)
 Move entity to grid-aligned position based on mouse.
 
bool DrawEntranceInserterPopup ()
 
bool DrawOverworldEntrancePopup (zelda3::OverworldEntrance &entrance)
 
void DrawExitInserterPopup ()
 
bool DrawExitEditorPopup (zelda3::OverworldExit &exit)
 
void DrawItemInsertPopup ()
 
bool DrawItemEditorPopup (zelda3::OverworldItem &item)
 
void DrawSpriteTable (std::function< void(int)> onSpriteSelect, int &selected_id)
 
void DrawSpriteInserterPopup ()
 
bool DrawSpriteEditorPopup (zelda3::Sprite &sprite)
 
bool DrawDiggableTilesEditorPopup (zelda3::DiggableTiles *diggable_tiles, const std::vector< gfx::Tile16 > &tiles16, const std::array< uint8_t, 0x200 > &all_tiles_types)
 Draw popup dialog for editing diggable tiles configuration.
 
absl::StatusOr< zelda3::OverworldEntrance * > InsertEntrance (zelda3::Overworld *overworld, ImVec2 mouse_pos, int current_map, bool is_hole=false)
 Flat helper functions for entity insertion/manipulation.
 
absl::StatusOr< zelda3::OverworldExit * > InsertExit (zelda3::Overworld *overworld, ImVec2 mouse_pos, int current_map)
 Insert a new exit at the specified position.
 
absl::StatusOr< zelda3::Sprite * > InsertSprite (zelda3::Overworld *overworld, ImVec2 mouse_pos, int current_map, int game_state, uint8_t sprite_id=0)
 Insert a new sprite at the specified position.
 
absl::StatusOr< zelda3::OverworldItem * > InsertItem (zelda3::Overworld *overworld, ImVec2 mouse_pos, int current_map, uint8_t item_id=0)
 Insert a new item at the specified position.
 
uint8_t GetParentMapId (const zelda3::OverworldMap *map, int current_map)
 Helper to get parent map ID for multi-area maps.
 
ImVec2 SnapToEntityGrid (ImVec2 pos)
 Snap position to 16x16 grid (standard entity positioning)
 
ImVec2 ClampToOverworldBounds (ImVec2 pos)
 Clamp position to valid overworld bounds.
 
constexpr ImVec2 kOverworldCanvasSize (kOverworldMapSize *8, kOverworldMapSize *8)
 
constexpr ImVec2 kCurrentGfxCanvasSize (0x100+1, 0x10 *0x40+1)
 
constexpr ImVec2 kBlocksetCanvasSize (0x100+1, 0x4000+1)
 
constexpr ImVec2 kGraphicsBinCanvasSize (0x100+1, kNumSheetsToLoad *0x40+1)
 
const std::vector< PaletteCategoryInfo > & GetPaletteCategories ()
 Get all palette categories with their associated groups.
 
std::string GetGroupDisplayName (const std::string &group_name)
 Get display name for a palette group.
 
PaletteCategory GetGroupCategory (const std::string &group_name)
 Get the category that a palette group belongs to.
 
absl::Status DisplayPalette (gfx::SnesPalette &palette, bool loaded)
 Display SNES palette with enhanced ROM hacking features.
 
void ConfigureEditorShortcuts (const ShortcutDependencies &deps, ShortcutManager *shortcut_manager)
 
void ConfigureMenuShortcuts (const ShortcutDependencies &deps, ShortcutManager *shortcut_manager)
 
void ConfigurePanelShortcuts (const ShortcutDependencies &deps, ShortcutManager *shortcut_manager)
 Register configurable panel shortcuts from user settings.
 
std::string PrintShortcut (const std::vector< ImGuiKey > &keys)
 
std::vector< ImGuiKey > ParseShortcut (const std::string &shortcut)
 
void ExecuteShortcuts (const ShortcutManager &shortcut_manager)
 
const char * GetSelectionTypeName (SelectionType type)
 Get a human-readable name for a selection type.
 

Variables

constexpr std::array< const char *, 14 > kEditorNames
 
const std::string kSuperDonkeyTiles []
 
const std::string kSuperDonkeySprites []
 
constexpr uint32_t kRedPen = 0xFF0000FF
 
const std::string kBankToken = "BANK"
 
const std::string DICTIONARYTOKEN = "D"
 
constexpr uint8_t kMessageTerminator = 0x7F
 
constexpr uint8_t DICTOFF = 0x88
 
constexpr uint8_t kWidthArraySize = 100
 
constexpr int kTextData = 0xE0000
 
constexpr int kTextDataEnd = 0xE7FFF
 
constexpr int kNumDictionaryEntries = 0x61
 
constexpr int kPointersDictionaries = 0x74703
 
constexpr uint8_t kScrollVertical = 0x73
 
constexpr uint8_t kLine1 = 0x74
 
constexpr uint8_t kLine2 = 0x75
 
constexpr uint8_t kLine3 = 0x76
 
const std::string CHEESE = "\uBEBE"
 
constexpr int kTextData2 = 0x75F40
 
constexpr int kTextData2End = 0x773FF
 
constexpr ImGuiTableFlags kMessageTableFlags
 
constexpr int kGfxFont = 0x70000
 
constexpr int kCharactersWidth = 0x74ADF
 
constexpr int kNumMessages = 396
 
constexpr int kFontGfxMessageSize = 128
 
constexpr int kFontGfxMessageDepth
 
constexpr int kFontGfx16Size = 172 * 4096
 
constexpr uint8_t kBlockTerminator = 0x80
 
constexpr uint8_t kMessageBankChangeId = 0x80
 
constexpr int kCurrentMessageWidth = 172
 
constexpr int kCurrentMessageHeight = 4096
 
const ImGuiTableFlags toolset_table_flags_ = ImGuiTableFlags_SizingFixedFit
 
const ImGuiTableFlags music_editor_flags_
 
constexpr float kInputFieldSize = 30.f
 
constexpr unsigned int k4BPP = 4
 
constexpr unsigned int kByteSize = 3
 
constexpr unsigned int kMessageIdSize = 5
 
constexpr unsigned int kNumSheetsToLoad = 223
 
constexpr unsigned int kOverworldMapSize = 0x200
 
constexpr ImGuiTableFlags kOWMapFlags
 
constexpr absl::string_view kWorldList
 
constexpr absl::string_view kGamePartComboString = "Part 0\0Part 1\0Part 2\0"
 
constexpr float kOverworldMinZoom = 0.1f
 
constexpr float kOverworldMaxZoom = 5.0f
 
constexpr float kOverworldZoomStep = 0.25f
 
constexpr absl::string_view kOWMapTable = "#MapSettingsTable"
 
constexpr float kTile8DisplayScale = 4.0f
 
constexpr int kTile16Size = 16
 
constexpr int kTile8Size = 8
 
constexpr int kTilesheetEditorWidth = 0x100
 
constexpr int kTilesheetEditorHeight = 0x4000
 
constexpr int kTile16CanvasSize = 0x20
 
constexpr int kTile8CanvasHeight = 0x175
 
constexpr int kNumScratchSlots = 4
 
constexpr int kNumPalettes = 8
 
constexpr int kTile8PixelCount = 64
 
constexpr int kTile16PixelCount = 256
 
constexpr const char * kGameStateNames []
 
constexpr const char * kWorldNames []
 
constexpr const char * kAreaSizeNames []
 
constexpr float kHexByteInputWidth = 50.f
 
constexpr float kHexWordInputWidth = 70.f
 
constexpr float kCompactButtonWidth = 60.f
 
constexpr float kIconButtonWidth = 40.f
 
constexpr float kPanelToggleButtonWidth = 40.f
 
constexpr float kSmallButtonWidth = 80.f
 
constexpr float kMediumButtonWidth = 90.f
 
constexpr float kLargeButtonWidth = 100.f
 
constexpr float kTableColumnWorld = 120.f
 
constexpr float kTableColumnMap = 80.f
 
constexpr float kTableColumnAreaSize = 120.f
 
constexpr float kTableColumnLock = 50.f
 
constexpr float kTableColumnGraphics = 80.f
 
constexpr float kTableColumnPalettes = 80.f
 
constexpr float kTableColumnProperties = 100.f
 
constexpr float kTableColumnTools = 80.f
 
constexpr float kTableColumnView = 80.f
 
constexpr float kTableColumnQuick = 80.f
 
constexpr float kComboWorldWidth = 115.f
 
constexpr float kComboAreaSizeWidth = 115.f
 
constexpr float kComboGameStateWidth = 100.f
 
constexpr float kTableButtonGraphics = 75.f
 
constexpr float kTableButtonPalettes = 75.f
 
constexpr float kTableButtonProperties = 95.f
 
constexpr float kTableButtonTools = 75.f
 
constexpr float kTableButtonView = 75.f
 
constexpr float kTableButtonQuick = 75.f
 
constexpr float kCompactItemSpacing = 4.f
 
constexpr float kCompactFramePadding = 2.f
 
constexpr ImGuiTableFlags kPaletteTableFlags
 
constexpr ImGuiColorEditFlags kPalNoAlpha = ImGuiColorEditFlags_NoAlpha
 
constexpr ImGuiColorEditFlags kPalButtonFlags
 
constexpr ImGuiColorEditFlags kColorPopupFlags
 
constexpr ImGuiTabItemFlags kSpriteTabFlags
 
constexpr ImGuiTabBarFlags kSpriteTabBarFlags
 
constexpr ImGuiTableFlags kSpriteTableFlags
 

Detailed Description

Editors are the view controllers for the application.

Enumeration Type Documentation

◆ CollaborationMode

Collaboration mode for multi-user sessions.

Enumerator
kLocal 
kNetwork 

Definition at line 30 of file agent_state.h.

◆ CaptureMode

enum class yaze::editor::CaptureMode
strong

Screenshot capture mode.

Enumerator
kFullWindow 
kActiveEditor 
kSpecificWindow 
kRegionSelect 

Definition at line 56 of file agent_state.h.

◆ ChainMode

enum class yaze::editor::ChainMode
strong

Model chain mode for multi-model responses.

Enumerator
kDisabled 
kRoundRobin 
kConsensus 

Definition at line 168 of file agent_state.h.

◆ ObjectRenderMode

enum class yaze::editor::ObjectRenderMode
strong

Handles the main dungeon canvas rendering and interaction.

Enumerator
Manual 
Emulator 
Hybrid 

Definition at line 25 of file dungeon_canvas_viewer.h.

◆ EntityType

enum class yaze::editor::EntityType
strong

Type of entity that can be selected in the dungeon editor.

Enumerator
None 
Object 
Door 
Sprite 
Item 

Definition at line 35 of file dungeon_object_interaction.h.

◆ InteractionMode

enum class yaze::editor::InteractionMode
strong

Unified interaction mode for the dungeon editor.

Only ONE mode can be active at a time. This replaces the previous pattern of multiple boolean flags (object_loaded_, door_placement_mode_, sprite_placement_mode_, item_placement_mode_, is_dragging_, etc.).

State transitions: Select <-> PlaceObject (when user picks object from palette) Select <-> PlaceDoor (when user picks door type) Select <-> PlaceSprite (when user picks sprite) Select <-> PlaceItem (when user picks item) Select <-> DraggingObjects (when user starts drag on selection) Select <-> DraggingEntity (when user starts drag on entity) Select <-> RectangleSelect (when user starts drag on empty space)

Enumerator
Select 
PlaceObject 
PlaceDoor 
PlaceSprite 
PlaceItem 
DraggingObjects 
DraggingEntity 
RectangleSelect 

Definition at line 29 of file interaction_mode.h.

◆ EditorType

enum class yaze::editor::EditorType
strong
Enumerator
kUnknown 
kAssembly 
kDungeon 
kEmulator 
kGraphics 
kMusic 
kOverworld 
kPalette 
kScreen 
kSprite 
kMessage 
kHex 
kAgent 
kSettings 

Definition at line 150 of file editor.h.

◆ PixelTool

enum class yaze::editor::PixelTool
strong

Pixel editing tool types for the graphics editor.

Enumerator
kSelect 
kLasso 
kPencil 
kBrush 
kEraser 
kFill 
kLine 
kRectangle 
kEyedropper 

Definition at line 20 of file graphics_editor_state.h.

◆ LayoutType

enum class yaze::editor::LayoutType
strong

Predefined layout types for different editor workflows.

Enumerator
kDefault 
kOverworld 
kDungeon 
kGraphics 
kPalette 
kScreen 
kMusic 
kSprite 
kMessage 
kAssembly 
kSettings 
kEmulator 

Definition at line 20 of file layout_manager.h.

◆ DockPosition

enum class yaze::editor::DockPosition
strong

Preferred dock position for a card in a layout.

Enumerator
Center 
Left 
Right 
Bottom 
Top 
LeftBottom 
RightBottom 
RightTop 
LeftTop 

Definition at line 17 of file layout_presets.h.

◆ SpriteItemColumnID

Column IDs for the sprite table.

Enumerator
SpriteItemColumnID_ID 
SpriteItemColumnID_Name 
SpriteItemColumnID_Description 

Definition at line 68 of file entity.h.

◆ EditingMode

enum class yaze::editor::EditingMode
strong
Enumerator
MOUSE 
DRAW_TILE 

Definition at line 61 of file ui_constants.h.

◆ EntityEditMode

enum class yaze::editor::EntityEditMode
strong
Enumerator
NONE 
ENTRANCES 
EXITS 
ITEMS 
SPRITES 
TRANSPORTS 
MUSIC 

Definition at line 63 of file ui_constants.h.

◆ PaletteCategory

enum class yaze::editor::PaletteCategory
strong

Categories for organizing palette groups in the UI.

Enumerator
kOverworld 
kDungeon 
kSprites 
kEquipment 
kMiscellaneous 

Definition at line 16 of file palette_category.h.

◆ PanelCategory

enum class yaze::editor::PanelCategory
strong

Defines lifecycle behavior for editor panels.

Panels are categorized by how they behave when switching between editors:

  • EditorBound: Hidden when switching away from parent editor (default)
  • Persistent: Remains visible across all editor switches
  • CrossEditor: User can "pin" to make persistent (opt-in by user)
Enumerator
EditorBound 

Hidden when switching editors (default)

Persistent 

Always visible once shown.

CrossEditor 

User can pin to persist across editors.

Definition at line 18 of file editor_panel.h.

◆ PopupType

enum class yaze::editor::PopupType
strong

Type classification for popups to enable future filtering and organization.

Enumerator
kInfo 
kHelp 
kSettings 
kFileOperation 
kConfirmation 
kWarning 
kEditor 

Definition at line 21 of file popup_manager.h.

◆ SelectionType

enum class yaze::editor::SelectionType
strong

Types of entities that can be selected and edited.

Enumerator
kNone 
kDungeonRoom 
kDungeonObject 
kDungeonSprite 
kDungeonEntrance 
kOverworldMap 
kOverworldTile 
kOverworldSprite 
kOverworldEntrance 
kOverworldExit 
kOverworldItem 
kGraphicsSheet 
kPalette 

Definition at line 28 of file selection_properties_panel.h.

◆ ToastType

enum class yaze::editor::ToastType
strong
Enumerator
kInfo 
kSuccess 
kWarning 
kError 

Definition at line 20 of file toast_manager.h.

◆ StartupSurface

enum class yaze::editor::StartupSurface
strong

Represents the current startup surface state.

Single source of truth for startup UI visibility:

  • kWelcome: No ROM loaded, showing onboarding screen
  • kDashboard: ROM loaded, no active editor (editor chooser)
  • kEditor: Active editor/category selected
Enumerator
kWelcome 
kDashboard 
kEditor 

Definition at line 25 of file ui_coordinator.h.

Function Documentation

◆ RequireRomLoaded()

absl::Status yaze::editor::RequireRomLoaded ( const Rom * rom,
const std::string & operation )
inline

Definition at line 12 of file editor_safeguards.h.

References yaze::Rom::is_loaded().

Here is the call graph for this function:

◆ CheckRomState()

absl::Status yaze::editor::CheckRomState ( const Rom * rom,
const std::string & message )
inline

Definition at line 21 of file editor_safeguards.h.

References yaze::Rom::is_loaded().

Here is the call graph for this function:

◆ GetRomStatusMessage()

std::string yaze::editor::GetRomStatusMessage ( const Rom * rom)
inline

Definition at line 29 of file editor_safeguards.h.

References yaze::Rom::is_loaded(), and yaze::Rom::title().

Here is the call graph for this function:

◆ IsRomReadyForEditing()

bool yaze::editor::IsRomReadyForEditing ( const Rom * rom)
inline

Definition at line 38 of file editor_safeguards.h.

References yaze::Rom::is_loaded(), and yaze::Rom::title().

Here is the call graph for this function:

◆ GetPanelTypeName()

◆ GetPanelTypeIcon()

◆ FindMatchingCharacter()

uint8_t yaze::editor::FindMatchingCharacter ( char value)

◆ FindDictionaryEntry()

int8_t yaze::editor::FindDictionaryEntry ( uint8_t value)

Definition at line 22 of file message_data.cc.

References DICTOFF.

Referenced by ParseSingleMessage(), ParseTextDataByte(), and ReadAllTextData().

◆ FindMatchingCommand()

std::optional< TextElement > yaze::editor::FindMatchingCommand ( uint8_t b)

◆ FindMatchingSpecial()

std::optional< TextElement > yaze::editor::FindMatchingSpecial ( uint8_t value)

Definition at line 38 of file message_data.cc.

References yaze::editor::TextElement::ID.

Referenced by ParseMessageData(), ParseTextDataByte(), and ReadAllTextData().

◆ FindMatchingElement()

ParsedElement yaze::editor::FindMatchingElement ( const std::string & str)

Definition at line 49 of file message_data.cc.

References DICTIONARYTOKEN, DICTOFF, and yaze::util::logf().

Referenced by ParseMessageToData().

Here is the call graph for this function:

◆ ParseTextDataByte()

std::string yaze::editor::ParseTextDataByte ( uint8_t value)

Definition at line 90 of file message_data.cc.

References DICTIONARYTOKEN, FindDictionaryEntry(), FindMatchingCommand(), and FindMatchingSpecial().

Referenced by BuildDictionaryEntries(), ParseSingleMessage(), and ReadAllTextData().

Here is the call graph for this function:

◆ ParseMessageToData()

◆ BuildDictionaryEntries()

std::vector< DictionaryEntry > yaze::editor::BuildDictionaryEntries ( Rom * rom)

◆ ReplaceAllDictionaryWords()

std::string yaze::editor::ReplaceAllDictionaryWords ( std::string str,
const std::vector< DictionaryEntry > & dictionary )

◆ FindRealDictionaryEntry()

DictionaryEntry yaze::editor::FindRealDictionaryEntry ( uint8_t value,
const std::vector< DictionaryEntry > & dictionary )

Definition at line 208 of file message_data.cc.

References DICTOFF.

Referenced by yaze::editor::MessagePreview::DrawCharacterToPreview().

◆ ParseSingleMessage()

◆ ParseMessageData()

std::vector< std::string > yaze::editor::ParseMessageData ( std::vector< MessageData > & message_data,
const std::vector< DictionaryEntry > & dictionary_entries )

◆ ReadAllTextData()

◆ LoadExpandedMessages()

absl::Status yaze::editor::LoadExpandedMessages ( std::string & expanded_message_path,
std::vector< std::string > & parsed_messages,
std::vector< MessageData > & expanded_messages,
std::vector< DictionaryEntry > & dictionary )

Definition at line 448 of file message_data.cc.

References yaze::Rom::LoadFromFile(), yaze::Rom::mutable_data(), ParseMessageData(), and ReadAllTextData().

Referenced by yaze::editor::MessageEditor::DrawExpandedMessageSettings().

Here is the call graph for this function:

◆ SerializeMessagesToJson()

nlohmann::json yaze::editor::SerializeMessagesToJson ( const std::vector< MessageData > & messages)

Definition at line 466 of file message_data.cc.

Referenced by ExportMessagesToJson().

◆ ExportMessagesToJson()

absl::Status yaze::editor::ExportMessagesToJson ( const std::string & path,
const std::vector< MessageData > & messages )

Definition at line 479 of file message_data.cc.

References SerializeMessagesToJson().

Referenced by yaze::editor::MessageEditor::DrawExpandedMessageSettings().

Here is the call graph for this function:

◆ IsMouseHoveringOverEntity() [1/2]

bool yaze::editor::IsMouseHoveringOverEntity ( const zelda3::GameEntity & entity,
ImVec2 canvas_p0,
ImVec2 scrolling,
float scale = 1.0f )

◆ IsMouseHoveringOverEntity() [2/2]

bool yaze::editor::IsMouseHoveringOverEntity ( const zelda3::GameEntity & entity,
const gui::CanvasRuntime & rt )

Check if mouse is hovering over an entity (CanvasRuntime version)

Parameters
entityThe entity to check
rtThe canvas runtime with geometry info
Returns
true if mouse is over the entity bounds

Definition at line 43 of file entity.cc.

References yaze::gui::CanvasRuntime::canvas_p0, yaze::gui::CanvasRuntime::scale, yaze::gui::CanvasRuntime::scrolling, yaze::zelda3::GameEntity::x_, and yaze::zelda3::GameEntity::y_.

◆ MoveEntityOnGrid()

void yaze::editor::MoveEntityOnGrid ( zelda3::GameEntity * entity,
ImVec2 canvas_p0,
ImVec2 scrolling,
bool free_movement = false,
float scale = 1.0f )

Move entity to grid-aligned position based on mouse.

Parameters
entityEntity to move
canvas_p0Canvas origin point
scrollingCanvas scroll offset
free_movementIf true, use 8x8 grid; else 16x16
scaleCanvas scale factor (default 1.0f)

Definition at line 61 of file entity.cc.

References yaze::zelda3::GameEntity::set_x(), and yaze::zelda3::GameEntity::set_y().

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

Here is the call graph for this function:

◆ DrawEntranceInserterPopup()

bool yaze::editor::DrawEntranceInserterPopup ( )

Definition at line 82 of file entity.cc.

References ICON_MD_CANCEL, ICON_MD_DONE, and yaze::gui::InputHex().

Here is the call graph for this function:

◆ DrawOverworldEntrancePopup()

◆ DrawExitInserterPopup()

void yaze::editor::DrawExitInserterPopup ( )

Definition at line 158 of file entity.cc.

References yaze::gui::InputHex().

Here is the call graph for this function:

◆ DrawExitEditorPopup()

◆ DrawItemInsertPopup()

void yaze::editor::DrawItemInsertPopup ( )

Definition at line 352 of file entity.cc.

References ICON_MD_CANCEL, ICON_MD_DONE, and yaze::zelda3::kSecretItemNames.

◆ DrawItemEditorPopup()

◆ DrawSpriteTable()

void yaze::editor::DrawSpriteTable ( std::function< void(int)> onSpriteSelect,
int & selected_id )

◆ DrawSpriteInserterPopup()

void yaze::editor::DrawSpriteInserterPopup ( )

Definition at line 469 of file entity.cc.

References DrawSpriteTable(), and yaze::gui::InputHex().

Here is the call graph for this function:

◆ DrawSpriteEditorPopup()

◆ DrawDiggableTilesEditorPopup()

bool yaze::editor::DrawDiggableTilesEditorPopup ( zelda3::DiggableTiles * diggable_tiles,
const std::vector< gfx::Tile16 > & tiles16,
const std::array< uint8_t, 0x200 > & all_tiles_types )

Draw popup dialog for editing diggable tiles configuration.

Provides UI for:

  • Viewing/editing which Map16 tiles are diggable
  • Auto-detecting diggable tiles from tile types
  • Exporting ASM patch for the digging routine
Parameters
diggable_tilesPointer to the DiggableTiles instance to edit
tiles16Vector of Map16 tile definitions
all_tiles_typesArray of tile type bytes for auto-detection
Returns
true if changes were saved, false otherwise
Todo
Open file dialog and export

Definition at line 560 of file entity.cc.

References yaze::zelda3::DiggableTiles::Clear(), yaze::zelda3::DiggableTilesPatchConfig::freespace_address, yaze::zelda3::DiggableTilesPatch::GeneratePatch(), yaze::zelda3::DiggableTiles::GetDiggableCount(), yaze::zelda3::DiggableTilesPatchConfig::hook_address, ICON_MD_AUTO_FIX_HIGH, ICON_MD_CANCEL, ICON_MD_CLEAR, ICON_MD_DONE, ICON_MD_FILE_DOWNLOAD, ICON_MD_RESTART_ALT, yaze::gui::InputHex(), yaze::zelda3::DiggableTiles::IsDiggable(), yaze::zelda3::DiggableTiles::IsTile16Diggable(), yaze::zelda3::kMaxDiggableTileId, yaze::gui::EditorNames::kOverworld, yaze::gui::MakePopupId(), yaze::zelda3::DiggableTiles::SetDiggable(), yaze::zelda3::DiggableTiles::SetVanillaDefaults(), yaze::zelda3::DiggableTilesPatchConfig::table_address, and yaze::zelda3::DiggableTilesPatchConfig::use_zs_compatible_mode.

◆ InsertEntrance()

absl::StatusOr< zelda3::OverworldEntrance * > yaze::editor::InsertEntrance ( zelda3::Overworld * overworld,
ImVec2 mouse_pos,
int current_map,
bool is_hole = false )

Flat helper functions for entity insertion/manipulation.

Following ZScream's entity management pattern (EntranceMode.cs, ExitMode.cs, etc.) but implemented as free functions to minimize state management.

Key concepts from ZScream:

  • Find first deleted slot for insertion
  • Calculate map position from mouse coordinates
  • Use parent map ID for multi-area maps
  • Call UpdateMapProperties to sync position data

Insert a new entrance at the specified position

Follows ZScream's EntranceMode.AddEntrance() logic (EntranceMode.cs:53-148):

  • Finds first deleted entrance slot
  • Snaps position to 16x16 grid
  • Uses parent map ID for multi-area maps
  • Calls UpdateMapProperties to calculate game coordinates
Parameters
overworldOverworld data containing entrance arrays
mouse_posMouse position in canvas coordinates (world space)
current_mapCurrent map index being edited
is_holeTrue to insert a hole instead of entrance
Returns
Pointer to newly inserted entrance, or error if no slots available

Definition at line 9 of file entity_operations.cc.

References ClampToOverworldBounds(), GetParentMapId(), yaze::zelda3::Overworld::holes(), yaze::zelda3::Overworld::is_loaded(), LOG_DEBUG, yaze::zelda3::Overworld::mutable_entrances(), yaze::zelda3::Overworld::overworld_map(), and SnapToEntityGrid().

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

◆ InsertExit()

absl::StatusOr< zelda3::OverworldExit * > yaze::editor::InsertExit ( zelda3::Overworld * overworld,
ImVec2 mouse_pos,
int current_map )

Insert a new exit at the specified position.

Follows ZScream's ExitMode.AddExit() logic (ExitMode.cs:59-124):

  • Finds first deleted exit slot
  • Snaps position to 16x16 grid
  • Initializes exit with default scroll/camera values
  • Sets room ID to 0 (needs to be configured by user)
Parameters
overworldOverworld data containing exit arrays
mouse_posMouse position in canvas coordinates
current_mapCurrent map index being edited
Returns
Pointer to newly inserted exit, or error if no slots available

Definition at line 77 of file entity_operations.cc.

References ClampToOverworldBounds(), GetParentMapId(), yaze::zelda3::Overworld::is_loaded(), LOG_DEBUG, yaze::zelda3::Overworld::mutable_exits(), yaze::zelda3::Overworld::overworld_map(), and SnapToEntityGrid().

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

◆ InsertSprite()

absl::StatusOr< zelda3::Sprite * > yaze::editor::InsertSprite ( zelda3::Overworld * overworld,
ImVec2 mouse_pos,
int current_map,
int game_state,
uint8_t sprite_id = 0 )

Insert a new sprite at the specified position.

Follows ZScream's SpriteMode sprite insertion (SpriteMode.cs:27-100):

  • Adds new sprite to game state array
  • Calculates map position and game coordinates
  • Sets sprite ID (default 0, user configures in popup)
Parameters
overworldOverworld data containing sprite arrays
mouse_posMouse position in canvas coordinates
current_mapCurrent map index being edited
game_stateCurrent game state (0=beginning, 1=zelda, 2=agahnim)
sprite_idSprite ID to insert (default 0)
Returns
Pointer to newly inserted sprite

Definition at line 130 of file entity_operations.cc.

References ClampToOverworldBounds(), GetParentMapId(), yaze::zelda3::Overworld::is_loaded(), LOG_DEBUG, yaze::zelda3::Overworld::mutable_sprites(), yaze::zelda3::Overworld::overworld_map(), SnapToEntityGrid(), yaze::zelda3::GameEntity::x_, and yaze::zelda3::GameEntity::y_.

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

◆ InsertItem()

absl::StatusOr< zelda3::OverworldItem * > yaze::editor::InsertItem ( zelda3::Overworld * overworld,
ImVec2 mouse_pos,
int current_map,
uint8_t item_id = 0 )

Insert a new item at the specified position.

Follows ZScream's ItemMode item insertion (ItemMode.cs:54-113):

  • Adds new item to all_items array
  • Calculates map position and game coordinates
  • Sets item ID (default 0, user configures in popup)
Parameters
overworldOverworld data containing item arrays
mouse_posMouse position in canvas coordinates
current_mapCurrent map index being edited
item_idItem ID to insert (default 0x00 - Nothing)
Returns
Pointer to newly inserted item

Definition at line 185 of file entity_operations.cc.

References ClampToOverworldBounds(), yaze::zelda3::OverworldItem::game_x_, yaze::zelda3::OverworldItem::game_y_, GetParentMapId(), yaze::zelda3::Overworld::is_loaded(), LOG_DEBUG, yaze::zelda3::Overworld::mutable_all_items(), yaze::zelda3::Overworld::overworld_map(), SnapToEntityGrid(), yaze::zelda3::GameEntity::x_, and yaze::zelda3::GameEntity::y_.

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

◆ GetParentMapId()

uint8_t yaze::editor::GetParentMapId ( const zelda3::OverworldMap * map,
int current_map )
inline

Helper to get parent map ID for multi-area maps.

Returns the parent map ID, handling the case where a map is its own parent. Matches ZScream logic where ParentID == 255 means use current map.

Definition at line 110 of file entity_operations.h.

References yaze::zelda3::OverworldMap::parent().

Referenced by InsertEntrance(), InsertExit(), InsertItem(), and InsertSprite().

Here is the call graph for this function:

◆ SnapToEntityGrid()

ImVec2 yaze::editor::SnapToEntityGrid ( ImVec2 pos)
inline

Snap position to 16x16 grid (standard entity positioning)

Definition at line 119 of file entity_operations.h.

Referenced by InsertEntrance(), InsertExit(), InsertItem(), and InsertSprite().

◆ ClampToOverworldBounds()

ImVec2 yaze::editor::ClampToOverworldBounds ( ImVec2 pos)
inline

Clamp position to valid overworld bounds.

Definition at line 127 of file entity_operations.h.

Referenced by InsertEntrance(), InsertExit(), InsertItem(), and InsertSprite().

◆ kOverworldCanvasSize()

constexpr ImVec2 yaze::editor::kOverworldCanvasSize ( kOverworldMapSize * 8,
kOverworldMapSize * 8 )
constexpr

◆ kCurrentGfxCanvasSize()

constexpr ImVec2 yaze::editor::kCurrentGfxCanvasSize ( 0x100+ 1,
0x10 *0x40+ 1 )
constexpr

◆ kBlocksetCanvasSize()

constexpr ImVec2 yaze::editor::kBlocksetCanvasSize ( 0x100+ 1,
0x4000+ 1 )
constexpr

◆ kGraphicsBinCanvasSize()

constexpr ImVec2 yaze::editor::kGraphicsBinCanvasSize ( 0x100+ 1,
kNumSheetsToLoad *0x40+ 1 )
constexpr

◆ GetPaletteCategories()

const std::vector< PaletteCategoryInfo > & yaze::editor::GetPaletteCategories ( )
inline

Get all palette categories with their associated groups.

Returns
Vector of category info structures

Definition at line 38 of file palette_category.h.

References ICON_MD_CASTLE, ICON_MD_LANDSCAPE, ICON_MD_MORE_HORIZ, ICON_MD_PETS, ICON_MD_SHIELD, kDungeon, kEquipment, kMiscellaneous, kOverworld, and kSprites.

Referenced by yaze::editor::PaletteEditor::DrawCategorizedPaletteList(), and GetGroupCategory().

◆ GetGroupDisplayName()

std::string yaze::editor::GetGroupDisplayName ( const std::string & group_name)
inline

Get display name for a palette group.

Parameters
group_nameInternal group name (e.g., "ow_main")
Returns
Human-readable display name

Definition at line 68 of file palette_category.h.

Referenced by yaze::editor::PaletteEditor::DrawCategorizedPaletteList(), and yaze::editor::PaletteEditor::PassesSearchFilter().

◆ GetGroupCategory()

PaletteCategory yaze::editor::GetGroupCategory ( const std::string & group_name)
inline

Get the category that a palette group belongs to.

Parameters
group_nameInternal group name
Returns
Category enum value

Definition at line 94 of file palette_category.h.

References GetPaletteCategories(), and kMiscellaneous.

Here is the call graph for this function:

◆ DisplayPalette()

absl::Status yaze::editor::DisplayPalette ( gfx::SnesPalette & palette,
bool loaded )

Display SNES palette with enhanced ROM hacking features.

Parameters
paletteSNES palette to display
loadedWhether the palette has been loaded from ROM

Enhanced Features:

  • Real-time color preview with SNES format conversion
  • Drag-and-drop color swapping for palette editing
  • Color picker integration with ROM palette system
  • Undo/redo support for palette modifications
  • Export functionality for palette sharing

Performance Notes:

  • Static color arrays to avoid repeated allocations
  • Cached color conversions for fast rendering
  • Batch palette updates to minimize ROM writes

Definition at line 104 of file palette_editor.cc.

References yaze::gui::PopupNames::kColorPicker, kPalButtonFlags, yaze::gui::EditorNames::kPalette, yaze::gui::MakePopupId(), yaze::gfx::SnesPalette::size(), and TEXT_WITH_SEPARATOR.

Here is the call graph for this function:

◆ ConfigureEditorShortcuts()

◆ ConfigureMenuShortcuts()

◆ ConfigurePanelShortcuts()

void yaze::editor::ConfigurePanelShortcuts ( const ShortcutDependencies & deps,
ShortcutManager * shortcut_manager )

Register configurable panel shortcuts from user settings.

Parameters
depsShortcut dependencies
shortcut_managerThe shortcut manager to register with

This function reads panel shortcuts from UserSettings and registers them with the shortcut manager. It falls back to PanelDescriptor.shortcut_hint if no custom shortcut is defined for a panel.

Definition at line 633 of file shortcut_configurator.cc.

References ConfigurePanelShortcuts(), yaze::editor::SessionCoordinator::GetActiveSessionIndex(), yaze::editor::ShortcutDependencies::panel_manager, yaze::editor::ShortcutDependencies::session_coordinator, and yaze::editor::ShortcutDependencies::user_settings.

Referenced by ConfigurePanelShortcuts().

Here is the call graph for this function:

◆ PrintShortcut()

std::string yaze::editor::PrintShortcut ( const std::vector< ImGuiKey > & keys)

◆ ParseShortcut()

std::vector< ImGuiKey > yaze::editor::ParseShortcut ( const std::string & shortcut)

◆ ExecuteShortcuts()

void yaze::editor::ExecuteShortcuts ( const ShortcutManager & shortcut_manager)

Definition at line 205 of file shortcut_manager.cc.

References yaze::editor::ShortcutManager::GetShortcuts().

Referenced by yaze::editor::EditorManager::Update().

Here is the call graph for this function:

◆ GetSelectionTypeName()

const char * yaze::editor::GetSelectionTypeName ( SelectionType type)

Variable Documentation

◆ kEditorNames

constexpr std::array<const char*, 14> yaze::editor::kEditorNames
constexpr
Initial value:
= {
"Unknown", "Assembly", "Dungeon", "Emulator", "Graphics",
"Music", "Overworld", "Palette", "Screen", "Sprite",
"Message", "Hex", "Agent", "Settings",
}

Definition at line 167 of file editor.h.

Referenced by yaze::editor::EditorManager::GenerateUniqueEditorTitle(), yaze::editor::anonymous_namespace{editor_manager.cc}::GetEditorName(), getEditorState(), and yaze::editor::SessionCoordinator::UpdateSessions().

◆ kSuperDonkeyTiles

const std::string yaze::editor::kSuperDonkeyTiles[]
Initial value:
= {
"97C05", "98219", "9871E", "98C00", "99084", "995AF", "99DE0", "9A27E",
"9A741", "9AC31", "9B07E", "9B55C", "9B963", "9BB99", "9C009", "9C4B4",
"9C92B", "9CDD6", "9D2C2", "9E037", "9E527", "9EA56", "9EF65", "9FCD1",
"A0193", "A059E", "A0B17", "A0FB6", "A14A5", "A1988", "A1E66", "A232B",
"A27F0", "A2B6E", "A302C", "A3453", "A38CA", "A42BB", "A470C", "A4BA9",
"A5089", "A5385", "A5742", "A5BCC", "A6017", "A6361", "A66F8"}

Definition at line 29 of file graphics_editor.h.

Referenced by yaze::editor::GraphicsEditor::DecompressSuperDonkey().

◆ kSuperDonkeySprites

const std::string yaze::editor::kSuperDonkeySprites[]
Initial value:
= {
"A8E5D", "A9435", "A9934", "A9D83", "AA2F1", "AA6D4", "AABE4", "AB127",
"AB65A", "ABBDD", "AC38D", "AC797", "ACCC8", "AD0AE", "AD245", "AD554",
"ADAAC", "ADECC", "AE453", "AE9D2", "AEF40", "AF3C9", "AF92E", "AFE9D",
"B03D2", "B09AC", "B0F0C", "B1430", "B1859", "B1E01", "B229A", "B2854",
"B2D27", "B31D7", "B3B58", "B40B5", "B45A5", "B4D64", "B5031", "B555F",
"B5F30", "B6858", "B70DD", "B7526", "B79EC", "B7C83", "B80F7", "B85CC",
"B8A3F", "B8F97", "B94F2", "B9A20", "B9E9A", "BA3A2", "BA8F6", "BACDC",
"BB1F9", "BB781", "BBCCA", "BC26D", "BC7D4", "BCBB0", "BD082", "BD5FC",
"BE115", "BE5C2", "BEB63", "BF0CB", "BF607", "BFA55", "BFD71", "C017D",
"C0567", "C0981", "C0BA7", "C116D", "C166A", "C1FE0", "C24CE", "C2B19"}

Definition at line 37 of file graphics_editor.h.

Referenced by yaze::editor::GraphicsEditor::DecompressSuperDonkey().

◆ kRedPen

constexpr uint32_t yaze::editor::kRedPen = 0xFF0000FF
constexpr

Definition at line 25 of file screen_editor.cc.

Referenced by yaze::editor::ScreenEditor::DrawDungeonMapScreen().

◆ kBankToken

const std::string yaze::editor::kBankToken = "BANK"

Definition at line 97 of file message_data.h.

Referenced by ReadAllTextData().

◆ DICTIONARYTOKEN

const std::string yaze::editor::DICTIONARYTOKEN = "D"

◆ kMessageTerminator

constexpr uint8_t yaze::editor::kMessageTerminator = 0x7F
constexpr

◆ DICTOFF

◆ kWidthArraySize

constexpr uint8_t yaze::editor::kWidthArraySize = 100
constexpr

◆ kTextData

◆ kTextDataEnd

constexpr int yaze::editor::kTextDataEnd = 0xE7FFF
constexpr

◆ kNumDictionaryEntries

constexpr int yaze::editor::kNumDictionaryEntries = 0x61
constexpr

Definition at line 177 of file message_data.h.

Referenced by BuildDictionaryEntries().

◆ kPointersDictionaries

constexpr int yaze::editor::kPointersDictionaries = 0x74703
constexpr

Definition at line 178 of file message_data.h.

Referenced by BuildDictionaryEntries(), ParseSingleMessage(), and ReadAllTextData().

◆ kScrollVertical

constexpr uint8_t yaze::editor::kScrollVertical = 0x73
constexpr

◆ kLine1

constexpr uint8_t yaze::editor::kLine1 = 0x74
constexpr

◆ kLine2

constexpr uint8_t yaze::editor::kLine2 = 0x75
constexpr

◆ kLine3

constexpr uint8_t yaze::editor::kLine3 = 0x76
constexpr

◆ CHEESE

const std::string yaze::editor::CHEESE = "\uBEBE"

◆ kTextData2

constexpr int yaze::editor::kTextData2 = 0x75F40
constexpr

◆ kTextData2End

constexpr int yaze::editor::kTextData2End = 0x773FF
constexpr

◆ kMessageTableFlags

constexpr ImGuiTableFlags yaze::editor::kMessageTableFlags
constexpr
Initial value:
= ImGuiTableFlags_Hideable |
ImGuiTableFlags_Borders |
ImGuiTableFlags_Resizable

Definition at line 60 of file message_editor.cc.

Referenced by yaze::editor::MessageEditor::DrawDictionary(), and yaze::editor::MessageEditor::DrawMessageList().

◆ kGfxFont

constexpr int yaze::editor::kGfxFont = 0x70000
constexpr

Definition at line 22 of file message_editor.h.

Referenced by yaze::editor::MessageEditor::Initialize().

◆ kCharactersWidth

constexpr int yaze::editor::kCharactersWidth = 0x74ADF
constexpr

◆ kNumMessages

constexpr int yaze::editor::kNumMessages = 396
constexpr

Definition at line 24 of file message_editor.h.

◆ kFontGfxMessageSize

constexpr int yaze::editor::kFontGfxMessageSize = 128
constexpr

Definition at line 25 of file message_editor.h.

Referenced by yaze::editor::MessageEditor::Initialize().

◆ kFontGfxMessageDepth

constexpr int yaze::editor::kFontGfxMessageDepth
constexpr
Initial value:
=
8

Definition at line 26 of file message_editor.h.

Referenced by yaze::editor::MessageEditor::Initialize().

◆ kFontGfx16Size

constexpr int yaze::editor::kFontGfx16Size = 172 * 4096
constexpr

Definition at line 28 of file message_editor.h.

◆ kBlockTerminator

constexpr uint8_t yaze::editor::kBlockTerminator = 0x80
constexpr

Definition at line 30 of file message_editor.h.

Referenced by yaze::editor::MessageEditor::Save().

◆ kMessageBankChangeId

constexpr uint8_t yaze::editor::kMessageBankChangeId = 0x80
constexpr

Definition at line 31 of file message_editor.h.

◆ kCurrentMessageWidth

constexpr int yaze::editor::kCurrentMessageWidth = 172
constexpr

◆ kCurrentMessageHeight

constexpr int yaze::editor::kCurrentMessageHeight = 4096
constexpr

◆ toolset_table_flags_

const ImGuiTableFlags yaze::editor::toolset_table_flags_ = ImGuiTableFlags_SizingFixedFit

Definition at line 81 of file music_editor.h.

◆ music_editor_flags_

const ImGuiTableFlags yaze::editor::music_editor_flags_
Initial value:
= ImGuiTableFlags_SizingFixedFit |
ImGuiTableFlags_Resizable |
ImGuiTableFlags_Reorderable

Definition at line 82 of file music_editor.h.

◆ kInputFieldSize

◆ k4BPP

constexpr unsigned int yaze::editor::k4BPP = 4
constexpr

Definition at line 80 of file overworld_editor.h.

◆ kByteSize

constexpr unsigned int yaze::editor::kByteSize = 3
constexpr

Definition at line 81 of file overworld_editor.h.

◆ kMessageIdSize

constexpr unsigned int yaze::editor::kMessageIdSize = 5
constexpr

Definition at line 82 of file overworld_editor.h.

◆ kNumSheetsToLoad

constexpr unsigned int yaze::editor::kNumSheetsToLoad = 223
constexpr

Definition at line 83 of file overworld_editor.h.

◆ kOverworldMapSize

◆ kOWMapFlags

constexpr ImGuiTableFlags yaze::editor::kOWMapFlags
constexpr
Initial value:
=
ImGuiTableFlags_Borders | ImGuiTableFlags_Resizable |
ImGuiTableFlags_RowBg | ImGuiTableFlags_SizingStretchProp

Definition at line 91 of file overworld_editor.h.

◆ kWorldList

constexpr absl::string_view yaze::editor::kWorldList
constexpr
Initial value:
=
"Light World\0Dark World\0Extra World\0"

Definition at line 95 of file overworld_editor.h.

◆ kGamePartComboString

constexpr absl::string_view yaze::editor::kGamePartComboString = "Part 0\0Part 1\0Part 2\0"
constexpr

Definition at line 98 of file overworld_editor.h.

◆ kOverworldMinZoom

constexpr float yaze::editor::kOverworldMinZoom = 0.1f
constexpr

◆ kOverworldMaxZoom

constexpr float yaze::editor::kOverworldMaxZoom = 5.0f
constexpr

◆ kOverworldZoomStep

◆ kOWMapTable

constexpr absl::string_view yaze::editor::kOWMapTable = "#MapSettingsTable"
constexpr

Definition at line 105 of file overworld_editor.h.

◆ kTile8DisplayScale

constexpr float yaze::editor::kTile8DisplayScale = 4.0f
constexpr

◆ kTile16Size

◆ kTile8Size

constexpr int yaze::editor::kTile8Size = 8
constexpr

◆ kTilesheetEditorWidth

constexpr int yaze::editor::kTilesheetEditorWidth = 0x100
constexpr

Definition at line 37 of file tile16_editor.h.

◆ kTilesheetEditorHeight

constexpr int yaze::editor::kTilesheetEditorHeight = 0x4000
constexpr

Definition at line 38 of file tile16_editor.h.

◆ kTile16CanvasSize

constexpr int yaze::editor::kTile16CanvasSize = 0x20
constexpr

Definition at line 39 of file tile16_editor.h.

◆ kTile8CanvasHeight

constexpr int yaze::editor::kTile8CanvasHeight = 0x175
constexpr

Definition at line 40 of file tile16_editor.h.

◆ kNumScratchSlots

constexpr int yaze::editor::kNumScratchSlots = 4
constexpr

Definition at line 41 of file tile16_editor.h.

◆ kNumPalettes

constexpr int yaze::editor::kNumPalettes = 8
constexpr

Definition at line 42 of file tile16_editor.h.

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

◆ kTile8PixelCount

constexpr int yaze::editor::kTile8PixelCount = 64
constexpr

Definition at line 43 of file tile16_editor.h.

Referenced by yaze::editor::Tile16Editor::UpdateTile16Edit().

◆ kTile16PixelCount

constexpr int yaze::editor::kTile16PixelCount = 256
constexpr

◆ kGameStateNames

◆ kWorldNames

constexpr const char* yaze::editor::kWorldNames[]
inlineconstexpr
Initial value:
= {"Light World", "Dark World",
"Special World"}

Definition at line 12 of file ui_constants.h.

Referenced by yaze::editor::OverworldToolbar::Draw(), yaze::editor::MapPropertiesSystem::DrawCanvasToolbar(), and yaze::editor::OverworldSidebar::DrawMapSelection().

◆ kAreaSizeNames

constexpr const char* yaze::editor::kAreaSizeNames[]
inlineconstexpr

◆ kHexByteInputWidth

◆ kHexWordInputWidth

constexpr float yaze::editor::kHexWordInputWidth = 70.f
inlineconstexpr

◆ kCompactButtonWidth

constexpr float yaze::editor::kCompactButtonWidth = 60.f
inlineconstexpr

Definition at line 23 of file ui_constants.h.

◆ kIconButtonWidth

constexpr float yaze::editor::kIconButtonWidth = 40.f
inlineconstexpr

◆ kPanelToggleButtonWidth

constexpr float yaze::editor::kPanelToggleButtonWidth = 40.f
inlineconstexpr

Definition at line 25 of file ui_constants.h.

Referenced by yaze::editor::OverworldToolbar::Draw().

◆ kSmallButtonWidth

constexpr float yaze::editor::kSmallButtonWidth = 80.f
inlineconstexpr

Definition at line 26 of file ui_constants.h.

◆ kMediumButtonWidth

constexpr float yaze::editor::kMediumButtonWidth = 90.f
inlineconstexpr

Definition at line 27 of file ui_constants.h.

◆ kLargeButtonWidth

constexpr float yaze::editor::kLargeButtonWidth = 100.f
inlineconstexpr

Definition at line 28 of file ui_constants.h.

◆ kTableColumnWorld

constexpr float yaze::editor::kTableColumnWorld = 120.f
inlineconstexpr

◆ kTableColumnMap

constexpr float yaze::editor::kTableColumnMap = 80.f
inlineconstexpr

◆ kTableColumnAreaSize

constexpr float yaze::editor::kTableColumnAreaSize = 120.f
inlineconstexpr

◆ kTableColumnLock

constexpr float yaze::editor::kTableColumnLock = 50.f
inlineconstexpr

◆ kTableColumnGraphics

constexpr float yaze::editor::kTableColumnGraphics = 80.f
inlineconstexpr

Definition at line 35 of file ui_constants.h.

◆ kTableColumnPalettes

constexpr float yaze::editor::kTableColumnPalettes = 80.f
inlineconstexpr

Definition at line 36 of file ui_constants.h.

◆ kTableColumnProperties

constexpr float yaze::editor::kTableColumnProperties = 100.f
inlineconstexpr

Definition at line 37 of file ui_constants.h.

◆ kTableColumnTools

constexpr float yaze::editor::kTableColumnTools = 80.f
inlineconstexpr

Definition at line 38 of file ui_constants.h.

◆ kTableColumnView

constexpr float yaze::editor::kTableColumnView = 80.f
inlineconstexpr

Definition at line 39 of file ui_constants.h.

◆ kTableColumnQuick

constexpr float yaze::editor::kTableColumnQuick = 80.f
inlineconstexpr

Definition at line 40 of file ui_constants.h.

◆ kComboWorldWidth

constexpr float yaze::editor::kComboWorldWidth = 115.f
inlineconstexpr

◆ kComboAreaSizeWidth

constexpr float yaze::editor::kComboAreaSizeWidth = 115.f
inlineconstexpr

◆ kComboGameStateWidth

constexpr float yaze::editor::kComboGameStateWidth = 100.f
inlineconstexpr

◆ kTableButtonGraphics

constexpr float yaze::editor::kTableButtonGraphics = 75.f
inlineconstexpr

Definition at line 48 of file ui_constants.h.

◆ kTableButtonPalettes

constexpr float yaze::editor::kTableButtonPalettes = 75.f
inlineconstexpr

Definition at line 49 of file ui_constants.h.

◆ kTableButtonProperties

constexpr float yaze::editor::kTableButtonProperties = 95.f
inlineconstexpr

Definition at line 50 of file ui_constants.h.

◆ kTableButtonTools

constexpr float yaze::editor::kTableButtonTools = 75.f
inlineconstexpr

Definition at line 51 of file ui_constants.h.

◆ kTableButtonView

constexpr float yaze::editor::kTableButtonView = 75.f
inlineconstexpr

Definition at line 52 of file ui_constants.h.

◆ kTableButtonQuick

constexpr float yaze::editor::kTableButtonQuick = 75.f
inlineconstexpr

Definition at line 53 of file ui_constants.h.

◆ kCompactItemSpacing

constexpr float yaze::editor::kCompactItemSpacing = 4.f
inlineconstexpr

Definition at line 56 of file ui_constants.h.

◆ kCompactFramePadding

constexpr float yaze::editor::kCompactFramePadding = 2.f
inlineconstexpr

Definition at line 57 of file ui_constants.h.

◆ kPaletteTableFlags

constexpr ImGuiTableFlags yaze::editor::kPaletteTableFlags
constexpr
Initial value:
=
ImGuiTableFlags_Reorderable | ImGuiTableFlags_Resizable |
ImGuiTableFlags_SizingStretchSame | ImGuiTableFlags_Hideable

Definition at line 45 of file palette_editor.cc.

◆ kPalNoAlpha

constexpr ImGuiColorEditFlags yaze::editor::kPalNoAlpha = ImGuiColorEditFlags_NoAlpha
constexpr

Definition at line 49 of file palette_editor.cc.

◆ kPalButtonFlags

constexpr ImGuiColorEditFlags yaze::editor::kPalButtonFlags
constexpr
Initial value:
= ImGuiColorEditFlags_NoAlpha |
ImGuiColorEditFlags_NoPicker |
ImGuiColorEditFlags_NoTooltip

Definition at line 51 of file palette_editor.cc.

Referenced by DisplayPalette(), yaze::editor::PaletteEditor::DrawCustomPalettePanel(), and yaze::editor::PaletteEditor::DrawQuickAccessPanel().

◆ kColorPopupFlags

constexpr ImGuiColorEditFlags yaze::editor::kColorPopupFlags
constexpr
Initial value:
=
ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_NoAlpha |
ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_DisplayHSV |
ImGuiColorEditFlags_DisplayHex

Definition at line 55 of file palette_editor.cc.

Referenced by yaze::editor::PaletteEditor::DrawCustomPalette(), yaze::editor::PaletteEditor::DrawCustomPalettePanel(), yaze::editor::PaletteEditor::DrawQuickAccessPanel(), yaze::editor::PaletteEditor::DrawQuickAccessTab(), and yaze::editor::PaletteEditor::HandleColorPopup().

◆ kSpriteTabFlags

constexpr ImGuiTabItemFlags yaze::editor::kSpriteTabFlags
constexpr
Initial value:
=
ImGuiTabItemFlags_Trailing | ImGuiTabItemFlags_NoTooltip

Definition at line 22 of file sprite_editor.h.

◆ kSpriteTabBarFlags

constexpr ImGuiTabBarFlags yaze::editor::kSpriteTabBarFlags
constexpr
Initial value:
=
ImGuiTabBarFlags_AutoSelectNewTabs | ImGuiTabBarFlags_Reorderable |
ImGuiTabBarFlags_FittingPolicyResizeDown |
ImGuiTabBarFlags_TabListPopupButton

Definition at line 25 of file sprite_editor.h.

Referenced by yaze::editor::SpriteEditor::DrawVanillaSpriteEditor().

◆ kSpriteTableFlags

constexpr ImGuiTableFlags yaze::editor::kSpriteTableFlags
constexpr
Initial value:
=
ImGuiTableFlags_Resizable | ImGuiTableFlags_Reorderable |
ImGuiTableFlags_Hideable | ImGuiTableFlags_BordersOuter |
ImGuiTableFlags_BordersV

Definition at line 30 of file sprite_editor.h.