| 3205 | } |
| 3206 | |
| 3207 | void VMManager::WarnAboutUnsafeSettings() |
| 3208 | { |
| 3209 | if (!EmuConfig.WarnAboutUnsafeSettings) |
| 3210 | return; |
| 3211 | |
| 3212 | std::string messages; |
| 3213 | auto append = [&messages](const char* icon, const std::string_view msg) { |
| 3214 | messages += icon; |
| 3215 | messages += ' '; |
| 3216 | messages += msg; |
| 3217 | messages += '\n'; |
| 3218 | }; |
| 3219 | |
| 3220 | if (EmuConfig.Speedhacks.fastCDVD) |
| 3221 | append(ICON_FA_COMPACT_DISC, TRANSLATE_SV("VMManager", "Fast CDVD is enabled, this may break games.")); |
| 3222 | if (EmuConfig.Speedhacks.EECycleRate != 0 || EmuConfig.Speedhacks.EECycleSkip != 0) |
| 3223 | { |
| 3224 | append(ICON_FA_GAUGE_SIMPLE_HIGH, |
| 3225 | TRANSLATE_SV("VMManager", "Cycle rate/skip is not at default, this may crash or make games run too slow.")); |
| 3226 | } |
| 3227 | |
| 3228 | const bool is_sw_renderer = EmuConfig.GS.Renderer == GSRendererType::SW; |
| 3229 | if (!is_sw_renderer) |
| 3230 | { |
| 3231 | // HW renderer settings. |
| 3232 | if (EmuConfig.GS.UpscaleMultiplier < 1.0f) |
| 3233 | { |
| 3234 | append(ICON_FA_TV, |
| 3235 | TRANSLATE_SV("VMManager", "Upscale multiplier is below native, this will break rendering.")); |
| 3236 | } |
| 3237 | if (EmuConfig.GS.TriFilter != TriFiltering::Automatic) |
| 3238 | { |
| 3239 | append(ICON_FA_PAGER, |
| 3240 | TRANSLATE_SV("VMManager", "Trilinear filtering is not set to automatic. This may break rendering in some games.")); |
| 3241 | } |
| 3242 | if (EmuConfig.GS.AccurateBlendingUnit <= AccBlendLevel::Minimum) |
| 3243 | { |
| 3244 | append(ICON_FA_PAINTBRUSH, |
| 3245 | TRANSLATE_SV("VMManager", "Blending Accuracy is below Basic, this may break effects in some games.")); |
| 3246 | } |
| 3247 | if (EmuConfig.GS.HWDownloadMode > GSHardwareDownloadMode::EnabledForceFull) |
| 3248 | { |
| 3249 | append(ICON_FA_DOWNLOAD, |
| 3250 | TRANSLATE_SV("VMManager", "Hardware Download Mode is not set to Accurate, this may break rendering in some games.")); |
| 3251 | } |
| 3252 | if (EmuConfig.GS.GPUPaletteConversion) |
| 3253 | { |
| 3254 | append(ICON_FA_CIRCLE_EXCLAMATION, |
| 3255 | TRANSLATE_SV("VMManager", "GPU Palette Conversion is enabled, this may reduce performance.")); |
| 3256 | } |
| 3257 | if (EmuConfig.GS.TexturePreloading != TexturePreloadingLevel::Full) |
| 3258 | { |
| 3259 | append(ICON_FA_CIRCLE_EXCLAMATION, |
| 3260 | TRANSLATE_SV("VMManager", "Texture Preloading is not Full, this may reduce performance.")); |
| 3261 | } |
| 3262 | if (EmuConfig.GS.UserHacks_EstimateTextureRegion) |
| 3263 | { |
| 3264 | append(ICON_FA_CIRCLE_EXCLAMATION, |