DungeonEditorV2 - Simplified dungeon editor using component delegation. More...
#include <dungeon_editor_v2.h>

Classes | |
| struct | PendingCollisionUndo |
| struct | PendingSwap |
| struct | PendingUndo |
| struct | PendingWaterFillUndo |
| struct | PendingWorkflowMode |
Public Member Functions | |
| DungeonEditorV2 (Rom *rom=nullptr) | |
| ~DungeonEditorV2 () override | |
| void | SetGameData (zelda3::GameData *game_data) override |
| void | Initialize () override |
| absl::Status | Load () override |
| absl::Status | Update () override |
| absl::Status | Undo () override |
| absl::Status | Redo () override |
| absl::Status | Cut () override |
| absl::Status | Copy () override |
| absl::Status | Paste () override |
| absl::Status | Find () override |
| absl::Status | Save () override |
| absl::Status | SaveRoom (int room_id) |
| int | LoadedRoomCount () const |
| int | TotalRoomCount () const |
| std::vector< std::pair< uint32_t, uint32_t > > | CollectWriteRanges () const |
| void | SetRom (Rom *rom) |
| Rom * | rom () const |
| void | add_room (int room_id) |
| void | FocusRoom (int room_id) |
| void | SelectObject (int obj_id) |
| void | SetAgentMode (bool enabled) |
| bool | IsRomLoaded () const override |
| std::string | GetRomStatus () const override |
| void | ShowPanel (const std::string &card_id) |
| void | SetWorkbenchWorkflowMode (bool enabled, bool show_toast=true) |
| void | QueueWorkbenchWorkflowMode (bool enabled, bool show_toast=true) |
| bool | IsWorkbenchWorkflowEnabled () const |
| int | current_room_id () const |
| int * | mutable_current_room_id () |
| const ImVector< int > & | active_rooms () const |
| std::array< zelda3::Room, 0x128 > & | rooms () |
| const std::array< zelda3::Room, 0x128 > & | rooms () const |
| gfx::IRenderer * | renderer () const |
| ObjectEditorPanel * | object_editor_panel () const |
| const std::deque< int > & | GetRecentRooms () const |
| Get the list of recently visited room IDs. | |
Public Member Functions inherited from yaze::editor::Editor | |
| Editor ()=default | |
| virtual | ~Editor ()=default |
| virtual void | SetDependencies (const EditorDependencies &deps) |
| virtual std::string | GetUndoDescription () const |
| virtual std::string | GetRedoDescription () const |
| const UndoManager & | undo_manager () const |
| virtual absl::Status | Clear () |
| EditorType | type () const |
| bool * | active () |
| void | set_active (bool active) |
| void | toggle_active () |
| Rom * | rom () const |
| zelda3::GameData * | game_data () const |
| EditorContext | context () const |
| bool | HasContext () const |
Static Public Attributes | |
| static constexpr const char * | kRoomSelectorId = "dungeon.room_selector" |
| static constexpr const char * | kEntranceListId = "dungeon.entrance_list" |
| static constexpr const char * | kRoomMatrixId = "dungeon.room_matrix" |
| static constexpr const char * | kRoomGraphicsId = "dungeon.room_graphics" |
| static constexpr const char * | kObjectToolsId = "dungeon.object_editor" |
| static constexpr const char * | kPaletteEditorId = "dungeon.palette_editor" |
Static Private Member Functions | |
| static bool | IsValidRoomId (int room_id) |
Static Private Attributes | |
| static constexpr size_t | kMaxRecentRooms = 10 |
| static constexpr int | kMaxCachedViewers = 20 |
Additional Inherited Members | |
Protected Member Functions inherited from yaze::editor::Editor | |
| std::string | MakePanelTitle (const std::string &base_title) const |
| std::string | MakePanelId (const std::string &base_id) const |
| template<typename T > | |
| absl::StatusOr< T > | SafeRomAccess (std::function< T()> accessor, const std::string &operation="") const |
Protected Attributes inherited from yaze::editor::Editor | |
| bool | active_ = false |
| EditorType | type_ |
| EditorDependencies | dependencies_ |
| UndoManager | undo_manager_ |
DungeonEditorV2 - Simplified dungeon editor using component delegation.
This is a drop-in replacement for DungeonEditor that properly delegates to the component system instead of implementing everything inline.
Architecture:
The editor acts as a coordinator, not an implementer.
OWNED by DungeonEditorV2 (use unique_ptr or direct member):
EXTERNALLY OWNED (raw pointers, lifetime managed elsewhere):
OWNED BY PanelManager (registered EditorPanels):
Panel pointers are stored for convenience access but should NOT be deleted by this class. PanelManager owns them.
Definition at line 85 of file dungeon_editor_v2.h.
|
inlineexplicit |
Definition at line 87 of file dungeon_editor_v2.h.
References yaze::zelda3::CreateDungeonEditorSystem(), dungeon_editor_system_, yaze::editor::kDungeon, rom(), rooms_, and yaze::editor::Editor::type_.

|
override |
Definition at line 147 of file dungeon_editor_v2.cc.
References custom_collision_panel_, dungeon_settings_panel_, item_editor_panel_, object_editor_panel_, yaze::editor::CustomCollisionPanel::SetCanvasViewer(), yaze::editor::DungeonSettingsPanel::SetCanvasViewer(), yaze::editor::ItemEditorPanel::SetCanvasViewer(), yaze::editor::ObjectEditorPanel::SetCanvasViewer(), yaze::editor::SpriteEditorPanel::SetCanvasViewer(), yaze::editor::WaterFillPanel::SetCanvasViewer(), yaze::editor::CustomCollisionPanel::SetInteraction(), yaze::editor::WaterFillPanel::SetInteraction(), sprite_editor_panel_, and water_fill_panel_.
|
inlineoverridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 100 of file dungeon_editor_v2.h.
References yaze::editor::Editor::dependencies_, dungeon_editor_system_, yaze::editor::EditorDependencies::game_data, yaze::editor::Editor::game_data(), game_data_, object_editor_panel_, room_loader_, room_viewers_, rooms_, yaze::editor::DungeonRoomLoader::SetGameData(), and yaze::editor::ObjectEditorPanel::SetGameData().
Referenced by yaze::editor::EditorSet::EditorSet(), yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().

|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 173 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::editor::UndoManager::CanRedo(), yaze::editor::UndoManager::CanUndo(), yaze::zelda3::CreateDungeonEditorSystem(), current_entrance_id_, current_room_id_, yaze::editor::Editor::dependencies_, dungeon_editor_system_, entrances_, game_data_, yaze::core::FeatureFlags::get(), yaze::editor::UndoManager::GetRedoDescription(), yaze::editor::UndoManager::GetUndoDescription(), GetWorkbenchCompareViewer(), GetWorkbenchViewer(), yaze::project::YazeProject::hack_manifest, ICON_MD_DOOR_FRONT, ICON_MD_GRID_VIEW, ICON_MD_IMAGE, ICON_MD_LABEL, ICON_MD_LIST, ICON_MD_MAP, ICON_MD_PALETTE, ICON_MD_TUNE, ICON_MD_WORKSPACES, yaze::Rom::is_loaded(), kEntranceListId, yaze::editor::kError, kPaletteEditorId, kRoomGraphicsId, kRoomMatrixId, kRoomSelectorId, yaze::editor::kSuccess, LOG_ERROR, OnEntranceSelected(), OnRoomSelected(), yaze::editor::EditorDependencies::panel_manager, yaze::editor::EditorDependencies::project, QueueWorkbenchWorkflowMode(), recent_rooms_, Redo(), yaze::editor::PanelManager::RegisterPanelAlias(), yaze::editor::EditorDependencies::renderer, renderer_, yaze::editor::EditorDependencies::rom, rom_, room_selector_, room_window_class_, rooms_, SaveRoom(), SetRom(), yaze::editor::DungeonRoomSelector::SetRoomSelectedWithIntentCallback(), yaze::editor::DungeonWorkbenchPanel::SetUndoRedoProvider(), SetWorkbenchWorkflowMode(), yaze::editor::ToastManager::Show(), ShowPanel(), SwapRoomInPanel(), yaze::editor::EditorDependencies::toast_manager, Undo(), yaze::editor::Editor::undo_manager_, yaze::editor::UndoManager::UndoStackSize(), and workbench_panel_.
Referenced by yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 417 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::zelda3::CustomObjectManager::AddObjectFile(), ASSIGN_OR_RETURN, yaze::project::YazeProject::code_folder, yaze::gfx::CreatePaletteGroupFromLargePalette(), current_palette_, current_palette_group_, current_palette_group_id_, current_room_id_, custom_collision_panel_, yaze::project::YazeProject::custom_object_files, yaze::project::YazeProject::custom_objects_folder, yaze::editor::Editor::dependencies_, dungeon_editor_system_, yaze::gfx::PaletteGroupMap::dungeon_main, dungeon_settings_panel_, entrances_, yaze::editor::Editor::game_data(), yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::ObjectDimensionTable::Get(), yaze::project::YazeProject::GetAbsolutePath(), yaze::zelda3::CustomObjectManager::Initialize(), yaze::gfx::PaletteManager::Initialize(), yaze::gui::PaletteEditorWidget::Initialize(), yaze::editor::DungeonObjectSelector::InvalidatePreviewCache(), yaze::Rom::is_loaded(), is_loaded_, item_editor_panel_, yaze::editor::kInfo, yaze::editor::kWarning, yaze::zelda3::LoadLegacyWaterGateZones(), yaze::editor::DungeonRoomLoader::LoadRoomEntrances(), yaze::zelda3::LoadWaterFillTable(), LOG_ERROR, LOG_WARN, minecart_track_editor_panel_, object_editor_panel_, yaze::editor::ObjectEditorPanel::object_selector(), object_tile_editor_panel_, OnRoomSelected(), yaze::editor::ObjectTileEditorPanel::OpenForObject(), overlay_manager_panel_, owned_object_editor_panel_, palette_editor_, yaze::zelda3::GameData::palette_groups, yaze::editor::EditorDependencies::panel_manager, yaze::editor::EditorDependencies::project, yaze::editor::PanelManager::RegisterEditorPanel(), render_service_, renderer_, RETURN_IF_ERROR, rom_, room_graphics_panel_, room_loader_, room_selector_, room_tag_editor_panel_, rooms_, yaze::project::YazeProject::Save(), SaveAllRooms(), SaveRoom(), yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::DungeonRoomSelector::set_entrances(), yaze::editor::DungeonRoomSelector::set_rooms(), yaze::editor::DungeonObjectSelector::SetCustomObjectsFolder(), yaze::editor::ObjectEditorPanel::SetGameData(), yaze::gui::PaletteEditorWidget::SetOnPaletteChanged(), yaze::editor::DungeonObjectSelector::SetProject(), yaze::editor::MinecartTrackEditorPanel::SetProject(), yaze::editor::MinecartTrackEditorPanel::SetProjectRoot(), yaze::editor::MinecartTrackEditorPanel::SetRom(), yaze::editor::MinecartTrackEditorPanel::SetRoomNavigationCallback(), yaze::editor::MinecartTrackEditorPanel::SetRooms(), yaze::editor::DungeonRoomSelector::SetRoomSelectedCallback(), yaze::editor::DungeonRoomSelector::SetRoomSelectedWithIntentCallback(), yaze::editor::DungeonObjectSelector::SetTileEditorPanel(), yaze::editor::ToastManager::Show(), ShowPanel(), sprite_editor_panel_, yaze::project::YazeProject::symbols_filename, yaze::editor::EditorDependencies::toast_manager, and water_fill_panel_.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 725 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::gui::PanelWindow::Begin(), current_room_id_, DrawRoomPanels(), yaze::gui::PanelWindow::End(), yaze::editor::AgentUI::GetTheme(), GetViewerForRoom(), ICON_MD_CASTLE, is_loaded_, IsValidRoomId(), IsWorkbenchWorkflowEnabled(), OnRoomSelected(), ProcessPendingSwap(), ProcessPendingWorkflowMode(), recent_rooms_, room_window_class_, yaze::gui::PanelWindow::SetDefaultSize(), and SwapRoomInPanel().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 2273 of file dungeon_editor_v2.cc.
Referenced by Initialize().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 2287 of file dungeon_editor_v2.cc.
Referenced by Initialize().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 2301 of file dungeon_editor_v2.cc.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 2309 of file dungeon_editor_v2.cc.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 2316 of file dungeon_editor_v2.cc.
|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 131 of file dungeon_editor_v2.h.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 841 of file dungeon_editor_v2.cc.
References yaze::core::FeatureFlags::Flags::dungeon, yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::gfx::PaletteManager::HasUnsavedChanges(), yaze::Rom::is_loaded(), LOG_ERROR, LOG_INFO, rom_, rooms_, yaze::zelda3::SaveAllBlocks(), yaze::zelda3::SaveAllChests(), yaze::zelda3::SaveAllCollision(), yaze::zelda3::SaveAllPits(), yaze::zelda3::SaveAllPotItems(), yaze::zelda3::SaveAllTorches(), yaze::gfx::PaletteManager::SaveAllToRom(), and SaveRoomData().
Referenced by SaveAllRooms().
| absl::Status yaze::editor::DungeonEditorV2::SaveRoom | ( | int | room_id | ) |
Definition at line 1036 of file dungeon_editor_v2.cc.
References yaze::core::FeatureFlags::Flags::dungeon, yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::gfx::PaletteManager::HasUnsavedChanges(), yaze::Rom::is_loaded(), LOG_ERROR, RETURN_IF_ERROR, rom_, rooms_, yaze::zelda3::SaveAllBlocks(), yaze::zelda3::SaveAllChests(), yaze::zelda3::SaveAllCollision(), yaze::zelda3::SaveAllPits(), yaze::zelda3::SaveAllPotItems(), yaze::zelda3::SaveAllTorches(), yaze::gfx::PaletteManager::SaveAllToRom(), and SaveRoomData().
Referenced by Initialize(), Load(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().
| int yaze::editor::DungeonEditorV2::LoadedRoomCount | ( | ) | const |
Definition at line 1082 of file dungeon_editor_v2.cc.
References rooms_.
|
inline |
Definition at line 135 of file dungeon_editor_v2.h.
References rooms_.
| std::vector< std::pair< uint32_t, uint32_t > > yaze::editor::DungeonEditorV2::CollectWriteRanges | ( | ) | const |
Definition at line 935 of file dungeon_editor_v2.cc.
References yaze::core::FeatureFlags::Flags::dungeon, yaze::core::FeatureFlags::get(), yaze::Rom::is_loaded(), yaze::zelda3::kCustomCollisionDataPosition, yaze::zelda3::kCustomCollisionDataSoftEnd, yaze::zelda3::kCustomCollisionRoomPointers, yaze::zelda3::kNumberOfRooms, yaze::zelda3::kRoomHeaderPointer, yaze::zelda3::kRoomHeaderPointerBank, yaze::zelda3::kRoomObjectPointer, yaze::zelda3::kWaterFillTableEnd, yaze::zelda3::kWaterFillTableStart, rom_, rooms_, yaze::SnesToPc(), and yaze::Rom::vector().

|
inline |
Definition at line 143 of file dungeon_editor_v2.h.
References yaze::Rom::is_loaded(), render_service_, rom(), rom_, room_loader_, room_selector_, room_viewers_, rooms_, and yaze::editor::DungeonRoomSelector::SetRom().
Referenced by Initialize().

|
inline |
Definition at line 165 of file dungeon_editor_v2.h.
References rom_.
Referenced by DungeonEditorV2(), and SetRom().
| void yaze::editor::DungeonEditorV2::add_room | ( | int | room_id | ) |
Definition at line 1700 of file dungeon_editor_v2.cc.
References OnRoomSelected().
Referenced by yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().

| void yaze::editor::DungeonEditorV2::FocusRoom | ( | int | room_id | ) |
Definition at line 1704 of file dungeon_editor_v2.cc.
References room_cards_.
Referenced by OnRoomSelected().
| void yaze::editor::DungeonEditorV2::SelectObject | ( | int | obj_id | ) |
Definition at line 1711 of file dungeon_editor_v2.cc.
References kObjectToolsId, object_editor_panel_, yaze::editor::ObjectEditorPanel::SelectObject(), and ShowPanel().

| void yaze::editor::DungeonEditorV2::SetAgentMode | ( | bool | enabled | ) |
Definition at line 1718 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, kObjectToolsId, kRoomGraphicsId, kRoomSelectorId, object_editor_panel_, yaze::editor::EditorDependencies::panel_manager, yaze::editor::ObjectEditorPanel::SetAgentOptimizedLayout(), and ShowPanel().

|
inlineoverridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 176 of file dungeon_editor_v2.h.
References yaze::Rom::is_loaded(), and rom_.

|
inlineoverridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 177 of file dungeon_editor_v2.h.
References yaze::Rom::is_loaded(), rom_, and yaze::Rom::title().

|
inline |
Definition at line 186 of file dungeon_editor_v2.h.
References yaze::editor::Editor::dependencies_, yaze::editor::EditorDependencies::panel_manager, and yaze::editor::PanelManager::ShowPanel().
Referenced by Initialize(), Load(), SelectObject(), and SetAgentMode().

| void yaze::editor::DungeonEditorV2::SetWorkbenchWorkflowMode | ( | bool | enabled, |
| bool | show_toast = true ) |
Definition at line 1277 of file dungeon_editor_v2.cc.
References current_room_id_, yaze::editor::Editor::dependencies_, yaze::editor::PanelManager::GetActiveSessionId(), IsWorkbenchWorkflowEnabled(), yaze::editor::kInfo, kRoomMatrixId, kRoomSelectorId, yaze::editor::EditorDependencies::panel_manager, yaze::editor::ToastManager::Show(), ShowRoomPanel(), and yaze::editor::EditorDependencies::toast_manager.
Referenced by Initialize(), OnRoomSelected(), and ProcessPendingWorkflowMode().

| void yaze::editor::DungeonEditorV2::QueueWorkbenchWorkflowMode | ( | bool | enabled, |
| bool | show_toast = true ) |
Definition at line 1322 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonEditorV2::PendingWorkflowMode::enabled, yaze::editor::DungeonEditorV2::PendingWorkflowMode::pending, pending_workflow_mode_, and yaze::editor::DungeonEditorV2::PendingWorkflowMode::show_toast.
Referenced by Initialize().
| bool yaze::editor::DungeonEditorV2::IsWorkbenchWorkflowEnabled | ( | ) | const |
Definition at line 1267 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, yaze::core::FeatureFlags::get(), yaze::editor::PanelManager::IsPanelVisible(), and yaze::editor::EditorDependencies::panel_manager.
Referenced by GetViewerForRoom(), OnRoomSelected(), OnRoomSelected(), SetWorkbenchWorkflowMode(), and Update().

|
inline |
Definition at line 207 of file dungeon_editor_v2.h.
References yaze::editor::DungeonRoomSelector::current_room_id(), and room_selector_.

|
inline |
Definition at line 208 of file dungeon_editor_v2.h.
References current_room_id_.
|
inline |
Definition at line 209 of file dungeon_editor_v2.h.
References yaze::editor::DungeonRoomSelector::active_rooms(), and room_selector_.

|
inline |
Definition at line 212 of file dungeon_editor_v2.h.
References rooms_.
Referenced by yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().
|
inline |
Definition at line 213 of file dungeon_editor_v2.h.
References rooms_.
|
inline |
Definition at line 214 of file dungeon_editor_v2.h.
References renderer_.
|
inline |
Definition at line 215 of file dungeon_editor_v2.h.
References object_editor_panel_.
|
inline |
Get the list of recently visited room IDs.
Definition at line 223 of file dungeon_editor_v2.h.
References recent_rooms_.
|
private |
Definition at line 1329 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::editor::Editor::dependencies_, DrawRoomTab(), yaze::editor::PanelManager::GetActiveCategory(), yaze::editor::PanelManager::IsPanelPinned(), yaze::editor::PanelManager::IsPanelVisible(), OnRoomSelected(), yaze::editor::EditorDependencies::panel_manager, ReleaseRoomPanelSlotId(), room_cards_, room_dock_id_, room_viewers_, room_window_class_, ShowRoomPanel(), and yaze::editor::PanelManager::UnregisterPanel().
Referenced by Update().
|
private |
Definition at line 1410 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, dungeon_editor_system_, yaze::emu::mesen::MesenClientRegistry::GetClient(), yaze::editor::AgentUI::GetTheme(), GetViewerForRoom(), ICON_MD_CHECK, ICON_MD_PENDING, ICON_MD_ROCKET_LAUNCH, yaze::editor::kError, yaze::editor::kSuccess, yaze::editor::DungeonRoomLoader::LoadRoom(), LOG_DEBUG, LOG_ERROR, room_loader_, rooms_, yaze::editor::ToastManager::Show(), and yaze::editor::EditorDependencies::toast_manager.
Referenced by DrawRoomPanels().
|
private |
Definition at line 1729 of file dungeon_editor_v2.cc.
References yaze::gfx::Arena::Get(), yaze::gfx::Arena::ProcessTextureQueue(), and renderer_.

|
private |
Definition at line 1553 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::gfx::CreatePaletteGroupFromLargePalette(), current_palette_, current_palette_group_, current_palette_id_, current_room_id_, yaze::editor::Editor::dependencies_, dungeon_editor_system_, yaze::gfx::PaletteGroupMap::dungeon_main, FocusRoom(), yaze::editor::Editor::game_data(), yaze::zelda3::GetRoomLabel(), GetViewerForRoom(), ICON_MD_GRID_ON, yaze::editor::PanelManager::IsPanelVisible(), IsWorkbenchWorkflowEnabled(), kMaxRecentRooms, yaze::editor::DungeonRoomLoader::LoadRoom(), LOG_WARN, yaze::editor::DungeonWorkbenchPanel::NotifyRoomChanged(), object_editor_panel_, palette_editor_, yaze::zelda3::GameData::palette_groups, yaze::editor::EditorDependencies::panel_manager, recent_rooms_, yaze::editor::PanelManager::RegisterPanel(), room_graphics_panel_, room_loader_, room_selector_, rooms_, yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::DungeonRoomSelector::set_current_room_id(), yaze::editor::DungeonRoomGraphicsPanel::SetCurrentPaletteGroup(), yaze::editor::ObjectEditorPanel::SetCurrentPaletteGroup(), yaze::gui::PaletteEditorWidget::SetCurrentPaletteId(), yaze::editor::PanelManager::ShowPanel(), SyncPanelsToRoom(), and workbench_panel_.
Referenced by add_room(), DrawRoomPanels(), Initialize(), Load(), OnEntranceSelected(), OnRoomSelected(), ProcessPendingSwap(), and Update().
|
private |
Definition at line 1528 of file dungeon_editor_v2.cc.
References IsWorkbenchWorkflowEnabled(), yaze::editor::kFocusInWorkbench, yaze::editor::kOpenStandalone, yaze::editor::kPreview, OnRoomSelected(), rooms_, SetWorkbenchWorkflowMode(), and ShowRoomPanel().

|
private |
Definition at line 1675 of file dungeon_editor_v2.cc.
References entrances_, and OnRoomSelected().
Referenced by Initialize().

|
private |
Definition at line 2365 of file dungeon_editor_v2.cc.
References yaze::editor::OverlayManagerPanel::OverlayState::show_camera_quadrants, yaze::editor::OverlayManagerPanel::OverlayState::show_collision_legend, yaze::editor::OverlayManagerPanel::OverlayState::show_coordinate_overlay, yaze::editor::OverlayManagerPanel::OverlayState::show_custom_collision, yaze::editor::OverlayManagerPanel::OverlayState::show_grid, yaze::editor::OverlayManagerPanel::OverlayState::show_layer_info, yaze::editor::OverlayManagerPanel::OverlayState::show_minecart_sprites, yaze::editor::OverlayManagerPanel::OverlayState::show_minecart_tracks, yaze::editor::OverlayManagerPanel::OverlayState::show_object_bounds, yaze::editor::OverlayManagerPanel::OverlayState::show_room_debug_info, yaze::editor::OverlayManagerPanel::OverlayState::show_texture_debug, and yaze::editor::OverlayManagerPanel::OverlayState::show_track_collision.
Referenced by OnRoomSelected().
|
private |
Definition at line 2435 of file dungeon_editor_v2.cc.
References yaze::zelda3::GetRoomLabel(), ICON_MD_GRID_ON, and yaze::gui::MakePanelTitle().
Referenced by DrawRoomPanels(), OnRoomSelected(), and SetWorkbenchWorkflowMode().

|
private |
Definition at line 1683 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, yaze::editor::kError, yaze::editor::kSuccess, LOG_ERROR, Save(), yaze::editor::ToastManager::Show(), and yaze::editor::EditorDependencies::toast_manager.
Referenced by Load().

|
private |
Definition at line 1733 of file dungeon_editor_v2.cc.
References current_room_id_, yaze::editor::Editor::dependencies_, yaze::zelda3::RoomObject::id_, IsValidRoomId(), yaze::editor::kError, yaze::editor::kSuccess, LOG_DEBUG, LOG_ERROR, LOG_INFO, object_editor_panel_, rooms_, yaze::editor::ObjectEditorPanel::SetPlacementError(), yaze::editor::ToastManager::Show(), yaze::editor::EditorDependencies::toast_manager, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

|
private |
Definition at line 1769 of file dungeon_editor_v2.cc.
References yaze::editor::EditorDependencies::custom_data, yaze::editor::Editor::dependencies_, yaze::editor::kGraphics, yaze::gfx::kTilesheetHeight, yaze::gfx::kTilesheetWidth, LOG_WARN, yaze::editor::EditorDependencies::panel_manager, rooms_, and yaze::editor::PanelManager::ShowAllPanelsInCategory().

|
private |
Definition at line 1944 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::editor::Editor::dependencies_, GetWorkbenchViewer(), yaze::editor::PanelManager::IsPanelPinned(), IsWorkbenchWorkflowEnabled(), yaze::editor::EditorDependencies::panel_manager, and room_viewers_.
Referenced by DrawRoomTab(), OnRoomSelected(), and Update().

|
private |
Definition at line 2122 of file dungeon_editor_v2.cc.
References LOG_ERROR.
Referenced by GetViewerForRoom(), and Initialize().
|
private |
Definition at line 2242 of file dungeon_editor_v2.cc.
Referenced by Initialize().
|
private |
Definition at line 1935 of file dungeon_editor_v2.cc.
References room_viewers_.
|
private |
Definition at line 1939 of file dungeon_editor_v2.cc.
|
private |
Definition at line 1092 of file dungeon_editor_v2.cc.
References yaze::core::AddressOwnershipToString(), yaze::editor::Editor::dependencies_, yaze::core::FeatureFlags::Flags::dungeon, dungeon_editor_system_, yaze::core::FeatureFlags::get(), yaze::project::YazeProject::hack_manifest, yaze::Rom::is_loaded(), yaze::project::kAllow, yaze::project::kBlock, yaze::editor::kError, yaze::zelda3::kRoomHeaderPointer, yaze::zelda3::kRoomHeaderPointerBank, yaze::zelda3::kRoomObjectPointer, yaze::project::kWarn, yaze::editor::kWarning, yaze::core::HackManifest::loaded(), LOG_DEBUG, LOG_ERROR, LOG_WARN, yaze::editor::EditorDependencies::project, rom_, yaze::project::YazeProject::rom_metadata, rooms_, yaze::editor::ToastManager::Show(), yaze::SnesToPc(), yaze::editor::EditorDependencies::toast_manager, yaze::zelda3::DungeonValidator::ValidateRoom(), yaze::Rom::vector(), and yaze::project::RomMetadata::write_policy.
Referenced by Save(), and SaveRoom().
|
private |
Definition at line 2323 of file dungeon_editor_v2.cc.
References LOG_ERROR.
|
private |
Definition at line 2344 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2487 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2497 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2509 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2536 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2564 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2576 of file dungeon_editor_v2.cc.
|
private |
Definition at line 2603 of file dungeon_editor_v2.cc.
References yaze::editor::WaterFillSnapshot::offsets, and yaze::editor::WaterFillSnapshot::sram_bit_mask.
|
private |
Definition at line 1823 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonEditorV2::PendingSwap::new_room_id, yaze::editor::DungeonEditorV2::PendingSwap::old_room_id, yaze::editor::DungeonEditorV2::PendingSwap::pending, pending_swap_, and rooms_.
Referenced by Initialize(), and Update().
|
private |
Definition at line 1834 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::editor::Editor::dependencies_, yaze::zelda3::GetRoomLabel(), ICON_MD_GRID_ON, yaze::editor::PanelManager::IsPanelPinned(), yaze::editor::DungeonEditorV2::PendingSwap::new_room_id, next_room_panel_slot_id_, yaze::editor::DungeonEditorV2::PendingSwap::old_room_id, OnRoomSelected(), yaze::editor::EditorDependencies::panel_manager, yaze::editor::DungeonEditorV2::PendingSwap::pending, pending_swap_, yaze::editor::PanelManager::RegisterPanel(), room_cards_, room_panel_slot_ids_, room_selector_, room_viewers_, yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::PanelManager::SetPanelPinned(), yaze::editor::PanelManager::ShowPanel(), and yaze::editor::PanelManager::UnregisterPanel().
Referenced by Update().
|
private |
Definition at line 1924 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonEditorV2::PendingWorkflowMode::enabled, yaze::editor::DungeonEditorV2::PendingWorkflowMode::pending, pending_workflow_mode_, SetWorkbenchWorkflowMode(), and yaze::editor::DungeonEditorV2::PendingWorkflowMode::show_toast.
Referenced by Update().

|
private |
Definition at line 1396 of file dungeon_editor_v2.cc.
References next_room_panel_slot_id_, and room_panel_slot_ids_.
|
private |
Definition at line 1406 of file dungeon_editor_v2.cc.
References room_panel_slot_ids_.
Referenced by DrawRoomPanels().
|
inlinestaticprivate |
Definition at line 408 of file dungeon_editor_v2.h.
References yaze::zelda3::kNumberOfRooms.
Referenced by HandleObjectPlaced(), and Update().
|
friend |
Definition at line 226 of file dungeon_editor_v2.h.
|
friend |
Definition at line 227 of file dungeon_editor_v2.h.
|
friend |
Definition at line 229 of file dungeon_editor_v2.h.
|
friend |
Definition at line 231 of file dungeon_editor_v2.h.
|
staticconstexpr |
Definition at line 199 of file dungeon_editor_v2.h.
Referenced by Initialize(), SetAgentMode(), and SetWorkbenchWorkflowMode().
|
staticconstexpr |
Definition at line 200 of file dungeon_editor_v2.h.
Referenced by Initialize().
|
staticconstexpr |
Definition at line 201 of file dungeon_editor_v2.h.
Referenced by Initialize(), and SetWorkbenchWorkflowMode().
|
staticconstexpr |
Definition at line 202 of file dungeon_editor_v2.h.
Referenced by Initialize(), and SetAgentMode().
|
staticconstexpr |
Definition at line 203 of file dungeon_editor_v2.h.
Referenced by SelectObject(), and SetAgentMode().
|
staticconstexpr |
Definition at line 204 of file dungeon_editor_v2.h.
Referenced by Initialize().
|
private |
Definition at line 233 of file dungeon_editor_v2.h.
Referenced by Initialize(), Load(), ProcessDeferredTextures(), and renderer().
|
private |
Definition at line 271 of file dungeon_editor_v2.h.
Referenced by CollectWriteRanges(), GetRomStatus(), Initialize(), IsRomLoaded(), Load(), rom(), Save(), SaveRoom(), SaveRoomData(), and SetRom().
|
private |
Definition at line 272 of file dungeon_editor_v2.h.
Referenced by Initialize(), and SetGameData().
|
private |
Definition at line 273 of file dungeon_editor_v2.h.
Referenced by CollectWriteRanges(), DrawRoomTab(), DungeonEditorV2(), HandleObjectPlaced(), Initialize(), Load(), LoadedRoomCount(), OnRoomSelected(), OnRoomSelected(), OpenGraphicsEditorForObject(), rooms(), rooms(), Save(), SaveRoom(), SaveRoomData(), SetGameData(), SetRom(), SwapRoomInPanel(), and TotalRoomCount().
|
private |
Definition at line 274 of file dungeon_editor_v2.h.
Referenced by Initialize(), Load(), and OnEntranceSelected().
|
private |
Definition at line 277 of file dungeon_editor_v2.h.
Referenced by Initialize().
|
private |
Definition at line 280 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), GetViewerForRoom(), Initialize(), Load(), OnRoomSelected(), ProcessPendingSwap(), and Update().
|
private |
Definition at line 281 of file dungeon_editor_v2.h.
Referenced by HandleObjectPlaced(), Initialize(), Load(), mutable_current_room_id(), OnRoomSelected(), SetWorkbenchWorkflowMode(), and Update().
|
staticconstexprprivate |
Definition at line 284 of file dungeon_editor_v2.h.
Referenced by OnRoomSelected().
|
private |
Definition at line 285 of file dungeon_editor_v2.h.
Referenced by GetRecentRooms(), Initialize(), OnRoomSelected(), and Update().
|
private |
Definition at line 286 of file dungeon_editor_v2.h.
|
private |
Definition at line 289 of file dungeon_editor_v2.h.
Referenced by Initialize(), and OnRoomSelected().
|
private |
Definition at line 292 of file dungeon_editor_v2.h.
Referenced by Load(), and OnRoomSelected().
|
private |
Definition at line 293 of file dungeon_editor_v2.h.
Referenced by Load(), and OnRoomSelected().
|
private |
Definition at line 294 of file dungeon_editor_v2.h.
Referenced by OnRoomSelected().
|
private |
Definition at line 295 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 298 of file dungeon_editor_v2.h.
Referenced by DrawRoomTab(), Load(), OnRoomSelected(), SetGameData(), and SetRom().
|
private |
Definition at line 299 of file dungeon_editor_v2.h.
Referenced by active_rooms(), current_room_id(), Initialize(), Load(), OnRoomSelected(), ProcessPendingSwap(), and SetRom().
|
staticconstexprprivate |
Definition at line 300 of file dungeon_editor_v2.h.
|
private |
Definition at line 301 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), GetViewerForRoom(), ProcessPendingSwap(), SetGameData(), SetRom(), and TouchViewerLru().
|
private |
Definition at line 303 of file dungeon_editor_v2.h.
|
private |
Definition at line 304 of file dungeon_editor_v2.h.
|
private |
Definition at line 306 of file dungeon_editor_v2.h.
Referenced by Load(), and OnRoomSelected().
|
private |
Definition at line 309 of file dungeon_editor_v2.h.
Referenced by HandleObjectPlaced(), Load(), object_editor_panel(), OnRoomSelected(), SelectObject(), SetAgentMode(), SetGameData(), and ~DungeonEditorV2().
|
private |
Definition at line 310 of file dungeon_editor_v2.h.
Referenced by Load(), and OnRoomSelected().
|
private |
Definition at line 311 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 312 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 313 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 314 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 315 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 316 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 317 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 318 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 319 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 323 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 324 of file dungeon_editor_v2.h.
Referenced by DrawRoomTab(), DungeonEditorV2(), Initialize(), Load(), OnRoomSelected(), SaveRoomData(), and SetGameData().
|
private |
Definition at line 325 of file dungeon_editor_v2.h.
|
private |
Definition at line 327 of file dungeon_editor_v2.h.
|
private |
Definition at line 330 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), Initialize(), and Update().
|
private |
Definition at line 333 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels().
|
private |
Definition at line 336 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), FocusRoom(), and ProcessPendingSwap().
|
private |
Definition at line 341 of file dungeon_editor_v2.h.
Referenced by GetOrCreateRoomPanelSlotId(), and ProcessPendingSwap().
|
private |
Definition at line 342 of file dungeon_editor_v2.h.
Referenced by GetOrCreateRoomPanelSlotId(), ProcessPendingSwap(), and ReleaseRoomPanelSlotId().
|
private |
Definition at line 351 of file dungeon_editor_v2.h.
|
private |
Definition at line 352 of file dungeon_editor_v2.h.
|
private |
Definition at line 358 of file dungeon_editor_v2.h.
|
private |
Definition at line 364 of file dungeon_editor_v2.h.
|
private |
Definition at line 372 of file dungeon_editor_v2.h.
Referenced by ProcessPendingSwap(), and SwapRoomInPanel().
|
private |
Definition at line 379 of file dungeon_editor_v2.h.
Referenced by ProcessPendingWorkflowMode(), and QueueWorkbenchWorkflowMode().