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

Classes | |
| struct | PendingCollisionUndo |
| struct | PendingSwap |
| struct | PendingUndo |
| struct | PendingWaterFillUndo |
| struct | PendingWorkflowMode |
| struct | SaveTransactionSnapshot |
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 | BeginSaveTransaction () override |
| void | RollbackSaveTransaction () override |
| void | CommitSaveTransaction () override |
| void | ContributeStatus (StatusBar *status_bar) override |
| absl::Status | SaveRoom (int room_id) |
| int | LoadedRoomCount () const |
| int | PendingRoomCount () const |
| bool | HasPendingRoomChanges () const |
| bool | HasPendingDungeonChanges () const |
| bool | CurrentRoomHasPendingChanges () const |
| int | TotalRoomCount () const |
| std::vector< std::pair< uint32_t, uint32_t > > | CollectWriteRanges () const |
| void | SetRom (Rom *rom) |
| absl::Status | RefreshRomBackedState () |
| 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 | OpenWindow (const std::string &window_id) |
| void | SetWorkbenchWorkflowMode (bool enabled, bool show_toast=true) |
| void | QueueWorkbenchWorkflowMode (bool enabled, bool show_toast=true) |
| void | ToggleWorkbenchWorkflowMode (bool show_toast=true) |
| bool | IsWorkbenchWorkflowEnabled () const |
| int | current_room_id () const |
| int * | mutable_current_room_id () |
| const ImVector< int > & | active_rooms () const |
| DungeonRoomStore & | rooms () |
| const DungeonRoomStore & | rooms () const |
| gfx::IRenderer * | renderer () const |
| ObjectSelectorContent * | object_selector_panel () const |
| ObjectSelectorContent * | object_editor_panel () const |
| ObjectEditorContent * | object_editor_content () const |
| DoorEditorContent * | door_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 |
| project::YazeProject * | project () const |
| core::VersionManager * | version_manager () 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 * | kObjectSelectorId = "dungeon.object_selector" |
| static constexpr const char * | kObjectToolsId = kObjectSelectorId |
| static constexpr const char * | kDoorEditorId = "dungeon.door_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 | MakeWindowId (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 WorkspaceWindowManager (registered EditorPanels):
Panel pointers are stored for convenience access but should NOT be deleted by this class. WorkspaceWindowManager owns them.
Definition at line 97 of file dungeon_editor_v2.h.
|
explicit |
Definition at line 94 of file dungeon_editor_v2.cc.
References yaze::zelda3::CreateDungeonEditorSystem(), dungeon_editor_system_, yaze::editor::kDungeon, rom(), and yaze::editor::Editor::type_.

|
override |
Definition at line 102 of file dungeon_editor_v2.cc.
References custom_collision_panel_, door_editor_panel_, item_editor_panel_, object_editor_content_, object_selector_panel_, yaze::editor::DoorEditorContent::SetCanvasViewer(), yaze::editor::ObjectEditorContent::SetCanvasViewer(), yaze::editor::ObjectSelectorContent::SetCanvasViewer(), yaze::editor::CustomCollisionPanel::SetCanvasViewer(), yaze::editor::ItemEditorPanel::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 103 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_selector_panel_, room_loader_, room_viewers_, rooms_, yaze::editor::DungeonRoomLoader::SetGameData(), yaze::editor::DungeonRoomStore::SetGameData(), yaze::editor::ObjectSelectorContent::SetGameData(), workbench_compare_viewer_, and workbench_viewer_.
Referenced by yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().

|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 387 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(), ICON_MD_CATEGORY, ICON_MD_DOOR_FRONT, ICON_MD_GRID_VIEW, ICON_MD_IMAGE, ICON_MD_LIST, ICON_MD_PALETTE, ICON_MD_TUNE, ICON_MD_WORKSPACES, yaze::Rom::is_loaded(), kDoorEditorId, kEntranceListId, yaze::editor::kError, kObjectSelectorId, kPaletteEditorId, kRoomGraphicsId, kRoomMatrixId, kRoomSelectorId, yaze::editor::kSuccess, LOG_ERROR, OnEntranceSelected(), OnRoomSelected(), yaze::zelda3::GameData::pit_damage_table, yaze::editor::EditorDependencies::project, QueueWorkbenchWorkflowMode(), recent_rooms_, Redo(), yaze::editor::WorkspaceWindowManager::RegisterPanelAlias(), yaze::editor::EditorDependencies::renderer, renderer_, yaze::editor::EditorDependencies::rom, rom_, room_selector_, room_window_class_, rooms_, yaze::editor::UserSettings::Save(), SaveAllRooms(), SaveRoom(), yaze::editor::UserSettings::SetDungeonInspectorSide(), yaze::editor::DungeonWorkbenchContent::SetOnInspectorSideChanged(), yaze::editor::DungeonWorkbenchContent::SetPitDamageTableProvider(), yaze::editor::DungeonRoomSelector::SetProject(), SetRom(), yaze::editor::DungeonRoomSelector::SetRoomSelectedWithIntentCallback(), yaze::editor::DungeonWorkbenchContent::SetUndoRedoProvider(), SetWorkbenchWorkflowMode(), yaze::editor::ToastManager::Show(), SwapRoomInPanel(), yaze::editor::EditorDependencies::toast_manager, Undo(), yaze::editor::Editor::undo_manager_, yaze::editor::UndoManager::UndoStackSize(), yaze::editor::EditorDependencies::user_settings, yaze::editor::EditorDependencies::window_manager, and workbench_panel_.
Referenced by yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 627 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_palette_id_, current_room_id_, custom_collision_panel_, yaze::project::YazeProject::custom_object_files, yaze::project::YazeProject::custom_objects_folder, yaze::editor::Editor::dependencies_, door_editor_panel_, dungeon_editor_system_, yaze::gfx::PaletteGroupMap::dungeon_main, entrances_, yaze::editor::DungeonWorkbenchContent::FocusSelectionInspector(), 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(), GetViewerForRoom(), yaze::zelda3::CustomObjectManager::Initialize(), yaze::gfx::PaletteManager::Initialize(), yaze::gui::PaletteEditorWidget::Initialize(), InvalidateDungeonPaletteUsers(), yaze::editor::DungeonObjectSelector::InvalidatePreviewCache(), yaze::Rom::is_loaded(), is_loaded_, IsWorkbenchWorkflowEnabled(), item_editor_panel_, yaze::core::FeatureFlags::Flags::kEnableCustomObjects, yaze::editor::DungeonRoomLoader::LoadDungeonSpawnPoints(), yaze::editor::DungeonRoomLoader::LoadRoomEntrances(), minecart_track_editor_panel_, object_editor_content_, yaze::editor::ObjectSelectorContent::object_selector(), object_selector_panel_, object_tile_editor_panel_, OnEntranceSelected(), OnRoomSelected(), OpenWindow(), overlay_manager_panel_, owned_custom_collision_panel_, owned_door_editor_panel_, owned_minecart_track_editor_panel_, owned_object_editor_content_, owned_object_selector_panel_, owned_room_tag_editor_panel_, owned_water_fill_panel_, palette_editor_, palette_editor_panel_, yaze::zelda3::GameData::palette_groups, yaze::editor::EditorDependencies::project, yaze::editor::WorkspaceWindowManager::RegisterWindowContent(), ReloadWaterFillZones(), renderer_, RETURN_IF_ERROR, rom_, room_graphics_panel_, room_loader_, room_selector_, room_tag_editor_panel_, room_viewers_, rooms_, yaze::project::YazeProject::Save(), yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::DungeonRoomSelector::set_entrances(), yaze::editor::DungeonRoomSelector::set_rooms(), yaze::editor::ObjectSelectorContent::SetCurrentPaletteGroup(), yaze::editor::RoomGraphicsContent::SetCurrentPaletteGroup(), yaze::editor::DungeonObjectSelector::SetCustomObjectsFolder(), yaze::gui::PaletteEditorWidget::SetDungeonRenderPaletteMode(), yaze::editor::DungeonWorkbenchContent::SetEmbeddedEditorPanels(), yaze::editor::DungeonWorkbenchContent::SetEmbeddedToolPanels(), yaze::editor::DungeonRoomSelector::SetEntranceSelectedCallback(), yaze::editor::ObjectSelectorContent::SetGameData(), yaze::gui::PaletteEditorWidget::SetOnDungeonPaletteChanged(), 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::DungeonRoomStore::size(), spawn_points_, sprite_editor_panel_, yaze::editor::EditorDependencies::toast_manager, water_fill_panel_, yaze::editor::EditorDependencies::window_manager, workbench_compare_viewer_, workbench_panel_, and workbench_viewer_.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 994 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::gui::PanelWindow::Begin(), current_room_id_, yaze::editor::Editor::dependencies_, DrawRoomPanels(), yaze::gui::PanelWindow::End(), yaze::editor::UserSettings::GetDungeonInspectorSide(), yaze::editor::AgentUI::GetTheme(), GetViewerForRoom(), ICON_MD_CASTLE, is_loaded_, IsValidRoomId(), IsWorkbenchWorkflowEnabled(), OnRoomSelected(), ProcessPendingSwap(), ProcessPendingWorkflowMode(), recent_rooms_, room_window_class_, yaze::gui::PanelWindow::SetDefaultSize(), yaze::editor::DungeonWorkbenchContent::SetInspectorOnLeft(), SwapRoomInPanel(), ToggleWorkbenchWorkflowMode(), yaze::editor::EditorDependencies::user_settings, and workbench_panel_.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 75 of file dungeon_editor_v2_undo.cc.
References current_room_id_, yaze::editor::Editor::dependencies_, FinalizeCollisionUndoAction(), FinalizeUndoAction(), FinalizeWaterFillUndoAction(), yaze::editor::UndoManager::GetUndoDescription(), GetViewerForRoom(), yaze::editor::kInfo, pending_collision_undo_, pending_undo_, pending_water_fill_undo_, yaze::editor::DungeonEditorV2::PendingUndo::room_id, yaze::editor::DungeonEditorV2::PendingCollisionUndo::room_id, yaze::editor::DungeonEditorV2::PendingWaterFillUndo::room_id, yaze::editor::ToastManager::Show(), yaze::editor::EditorDependencies::toast_manager, yaze::editor::UndoManager::Undo(), yaze::editor::Editor::undo_manager_, and undo_restore_triggered_ping_.
Referenced by DrawRoomTab(), and Initialize().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 106 of file dungeon_editor_v2_undo.cc.
References current_room_id_, yaze::editor::Editor::dependencies_, FinalizeCollisionUndoAction(), FinalizeUndoAction(), FinalizeWaterFillUndoAction(), yaze::editor::UndoManager::GetRedoDescription(), GetViewerForRoom(), yaze::editor::kInfo, pending_collision_undo_, pending_undo_, pending_water_fill_undo_, yaze::editor::UndoManager::Redo(), yaze::editor::DungeonEditorV2::PendingUndo::room_id, yaze::editor::DungeonEditorV2::PendingCollisionUndo::room_id, yaze::editor::DungeonEditorV2::PendingWaterFillUndo::room_id, yaze::editor::ToastManager::Show(), yaze::editor::EditorDependencies::toast_manager, yaze::editor::Editor::undo_manager_, and undo_restore_triggered_ping_.
Referenced by DrawRoomTab(), and Initialize().
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 137 of file dungeon_editor_v2_undo.cc.
References current_room_id_, and GetViewerForRoom().

|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 145 of file dungeon_editor_v2_undo.cc.
References current_room_id_, and GetViewerForRoom().

|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 152 of file dungeon_editor_v2_undo.cc.
References current_room_id_, and GetViewerForRoom().

|
inlineoverridevirtual |
Implements yaze::editor::Editor.
Definition at line 138 of file dungeon_editor_v2.h.
|
overridevirtual |
Implements yaze::editor::Editor.
Definition at line 433 of file dungeon_editor_v2_persistence.cc.
References yaze::editor::Editor::dependencies_, yaze::core::FeatureFlags::Flags::dungeon, entrances_, yaze::editor::DungeonRoomStore::ForEachLoaded(), game_data_, yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::Rom::is_loaded(), LOG_ERROR, LOG_INFO, yaze::zelda3::GameData::pit_damage_table, yaze::editor::EditorDependencies::project, RETURN_IF_ERROR, rom_, rooms_, yaze::zelda3::SaveAllBlocks(), yaze::zelda3::SaveAllChests(), yaze::zelda3::SaveAllCollision(), yaze::zelda3::SaveAllDungeonEntrances(), yaze::zelda3::SaveAllDungeonSpawnPoints(), yaze::zelda3::SaveAllPits(), yaze::zelda3::SaveAllTorches(), SaveRoomData(), yaze::editor::DungeonRoomStore::size(), spawn_points_, and yaze::editor::EditorDependencies::toast_manager.
|
overridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 326 of file dungeon_editor_v2_persistence.cc.
References yaze::zelda3::Room::CaptureSaveDirtySnapshot(), yaze::zelda3::PitDamageTable::dirty(), yaze::editor::DungeonEditorV2::SaveTransactionSnapshot::entrance_dirty_states, entrances_, yaze::editor::DungeonRoomStore::ForEachMaterialized(), game_data_, yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::editor::DungeonEditorV2::SaveTransactionSnapshot::has_palette_transaction, yaze::editor::DungeonEditorV2::SaveTransactionSnapshot::has_pit_damage_table, yaze::editor::DungeonEditorV2::SaveTransactionSnapshot::pit_damage_dirty, yaze::zelda3::GameData::pit_damage_table, RETURN_IF_ERROR, yaze::editor::DungeonEditorV2::SaveTransactionSnapshot::room_states, rooms_, save_transaction_snapshot_, yaze::editor::DungeonEditorV2::SaveTransactionSnapshot::spawn_dirty_states, and spawn_points_.
Referenced by RunWithSaveTransaction().
|
overridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 361 of file dungeon_editor_v2_persistence.cc.
References yaze::zelda3::PitDamageTable::ClearDirty(), entrances_, game_data_, yaze::gfx::PaletteManager::Get(), yaze::editor::DungeonRoomStore::GetIfMaterialized(), yaze::zelda3::PitDamageTable::MarkDirty(), yaze::zelda3::GameData::pit_damage_table, yaze::gfx::PaletteManager::RollbackSaveTransaction(), rooms_, save_transaction_snapshot_, and spawn_points_.
Referenced by RunWithSaveTransaction().
|
overridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 399 of file dungeon_editor_v2_persistence.cc.
References yaze::gfx::PaletteManager::CommitSaveTransaction(), yaze::gfx::PaletteManager::Get(), and save_transaction_snapshot_.
Referenced by RunWithSaveTransaction().

|
overridevirtual |
Reimplemented from yaze::editor::Editor.
Definition at line 1123 of file dungeon_editor_v2.cc.
References yaze::editor::JumpToRoomRequestEvent::Create(), current_room_id(), CurrentRoomHasPendingChanges(), yaze::editor::Editor::dependencies_, yaze::editor::GlobalEditorContext::GetEventBus(), yaze::editor::EditorDependencies::global_context, IsWorkbenchWorkflowEnabled(), yaze::editor::workflow_mode_names::kStandalone, yaze::editor::workflow_mode_names::kWorkbench, LoadedRoomCount(), yaze::editor::StatusBarSegmentOptions::on_click, yaze::EventBus::Publish(), yaze::editor::EditorDependencies::session_id, yaze::editor::StatusBar::SetCustomSegment(), yaze::editor::StatusBar::SetEditorMode(), ToggleWorkbenchWorkflowMode(), yaze::editor::StatusBarSegmentOptions::tooltip, and TotalRoomCount().
| absl::Status yaze::editor::DungeonEditorV2::SaveRoom | ( | int | room_id | ) |
Definition at line 824 of file dungeon_editor_v2_persistence.cc.
References yaze::core::FeatureFlags::Flags::dungeon, yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), LOG_ERROR, RETURN_IF_ERROR, yaze::zelda3::SaveAllBlocks(), yaze::zelda3::SaveAllChests(), yaze::zelda3::SaveAllCollision(), yaze::zelda3::SaveAllDungeonEntrances(), yaze::zelda3::SaveAllDungeonSpawnPoints(), yaze::zelda3::SaveAllPits(), and yaze::zelda3::SaveAllTorches().
Referenced by Initialize(), yaze::test::DungeonEditorTestSuite::RunRoomSaveTest(), and WireViewerPanelCallbacks().
| int yaze::editor::DungeonEditorV2::LoadedRoomCount | ( | ) | const |
Definition at line 1172 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonRoomStore::LoadedCount(), and rooms_.
Referenced by ContributeStatus().

| int yaze::editor::DungeonEditorV2::PendingRoomCount | ( | ) | const |
Definition at line 1176 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonRoomStore::ForEachMaterialized(), yaze::zelda3::Room::HasUnsavedChanges(), and rooms_.
Referenced by HasPendingRoomChanges().

| bool yaze::editor::DungeonEditorV2::HasPendingRoomChanges | ( | ) | const |
Definition at line 1186 of file dungeon_editor_v2.cc.
References PendingRoomCount().
Referenced by HasPendingDungeonChanges().

| bool yaze::editor::DungeonEditorV2::HasPendingDungeonChanges | ( | ) | const |
Definition at line 1190 of file dungeon_editor_v2.cc.
References yaze::zelda3::PitDamageTable::dirty(), entrances_, game_data_, HasPendingRoomChanges(), yaze::zelda3::GameData::pit_damage_table, and spawn_points_.

| bool yaze::editor::DungeonEditorV2::CurrentRoomHasPendingChanges | ( | ) | const |
Definition at line 1209 of file dungeon_editor_v2.cc.
References current_room_id_, yaze::editor::DungeonRoomStore::GetIfMaterialized(), rooms_, and yaze::editor::DungeonRoomStore::size().
Referenced by ContributeStatus().

|
inline |
Definition at line 152 of file dungeon_editor_v2.h.
References rooms_, and yaze::editor::DungeonRoomStore::size().
Referenced by ContributeStatus().

| std::vector< std::pair< uint32_t, uint32_t > > yaze::editor::DungeonEditorV2::CollectWriteRanges | ( | ) | const |
Definition at line 582 of file dungeon_editor_v2_persistence.cc.
References yaze::zelda3::CollectDirtyDungeonSpawnPointWriteRanges(), yaze::zelda3::CollectDirtyRegularDungeonEntranceWriteRanges(), yaze::zelda3::Room::custom_collision_dirty(), yaze::editor::Editor::dependencies_, yaze::core::FeatureFlags::Flags::dungeon, yaze::zelda3::Room::EncodeObjects(), yaze::zelda3::Room::EncodeSprites(), entrances_, yaze::editor::DungeonRoomStore::ForEachLoaded(), yaze::editor::DungeonRoomStore::ForEachMaterialized(), game_data_, yaze::gfx::PaletteManager::Get(), yaze::core::FeatureFlags::get(), yaze::core::HackManifest::GetDungeonStreamLayout(), yaze::project::YazeProject::hack_manifest, yaze::zelda3::Room::header_dirty(), yaze::zelda3::Room::id(), yaze::Rom::is_loaded(), yaze::core::kCopyOnWrite, yaze::zelda3::kCustomCollisionDataPosition, yaze::zelda3::kCustomCollisionDataSoftEnd, yaze::zelda3::kCustomCollisionRoomPointers, yaze::zelda3::kDoorPointers, yaze::core::kLong24, yaze::zelda3::kMessagesIdDungeon, yaze::zelda3::kNumberOfRooms, yaze::core::kObjects, yaze::zelda3::kRoomObjectPointer, yaze::zelda3::kRoomsSpritePointer, yaze::core::kSprites, yaze::zelda3::kWaterFillTableEnd, yaze::zelda3::kWaterFillTableStart, yaze::core::HackManifest::loaded(), LOG_WARN, yaze::zelda3::Room::object_stream_dirty(), yaze::zelda3::Room::object_stream_header_dirty(), yaze::core::DungeonStreamLayout::pointer_encoding, yaze::editor::EditorDependencies::project, rom_, rooms_, yaze::SnesToPc(), spawn_points_, yaze::zelda3::Room::sprites_dirty(), yaze::Rom::vector(), and yaze::zelda3::Room::water_fill_dirty().
|
inline |
Definition at line 160 of file dungeon_editor_v2.h.
References yaze::editor::DungeonRoomStore::Clear(), game_data_, rom(), rom_, room_loader_, room_selector_, room_viewers_, rooms_, yaze::editor::DungeonRoomLoader::SetGameData(), yaze::editor::DungeonRoomSelector::SetRom(), yaze::editor::DungeonRoomStore::SetRom(), workbench_compare_viewer_, and workbench_viewer_.
Referenced by Initialize().
| absl::Status yaze::editor::DungeonEditorV2::RefreshRomBackedState | ( | ) |
Definition at line 131 of file dungeon_editor_v2.cc.
References ApplyEntranceRenderContext(), ASSIGN_OR_RETURN, yaze::editor::ObjectSelectorContent::CancelPlacement(), yaze::editor::UndoManager::Clear(), yaze::gfx::SnesPalette::clear(), yaze::editor::ObjectTileEditorPanel::Close(), ConfigureViewerRenderContext(), yaze::gfx::CreatePaletteGroupFromLargePalette(), current_palette_, current_palette_group_, current_palette_group_id_, current_palette_id_, current_room_id_, yaze::editor::Editor::dependencies_, dungeon_editor_system_, yaze::gfx::PaletteGroupMap::dungeon_main, yaze::gfx::PaletteGroup::empty(), entrances_, yaze::editor::DungeonRoomStore::ForEachMaterialized(), game_data_, yaze::editor::DungeonRoomStore::GetIfMaterialized(), has_pending_undo_, yaze::gui::PaletteEditorWidget::Initialize(), yaze::editor::DungeonObjectSelector::InvalidatePreviewCache(), yaze::Rom::is_loaded(), is_loaded_, yaze::zelda3::Room::IsLoaded(), IsValidRoomId(), IsWorkbenchWorkflowEnabled(), yaze::editor::DungeonRoomLoader::LoadDungeonSpawnPoints(), yaze::editor::DungeonRoomLoader::LoadRoom(), yaze::editor::DungeonRoomLoader::LoadRoomEntrances(), yaze::zelda3::LoadRoomHeaderFromRom(), minecart_track_editor_panel_, yaze::editor::ObjectSelectorContent::object_selector(), object_selector_panel_, object_tile_editor_panel_, palette_editor_, yaze::zelda3::GameData::palette_groups, pending_collision_undo_, pending_swap_, pending_undo_, pending_water_fill_undo_, pending_workflow_mode_, yaze::editor::EditorDependencies::project, yaze::editor::DungeonCanvasViewer::RefreshRomBackedState(), ReloadWaterFillZones(), renderer_, RETURN_IF_ERROR, rom_, room_graphics_panel_, room_loader_, room_selector_, room_tag_editor_panel_, room_viewers_, rooms_, save_transaction_snapshot_, yaze::editor::DungeonRoomSelector::set_entrances(), yaze::editor::DungeonRoomSelector::set_rooms(), yaze::editor::ObjectSelectorContent::SetContext(), yaze::editor::DungeonCanvasViewer::SetCurrentPaletteGroup(), yaze::editor::ObjectSelectorContent::SetCurrentPaletteGroup(), yaze::editor::ObjectTileEditorPanel::SetCurrentPaletteGroup(), yaze::editor::RoomGraphicsContent::SetCurrentPaletteGroup(), yaze::gui::PaletteEditorWidget::SetCurrentPaletteId(), yaze::editor::DungeonCanvasViewer::SetCurrentPaletteId(), yaze::editor::ObjectSelectorContent::SetCurrentRoom(), yaze::gui::PaletteEditorWidget::SetDungeonRenderPaletteMode(), yaze::editor::DungeonCanvasViewer::SetEditorSystem(), yaze::zelda3::Room::SetGameData(), yaze::editor::DungeonRoomLoader::SetGameData(), yaze::editor::DungeonRoomStore::SetGameData(), yaze::editor::DungeonCanvasViewer::SetMinecartTrackPanel(), yaze::editor::DungeonCanvasViewer::SetProject(), yaze::editor::DungeonCanvasViewer::SetRenderer(), yaze::editor::DungeonRoomLoader::SetRom(), yaze::editor::DungeonRoomSelector::SetRom(), yaze::editor::DungeonRoomStore::SetRom(), yaze::editor::MinecartTrackEditorPanel::SetRom(), yaze::editor::DungeonWorkbenchContent::SetRom(), yaze::editor::ObjectSelectorContent::SetRooms(), yaze::editor::MinecartTrackEditorPanel::SetRooms(), yaze::editor::RoomTagEditorPanel::SetRooms(), yaze::gfx::PaletteGroup::size(), spawn_points_, SyncPanelsToRoom(), yaze::editor::Editor::undo_manager_, undo_restore_triggered_ping_, workbench_compare_viewer_, workbench_panel_, and workbench_viewer_.
|
inline |
Definition at line 180 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 1719 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 1723 of file dungeon_editor_v2.cc.
References room_cards_.
Referenced by OnRoomSelected().
| void yaze::editor::DungeonEditorV2::SelectObject | ( | int | obj_id | ) |
Definition at line 1730 of file dungeon_editor_v2.cc.
References IsWorkbenchWorkflowEnabled(), kObjectSelectorId, object_selector_panel_, yaze::editor::DungeonWorkbenchContent::OpenObjectSelectorTool(), OpenWindow(), yaze::editor::ObjectSelectorContent::SelectObject(), and workbench_panel_.

| void yaze::editor::DungeonEditorV2::SetAgentMode | ( | bool | enabled | ) |
Definition at line 1742 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, IsWorkbenchWorkflowEnabled(), kObjectSelectorId, kRoomGraphicsId, kRoomSelectorId, object_selector_panel_, yaze::editor::DungeonWorkbenchContent::OpenObjectSelectorTool(), OpenWindow(), yaze::editor::ObjectSelectorContent::SetAgentOptimizedLayout(), yaze::editor::EditorDependencies::window_manager, and workbench_panel_.

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

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

|
inline |
Definition at line 201 of file dungeon_editor_v2.h.
References yaze::editor::Editor::dependencies_, yaze::editor::WorkspaceWindowManager::OpenWindow(), and yaze::editor::EditorDependencies::window_manager.
Referenced by Load(), SelectObject(), SetAgentMode(), and WireViewerPanelCallbacks().

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

| void yaze::editor::DungeonEditorV2::QueueWorkbenchWorkflowMode | ( | bool | enabled, |
| bool | show_toast = true ) |
Definition at line 1280 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 DrawRoomTab(), Initialize(), and ToggleWorkbenchWorkflowMode().
| void yaze::editor::DungeonEditorV2::ToggleWorkbenchWorkflowMode | ( | bool | show_toast = true | ) |
Definition at line 1287 of file dungeon_editor_v2.cc.
References IsWorkbenchWorkflowEnabled(), and QueueWorkbenchWorkflowMode().
Referenced by ContributeStatus(), and Update().

| bool yaze::editor::DungeonEditorV2::IsWorkbenchWorkflowEnabled | ( | ) | const |
Definition at line 1220 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, yaze::core::FeatureFlags::get(), yaze::editor::WorkspaceWindowManager::IsWindowOpen(), and yaze::editor::EditorDependencies::window_manager.
Referenced by BeginUndoSnapshot(), ContributeStatus(), DrawRoomTab(), FinalizeUndoAction(), GetViewerForRoom(), Load(), OnRoomSelected(), OnRoomSelected(), RefreshRomBackedState(), RestoreRoomObjects(), SelectObject(), SetAgentMode(), SetWorkbenchWorkflowMode(), ToggleWorkbenchWorkflowMode(), Update(), and WireViewerPanelCallbacks().

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

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

|
inline |
Definition at line 231 of file dungeon_editor_v2.h.
References rooms_.
Referenced by yaze::test::DungeonEditorTestSuite::RunObjectManipulationTest(), and yaze::test::DungeonEditorTestSuite::RunRoomSaveTest().
|
inline |
Definition at line 232 of file dungeon_editor_v2.h.
References rooms_.
|
inline |
Definition at line 233 of file dungeon_editor_v2.h.
References renderer_.
|
inline |
Definition at line 234 of file dungeon_editor_v2.h.
References object_selector_panel_.
|
inline |
Definition at line 237 of file dungeon_editor_v2.h.
References object_selector_panel_.
|
inline |
Definition at line 240 of file dungeon_editor_v2.h.
References object_editor_content_.
|
inline |
Definition at line 243 of file dungeon_editor_v2.h.
References door_editor_panel_.
|
inline |
Get the list of recently visited room IDs.
Definition at line 249 of file dungeon_editor_v2.h.
References recent_rooms_.
|
private |
Definition at line 1291 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::editor::Editor::dependencies_, DrawRoomTab(), yaze::editor::WorkspaceWindowManager::GetActiveCategory(), yaze::editor::WorkspaceWindowManager::IsWindowOpen(), yaze::editor::WorkspaceWindowManager::IsWindowPinned(), OnRoomSelected(), ReleaseRoomPanelSlotId(), room_cards_, room_dock_id_, room_viewers_, room_window_class_, ShowRoomPanel(), yaze::editor::WorkspaceWindowManager::UnregisterWindow(), and yaze::editor::EditorDependencies::window_manager.
Referenced by Update().
|
private |
Definition at line 1372 of file dungeon_editor_v2.cc.
References ApplyEntranceRenderContext(), yaze::editor::DungeonStatusBar::BuildState(), yaze::editor::UndoManager::CanRedo(), yaze::editor::UndoManager::CanUndo(), yaze::editor::Editor::dependencies_, yaze::editor::DungeonStatusBar::Draw(), dungeon_editor_system_, yaze::core::FeatureFlags::get(), yaze::emu::mesen::MesenClientRegistry::GetClient(), yaze::editor::AgentUI::GetTheme(), GetViewerForRoom(), ICON_MD_CHECK, ICON_MD_PENDING, ICON_MD_ROCKET_LAUNCH, ICON_MD_WORKSPACES, IsWorkbenchWorkflowEnabled(), yaze::editor::kError, yaze::editor::workflow_mode_names::kStandalone, yaze::gui::UIConfig::kStatusBarHeight, yaze::editor::kSuccess, yaze::editor::DungeonRoomLoader::LoadRoom(), LOG_ERROR, QueueWorkbenchWorkflowMode(), Redo(), room_loader_, rooms_, yaze::editor::ToastManager::Show(), yaze::editor::DungeonRoomStore::size(), yaze::editor::EditorDependencies::toast_manager, Undo(), yaze::editor::Editor::undo_manager_, and yaze::editor::UndoManager::UndoStackSize().
Referenced by DrawRoomPanels().
|
private |
Definition at line 1760 of file dungeon_editor_v2.cc.
References yaze::gfx::Arena::Get(), yaze::gfx::Arena::ProcessTextureQueue(), and renderer_.

|
private |
Definition at line 323 of file dungeon_editor_v2.cc.
References yaze::zelda3::Room::ClearWaterFillDirty(), yaze::zelda3::Room::ClearWaterFillZone(), yaze::editor::Editor::dependencies_, yaze::editor::DungeonRoomStore::ForEachMaterialized(), yaze::project::YazeProject::GetAbsolutePath(), yaze::editor::kInfo, yaze::editor::kWarning, yaze::zelda3::LoadLegacyWaterGateZones(), yaze::zelda3::LoadWaterFillTable(), LOG_WARN, yaze::editor::EditorDependencies::project, rom_, rooms_, yaze::zelda3::Room::set_water_fill_sram_bit_mask(), yaze::zelda3::Room::SetWaterFillTile(), yaze::editor::ToastManager::Show(), yaze::editor::DungeonRoomStore::size(), yaze::project::YazeProject::symbols_filename, and yaze::editor::EditorDependencies::toast_manager.
Referenced by Load(), and RefreshRomBackedState().
|
private |
Definition at line 1542 of file dungeon_editor_v2.cc.
References active_rooms_, ApplyEntranceRenderContext(), ConfigureViewerRenderContext(), yaze::gfx::CreatePaletteGroupFromLargePalette(), current_palette_, current_palette_group_, current_palette_group_id_, 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::WorkspaceWindowManager::IsWindowOpen(), IsWorkbenchWorkflowEnabled(), kMaxRecentRooms, yaze::editor::DungeonRoomLoader::LoadRoom(), LOG_WARN, yaze::editor::DungeonWorkbenchContent::NotifyRoomChanged(), object_selector_panel_, yaze::editor::WorkspaceWindowManager::OpenWindow(), palette_editor_, yaze::zelda3::GameData::palette_groups, recent_rooms_, yaze::editor::WorkspaceWindowManager::RegisterWindow(), room_graphics_panel_, room_loader_, room_selector_, rooms_, yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::DungeonRoomSelector::set_current_room_id(), yaze::editor::ObjectSelectorContent::SetCurrentPaletteGroup(), yaze::editor::RoomGraphicsContent::SetCurrentPaletteGroup(), yaze::gui::PaletteEditorWidget::SetCurrentPaletteId(), yaze::editor::DungeonRoomStore::size(), SyncPanelsToRoom(), yaze::editor::EditorDependencies::window_manager, and workbench_panel_.
Referenced by add_room(), DrawRoomPanels(), Initialize(), Load(), OnEntranceSelected(), OnRoomSelected(), ProcessPendingSwap(), and Update().
|
private |
Definition at line 1517 of file dungeon_editor_v2.cc.
References IsWorkbenchWorkflowEnabled(), yaze::editor::kFocusInWorkbench, yaze::editor::kOpenStandalone, yaze::editor::kPreview, OnRoomSelected(), rooms_, SetWorkbenchWorkflowMode(), ShowRoomPanel(), and yaze::editor::DungeonRoomStore::size().
|
private |
Definition at line 1667 of file dungeon_editor_v2.cc.
References current_entrance_id_, entrances_, OnRoomSelected(), room_selector_, and yaze::editor::DungeonRoomSelector::set_current_entrance_id().
Referenced by Initialize(), and Load().

|
private |
Definition at line 2368 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(), and RefreshRomBackedState().
|
private |
Definition at line 971 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonRoomStore::ForEachMaterialized(), yaze::gui::kHud, yaze::zelda3::Room::MarkGraphicsDirty(), yaze::gui::DungeonPaletteChange::palette_id, yaze::zelda3::Room::ResolveDungeonPaletteId(), rooms_, and yaze::gui::DungeonPaletteChange::source.
Referenced by Load().

|
private |
Definition at line 1677 of file dungeon_editor_v2.cc.
References current_entrance_id_, entrances_, rooms_, and yaze::editor::DungeonRoomStore::size().
Referenced by ApplyEntranceRenderContext(), and ConfigureViewerRenderContext().

|
private |
Definition at line 1693 of file dungeon_editor_v2.cc.
References ResolveSelectedEntranceBlocksetForRoom(), rooms_, and yaze::editor::DungeonRoomStore::size().
Referenced by DrawRoomTab(), GetViewerForRoom(), OnRoomSelected(), OpenGraphicsEditorForObject(), and RefreshRomBackedState().

|
private |
Definition at line 1705 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonCanvasViewer::ClearEntranceRenderContext(), current_entrance_id_, ResolveSelectedEntranceBlocksetForRoom(), and yaze::editor::DungeonCanvasViewer::SetEntranceRenderContext().
Referenced by GetViewerForRoom(), OnRoomSelected(), and RefreshRomBackedState().

|
private |
Definition at line 1973 of file dungeon_editor_v2.cc.
References yaze::editor::Editor::dependencies_, yaze::editor::DungeonWorkbenchContent::FocusEntranceBrowser(), yaze::editor::DungeonWorkbenchContent::FocusRoomInspector(), IsWorkbenchWorkflowEnabled(), kEntranceListId, yaze::editor::kError, kObjectSelectorId, kRoomGraphicsId, kRoomMatrixId, kRoomSelectorId, yaze::editor::kSuccess, LOG_ERROR, minecart_track_editor_panel_, yaze::editor::DungeonWorkbenchContent::OpenDoorTool(), OpenGraphicsEditorForObject(), yaze::editor::DungeonWorkbenchContent::OpenItemTool(), yaze::editor::DungeonWorkbenchContent::OpenObjectSelectorTool(), yaze::editor::DungeonWorkbenchContent::OpenRoomGraphicsTool(), yaze::editor::DungeonWorkbenchContent::OpenSpriteTool(), OpenWindow(), yaze::editor::EditorDependencies::project, SaveRoom(), yaze::editor::DungeonCanvasViewer::SetEditGraphicsCallback(), yaze::editor::DungeonCanvasViewer::SetMinecartTrackPanel(), yaze::editor::DungeonCanvasViewer::SetProject(), yaze::editor::DungeonCanvasViewer::SetSaveRoomCallback(), yaze::editor::DungeonCanvasViewer::SetShowDoorEditorCallback(), yaze::editor::DungeonCanvasViewer::SetShowDungeonSettingsCallback(), yaze::editor::DungeonCanvasViewer::SetShowEntranceListCallback(), yaze::editor::DungeonCanvasViewer::SetShowItemPanelCallback(), yaze::editor::DungeonCanvasViewer::SetShowObjectPanelCallback(), yaze::editor::DungeonCanvasViewer::SetShowRoomGraphicsCallback(), yaze::editor::DungeonCanvasViewer::SetShowRoomListCallback(), yaze::editor::DungeonCanvasViewer::SetShowRoomMatrixCallback(), yaze::editor::DungeonCanvasViewer::SetShowSpritePanelCallback(), yaze::editor::ToastManager::Show(), yaze::editor::DungeonWorkbenchContent::ShowConnectedGraph(), yaze::editor::EditorDependencies::toast_manager, and workbench_panel_.
|
private |
Definition at line 2448 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 1175 of file dungeon_editor_v2_persistence.cc.
References LOG_ERROR.
Referenced by Initialize().
|
private |
Definition at line 1764 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_selector_panel_, rooms_, yaze::editor::ObjectSelectorContent::SetPlacementError(), yaze::editor::ToastManager::Show(), yaze::editor::EditorDependencies::toast_manager, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.

|
private |
Definition at line 1797 of file dungeon_editor_v2.cc.
References ApplyEntranceRenderContext(), yaze::editor::EditorDependencies::custom_data, yaze::editor::Editor::dependencies_, yaze::editor::kGraphics, yaze::gfx::kTilesheetHeight, yaze::gfx::kTilesheetWidth, LOG_WARN, rooms_, yaze::editor::WorkspaceWindowManager::ShowAllWindowsInCategory(), yaze::editor::DungeonRoomStore::size(), and yaze::editor::EditorDependencies::window_manager.
Referenced by WireViewerPanelCallbacks().

|
private |
Definition at line 2070 of file dungeon_editor_v2.cc.
References active_rooms_, ApplyEntranceRenderContext(), ConfigureViewerRenderContext(), yaze::editor::Editor::dependencies_, GetWorkbenchViewer(), yaze::editor::WorkspaceWindowManager::IsWindowPinned(), IsWorkbenchWorkflowEnabled(), room_viewers_, and yaze::editor::EditorDependencies::window_manager.
Referenced by BeginUndoSnapshot(), Copy(), Cut(), DrawRoomTab(), FinalizeUndoAction(), Load(), OnRoomSelected(), Paste(), Redo(), RestoreRoomObjects(), Undo(), and Update().
|
private |
Definition at line 2243 of file dungeon_editor_v2.cc.
Referenced by GetViewerForRoom(), and Initialize().
|
private |
Definition at line 2331 of file dungeon_editor_v2.cc.
Referenced by Initialize().
|
private |
Definition at line 2217 of file dungeon_editor_v2.cc.
References yaze::editor::DungeonCanvasViewer::game_data(), yaze::editor::DungeonCanvasViewer::project(), yaze::editor::DungeonCanvasViewer::rom(), yaze::editor::DungeonCanvasViewer::rooms(), yaze::editor::DungeonCanvasViewer::SetCurrentPaletteGroup(), yaze::editor::DungeonCanvasViewer::SetCurrentPaletteId(), yaze::editor::DungeonCanvasViewer::SetEditorSystem(), yaze::editor::DungeonCanvasViewer::SetGameData(), yaze::editor::DungeonCanvasViewer::SetMinecartTrackPanel(), yaze::editor::DungeonCanvasViewer::SetProject(), yaze::editor::DungeonCanvasViewer::SetRenderer(), yaze::editor::DungeonCanvasViewer::SetRom(), and yaze::editor::DungeonCanvasViewer::SetRooms().
|
private |
Definition at line 1964 of file dungeon_editor_v2.cc.
References room_viewers_.
|
private |
Definition at line 1968 of file dungeon_editor_v2.cc.
|
private |
Definition at line 908 of file dungeon_editor_v2_persistence.cc.
References ASSIGN_OR_RETURN, yaze::core::FeatureFlags::Flags::dungeon, yaze::core::FeatureFlags::get(), yaze::core::kCopyOnWrite, yaze::zelda3::kDoorPointers, yaze::zelda3::kLong24, yaze::zelda3::kMessagesIdDungeon, yaze::zelda3::kObject, yaze::core::kObjects, yaze::zelda3::kRoomHeaderPointer, yaze::zelda3::kRoomHeaderPointerBank, yaze::zelda3::kRoomObjectPointer, yaze::zelda3::kRoomsSpritePointer, yaze::core::kSprites, LOG_ERROR, LOG_WARN, RETURN_IF_ERROR, yaze::SnesToPc(), yaze::core::ToDungeonStreamAllocatorLayout(), yaze::editor::ValidateHackManifestSaveConflicts(), and yaze::zelda3::DungeonValidator::ValidateRoom().
Referenced by Save().
|
private |
Definition at line 407 of file dungeon_editor_v2_persistence.cc.
References BeginSaveTransaction(), yaze::ScopedRomTransaction::Commit(), CommitSaveTransaction(), yaze::Rom::is_loaded(), RETURN_IF_ERROR, RollbackSaveTransaction(), rom_, and save_transaction_snapshot_.
|
private |
Definition at line 159 of file dungeon_editor_v2_undo.cc.
References yaze::editor::DungeonEditorV2::PendingUndo::before_objects, yaze::editor::DungeonEditorV2::PendingUndo::before_selection, FinalizeUndoAction(), GetViewerForRoom(), has_pending_undo_, IsWorkbenchWorkflowEnabled(), LOG_ERROR, pending_undo_, yaze::editor::DungeonEditorV2::PendingUndo::room_id, rooms_, and yaze::editor::DungeonRoomStore::size().

|
private |
Definition at line 187 of file dungeon_editor_v2_undo.cc.
References yaze::editor::DungeonEditorV2::PendingUndo::before_objects, yaze::editor::DungeonEditorV2::PendingUndo::before_selection, GetViewerForRoom(), has_pending_undo_, IsWorkbenchWorkflowEnabled(), pending_undo_, yaze::editor::UndoManager::Push(), yaze::editor::DungeonEditorV2::PendingUndo::room_id, rooms_, yaze::editor::DungeonRoomStore::size(), and yaze::editor::Editor::undo_manager_.
Referenced by BeginUndoSnapshot(), Redo(), and Undo().

|
private |
Definition at line 217 of file dungeon_editor_v2_undo.cc.
References GetViewerForRoom(), IsWorkbenchWorkflowEnabled(), rooms_, yaze::editor::DungeonRoomStore::size(), and undo_restore_triggered_ping_.

|
private |
Definition at line 242 of file dungeon_editor_v2_undo.cc.
References yaze::editor::DungeonEditorV2::PendingCollisionUndo::before, FinalizeCollisionUndoAction(), pending_collision_undo_, yaze::editor::DungeonEditorV2::PendingCollisionUndo::room_id, rooms_, and yaze::editor::DungeonRoomStore::size().

|
private |
Definition at line 254 of file dungeon_editor_v2_undo.cc.
References yaze::editor::DungeonEditorV2::PendingCollisionUndo::before, yaze::zelda3::CustomCollisionMap::has_data, pending_collision_undo_, yaze::editor::UndoManager::Push(), yaze::editor::DungeonEditorV2::PendingCollisionUndo::room_id, rooms_, yaze::editor::DungeonRoomStore::size(), yaze::zelda3::CustomCollisionMap::tiles, and yaze::editor::Editor::undo_manager_.
Referenced by BeginCollisionUndoSnapshot(), Redo(), and Undo().

|
private |
Definition at line 281 of file dungeon_editor_v2_undo.cc.
References rooms_, and yaze::editor::DungeonRoomStore::size().

|
private |
Definition at line 309 of file dungeon_editor_v2_undo.cc.
References yaze::editor::DungeonEditorV2::PendingWaterFillUndo::before, FinalizeWaterFillUndoAction(), pending_water_fill_undo_, yaze::editor::DungeonEditorV2::PendingWaterFillUndo::room_id, rooms_, and yaze::editor::DungeonRoomStore::size().

|
private |
Definition at line 321 of file dungeon_editor_v2_undo.cc.
References yaze::editor::DungeonEditorV2::PendingWaterFillUndo::before, yaze::editor::WaterFillSnapshot::offsets, pending_water_fill_undo_, yaze::editor::UndoManager::Push(), yaze::editor::DungeonEditorV2::PendingWaterFillUndo::room_id, rooms_, yaze::editor::DungeonRoomStore::size(), yaze::editor::WaterFillSnapshot::sram_bit_mask, and yaze::editor::Editor::undo_manager_.
Referenced by BeginWaterFillUndoSnapshot(), Redo(), and Undo().

|
private |
Definition at line 348 of file dungeon_editor_v2_undo.cc.
References yaze::editor::WaterFillSnapshot::offsets, rooms_, yaze::editor::DungeonRoomStore::size(), and yaze::editor::WaterFillSnapshot::sram_bit_mask.

|
private |
Definition at line 1852 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_, rooms_, and yaze::editor::DungeonRoomStore::size().
Referenced by Initialize(), and Update().

|
private |
Definition at line 1863 of file dungeon_editor_v2.cc.
References active_rooms_, yaze::editor::Editor::dependencies_, yaze::zelda3::GetRoomLabel(), ICON_MD_GRID_ON, yaze::editor::WorkspaceWindowManager::IsWindowPinned(), yaze::editor::DungeonEditorV2::PendingSwap::new_room_id, next_room_panel_slot_id_, yaze::editor::DungeonEditorV2::PendingSwap::old_room_id, OnRoomSelected(), yaze::editor::WorkspaceWindowManager::OpenWindow(), yaze::editor::DungeonEditorV2::PendingSwap::pending, pending_swap_, yaze::editor::WorkspaceWindowManager::RegisterWindow(), room_cards_, room_panel_slot_ids_, room_selector_, room_viewers_, yaze::editor::DungeonRoomSelector::set_active_rooms(), yaze::editor::WorkspaceWindowManager::SetWindowPinned(), yaze::editor::WorkspaceWindowManager::UnregisterWindow(), and yaze::editor::EditorDependencies::window_manager.
Referenced by Update().
|
private |
Definition at line 1953 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 1358 of file dungeon_editor_v2.cc.
References next_room_panel_slot_id_, and room_panel_slot_ids_.
|
private |
Definition at line 1368 of file dungeon_editor_v2.cc.
References room_panel_slot_ids_.
Referenced by DrawRoomPanels().
|
inlinestaticprivate |
Definition at line 487 of file dungeon_editor_v2.h.
References yaze::zelda3::kNumberOfRooms.
Referenced by HandleObjectPlaced(), RefreshRomBackedState(), and Update().
|
friend |
Definition at line 252 of file dungeon_editor_v2.h.
|
friend |
Definition at line 253 of file dungeon_editor_v2.h.
|
friend |
Definition at line 254 of file dungeon_editor_v2.h.
|
friend |
Definition at line 255 of file dungeon_editor_v2.h.
|
friend |
Definition at line 256 of file dungeon_editor_v2.h.
|
friend |
Definition at line 258 of file dungeon_editor_v2.h.
|
friend |
Definition at line 259 of file dungeon_editor_v2.h.
|
friend |
Definition at line 261 of file dungeon_editor_v2.h.
|
friend |
Definition at line 263 of file dungeon_editor_v2.h.
|
friend |
Definition at line 265 of file dungeon_editor_v2.h.
|
friend |
Definition at line 267 of file dungeon_editor_v2.h.
|
friend |
Definition at line 269 of file dungeon_editor_v2.h.
|
friend |
Definition at line 271 of file dungeon_editor_v2.h.
|
friend |
Definition at line 273 of file dungeon_editor_v2.h.
|
friend |
Definition at line 275 of file dungeon_editor_v2.h.
|
staticconstexpr |
Definition at line 216 of file dungeon_editor_v2.h.
Referenced by Initialize(), SetAgentMode(), SetWorkbenchWorkflowMode(), and WireViewerPanelCallbacks().
|
staticconstexpr |
Definition at line 217 of file dungeon_editor_v2.h.
Referenced by Initialize(), and WireViewerPanelCallbacks().
|
staticconstexpr |
Definition at line 218 of file dungeon_editor_v2.h.
Referenced by Initialize(), SetWorkbenchWorkflowMode(), and WireViewerPanelCallbacks().
|
staticconstexpr |
Definition at line 219 of file dungeon_editor_v2.h.
Referenced by Initialize(), SetAgentMode(), and WireViewerPanelCallbacks().
|
staticconstexpr |
Definition at line 220 of file dungeon_editor_v2.h.
Referenced by Initialize(), SelectObject(), SetAgentMode(), and WireViewerPanelCallbacks().
|
staticconstexpr |
Definition at line 221 of file dungeon_editor_v2.h.
|
staticconstexpr |
Definition at line 222 of file dungeon_editor_v2.h.
Referenced by Initialize().
|
staticconstexpr |
Definition at line 223 of file dungeon_editor_v2.h.
Referenced by Initialize().
|
private |
Definition at line 277 of file dungeon_editor_v2.h.
Referenced by Initialize(), Load(), ProcessDeferredTextures(), RefreshRomBackedState(), and renderer().
|
private |
Definition at line 325 of file dungeon_editor_v2.h.
Referenced by CollectWriteRanges(), GetRomStatus(), Initialize(), IsRomLoaded(), Load(), RefreshRomBackedState(), ReloadWaterFillZones(), rom(), RunWithSaveTransaction(), Save(), and SetRom().
|
private |
Definition at line 326 of file dungeon_editor_v2.h.
Referenced by BeginSaveTransaction(), CollectWriteRanges(), HasPendingDungeonChanges(), Initialize(), RefreshRomBackedState(), RollbackSaveTransaction(), Save(), SetGameData(), and SetRom().
|
private |
Definition at line 327 of file dungeon_editor_v2.h.
Referenced by ApplyEntranceRenderContext(), BeginCollisionUndoSnapshot(), BeginSaveTransaction(), BeginUndoSnapshot(), BeginWaterFillUndoSnapshot(), CollectWriteRanges(), CurrentRoomHasPendingChanges(), DrawRoomTab(), FinalizeCollisionUndoAction(), FinalizeUndoAction(), FinalizeWaterFillUndoAction(), HandleObjectPlaced(), Initialize(), InvalidateDungeonPaletteUsers(), Load(), LoadedRoomCount(), OnRoomSelected(), OnRoomSelected(), OpenGraphicsEditorForObject(), PendingRoomCount(), RefreshRomBackedState(), ReloadWaterFillZones(), ResolveSelectedEntranceBlocksetForRoom(), RestoreRoomCustomCollision(), RestoreRoomObjects(), RestoreRoomWaterFill(), RollbackSaveTransaction(), rooms(), rooms(), Save(), SetGameData(), SetRom(), SwapRoomInPanel(), and TotalRoomCount().
|
private |
Definition at line 328 of file dungeon_editor_v2.h.
Referenced by BeginSaveTransaction(), CollectWriteRanges(), HasPendingDungeonChanges(), Initialize(), Load(), OnEntranceSelected(), RefreshRomBackedState(), ResolveSelectedEntranceBlocksetForRoom(), RollbackSaveTransaction(), and Save().
|
private |
Definition at line 330 of file dungeon_editor_v2.h.
Referenced by BeginSaveTransaction(), CollectWriteRanges(), HasPendingDungeonChanges(), Load(), RefreshRomBackedState(), RollbackSaveTransaction(), and Save().
|
private |
Definition at line 340 of file dungeon_editor_v2.h.
Referenced by BeginSaveTransaction(), CommitSaveTransaction(), RefreshRomBackedState(), RollbackSaveTransaction(), and RunWithSaveTransaction().
|
private |
Definition at line 343 of file dungeon_editor_v2.h.
Referenced by ConfigureViewerRenderContext(), Initialize(), OnEntranceSelected(), and ResolveSelectedEntranceBlocksetForRoom().
|
private |
Definition at line 346 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), GetViewerForRoom(), Initialize(), Load(), OnRoomSelected(), ProcessPendingSwap(), and Update().
|
private |
Definition at line 347 of file dungeon_editor_v2.h.
Referenced by Copy(), CurrentRoomHasPendingChanges(), Cut(), HandleObjectPlaced(), Initialize(), Load(), mutable_current_room_id(), OnRoomSelected(), Paste(), Redo(), RefreshRomBackedState(), SetWorkbenchWorkflowMode(), Undo(), and Update().
|
staticconstexprprivate |
Definition at line 350 of file dungeon_editor_v2.h.
Referenced by OnRoomSelected().
|
private |
Definition at line 351 of file dungeon_editor_v2.h.
Referenced by GetRecentRooms(), Initialize(), OnRoomSelected(), and Update().
|
private |
Definition at line 352 of file dungeon_editor_v2.h.
|
private |
Definition at line 355 of file dungeon_editor_v2.h.
Referenced by Initialize(), Load(), OnRoomSelected(), RefreshRomBackedState(), SelectObject(), SetAgentMode(), Update(), and WireViewerPanelCallbacks().
|
private |
Definition at line 358 of file dungeon_editor_v2.h.
Referenced by Load(), OnRoomSelected(), and RefreshRomBackedState().
|
private |
Definition at line 359 of file dungeon_editor_v2.h.
Referenced by Load(), OnRoomSelected(), and RefreshRomBackedState().
|
private |
Definition at line 360 of file dungeon_editor_v2.h.
Referenced by Load(), OnRoomSelected(), and RefreshRomBackedState().
|
private |
Definition at line 361 of file dungeon_editor_v2.h.
Referenced by Load(), OnRoomSelected(), and RefreshRomBackedState().
|
private |
Definition at line 364 of file dungeon_editor_v2.h.
Referenced by DrawRoomTab(), Load(), OnRoomSelected(), RefreshRomBackedState(), SetGameData(), and SetRom().
|
private |
Definition at line 365 of file dungeon_editor_v2.h.
Referenced by active_rooms(), current_room_id(), Initialize(), Load(), OnEntranceSelected(), OnRoomSelected(), ProcessPendingSwap(), RefreshRomBackedState(), and SetRom().
|
staticconstexprprivate |
Definition at line 366 of file dungeon_editor_v2.h.
|
private |
Definition at line 367 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), GetViewerForRoom(), Load(), ProcessPendingSwap(), RefreshRomBackedState(), SetGameData(), SetRom(), and TouchViewerLru().
|
private |
Definition at line 369 of file dungeon_editor_v2.h.
Referenced by Load(), RefreshRomBackedState(), SetGameData(), and SetRom().
|
private |
Definition at line 370 of file dungeon_editor_v2.h.
Referenced by Load(), RefreshRomBackedState(), SetGameData(), and SetRom().
|
private |
Definition at line 372 of file dungeon_editor_v2.h.
Referenced by Load(), OnRoomSelected(), and RefreshRomBackedState().
|
private |
Definition at line 377 of file dungeon_editor_v2.h.
Referenced by HandleObjectPlaced(), Load(), object_editor_panel(), object_selector_panel(), OnRoomSelected(), RefreshRomBackedState(), SelectObject(), SetAgentMode(), SetGameData(), and ~DungeonEditorV2().
|
private |
Definition at line 378 of file dungeon_editor_v2.h.
Referenced by Load(), object_editor_content(), and ~DungeonEditorV2().
|
private |
Definition at line 379 of file dungeon_editor_v2.h.
Referenced by door_editor_panel(), Load(), and ~DungeonEditorV2().
|
private |
Definition at line 380 of file dungeon_editor_v2.h.
Referenced by Load(), OnRoomSelected(), and RefreshRomBackedState().
|
private |
Definition at line 381 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 382 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 383 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 384 of file dungeon_editor_v2.h.
Referenced by Load(), RefreshRomBackedState(), and WireViewerPanelCallbacks().
|
private |
Definition at line 385 of file dungeon_editor_v2.h.
Referenced by Load(), and RefreshRomBackedState().
|
private |
Definition at line 386 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 387 of file dungeon_editor_v2.h.
Referenced by Load(), and ~DungeonEditorV2().
|
private |
Definition at line 388 of file dungeon_editor_v2.h.
Referenced by Load(), and RefreshRomBackedState().
|
private |
Definition at line 389 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 393 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 394 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 395 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 396 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 397 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 398 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 399 of file dungeon_editor_v2.h.
Referenced by Load().
|
private |
Definition at line 400 of file dungeon_editor_v2.h.
Referenced by DrawRoomTab(), DungeonEditorV2(), Initialize(), Load(), OnRoomSelected(), RefreshRomBackedState(), and SetGameData().
|
private |
Definition at line 401 of file dungeon_editor_v2.h.
|
private |
Definition at line 403 of file dungeon_editor_v2.h.
Referenced by Load(), RefreshRomBackedState(), and Update().
|
private |
Definition at line 406 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), Initialize(), and Update().
|
private |
Definition at line 409 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels().
|
private |
Definition at line 412 of file dungeon_editor_v2.h.
Referenced by DrawRoomPanels(), FocusRoom(), and ProcessPendingSwap().
|
private |
Definition at line 417 of file dungeon_editor_v2.h.
Referenced by GetOrCreateRoomPanelSlotId(), and ProcessPendingSwap().
|
private |
Definition at line 418 of file dungeon_editor_v2.h.
Referenced by GetOrCreateRoomPanelSlotId(), ProcessPendingSwap(), and ReleaseRoomPanelSlotId().
|
private |
Definition at line 428 of file dungeon_editor_v2.h.
Referenced by BeginUndoSnapshot(), FinalizeUndoAction(), Redo(), RefreshRomBackedState(), and Undo().
|
private |
Definition at line 429 of file dungeon_editor_v2.h.
Referenced by BeginUndoSnapshot(), FinalizeUndoAction(), and RefreshRomBackedState().
|
private |
Definition at line 430 of file dungeon_editor_v2.h.
Referenced by Redo(), RefreshRomBackedState(), RestoreRoomObjects(), and Undo().
|
private |
Definition at line 436 of file dungeon_editor_v2.h.
Referenced by BeginCollisionUndoSnapshot(), FinalizeCollisionUndoAction(), Redo(), RefreshRomBackedState(), and Undo().
|
private |
Definition at line 442 of file dungeon_editor_v2.h.
Referenced by BeginWaterFillUndoSnapshot(), FinalizeWaterFillUndoAction(), Redo(), RefreshRomBackedState(), and Undo().
|
private |
Definition at line 450 of file dungeon_editor_v2.h.
Referenced by ProcessPendingSwap(), RefreshRomBackedState(), and SwapRoomInPanel().
|
private |
Definition at line 457 of file dungeon_editor_v2.h.
Referenced by ProcessPendingWorkflowMode(), QueueWorkbenchWorkflowMode(), and RefreshRomBackedState().