Core / DolphinQt / InputCommon: reduce the number disk writes when using DynamicInputTextures

This commit is contained in:
iwubcode
2025-01-25 21:49:32 -06:00
parent 18979129f3
commit d03f9032c1
15 changed files with 102 additions and 42 deletions

View File

@ -3,11 +3,13 @@
#pragma once
#include <map>
#include <string>
#include <vector>
#include "Common/CommonTypes.h"
#include "InputCommon/DynamicInputTextures/DITData.h"
#include "InputCommon/ImageOperations.h"
namespace Common
{
@ -16,18 +18,21 @@ class IniFile;
namespace InputCommon::DynamicInputTextures
{
// Output folder name to image name to image data
using OutputDetails = std::map<std::string, std::map<std::string, ImagePixelData>>;
class Configuration
{
public:
explicit Configuration(const std::string& json_path);
~Configuration();
bool GenerateTextures(const Common::IniFile& file,
const std::vector<std::string>& controller_names) const;
void GenerateTextures(const Common::IniFile& file,
const std::vector<std::string>& controller_names,
OutputDetails* output) const;
private:
bool GenerateTexture(const Common::IniFile& file,
const std::vector<std::string>& controller_names,
const Data& texture_data) const;
void GenerateTexture(const Common::IniFile& file,
const std::vector<std::string>& controller_names, const Data& texture_data,
OutputDetails* output) const;
std::vector<Data> m_dynamic_input_textures;
std::string m_base_path;