From e03467cd1ca1ee0fb7464e323e9bf120be05e188 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 26 Jan 2025 09:56:06 +0300 Subject: [PATCH] fix pack.assemble & app.reconfig_packs/app.config_packs missing packs non-informative error messages --- src/logic/scripting/lua/libs/libcore.cpp | 8 +++++++- src/logic/scripting/lua/libs/libpack.cpp | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/logic/scripting/lua/libs/libcore.cpp b/src/logic/scripting/lua/libs/libcore.cpp index cb5c7f43..80128971 100644 --- a/src/logic/scripting/lua/libs/libcore.cpp +++ b/src/logic/scripting/lua/libs/libcore.cpp @@ -148,7 +148,13 @@ static int l_reconfig_packs(lua::State* L) { lua::pop(L); } auto engineController = engine->getController(); - engineController->reconfigPacks(controller, addPacks, remPacks); + try { + engineController->reconfigPacks(controller, addPacks, remPacks); + } catch (const contentpack_error& err) { + throw std::runtime_error( + std::string(err.what()) + " [" + err.getPackId() + " ]" + ); + } return 0; } diff --git a/src/logic/scripting/lua/libs/libpack.cpp b/src/logic/scripting/lua/libs/libpack.cpp index 95bb9e99..5b3977a4 100644 --- a/src/logic/scripting/lua/libs/libpack.cpp +++ b/src/logic/scripting/lua/libs/libpack.cpp @@ -231,7 +231,13 @@ static int l_pack_assemble(lua::State* L) { } auto manager = engine->createPacksManager(worldFolder); manager.scan(); - ids = std::move(manager.assemble(ids)); + try { + ids = std::move(manager.assemble(ids)); + } catch (const contentpack_error& err) { + throw std::runtime_error( + std::string(err.what()) + " [" + err.getPackId() + "]" + ); + } lua::createtable(L, ids.size(), 0); for (size_t i = 0; i < ids.size(); i++) {