mirror of
https://github.com/stenzek/duckstation.git
synced 2025-06-29 14:50:20 +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));
|
ret = StringUtil::FromChars<T>(to_stringview(val));
|
||||||
if (!ret.has_value())
|
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,
|
Log::FastWrite(Log::Channel::Log, Log::Level::Error, Log::Color::StrongOrange,
|
||||||
"Unexpected non-float value in {}", key);
|
"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>
|
template<typename T>
|
||||||
static inline void AppendIntegerSetting(SmallStringBase& str, bool& heading, std::string_view title,
|
static inline void AppendIntegerSetting(SmallStringBase& str, bool& heading, std::string_view title,
|
||||||
const std::optional<T>& value)
|
const std::optional<T>& value)
|
||||||
@ -944,11 +954,17 @@ std::string GameDatabase::Entry::GenerateCompatibilityReport() const
|
|||||||
&Settings::GetDisplayDeinterlacingModeDisplayName, display_deinterlacing_mode);
|
&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 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", "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 FIFO Size"), gpu_fifo_size);
|
||||||
AppendIntegerSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU Max Runahead"), gpu_max_run_ahead);
|
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 Tolerance"), gpu_pgxp_tolerance);
|
||||||
AppendFloatSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU PGXP Depth Threshold"),
|
AppendFloatSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU PGXP Depth Threshold"),
|
||||||
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"),
|
AppendEnumSetting(ret, settings_heading, TRANSLATE_SV("GameDatabase", "GPU Line Detect Mode"),
|
||||||
&Settings::GetLineDetectModeDisplayName, gpu_line_detect_mode);
|
&Settings::GetLineDetectModeDisplayName, gpu_line_detect_mode);
|
||||||
|
|
||||||
|
@ -263,7 +263,7 @@ void AdvancedSettingsWidget::addTweakOptions()
|
|||||||
Settings::DEFAULT_DMA_HALT_TICKS, tr(" cycles"));
|
Settings::DEFAULT_DMA_HALT_TICKS, tr(" cycles"));
|
||||||
addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("GPU FIFO Size"), "Hacks", "GPUFIFOSize", 16, 4096,
|
addIntRangeTweakOption(m_dialog, m_ui.tweakOptionTable, tr("GPU FIFO Size"), "Hacks", "GPUFIFOSize", 16, 4096,
|
||||||
Settings::DEFAULT_GPU_FIFO_SIZE, tr(" words"));
|
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"));
|
Settings::DEFAULT_GPU_MAX_RUN_AHEAD, tr(" cycles"));
|
||||||
|
|
||||||
addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Enable Recompiler Memory Exceptions"), "CPU",
|
addBooleanTweakOption(m_dialog, m_ui.tweakOptionTable, tr("Enable Recompiler Memory Exceptions"), "CPU",
|
||||||
@ -322,7 +322,7 @@ void AdvancedSettingsWidget::onResetToDefaultClicked()
|
|||||||
setIntRangeTweakOption(m_ui.tweakOptionTable, i++,
|
setIntRangeTweakOption(m_ui.tweakOptionTable, i++,
|
||||||
static_cast<int>(Settings::DEFAULT_GPU_FIFO_SIZE)); // GPU FIFO size
|
static_cast<int>(Settings::DEFAULT_GPU_FIFO_SIZE)); // GPU FIFO size
|
||||||
setIntRangeTweakOption(m_ui.tweakOptionTable, i++,
|
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++, false); // Recompiler memory exceptions
|
||||||
setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Recompiler block linking
|
setBooleanTweakOption(m_ui.tweakOptionTable, i++, true); // Recompiler block linking
|
||||||
setChoiceTweakOption(m_ui.tweakOptionTable, i++,
|
setChoiceTweakOption(m_ui.tweakOptionTable, i++,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user