diff options
| author | snowstormxd <214507868+snowstormxd@users.noreply.github.com> | 2026-11-02 20:51:10 +0000 |
|---|---|---|
| committer | snowstormxd <214507868+snowstormxd@users.noreply.github.com> | 2026-11-02 20:51:10 +0000 |
| commit | b75ea7bcba60b70349274747cca04549908797bd (patch) | |
| tree | 4548e69e77326078cf3aab1c325e0ab980935520 /src/common | |
| parent | 8748e8a9045188ba46656794ee2462988378b598 (diff) | |
settings: restore the recommended MKW settings prompt
Apply accepted settings visibly and save them, then reapply after per-game configuration. Include handheld mode.
Assisted by Codex.
Diffstat (limited to 'src/common')
| -rw-r--r-- | src/common/game_presets.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/common/game_presets.h b/src/common/game_presets.h new file mode 100644 index 0000000000..f8299d948f --- /dev/null +++ b/src/common/game_presets.h @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: GPL-3.0-or-later + +#pragma once + +#include "common/settings.h" + +namespace Settings { + +inline constexpr u64 MarioKartWorldProgramId = 0x0400C3F00006E000ULL; + +inline void SetMarioKartWorldRecommendedSettings(Values& settings, bool global) { + const auto session = [global](auto& setting, auto value) { + setting.SetGlobal(global); + setting.SetValue(value); + }; + session(settings.renderer_backend, RendererBackend::Vulkan); + session(settings.resolution_setup, ResolutionSetup::Res1X); + session(settings.gpu_accuracy, GpuAccuracy::Low); + session(settings.use_asynchronous_shaders, true); + session(settings.astc_recompression, AstcRecompression::Bc3); + session(settings.vram_usage_mode, VramUsageMode::Conservative); + session(settings.use_reactive_flushing, false); + session(settings.vsync_mode, VSyncMode::FifoRelaxed); + session(settings.use_docked_mode, ConsoleMode::Handheld); +} + +inline bool ApplyMarioKartWorldPreset(Values& settings, u64 program_id, bool accepted) { + if (!accepted || program_id != MarioKartWorldProgramId) { + return false; + } + SetMarioKartWorldRecommendedSettings(settings, false); + return true; +} + +} // namespace Settings |
