From 151e1f9a56bce31c2703610980c00fc8f527aa6a Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Mon, 7 Nov 2022 15:27:08 +0100 Subject: wip --- loader/loader-impl.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'loader') diff --git a/loader/loader-impl.cpp b/loader/loader-impl.cpp index e782314c..c4ba2376 100644 --- a/loader/loader-impl.cpp +++ b/loader/loader-impl.cpp @@ -35,10 +35,11 @@ struct loader_impl final : loader_ { std::optional shader_res; PluginManager::Manager importer_plugins; - Containers::Pointer tga_importer = + Containers::Pointer image_importer = importer_plugins.loadAndInstantiate("AnyImageImporter"); - PluginManager::Manager image_converter_plugins; + Containers::Pointer tga_importer = + importer_plugins.loadAndInstantiate("TgaImporter"); std::unordered_map> tile_atlas_map; std::unordered_map> anim_atlas_map; @@ -106,9 +107,10 @@ Trade::ImageData2D loader_impl::texture(const char(&prefix)[N], StringView filen { std::memcpy(filename + len, extension.data(), extension.size()); filename[len + extension.size()] = '\0'; - if (Path::exists(filename) && tga_importer->openFile(filename)) + auto& importer = extension == StringView(".tga") ? tga_importer : image_importer; + if (Path::exists(filename) && importer->openFile(filename)) { - auto img = tga_importer->image2D(0); + auto img = importer->image2D(0); if (!img) fm_abort("can't allocate image for '%s'", filename); auto ret = std::move(*img); -- cgit v1.2.3