From 43efcbf59fc27e00876dbb813f4bfb9e7c176821 Mon Sep 17 00:00:00 2001 From: Gary Talent Date: Wed, 25 Jun 2025 21:30:49 -0500 Subject: [PATCH] [nostalgia,studio] Add FileExts_TileSheet const, and corresponding FilePickerPopup constructor --- .../modules/gfx/include/nostalgia/gfx/consts.hpp | 5 +++++ .../modlib/include/studio/filepickerpopup.hpp | 2 ++ .../studio/modlib/src/filepickerpopup.cpp | 16 ++++++++++++++++ 3 files changed, 23 insertions(+) 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,