mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-28 14:20:30 +00:00
GameDatabase: Add three missing settings to compatibility report
This commit is contained in:
parent
69399f3449
commit
2edcb20930
@ -97,7 +97,12 @@ static inline std::optional<T> GetOptionalTFromObject(const ryml::ConstNodeRef&
|
||||
ret = StringUtil::FromChars<T>(to_stringview(val));
|
||||
if (!ret.has_value())
|
||||
{
|
||||
if constexpr (std::is_floating_point_v<T>)
|
||||
if constexpr (std::is_same_v<T, bool>)
|
||||
{
|
||||
Log::FastWrite(Log::Channel::Log, Log::Level::Error, Log::Color::StrongOrange,
|
||||
"Unexpected non-bool value in {}", key);
|
||||
}
|
||||
else if constexpr (std::is_floating_point_v<T>)
|
||||
{
|
||||
Log::FastWrite(Log::Channel::Log, Log::Level::Error, Log::Color::StrongOrange,
|
||||
"Unexpected non-float value in {}", key);
|
||||
|
@ -850,6 +850,16 @@ static inline void AppendSettingsHeading(SmallStringBase& str, bool& heading)
|
||||
}
|
||||
}
|
||||
|
||||
static inline void AppendBoolSetting(SmallStringBase& str, bool& heading, std::string_view title,
|
||||
const std::optional<bool>& value)
|
||||
{
|
||||
if (!value.has_value())
|
||||
return;
|
||||
|
||||
AppendSettingsHeading(str, heading);
|
||||
str.append_format(" - {}: {}\n", title, value.value() ? "Enabled" : "Disabled");
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
static inline void AppendIntegerSetting(SmallStringBase& str, bool& heading, std::string_view title,
|
||||
const std::optional<T>& value)
|
||||
@ -944,11 +954,17 @@ std::string GameDatabase::Entry::GenerateCompatibilityReport() const
|
||||
&Settings::GetDisplayDeinterlacingModeDisplayName, display_deinterlacing_mode);
|
||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "DMA Max Slice Ticks"), dma_max_slice_ticks);
|
||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "DMA Halt Ticks"), dma_halt_ticks);
|
||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "CD-ROM Max Seek Speedup Cycles"),
|
||||
cdrom_max_seek_speedup_cycles);
|
||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "CD-ROM Max Read Speedup Cycles"),
|
||||
cdrom_max_read_speedup_cycles);
|
||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU FIFO Size"), gpu_fifo_size);
|
||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU Max Runahead"), gpu_max_run_ahead);
|
||||
AppendFloatSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU PGXP Tolerance"), gpu_pgxp_tolerance);
|
||||
AppendFloatSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU PGXP Depth Threshold"),
|
||||
gpu_pgxp_depth_threshold);
|
||||
AppendBoolSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU PGXP Preserve Projection Precision"),
|
||||
gpu_pgxp_preserve_proj_fp);
|
||||
AppendEnumSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU Line Detect Mode"),
|
||||
&Settings::GetLineDetectModeDisplayName, gpu_line_detect_mode);
|
||||
|
||||
|
@ -263,7 +263,7 @@ void AdvancedSettingsWidget::addTweakOptions()
|
||||
Settings::DEFAULT_DMA_HALT_TICKS, tr(" cycles"));
|
||||
addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("GPU FIFO Size"), "Hacks", "GPUFIFOSize", 16, 4096,
|
||||
Settings::DEFAULT_GPU_FIFO_SIZE, tr(" words"));
|
||||
addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("GPU Max Run-Ahead"), "Hacks", "GPUMaxRunAhead", 0, 1000,
|
||||
addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("GPU Max Runahead"), "Hacks", "GPUMaxRunAhead", 0, 1000,
|
||||
Settings::DEFAULT_GPU_MAX_RUN_AHEAD, tr(" cycles"));
|
||||
|
||||
addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Enable Recompiler Memory Exceptions"), "CPU",
|
||||
@ -322,7 +322,7 @@ void AdvancedSettingsWidget::onResetToDefaultClicked()
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, i++,
|
||||
static_cast<int>(Settings::DEFAULT_GPU_FIFO_SIZE)); // GPU FIFO size
|
||||
setIntRangeTweakOption(m_ui.tweakOptionTable, i++,
|
||||
static_cast<int>(Settings::DEFAULT_GPU_MAX_RUN_AHEAD)); // GPU max run-ahead
|
||||
static_cast<int>(Settings::DEFAULT_GPU_MAX_RUN_AHEAD)); // GPU max runahead
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, false); // Recompiler memory exceptions
|
||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Recompiler block linking
|
||||
setChoiceTweakOption(m_ui.tweakOptionTable, i++,
|
||||
|
Loading…
x
Reference in New Issue
Block a user