From bcd62cd622fed7849e4f39ca00d9cd7d2d62d82e Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Sun, 19 Jan 2025 17:01:23 -0600 Subject: [PATCH] [jasper/world/studio/worldobjectseteditor] Fix file drops to check file type --- .../studio/worldobjectseteditor/commands/addpalette.cpp | 5 ++--- .../studio/worldobjectseteditor/commands/addpalette.hpp | 3 +-- .../worldobjectseteditor/worldobjectseteditor-imgui.cpp | 8 ++++---- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.cpp b/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.cpp index 95bc2ac..1c24ec5 100644 --- a/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.cpp +++ b/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.cpp @@ -11,10 +11,9 @@ namespace jasper::world { -AddPalette::AddPalette(WorldObjectSet &doc, ox::FileAddress palAddr, keel::Context &kctx) noexcept: +AddPalette::AddPalette(WorldObjectSet &doc, ox::FileAddress palAddr) noexcept: m_doc{doc}, - m_palAddr{std::move(palAddr)}, - m_kctx{kctx} { + m_palAddr{std::move(palAddr)} { } ox::Error AddPalette::redo() noexcept { diff --git a/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.hpp b/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.hpp index 23fbf0f..22c1113 100644 --- a/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.hpp +++ b/src/jasper/modules/world/src/studio/worldobjectseteditor/commands/addpalette.hpp @@ -16,9 +16,8 @@ class AddPalette: public studio::UndoCommand { private: WorldObjectSet &m_doc; ox::FileAddress m_palAddr; - keel::Context &m_kctx; public: - AddPalette(WorldObjectSet &doc, ox::FileAddress palAddr, keel::Context &kctx) noexcept; + AddPalette(WorldObjectSet &doc, ox::FileAddress palAddr) noexcept; ox::Error redo() noexcept override; ox::Error undo() noexcept override; [[nodiscard]] diff --git a/src/jasper/modules/world/src/studio/worldobjectseteditor/worldobjectseteditor-imgui.cpp b/src/jasper/modules/world/src/studio/worldobjectseteditor/worldobjectseteditor-imgui.cpp index 1701f69..fb6308b 100644 --- a/src/jasper/modules/world/src/studio/worldobjectseteditor/worldobjectseteditor-imgui.cpp +++ b/src/jasper/modules/world/src/studio/worldobjectseteditor/worldobjectseteditor-imgui.cpp @@ -94,7 +94,7 @@ void WorldObjectSetEditorImGui::drawTileSheetSelector() noexcept { ig::InputText("Tile Sheet", m_tilesheetPath, tsFlags); if (ig::DragDropTarget const d; d) { auto const [fr, err] = ig::getDragDropPayload("FileRef"); - if (!err) { + if (!err && endsWith(fr.path, ncore::FileExt_ng)) { std::ignore = setTileSheet(fr.path); } } @@ -284,12 +284,12 @@ void WorldObjectSetEditorImGui::drawPaletteList() noexcept { } if (ig::DragDropTarget const d; d) { auto const [fr, err] = ig::getDragDropPayload("FileRef"); - if (!err) { + if (!err && endsWith(fr.path, ncore::FileExt_npal)) { auto const [uuid, err] = keel::pathToUuid( keelCtx(m_sctx), fr.path); if (!err) { auto const uuidUrl = ox::sfmt("uuid://{}", uuid.toString()); - std::ignore = pushCommand(m_doc, ox::FileAddress{uuidUrl}, keelCtx(m_sctx)); + std::ignore = pushCommand(m_doc, ox::FileAddress{uuidUrl}); } } } @@ -326,7 +326,7 @@ void WorldObjectSetEditorImGui::drawAddPalettePopup() noexcept { keelCtx(m_sctx.tctx), palettes[m_addPalPopup.selectedIdx]); if (!err) { auto const uuidUrl = ox::sfmt("uuid://{}", uuid.toString()); - std::ignore = pushCommand(m_doc, ox::FileAddress{uuidUrl}, keelCtx(m_sctx)); + std::ignore = pushCommand(m_doc, ox::FileAddress{uuidUrl}); } } ImGui::EndPopup();