use that new PutSettingsDirtyBits effectively for melonds

This commit is contained in:
zeromus 2020-04-23 21:24:14 -04:00
parent 10bceeb0dc
commit 8d92b4b258
2 changed files with 11 additions and 1 deletions

View File

@ -2310,6 +2310,8 @@ namespace BizHawk.Client.EmuHawk
var dirty = settable.PutSettings(o);
if(dirty.HasFlag(PutSettingsDirtyBits.RebootCore))
FlagNeedsReboot();
if (dirty.HasFlag(PutSettingsDirtyBits.ScreenLayoutChanged))
FrameBufferResized();
}
// TODO: Get/Put settings/sync settings methods could become a service we instantiate and use and pass to other forms

View File

@ -32,9 +32,17 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
public PutSettingsDirtyBits PutSettings(MelonSettings o)
{
bool screenChanged = false;
if (_settings != null)
{
screenChanged |= _settings.ScaleFactor != o.ScaleFactor;
screenChanged |= _settings.ScreenGap != o.ScreenGap;
screenChanged |= _settings.ScreenLayout != o.ScreenLayout;
screenChanged |= _settings.ScreenRotation != o.ScreenRotation;
}
_settings = o ?? new MelonSettings();
SetScaleFactor(_settings.ScaleFactor);
return PutSettingsDirtyBits.None;
return screenChanged ? PutSettingsDirtyBits.None : PutSettingsDirtyBits.None;
}
public PutSettingsDirtyBits PutSyncSettings(MelonSyncSettings o)