Files
OptiScaler/CyberXeSS/Config.h
T
Cetin Ozdil 38087b1ae7 added cas support and refactored code a lot
now its following dlss feature concept more closely
2024-01-06 14:59:23 +03:00

61 lines
1.5 KiB
C++

#pragma once
#include "pch.h"
class Config
{
public:
Config(std::wstring fileName);
// Depth
std::optional<bool> DepthInverted;
// Color
std::optional<bool> AutoExposure;
std::optional<bool> HDR;
// Motion
std::optional<bool> JitterCancellation;
std::optional<bool> DisplayResolution;
// XeSS
std::optional<bool> DelayedInit;
std::optional<bool> BuildPipelines;
std::optional<bool> XeSSLogging;
std::optional<std::string> LogFile;
std::optional<int32_t> NetworkModel;
std::optional<int> LogLevel;
// CAS
std::optional<bool> CasEnabled;
std::optional<int> ColorSpaceConversion;
std::optional<float> CasSharpness;
// Upscale Ratio Override
std::optional<bool> UpscaleRatioOverrideEnabled;
std::optional<float> UpscaleRatioOverrideValue;
// Quality Overrides
std::optional<bool> QualityRatioOverrideEnabled;
std::optional<float> QualityRatio_UltraQuality;
std::optional<float> QualityRatio_Quality;
std::optional<float> QualityRatio_Balanced;
std::optional<float> QualityRatio_Performance;
std::optional<float> QualityRatio_UltraPerformance;
//Hotfix for Steam Deck
std::optional<bool> DisableReactiveMask;
void Reload();
private:
CSimpleIniA ini;
std::filesystem::path absoluteFileName;
std::optional<std::string> readString(std::string section, std::string key, bool lowercase = false);
std::optional<float> readFloat(std::string section, std::string key);
std::optional<int> readInt(std::string section, std::string key);
std::optional<bool> readBool(std::string section, std::string key);
};