Handles object selection, preview, and editing UI. More...
#include <dungeon_object_selector.h>
Handles object selection, preview, and editing UI.
Definition at line 34 of file dungeon_object_selector.h.
|
inlineexplicit |
Definition at line 36 of file dungeon_object_selector.h.
| void yaze::editor::DungeonObjectSelector::DrawTileSelector | ( | ) |
Definition at line 48 of file dungeon_object_selector.cc.
References yaze::gui::LayoutHelpers::BeginContentChild(), yaze::gui::BeginThemedTabBar(), DrawObjectRenderer(), DrawRoomGraphics(), yaze::gui::LayoutHelpers::EndContentChild(), yaze::gui::EndThemedTabBar(), EnsureRegistryInitialized(), and yaze::gui::UIConfig::kContentMinHeightList.
| void yaze::editor::DungeonObjectSelector::DrawObjectRenderer | ( | ) |
Definition at line 72 of file dungeon_object_selector.cc.
References yaze::gui::LayoutHelpers::BeginContentChild(), yaze::gui::CanvasFrameOptions::canvas_size, yaze::gui::CanvasFrameOptions::draw_grid, DrawObjectAssetBrowser(), DrawObjectPreview(), yaze::gui::LayoutHelpers::EndContentChild(), EnsureRegistryInitialized(), yaze::gui::CanvasFrameOptions::grid_step, yaze::zelda3::RoomObject::id_, yaze::gui::UIConfig::kContentMinHeightCanvas, yaze::gui::UIConfig::kContentMinHeightList, yaze::gui::UIConfig::kContentMinWidthSidebar, yaze::zelda3::RoomObject::layer_, object_canvas_, object_loaded_, place_x_, place_y_, PlaceObjectAtPosition(), preview_object_, yaze::gui::CanvasFrameOptions::render_popups, RenderObjectPrimitive(), yaze::zelda3::RoomObject::size_, yaze::zelda3::RoomObject::x_, and yaze::zelda3::RoomObject::y_.
Referenced by Draw(), and DrawTileSelector().
| void yaze::editor::DungeonObjectSelector::DrawIntegratedEditingPanels | ( | ) |
Definition at line 236 of file dungeon_object_selector.cc.
References yaze::gui::BeginThemedTabBar(), DrawCompactChestEditor(), DrawCompactDoorEditor(), DrawCompactEntranceEditor(), DrawCompactItemEditor(), DrawCompactObjectEditor(), DrawCompactPropertiesEditor(), DrawCompactSpriteEditor(), dungeon_editor_system_, yaze::gui::EndThemedTabBar(), and object_editor_.
Referenced by Draw().
| void yaze::editor::DungeonObjectSelector::Draw | ( | ) |
Definition at line 161 of file dungeon_object_selector.cc.
References yaze::gui::BeginThemedTabBar(), DrawIntegratedEditingPanels(), DrawObjectRenderer(), DrawRoomGraphics(), and yaze::gui::EndThemedTabBar().
|
inline |
Definition at line 44 of file dungeon_object_selector.h.
References yaze::editor::EditorContext::game_data, game_data_, yaze::editor::EditorContext::rom, and rom_.
Referenced by yaze::editor::ObjectEditorPanel::SetContext().
|
inline |
Definition at line 48 of file dungeon_object_selector.h.
References game_data_, and rom_.
|
inline |
|
inline |
|
inline |
Definition at line 53 of file dungeon_object_selector.h.
References game_data(), and game_data_.
Referenced by yaze::editor::ObjectEditorPanel::SetGameData().

|
inline |
Definition at line 54 of file dungeon_object_selector.h.
References game_data_.
Referenced by yaze::editor::ObjectEditorPanel::OpenStaticObjectEditor(), and SetGameData().
|
inline |
Definition at line 57 of file dungeon_object_selector.h.
References dungeon_editor_system_.
|
inline |
Definition at line 61 of file dungeon_object_selector.h.
References object_editor_.
|
inline |
Definition at line 66 of file dungeon_object_selector.h.
References rooms_.
Referenced by yaze::editor::ObjectEditorPanel::SetRooms().
|
inline |
Definition at line 67 of file dungeon_object_selector.h.
References rooms_.
Referenced by yaze::editor::ObjectEditorPanel::DrawDoorSection(), yaze::editor::ObjectEditorPanel::DrawRoomValidationBar(), and yaze::editor::ObjectEditorPanel::OpenStaticObjectEditor().
|
inline |
Definition at line 68 of file dungeon_object_selector.h.
References current_room_id_.
Referenced by yaze::editor::ObjectEditorPanel::SetCurrentRoom().
|
inline |
Definition at line 71 of file dungeon_object_selector.h.
References current_palette_group_id_.
|
inline |
Definition at line 74 of file dungeon_object_selector.h.
References current_palette_group_.
Referenced by yaze::editor::ObjectEditorPanel::SetCurrentPaletteGroup().
|
inline |
Definition at line 77 of file dungeon_object_selector.h.
References current_palette_id_.
| void yaze::editor::DungeonObjectSelector::SetCustomObjectsFolder | ( | const std::string & | folder | ) |
Definition at line 1330 of file dungeon_object_selector.cc.
References custom_objects_folder_, custom_objects_initialized_, EnsureCustomObjectsInitialized(), and InvalidatePreviewCache().
Referenced by yaze::editor::DungeonEditorV2::Load().

|
inline |
Definition at line 83 of file dungeon_object_selector.h.
References object_selected_callback_.
Referenced by yaze::editor::ObjectEditorPanel::ObjectEditorPanel().
|
inline |
Definition at line 88 of file dungeon_object_selector.h.
References object_placement_callback_.
|
inline |
Definition at line 93 of file dungeon_object_selector.h.
References object_double_click_callback_.
Referenced by yaze::editor::ObjectEditorPanel::ObjectEditorPanel().
|
inline |
Definition at line 98 of file dungeon_object_selector.h.
References preview_object_.
|
inline |
Definition at line 99 of file dungeon_object_selector.h.
References object_loaded_.
| void yaze::editor::DungeonObjectSelector::DrawObjectAssetBrowser | ( | ) |
Definition at line 506 of file dungeon_object_selector.cc.
References yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), create_filename_, create_object_id_, current_palette_group_, current_palette_group_id_, current_room_id_, yaze::Rom::data(), DrawNewCustomObjectDialog(), DrawObjectPreview(), yaze::gfx::PaletteGroupMap::dungeon_main, enable_object_previews_, EnsureCustomObjectsInitialized(), game_data_, yaze::zelda3::CustomObjectManager::Get(), yaze::zelda3::ObjectDrawer::GetDrawRoutineId(), yaze::zelda3::GetObjectName(), yaze::zelda3::GetObjectSubtype(), GetObjectTypeColor(), GetObjectTypeSymbol(), yaze::editor::AgentUI::GetTheme(), ICON_MD_ADD, ICON_MD_CLEAR, ICON_MD_IMAGE, ICON_MD_REFRESH, ICON_MD_SEARCH, InvalidatePreviewCache(), yaze::zelda3::kNumberOfRooms, layout_cache_, MakePreviewObject(), MatchesObjectFilter(), MatchesObjectSearch(), object_double_click_callback_, object_loaded_, object_search_buffer_, object_selected_callback_, object_type_filter_, yaze::zelda3::GameData::palette_groups, preview_object_, preview_palette_, rom_, rooms_, selected_object_id_, SelectObject(), yaze::zelda3::RoomObject::SetRom(), show_create_dialog_, yaze::gfx::PaletteGroup::size(), yaze::zelda3::RoomObject::size_, static_editor_object_id_, yaze::gui::ThemedButton(), yaze::gui::ThemedTooltip(), and tile_editor_panel_.
Referenced by DrawObjectRenderer(), and yaze::editor::ObjectEditorPanel::DrawObjectSelector().
| void yaze::editor::DungeonObjectSelector::SelectObject | ( | int | obj_id, |
| int | subtype = -1 ) |
Definition at line 483 of file dungeon_object_selector.cc.
References current_palette_group_id_, yaze::gfx::PaletteGroupMap::dungeon_main, game_data_, object_loaded_, object_selected_callback_, yaze::zelda3::GameData::palette_groups, preview_object_, preview_palette_, rom_, selected_object_id_, and yaze::zelda3::RoomObject::SetRom().
Referenced by DrawObjectAssetBrowser(), and yaze::editor::ObjectEditorPanel::SelectObject().

|
inline |
Definition at line 108 of file dungeon_object_selector.h.
References tile_editor_panel_.
Referenced by yaze::editor::DungeonEditorV2::Load().
|
inline |
Definition at line 111 of file dungeon_object_selector.h.
References project_.
Referenced by yaze::editor::DungeonEditorV2::Load().
| void yaze::editor::DungeonObjectSelector::InvalidatePreviewCache | ( | ) |
Definition at line 1356 of file dungeon_object_selector.cc.
References layout_cache_, and preview_cache_.
Referenced by DrawObjectAssetBrowser(), GetOrCreatePreview(), yaze::editor::DungeonEditorV2::Load(), and SetCustomObjectsFolder().
|
inline |
Definition at line 117 of file dungeon_object_selector.h.
References static_editor_object_id_.
Referenced by yaze::editor::ObjectEditorPanel::CloseStaticObjectEditor(), and yaze::editor::ObjectEditorPanel::OpenStaticObjectEditor().
|
inline |
Definition at line 120 of file dungeon_object_selector.h.
References static_editor_object_id_.
|
private |
Definition at line 185 of file dungeon_object_selector.cc.
References yaze::gui::Canvas::AddImageAt(), current_room_id_, yaze::gui::CanvasFrameOptions::draw_grid, yaze::gui::Canvas::DrawTileSelector(), yaze::gfx::Arena::Get(), yaze::gfx::Arena::gfx_sheets(), yaze::gui::CanvasFrameOptions::grid_step, yaze::gui::Canvas::height(), yaze::Rom::is_loaded(), yaze::gui::CanvasFrameOptions::render_popups, rom_, room_gfx_canvas_, rooms_, and yaze::gui::Canvas::width().
Referenced by Draw(), and DrawTileSelector().
|
private |
Definition at line 1014 of file dungeon_object_selector.cc.
Referenced by DrawObjectAssetBrowser().
|
private |
Definition at line 1033 of file dungeon_object_selector.cc.
References object_search_buffer_.
Referenced by DrawObjectAssetBrowser().
|
private |
Definition at line 1075 of file dungeon_object_selector.cc.
References yaze::zelda3::DimensionService::Get(), and yaze::zelda3::DimensionService::GetPixelDimensions().
Referenced by RenderObjectPrimitive().

|
private |
Definition at line 1082 of file dungeon_object_selector.cc.
References object_loaded_, object_placement_callback_, preview_object_, and yaze::zelda3::RoomObject::set_x().
Referenced by DrawObjectRenderer().

|
private |
Definition at line 291 of file dungeon_object_selector.cc.
References yaze::zelda3::DungeonObjectEditor::kEdit, yaze::zelda3::DungeonObjectEditor::kInsert, yaze::zelda3::DungeonObjectEditor::kSelect, and object_editor_.
Referenced by DrawIntegratedEditingPanels().
|
private |
Definition at line 1096 of file dungeon_object_selector.cc.
References current_room_id_, yaze::zelda3::kNumberOfRooms, and rooms_.
Referenced by DrawIntegratedEditingPanels().
|
private |
Definition at line 1126 of file dungeon_object_selector.cc.
References current_room_id_, yaze::zelda3::kNumberOfRooms, and rooms_.
Referenced by DrawIntegratedEditingPanels().
|
private |
Definition at line 1156 of file dungeon_object_selector.cc.
Referenced by DrawIntegratedEditingPanels().
|
private |
Definition at line 1166 of file dungeon_object_selector.cc.
References yaze::zelda3::BigKeyDoor, yaze::zelda3::BombableDoor, yaze::zelda3::BottomSidedShutter, yaze::zelda3::CaveExit, current_room_id_, yaze::zelda3::CurtainDoor, yaze::zelda3::DashWall, yaze::zelda3::DoubleSidedShutter, yaze::zelda3::DungeonSwapMarker, yaze::zelda3::ExitMarker, yaze::zelda3::ExplodingWall, yaze::zelda3::EyeWatchDoor, yaze::zelda3::FancyDungeonExit, yaze::zelda3::GetDoorDirectionName(), yaze::zelda3::GetDoorTypeName(), yaze::editor::AgentUI::GetTheme(), yaze::zelda3::kNumberOfRooms, yaze::zelda3::LayerSwapMarker, yaze::zelda3::NormalDoor, yaze::zelda3::NormalDoorLower, rooms_, yaze::zelda3::SmallKeyDoor, yaze::zelda3::SmallKeyStairsDown, yaze::zelda3::SmallKeyStairsUp, yaze::zelda3::TopSidedShutter, and yaze::zelda3::WaterfallDoor.
Referenced by DrawIntegratedEditingPanels().

|
private |
Definition at line 1267 of file dungeon_object_selector.cc.
References current_room_id_, yaze::zelda3::kNumberOfRooms, and rooms_.
Referenced by DrawIntegratedEditingPanels().
|
private |
Definition at line 1293 of file dungeon_object_selector.cc.
References current_room_id_, yaze::zelda3::kNumberOfRooms, and rooms_.
Referenced by DrawIntegratedEditingPanels().
|
private |
Definition at line 1453 of file dungeon_object_selector.cc.
References yaze::gfx::BackgroundBuffer::bitmap(), and GetOrCreatePreview().
Referenced by DrawObjectAssetBrowser(), and DrawObjectRenderer().

|
private |
Definition at line 1349 of file dungeon_object_selector.cc.
References yaze::zelda3::RoomObject::EnsureTilesLoaded(), rom_, and yaze::zelda3::RoomObject::SetRom().
Referenced by DrawObjectAssetBrowser().

|
private |
Definition at line 1323 of file dungeon_object_selector.cc.
References object_registry_, yaze::zelda3::DungeonObjectRegistry::RegisterVanillaRange(), and registry_initialized_.
Referenced by DrawObjectRenderer(), and DrawTileSelector().

|
private |
Definition at line 361 of file dungeon_object_selector.cc.
References yaze::editor::AgentUI::GetTheme().
Referenced by DrawObjectAssetBrowser(), and RenderObjectPrimitive().

|
private |
Definition at line 416 of file dungeon_object_selector.cc.
Referenced by DrawObjectAssetBrowser().
|
private |
Definition at line 463 of file dungeon_object_selector.cc.
References CalculateObjectDimensions(), yaze::gui::Canvas::DrawRect(), yaze::gui::Canvas::DrawText(), GetObjectTypeColor(), yaze::editor::AgentUI::GetTheme(), and object_canvas_.
Referenced by DrawObjectRenderer().
|
private |
Definition at line 1339 of file dungeon_object_selector.cc.
References custom_objects_folder_, custom_objects_initialized_, yaze::zelda3::CustomObjectManager::Get(), and yaze::zelda3::CustomObjectManager::Initialize().
Referenced by DrawObjectAssetBrowser(), GetOrCreatePreview(), and SetCustomObjectsFolder().

|
private |
Definition at line 1473 of file dungeon_object_selector.cc.
References create_filename_, create_height_, create_object_id_, create_width_, current_room_id_, yaze::zelda3::CustomObjectManager::Get(), yaze::editor::ObjectTileEditorPanel::OpenForNewObject(), rooms_, show_create_dialog_, and tile_editor_panel_.
Referenced by DrawObjectAssetBrowser().

|
private |
Definition at line 1361 of file dungeon_object_selector.cc.
References yaze::gfx::BackgroundBuffer::bitmap(), cached_preview_blockset_, cached_preview_palette_, cached_preview_room_id_, yaze::zelda3::ObjectTileEditor::CaptureObjectLayout(), yaze::gfx::Arena::CREATE, current_palette_group_, current_room_id_, EnsureCustomObjectsInitialized(), yaze::gfx::Arena::Get(), InvalidatePreviewCache(), yaze::Rom::is_loaded(), preview_cache_, yaze::gfx::Arena::ProcessTextureQueue(), yaze::gfx::Arena::QueueTextureCommand(), yaze::zelda3::ObjectTileEditor::RenderLayoutToBitmap(), rom_, and rooms_.
Referenced by DrawObjectPreview().
|
private |
Definition at line 148 of file dungeon_object_selector.h.
Referenced by DrawNewCustomObjectDialog(), and DrawObjectAssetBrowser().
|
private |
Definition at line 149 of file dungeon_object_selector.h.
Referenced by DrawNewCustomObjectDialog().
|
private |
Definition at line 150 of file dungeon_object_selector.h.
Referenced by DrawNewCustomObjectDialog().
|
private |
Definition at line 151 of file dungeon_object_selector.h.
Referenced by DrawNewCustomObjectDialog(), and DrawObjectAssetBrowser().
|
private |
Definition at line 152 of file dungeon_object_selector.h.
Referenced by DrawNewCustomObjectDialog(), and DrawObjectAssetBrowser().
|
private |
Definition at line 155 of file dungeon_object_selector.h.
Referenced by DrawNewCustomObjectDialog(), DrawObjectAssetBrowser(), and SetTileEditorPanel().
|
private |
Definition at line 156 of file dungeon_object_selector.h.
Referenced by SetProject().
|
private |
Definition at line 158 of file dungeon_object_selector.h.
Referenced by context(), DrawObjectAssetBrowser(), DrawRoomGraphics(), GetOrCreatePreview(), MakePreviewObject(), rom(), SelectObject(), SetContext(), and SetRom().
|
private |
Definition at line 159 of file dungeon_object_selector.h.
Referenced by context(), DrawObjectAssetBrowser(), game_data(), SelectObject(), SetContext(), and SetGameData().
|
private |
Definition at line 160 of file dungeon_object_selector.h.
Referenced by DrawRoomGraphics().
|
private |
Definition at line 162 of file dungeon_object_selector.h.
Referenced by DrawObjectRenderer(), and RenderObjectPrimitive().
|
private |
Definition at line 165 of file dungeon_object_selector.h.
Referenced by DrawIntegratedEditingPanels(), and set_dungeon_editor_system().
|
private |
Definition at line 167 of file dungeon_object_selector.h.
Referenced by DrawCompactObjectEditor(), DrawIntegratedEditingPanels(), and set_object_editor().
|
private |
Definition at line 168 of file dungeon_object_selector.h.
Referenced by EnsureCustomObjectsInitialized(), and SetCustomObjectsFolder().
|
private |
Definition at line 169 of file dungeon_object_selector.h.
Referenced by EnsureCustomObjectsInitialized(), and SetCustomObjectsFolder().
|
private |
Definition at line 172 of file dungeon_object_selector.h.
Referenced by DrawCompactChestEditor(), DrawCompactDoorEditor(), DrawCompactItemEditor(), DrawCompactPropertiesEditor(), DrawCompactSpriteEditor(), DrawNewCustomObjectDialog(), DrawObjectAssetBrowser(), DrawRoomGraphics(), get_rooms(), GetOrCreatePreview(), and set_rooms().
|
private |
Definition at line 173 of file dungeon_object_selector.h.
Referenced by DrawCompactChestEditor(), DrawCompactDoorEditor(), DrawCompactItemEditor(), DrawCompactPropertiesEditor(), DrawCompactSpriteEditor(), DrawNewCustomObjectDialog(), DrawObjectAssetBrowser(), DrawRoomGraphics(), GetOrCreatePreview(), and set_current_room_id().
|
private |
Definition at line 176 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), SelectObject(), and set_current_palette_group_id().
|
private |
Definition at line 177 of file dungeon_object_selector.h.
Referenced by SetCurrentPaletteId().
|
private |
Definition at line 178 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), GetOrCreatePreview(), and SetCurrentPaletteGroup().
|
private |
Definition at line 180 of file dungeon_object_selector.h.
Referenced by EnsureRegistryInitialized().
|
private |
Definition at line 183 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), DrawObjectRenderer(), GetPreviewObject(), PlaceObjectAtPosition(), and SelectObject().
|
private |
Definition at line 184 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), and SelectObject().
|
private |
Definition at line 185 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), DrawObjectRenderer(), IsObjectLoaded(), PlaceObjectAtPosition(), and SelectObject().
|
private |
Definition at line 188 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), SelectObject(), and SetObjectSelectedCallback().
|
private |
Definition at line 189 of file dungeon_object_selector.h.
Referenced by PlaceObjectAtPosition(), and SetObjectPlacementCallback().
|
private |
Definition at line 190 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), and SetObjectDoubleClickCallback().
|
private |
Definition at line 193 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), and SelectObject().
|
private |
Definition at line 194 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), GetStaticEditorObjectId(), and SetStaticEditorObjectId().
|
private |
Definition at line 197 of file dungeon_object_selector.h.
Referenced by DrawObjectRenderer().
|
private |
Definition at line 198 of file dungeon_object_selector.h.
Referenced by DrawObjectRenderer().
|
private |
Definition at line 201 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser().
|
private |
Definition at line 202 of file dungeon_object_selector.h.
|
private |
Definition at line 203 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), and MatchesObjectSearch().
|
private |
Definition at line 206 of file dungeon_object_selector.h.
|
private |
Definition at line 207 of file dungeon_object_selector.h.
|
private |
Definition at line 208 of file dungeon_object_selector.h.
|
private |
Definition at line 211 of file dungeon_object_selector.h.
|
private |
Definition at line 212 of file dungeon_object_selector.h.
|
private |
Definition at line 213 of file dungeon_object_selector.h.
|
private |
Definition at line 216 of file dungeon_object_selector.h.
|
private |
Definition at line 217 of file dungeon_object_selector.h.
|
private |
Definition at line 218 of file dungeon_object_selector.h.
|
private |
Definition at line 219 of file dungeon_object_selector.h.
|
private |
Definition at line 220 of file dungeon_object_selector.h.
|
private |
Definition at line 223 of file dungeon_object_selector.h.
|
private |
Definition at line 224 of file dungeon_object_selector.h.
|
private |
Definition at line 225 of file dungeon_object_selector.h.
|
private |
Definition at line 226 of file dungeon_object_selector.h.
|
private |
Definition at line 229 of file dungeon_object_selector.h.
|
private |
Definition at line 230 of file dungeon_object_selector.h.
|
private |
Definition at line 231 of file dungeon_object_selector.h.
|
private |
Definition at line 232 of file dungeon_object_selector.h.
|
private |
Definition at line 235 of file dungeon_object_selector.h.
|
private |
Definition at line 236 of file dungeon_object_selector.h.
|
private |
Definition at line 237 of file dungeon_object_selector.h.
|
private |
Definition at line 238 of file dungeon_object_selector.h.
|
private |
Definition at line 239 of file dungeon_object_selector.h.
|
private |
Definition at line 240 of file dungeon_object_selector.h.
|
private |
Definition at line 243 of file dungeon_object_selector.h.
Referenced by EnsureRegistryInitialized().
|
private |
Definition at line 246 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser().
|
private |
Definition at line 251 of file dungeon_object_selector.h.
Referenced by GetOrCreatePreview(), and InvalidatePreviewCache().
|
private |
Definition at line 252 of file dungeon_object_selector.h.
Referenced by GetOrCreatePreview().
|
private |
Definition at line 253 of file dungeon_object_selector.h.
Referenced by GetOrCreatePreview().
|
private |
Definition at line 254 of file dungeon_object_selector.h.
Referenced by GetOrCreatePreview().
|
private |
Definition at line 256 of file dungeon_object_selector.h.
Referenced by DrawObjectAssetBrowser(), and InvalidatePreviewCache().
|
private |
Definition at line 261 of file dungeon_object_selector.h.