diff --git a/deps/nostalgia/src/nostalgia/modules/gfx/include/nostalgia/gfx/consts.hpp b/deps/nostalgia/src/nostalgia/modules/gfx/include/nostalgia/gfx/consts.hpp index 9b781ef..887c7cc 100644 --- a/deps/nostalgia/src/nostalgia/modules/gfx/include/nostalgia/gfx/consts.hpp +++ b/deps/nostalgia/src/nostalgia/modules/gfx/include/nostalgia/gfx/consts.hpp @@ -16,6 +16,11 @@ constexpr ox::StringLiteral FileExt_ng{"ng"}; constexpr ox::StringLiteral FileExt_nts{"nts"}; constexpr ox::StringLiteral FileExt_npal{"npal"}; +constexpr ox::Array FileExts_TileSheet{ + FileExt_nts, + FileExt_ng, +}; + [[nodiscard]] constexpr bool isTileSheet(ox::StringViewCR path) noexcept { return endsWith(path, FileExt_nts) || endsWith(path, FileExt_ng); diff --git a/deps/nostalgia/src/olympic/studio/modlib/include/studio/filepickerpopup.hpp b/deps/nostalgia/src/olympic/studio/modlib/include/studio/filepickerpopup.hpp index acbebce..4829738 100644 --- a/deps/nostalgia/src/olympic/studio/modlib/include/studio/filepickerpopup.hpp +++ b/deps/nostalgia/src/olympic/studio/modlib/include/studio/filepickerpopup.hpp @@ -24,6 +24,8 @@ class FilePickerPopup { public: explicit FilePickerPopup(ox::StringParam name, keel::Context &kctx, ox::StringParam fileExt) noexcept; + explicit FilePickerPopup(ox::StringParam name, keel::Context &kctx, ox::SpanView fileExts) noexcept; + explicit FilePickerPopup(ox::StringParam name, keel::Context &kctx, ox::Vector fileExts) noexcept; void refresh() noexcept; diff --git a/deps/nostalgia/src/olympic/studio/modlib/src/filepickerpopup.cpp b/deps/nostalgia/src/olympic/studio/modlib/src/filepickerpopup.cpp index e4390ff..c965c0e 100644 --- a/deps/nostalgia/src/olympic/studio/modlib/src/filepickerpopup.cpp +++ b/deps/nostalgia/src/olympic/studio/modlib/src/filepickerpopup.cpp @@ -26,6 +26,22 @@ FilePickerPopup::FilePickerPopup( m_fileExts{std::move(fileExt)} { } +FilePickerPopup::FilePickerPopup( + ox::StringParam name, + keel::Context &kctx, + ox::SpanView fileExts) noexcept: + m_name{std::move(name)}, + m_explorer{kctx}, + m_fileExts{[fileExts] { + ox::Vector out; + out.reserve(fileExts.size()); + for (auto &s : fileExts) { + out.emplace_back(s); + } + return out; + }()} { +} + FilePickerPopup::FilePickerPopup( ox::StringParam name, keel::Context &kctx,