From 7d1beb6ed8d125286ffa61e909f6389ae648e128 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Sun, 13 Apr 2025 18:11:59 +1000 Subject: add root.assetsScan --- source/game/scripting/StarRootLuaBindings.cpp | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'source/game/scripting/StarRootLuaBindings.cpp') diff --git a/source/game/scripting/StarRootLuaBindings.cpp b/source/game/scripting/StarRootLuaBindings.cpp index c45ef46..e9b78bc 100644 --- a/source/game/scripting/StarRootLuaBindings.cpp +++ b/source/game/scripting/StarRootLuaBindings.cpp @@ -66,13 +66,12 @@ LuaCallbacks LuaBindings::makeRootCallbacks() { callbacks.registerCallbackWithSignature, String, Maybe>("materialMiningSound", bind(RootCallbacks::materialMiningSound, root, _1, _2)); callbacks.registerCallbackWithSignature, String, Maybe>("materialFootstepSound", bind(RootCallbacks::materialFootstepSound, root, _1, _2)); - callbacks.registerCallback("assetsByExtension", [root](LuaEngine& engine, String const& extension) -> LuaTable { - auto& extensions = root->assets()->scanExtension(extension); - auto table = engine.createTable(extensions.size(), 0); - size_t i = 0; - for (auto& file : extensions) - table.set(++i, file); - return table; + callbacks.registerCallback("assetsByExtension", [root](LuaEngine& engine, String const& extension) -> CaseInsensitiveStringSet { + return root->assets()->scanExtension(extension); + }); + + callbacks.registerCallback("assetsScan", [root](LuaEngine& engine, Maybe const& a, Maybe const& b) -> StringList { + return b ? root->assets()->scan(a.value(), *b) : root->assets()->scan(a.value()); }); callbacks.registerCallback("assetOrigin", [root](String const& path) -> Maybe { -- cgit v1.2.3 From 885502bf11057e7de961f178bc85ce93a9f40723 Mon Sep 17 00:00:00 2001 From: Kae <80987908+Novaenia@users.noreply.github.com> Date: Wed, 30 Apr 2025 12:41:27 +1000 Subject: fix songbook compile issues & some warns --- source/frontend/StarCharSelection.cpp | 2 +- source/game/scripting/StarRootLuaBindings.cpp | 8 ++++---- source/game/scripting/StarScriptableThread.cpp | 6 ++---- source/game/scripting/StarSongbookLuaBindings.cpp | 4 ++-- 4 files changed, 9 insertions(+), 11 deletions(-) (limited to 'source/game/scripting/StarRootLuaBindings.cpp') diff --git a/source/frontend/StarCharSelection.cpp b/source/frontend/StarCharSelection.cpp index 2c00b42..c2cc1dc 100644 --- a/source/frontend/StarCharSelection.cpp +++ b/source/frontend/StarCharSelection.cpp @@ -15,8 +15,8 @@ CharSelectionPane::CharSelectionPane(PlayerStoragePtr playerStorage, DeleteCharacterCallback deleteCallback) : m_playerStorage(playerStorage), m_downScroll(0), - m_filteredList({}), m_search(""), + m_filteredList({}), m_createCallback(createCallback), m_selectCallback(selectCallback), m_deleteCallback(deleteCallback) { diff --git a/source/game/scripting/StarRootLuaBindings.cpp b/source/game/scripting/StarRootLuaBindings.cpp index e9b78bc..4e60595 100644 --- a/source/game/scripting/StarRootLuaBindings.cpp +++ b/source/game/scripting/StarRootLuaBindings.cpp @@ -66,11 +66,11 @@ LuaCallbacks LuaBindings::makeRootCallbacks() { callbacks.registerCallbackWithSignature, String, Maybe>("materialMiningSound", bind(RootCallbacks::materialMiningSound, root, _1, _2)); callbacks.registerCallbackWithSignature, String, Maybe>("materialFootstepSound", bind(RootCallbacks::materialFootstepSound, root, _1, _2)); - callbacks.registerCallback("assetsByExtension", [root](LuaEngine& engine, String const& extension) -> CaseInsensitiveStringSet { + callbacks.registerCallback("assetsByExtension", [root](String const& extension) -> CaseInsensitiveStringSet { return root->assets()->scanExtension(extension); }); - callbacks.registerCallback("assetsScan", [root](LuaEngine& engine, Maybe const& a, Maybe const& b) -> StringList { + callbacks.registerCallback("assetsScan", [root]( Maybe const& a, Maybe const& b) -> StringList { return b ? root->assets()->scan(a.value(), *b) : root->assets()->scan(a.value()); }); @@ -115,12 +115,12 @@ LuaCallbacks LuaBindings::makeRootCallbacks() { return table; }); - callbacks.registerCallback("assetSourceMetadata", [root](LuaEngine& engine, String const& assetSourcePath) { + callbacks.registerCallback("assetSourceMetadata", [root](String const& assetSourcePath) { auto assets = root->assets(); return assets->assetSourceMetadata(assetSourcePath); }); - callbacks.registerCallback("itemFile", [root](LuaEngine& engine, String const& itemName) -> Maybe { + callbacks.registerCallback("itemFile", [root](String const& itemName) -> Maybe { return root->itemDatabase()->itemFile(itemName); }); diff --git a/source/game/scripting/StarScriptableThread.cpp b/source/game/scripting/StarScriptableThread.cpp index cbd32ad..6bbfece 100644 --- a/source/game/scripting/StarScriptableThread.cpp +++ b/source/game/scripting/StarScriptableThread.cpp @@ -14,9 +14,9 @@ namespace Star { ScriptableThread::ScriptableThread(Json parameters) : Thread("ScriptableThread: " + parameters.getString("name")), // TODO m_stop(false), + m_parameters(std::move(parameters)), m_errorOccurred(false), - m_shouldExpire(true), - m_parameters(std::move(parameters)) { + m_shouldExpire(true) { m_luaRoot = make_shared(); m_name = m_parameters.getString("name"); @@ -78,8 +78,6 @@ void ScriptableThread::passMessage(Message&& message) { void ScriptableThread::run() { try { - auto& root = Root::singleton(); - double updateMeasureWindow = m_parameters.getDouble("updateMeasureWindow",0.5); TickRateApproacher tickApproacher(1.0f / m_timestep, updateMeasureWindow); diff --git a/source/game/scripting/StarSongbookLuaBindings.cpp b/source/game/scripting/StarSongbookLuaBindings.cpp index e2f70a3..7831ed6 100644 --- a/source/game/scripting/StarSongbookLuaBindings.cpp +++ b/source/game/scripting/StarSongbookLuaBindings.cpp @@ -10,8 +10,8 @@ LuaCallbacks LuaBindings::makeSongbookCallbacks(Songbook* songbook) { callbacks.registerCallbackWithSignature("keepAlive", bind(mem_fn(&Songbook::keepAlive), songbook, _1, _2)); callbacks.registerCallbackWithSignature("stop", bind(mem_fn(&Songbook::stop), songbook)); callbacks.registerCallbackWithSignature("active", bind(mem_fn(&Songbook::active), songbook)); - callbacks.registerCallbackWithSignature("band", bind(mem_fn(&Songbook::timeSource), songbook)); - callbacks.registerCallbackWithSignature("instrument", bind(mem_fn(&Songbook::instrument), songbook)); + callbacks.registerCallbackWithSignature>("band", bind(mem_fn(&Songbook::timeSource), songbook)); + callbacks.registerCallbackWithSignature>("instrument", bind(mem_fn(&Songbook::instrument), songbook)); callbacks.registerCallbackWithSignature("instrumentPlaying", bind(mem_fn(&Songbook::instrumentPlaying), songbook)); callbacks.registerCallbackWithSignature("song", bind(mem_fn(&Songbook::song), songbook)); -- cgit v1.2.3