From e0e9e1914b069efba4018d6b6b5591ae15f4d127 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Sun, 18 Jan 2026 21:43:34 +0300 Subject: [PATCH] feat: auto-load vcm skeletons --- src/assets/AssetsLoader.cpp | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/src/assets/AssetsLoader.cpp b/src/assets/AssetsLoader.cpp index cec4e0887..cf64a9c8e 100644 --- a/src/assets/AssetsLoader.cpp +++ b/src/assets/AssetsLoader.cpp @@ -1,26 +1,26 @@ #include "AssetsLoader.hpp" -#include -#include -#include - -#include "coders/imageio.hpp" +#include "assetload_funcs.hpp" +#include "Assets.hpp" #include "coders/commons.hpp" +#include "coders/imageio.hpp" #include "constants.hpp" #include "content/Content.hpp" #include "content/ContentPack.hpp" #include "debug/Logger.hpp" +#include "engine/Engine.hpp" #include "engine/EnginePaths.hpp" -#include "io/io.hpp" #include "graphics/core/Texture.hpp" +#include "io/io.hpp" +#include "items/ItemDef.hpp" #include "logic/scripting/scripting.hpp" +#include "objects/EntityDef.hpp" #include "objects/rigging.hpp" #include "util/ThreadPool.hpp" #include "voxels/Block.hpp" -#include "items/ItemDef.hpp" -#include "Assets.hpp" -#include "assetload_funcs.hpp" -#include "engine/Engine.hpp" + +#include +#include namespace fs = std::filesystem; @@ -305,6 +305,16 @@ void AssetsLoader::addDefaults(AssetsLoader& loader, const Content* content) { ); } } + for (const auto& [_, def] : content->entities.getDefs()) { + if (def->skeletonName.find(':') == std::string::npos) { + // expecting a VCM with skeleton + loader.add( + AssetType::MODEL, + MODELS_FOLDER + "/" + def->skeletonName, + def->skeletonName + ); + } + } } }