2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2025-09-12 19:47:27 +00:00

refactor: streamline IW5 asset loading

This commit is contained in:
Jan Laupetin
2025-08-05 00:23:06 +02:00
parent b5c9567389
commit 81a67151b5
32 changed files with 868 additions and 929 deletions

View File

@@ -1,6 +1,7 @@
#include "LoaderImageIW5.h"
#include "Game/IW5/IW5.h"
#include "Image/ImageCommon.h"
#include "Image/IwiLoader.h"
#include <cstring>
@@ -9,6 +10,7 @@
#include <sstream>
using namespace IW5;
using namespace ::image;
namespace
{
@@ -25,7 +27,7 @@ namespace
AssetCreationResult CreateAsset(const std::string& assetName, AssetCreationContext& context) override
{
const auto fileName = std::format("images/{}.iwi", assetName);
const auto fileName = GetFileNameForAsset(assetName, ".iwi");
const auto file = m_search_path.Open(fileName);
if (!file.IsOpen())
return AssetCreationResult::NoAction();
@@ -60,10 +62,10 @@ namespace
};
} // namespace
namespace IW5
namespace IW5::image
{
std::unique_ptr<AssetCreator<AssetImage>> CreateImageLoader(MemoryManager& memory, ISearchPath& searchPath)
std::unique_ptr<AssetCreator<AssetImage>> CreateLoader(MemoryManager& memory, ISearchPath& searchPath)
{
return std::make_unique<ImageLoader>(memory, searchPath);
}
} // namespace IW5
} // namespace IW5::image