Squashed 'deps/nostalgia/' changes from fae1e73e..c7bc2a95

c7bc2a95 [nostalgia/gfx] Style update
7372036a [nostalgia/gfx] Add function missing from header
7461d832 [nostalgia/gfx/studio,studio] Fix CLI tool output to only show usage if no args given
6052798f Merge commit 'dceeaaa9302b7e9ce85fa773fc187bc593f3c93c'
801d35c8 [keel] Make type converters work with functions that take const src arg

git-subtree-dir: deps/nostalgia
git-subtree-split: c7bc2a954fdf435127fb09896f32c5cb23c99f02
This commit is contained in:
2025-07-25 00:32:02 -05:00
parent dceeaaa930
commit 8a74e044dc
6 changed files with 59 additions and 51 deletions

View File

@ -11,7 +11,7 @@
namespace nostalgia::gfx {
[[nodiscard]]
constexpr std::size_t ptToIdx(int x, int y, int c, int scale = 1) noexcept {
constexpr std::size_t ptToIdx(int const x, int const y, int const c, int const scale = 1) noexcept {
auto const tileWidth = TileWidth * scale;
auto const tileHeight = TileHeight * scale;
auto const pixelsPerTile = tileWidth * tileHeight;
@ -25,12 +25,12 @@ constexpr std::size_t ptToIdx(int x, int y, int c, int scale = 1) noexcept {
}
[[nodiscard]]
constexpr std::size_t ptToIdx(const ox::Point &pt, int c, int scale = 1) noexcept {
constexpr std::size_t ptToIdx(ox::Point const &pt, int const c, int const scale = 1) noexcept {
return ptToIdx(pt.x, pt.y, c * TileWidth, scale);
}
[[nodiscard]]
constexpr ox::Point idxToPt(int i, int c, int scale = 1) noexcept {
constexpr ox::Point idxToPt(int const i, int c, int const scale = 1) noexcept {
auto const tileWidth = TileWidth * scale;
auto const tileHeight = TileHeight * scale;
auto const pixelsPerTile = tileWidth * tileHeight;

View File

@ -481,6 +481,8 @@ ox::Result<uint32_t> getTileOffset(TileSheet const&ts, SubSheetId pId) noexcept;
ox::Result<ox::StringView> getNameFor(TileSheet::SubSheet const &ss, SubSheetId pId) noexcept;
ox::Result<ox::StringView> getNameFor(TileSheet &ts, SubSheetId pId) noexcept;
ox::Result<ox::StringView> getNameFor(TileSheet const &ts, SubSheetId pId) noexcept;
[[nodiscard]]

View File

@ -133,6 +133,9 @@ ox::Error cmdExportTilesheet(studio::Project &project, ox::SpanView<ox::CString>
"[-scale <int>]\n");
}
};
if (args.empty()) {
return {};
}
OX_REQUIRE(srcPath, clargs.getString("src-path").transformError(1, "no src path specified"));
OX_REQUIRE(dstPath, clargs.getString("dst-path").transformError(2, "no dst path specified"));
auto const palPath = clargs.getString("pal-path", "");

View File

@ -140,7 +140,7 @@ class ConverterFunc final: public BaseConverter {
private:
template<typename SrcType, typename DstType>
struct ParamPack {
using Src = SrcType;
using Src = ox::remove_const_t<SrcType>;
using Dst = DstType;
};

View File

@ -90,7 +90,10 @@ static ox::Error run(
return ox::Error{2, "failed to load project directory"};
}
Project project{*kctx.value, projectDir, projectDataDir};
return c.func(project, args + numCmdArgs);
return c.func(
project,
args.size() > numCmdArgs ?
args + numCmdArgs : ox::SpanView<ox::CString>{});
}
}
return ox::Error{1, "command not found"};