summaryrefslogtreecommitdiff
path: root/Source/Core/VideoCommon/Assets
diff options
context:
space:
mode:
authoriwubcode <iwubcode@users.noreply.github.com>2024-07-04 17:41:49 -0500
committeriwubcode <iwubcode@users.noreply.github.com>2025-06-06 23:03:02 -0500
commit2ae43324cb23510bfaeb749dfa2bdc4c4c66c554 (patch)
treeb0e3e18bf2014289d5953b699e5c497fdf1aabc3 /Source/Core/VideoCommon/Assets
parent7d59c2743d4c63f9e6c83de6a245f9bf3b3c2902 (diff)
VideoCommon: move AssetMap to a types header file, so it can be pulled in without the DirectFilesystemAssetLibrary dependencies, the header will be expanded later
Diffstat (limited to 'Source/Core/VideoCommon/Assets')
-rw-r--r--Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp10
-rw-r--r--Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.h9
-rw-r--r--Source/Core/VideoCommon/Assets/Types.h13
3 files changed, 22 insertions, 10 deletions
diff --git a/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp b/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp
index 149a646639..6d67269518 100644
--- a/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp
+++ b/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.cpp
@@ -396,10 +396,10 @@ CustomAssetLibrary::LoadInfo DirectFilesystemAssetLibrary::LoadTexture(const Ass
}
void DirectFilesystemAssetLibrary::SetAssetIDMapData(const AssetID& asset_id,
- AssetMap asset_path_map)
+ VideoCommon::Assets::AssetMap asset_path_map)
{
std::lock_guard lk(m_lock);
- m_assetid_to_asset_map_path[asset_id] = std::move(asset_path_map);
+ m_asset_id_to_asset_map_path[asset_id] = std::move(asset_path_map);
}
bool DirectFilesystemAssetLibrary::LoadMips(const std::filesystem::path& asset_path,
@@ -454,12 +454,12 @@ bool DirectFilesystemAssetLibrary::LoadMips(const std::filesystem::path& asset_p
return true;
}
-DirectFilesystemAssetLibrary::AssetMap
+VideoCommon::Assets::AssetMap
DirectFilesystemAssetLibrary::GetAssetMapForID(const AssetID& asset_id) const
{
std::lock_guard lk(m_lock);
- if (auto iter = m_assetid_to_asset_map_path.find(asset_id);
- iter != m_assetid_to_asset_map_path.end())
+ if (auto iter = m_asset_id_to_asset_map_path.find(asset_id);
+ iter != m_asset_id_to_asset_map_path.end())
{
return iter->second;
}
diff --git a/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.h b/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.h
index 8c20fa4f42..97f6118969 100644
--- a/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.h
+++ b/Source/Core/VideoCommon/Assets/DirectFilesystemAssetLibrary.h
@@ -10,6 +10,7 @@
#include "VideoCommon/Assets/CustomAssetLibrary.h"
#include "VideoCommon/Assets/CustomTextureData.h"
+#include "VideoCommon/Assets/Types.h"
namespace VideoCommon
{
@@ -18,8 +19,6 @@ namespace VideoCommon
class DirectFilesystemAssetLibrary final : public CustomAssetLibrary
{
public:
- using AssetMap = std::map<std::string, std::filesystem::path>;
-
LoadInfo LoadTexture(const AssetID& asset_id, TextureData* data) override;
LoadInfo LoadPixelShader(const AssetID& asset_id, PixelShaderData* data) override;
LoadInfo LoadMaterial(const AssetID& asset_id, MaterialData* data) override;
@@ -28,16 +27,16 @@ public:
// Assigns the asset id to a map of files, how this map is read is dependent on the data
// For instance, a raw texture would expect the map to have a single entry and load that
// file as the asset. But a model file data might have its data spread across multiple files
- void SetAssetIDMapData(const AssetID& asset_id, AssetMap asset_path_map);
+ void SetAssetIDMapData(const AssetID& asset_id, Assets::AssetMap asset_path_map);
private:
// Loads additional mip levels into the texture structure until _mip<N> texture is not found
bool LoadMips(const std::filesystem::path& asset_path, CustomTextureData::ArraySlice* data);
// Gets the asset map given an asset id
- AssetMap GetAssetMapForID(const AssetID& asset_id) const;
+ Assets::AssetMap GetAssetMapForID(const AssetID& asset_id) const;
mutable std::mutex m_lock;
- std::map<AssetID, std::map<std::string, std::filesystem::path>> m_assetid_to_asset_map_path;
+ std::map<AssetID, Assets::AssetMap> m_asset_id_to_asset_map_path;
};
} // namespace VideoCommon
diff --git a/Source/Core/VideoCommon/Assets/Types.h b/Source/Core/VideoCommon/Assets/Types.h
new file mode 100644
index 0000000000..c10d45587c
--- /dev/null
+++ b/Source/Core/VideoCommon/Assets/Types.h
@@ -0,0 +1,13 @@
+// Copyright 2024 Dolphin Emulator Project
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#pragma once
+
+#include <filesystem>
+#include <map>
+#include <string>
+
+namespace VideoCommon::Assets
+{
+using AssetMap = std::map<std::string, std::filesystem::path>;
+}