From e2f6c263e7de9ca2e6825e55bbf91f6c439a201f Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 2 Jan 2025 11:45:28 +0300 Subject: [PATCH] update pack.get_info --- doc/en/scripting/builtins/libpack.md | 4 ++-- doc/ru/scripting/builtins/libpack.md | 2 +- src/logic/scripting/lua/libs/libpack.cpp | 17 +++++------------ 3 files changed, 8 insertions(+), 15 deletions(-) diff --git a/doc/en/scripting/builtins/libpack.md b/doc/en/scripting/builtins/libpack.md index aab6e11d..8d1d97b8 100644 --- a/doc/en/scripting/builtins/libpack.md +++ b/doc/en/scripting/builtins/libpack.md @@ -76,14 +76,14 @@ pack.get_base_packs() -> strings array Returns the id of all base packages (non-removeable) -```python +```lua pack.get_info(packid: str) -> { id: str, title: str, creator: str, description: str, version: str, - icon: str, + icon: str, -- not available in headless mode dependencies: optional strings array } ``` diff --git a/doc/ru/scripting/builtins/libpack.md b/doc/ru/scripting/builtins/libpack.md index c3591584..93eecfc8 100644 --- a/doc/ru/scripting/builtins/libpack.md +++ b/doc/ru/scripting/builtins/libpack.md @@ -70,7 +70,7 @@ pack.get_info(packid: str) -> { creator: str, description: str, version: str, - icon: str, + icon: str, -- отсутствует в headless режиме dependencies: опциональный массив строк } ``` diff --git a/src/logic/scripting/lua/libs/libpack.cpp b/src/logic/scripting/lua/libs/libpack.cpp index bf80bb89..81843caf 100644 --- a/src/logic/scripting/lua/libs/libpack.cpp +++ b/src/logic/scripting/lua/libs/libpack.cpp @@ -81,25 +81,18 @@ static int l_pack_get_info( lua::pushstring(L, pack.version); lua::setfield(L, "version"); - auto assets = engine->getAssets(); - std::string icon = pack.id + ".icon"; - if (engine->isHeadless()) { - if (fs::exists(pack.folder / fs::path("icon.png"))) { - icon = pack.folder.u8string() + "/icon.png"; - } else { - icon = "gui/no_icon"; - } - } else { + if (!engine->isHeadless()) { + auto assets = engine->getAssets(); + std::string icon = pack.id + ".icon"; if (!AssetsLoader::loadExternalTexture( assets, icon, {pack.folder / fs::path("icon.png")} )) { icon = "gui/no_icon"; } + lua::pushstring(L, icon); + lua::setfield(L, "icon"); } - lua::pushstring(L, icon); - lua::setfield(L, "icon"); - if (!pack.dependencies.empty()) { lua::createtable(L, pack.dependencies.size(), 0); for (size_t i = 0; i < pack.dependencies.size(); i++) {