mirror of
				https://git.suyu.dev/suyu/suyu.git
				synced 2025-11-04 12:34:39 +08:00 
			
		
		
		
	settings: Move settings sanitization to its own function
Creates a new function that can be expanded later to fix other settings that are known to cause emulation errors across executables.
This commit is contained in:
		
							parent
							
								
									8160e142e1
								
							
						
					
					
						commit
						6d1477f214
					
				@ -184,4 +184,10 @@ void RestoreGlobalState() {
 | 
			
		||||
    values.sound_index.SetGlobal(true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Sanitize() {
 | 
			
		||||
    values.use_asynchronous_gpu_emulation.SetValue(
 | 
			
		||||
        values.use_asynchronous_gpu_emulation.GetValue() ||
 | 
			
		||||
        values.use_multi_core.GetValue());
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
} // namespace Settings
 | 
			
		||||
 | 
			
		||||
@ -539,4 +539,7 @@ void LogSettings();
 | 
			
		||||
// Restore the global state of all applicable settings in the Values struct
 | 
			
		||||
void RestoreGlobalState();
 | 
			
		||||
 | 
			
		||||
// Fixes settings that are known to cause issues with the emulator
 | 
			
		||||
void Sanitize();
 | 
			
		||||
 | 
			
		||||
} // namespace Settings
 | 
			
		||||
 | 
			
		||||
@ -1342,11 +1342,13 @@ void Config::WriteSettingGlobal(const QString& name, const QVariant& value, bool
 | 
			
		||||
 | 
			
		||||
void Config::Reload() {
 | 
			
		||||
    ReadValues();
 | 
			
		||||
    Settings::Sanitize();
 | 
			
		||||
    // To apply default value changes
 | 
			
		||||
    SaveValues();
 | 
			
		||||
    Settings::Apply();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void Config::Save() {
 | 
			
		||||
    Settings::Sanitize();
 | 
			
		||||
    SaveValues();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -1053,10 +1053,6 @@ void GMainWindow::BootGame(const QString& filename) {
 | 
			
		||||
    if (!(loader == nullptr || loader->ReadProgramId(title_id) != Loader::ResultStatus::Success)) {
 | 
			
		||||
        // Load per game settings
 | 
			
		||||
        Config per_game_config(fmt::format("{:016X}.ini", title_id), false);
 | 
			
		||||
 | 
			
		||||
        Settings::values.use_asynchronous_gpu_emulation.SetValue(
 | 
			
		||||
            Settings::values.use_asynchronous_gpu_emulation.GetValue() ||
 | 
			
		||||
            Settings::values.use_multi_core.GetValue());
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Settings::LogSettings();
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user