Веб-сайт самохостера Lotigara

summaryrefslogtreecommitdiff
path: root/source/base/StarAssets.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'source/base/StarAssets.cpp')
-rw-r--r--source/base/StarAssets.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/base/StarAssets.cpp b/source/base/StarAssets.cpp
index b334b31..357fca0 100644
--- a/source/base/StarAssets.cpp
+++ b/source/base/StarAssets.cpp
@@ -147,8 +147,10 @@ Assets::Assets(Settings settings, StringList assetSources) {
pushGlobalContext("assets", makeBaseAssetCallbacks());
auto decorateLuaContext = [&](LuaContext& context, MemoryAssetSourcePtr newFiles) {
- auto callbacks = makeBaseAssetCallbacks();
if (newFiles) {
+ // re-add the assets callbacks with more functions
+ context.remove("assets");
+ auto callbacks = makeBaseAssetCallbacks();
callbacks.registerCallback("add", [&newFiles](LuaEngine& engine, String const& path, LuaValue const& data) {
ByteArray bytes;
if (auto str = engine.luaMaybeTo<String>(data))
@@ -184,9 +186,9 @@ Assets::Assets(Settings settings, StringList assetSources) {
m_filesByExtension[AssetPath::extension(path).toLower()].erase(path);
return erased;
});
- }
- context.setCallbacks("assets", callbacks);
+ context.setCallbacks("assets", callbacks);
+ }
};
auto addSource = [&](String const& sourcePath, AssetSourcePtr source) {