for your consideration: sync settings return flags instead of a bool, so we can have more granularity in what needs resetting than just "reboot core". for instance, we would like to minimize the number of times the window layout is redone by not doing it when the screen settings havent changed. HOWEVER, while I was writing this commit message, I realized, I should probably do it just by being more cautious in kicking off the layout (unless the data coming from the core has changed, a layout shouldnt happen). So I am going to make this commit, in case it inspires anyone, and then revert it.
This commit is contained in:
parent
c5ff7edba9
commit
c878c85dae
|
@ -195,7 +195,7 @@ namespace BizHawk.Client.Common
|
|||
_ => (object) null
|
||||
};
|
||||
|
||||
public bool PutSettings(object settings) => Emulator switch
|
||||
public PutSettingsDirtyBits PutSettings(object settings) => Emulator switch
|
||||
{
|
||||
GPGX gpgx => gpgx.PutSettings((GPGX.GPGXSettings) settings),
|
||||
LibsnesCore snes => snes.PutSettings((LibsnesCore.SnesSettings) settings),
|
||||
|
@ -204,7 +204,7 @@ namespace BizHawk.Client.Common
|
|||
QuickNES quickNes => quickNes.PutSettings((QuickNES.QuickNESSettings) settings),
|
||||
SMS sms => sms.PutSettings((SMS.SmsSettings) settings),
|
||||
WonderSwan ws => ws.PutSettings((WonderSwan.Settings) settings),
|
||||
_ => false
|
||||
_ => PutSettingsDirtyBits.None
|
||||
};
|
||||
|
||||
public void SetRenderPlanes(params bool[] args)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Client.Common
|
||||
{
|
||||
|
@ -26,7 +27,7 @@ namespace BizHawk.Client.Common
|
|||
string GetDisplayType();
|
||||
string GetBoardName();
|
||||
object GetSettings();
|
||||
bool PutSettings(object settings);
|
||||
PutSettingsDirtyBits PutSettings(object settings);
|
||||
void SetRenderPlanes(params bool[] args);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2305,10 +2305,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
public void PutCoreSettings(object o)
|
||||
{
|
||||
var settable = new SettingsAdapter(Emulator);
|
||||
if (settable.HasSettings && settable.PutSettings(o))
|
||||
{
|
||||
if (!settable.HasSettings)
|
||||
return;
|
||||
var dirty = settable.PutSettings(o);
|
||||
if(dirty.HasFlag(PutSettingsDirtyBits.RebootCore))
|
||||
FlagNeedsReboot();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO: Get/Put settings/sync settings methods could become a service we instantiate and use and pass to other forms
|
||||
|
@ -2322,9 +2323,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
AddOnScreenMessage("Attempt to change sync-relevant settings while recording BLOCKED.");
|
||||
}
|
||||
else if (settable.HasSyncSettings && settable.PutSyncSettings(o))
|
||||
else
|
||||
{
|
||||
FlagNeedsReboot();
|
||||
if (!settable.HasSyncSettings)
|
||||
return;
|
||||
var dirty = settable.PutSyncSettings(o);
|
||||
if(dirty.HasFlag(PutSettingsDirtyBits.RebootCore))
|
||||
FlagNeedsReboot();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ namespace BizHawk.Emulation.Common
|
|||
/// </summary>
|
||||
/// <param name="o">an object of the same type as the return for GetSettings</param>
|
||||
/// <returns>true if a core reboot will be required to make the changes effective</returns>
|
||||
bool PutSettings(TSettings o);
|
||||
PutSettingsDirtyBits PutSettings(TSettings o);
|
||||
|
||||
/// <summary>
|
||||
/// changes the movie-sync relevant settings. THIS SHOULD NEVER BE CALLED WHILE RECORDING
|
||||
|
@ -49,7 +49,19 @@ namespace BizHawk.Emulation.Common
|
|||
/// </summary>
|
||||
/// <param name="o">an object of the same type as the return for GetSyncSettings</param>
|
||||
/// <returns>true if a core reboot will be required to make the changes effective</returns>
|
||||
bool PutSyncSettings(TSync o);
|
||||
PutSettingsDirtyBits PutSyncSettings(TSync o);
|
||||
}
|
||||
|
||||
//note: this is a bit of a frail API. If a frontend wants a new flag, cores won't know to yea or nay it
|
||||
//this could be solved by adding a KnownSettingsDirtyBits on the settings interface
|
||||
//or, in a pinch, the same thing could be done with THESE flags, so that the interface doesn't
|
||||
//change but newly-aware cores can simply manifest that they know about more bits, in the same variable they return the bits in
|
||||
[Flags]
|
||||
public enum PutSettingsDirtyBits
|
||||
{
|
||||
None = 0,
|
||||
RebootCore = 1,
|
||||
ScreenLayoutChanged = 2,
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
@ -126,7 +138,7 @@ namespace BizHawk.Emulation.Common
|
|||
}
|
||||
|
||||
/// <exception cref="InvalidOperationException">does not have non-sync settings</exception>
|
||||
public bool PutSettings(object o)
|
||||
public PutSettingsDirtyBits PutSettings(object o)
|
||||
{
|
||||
if (!HasSettings)
|
||||
{
|
||||
|
@ -134,11 +146,11 @@ namespace BizHawk.Emulation.Common
|
|||
}
|
||||
|
||||
_tmp1[0] = o;
|
||||
return (bool)_puts.Invoke(_emu, _tmp1);
|
||||
return (PutSettingsDirtyBits)_puts.Invoke(_emu, _tmp1);
|
||||
}
|
||||
|
||||
/// <exception cref="InvalidOperationException">does not have sync settings</exception>
|
||||
public bool PutSyncSettings(object o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(object o)
|
||||
{
|
||||
if (!HasSyncSettings)
|
||||
{
|
||||
|
@ -146,7 +158,7 @@ namespace BizHawk.Emulation.Common
|
|||
}
|
||||
|
||||
_tmp1[0] = o;
|
||||
return (bool)_putss.Invoke(_emu, _tmp1);
|
||||
return (PutSettingsDirtyBits)_putss.Invoke(_emu, _tmp1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -257,18 +257,18 @@ namespace BizHawk.Emulation.Cores.Arcades.MAME
|
|||
#region ISettable
|
||||
|
||||
public object GetSettings() => null;
|
||||
public bool PutSettings(object o) => false;
|
||||
public PutSettingsDirtyBits PutSettings(object o) => PutSettingsDirtyBits.None;
|
||||
|
||||
public SyncSettings GetSyncSettings()
|
||||
{
|
||||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
bool ret = SyncSettings.NeedsReboot(o, _syncSettings);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class SyncSettings
|
||||
|
|
|
@ -11,10 +11,10 @@ namespace BizHawk.Emulation.Cores.Calculators
|
|||
return _settings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(TI83Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(TI83Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public object GetSyncSettings()
|
||||
|
@ -22,9 +22,9 @@ namespace BizHawk.Emulation.Cores.Calculators
|
|||
return null;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(object o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(object o)
|
||||
{
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class TI83Settings
|
||||
|
|
|
@ -25,7 +25,7 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC
|
|||
return SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(AmstradCPCSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(AmstradCPCSettings o)
|
||||
{
|
||||
|
||||
// restore user settings to devices
|
||||
|
@ -42,14 +42,14 @@ namespace BizHawk.Emulation.Cores.Computers.AmstradCPC
|
|||
|
||||
Settings = o;
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(AmstradCPCSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(AmstradCPCSyncSettings o)
|
||||
{
|
||||
bool ret = AmstradCPCSyncSettings.NeedsReboot(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class AmstradCPCSettings
|
||||
|
|
|
@ -20,16 +20,16 @@ namespace BizHawk.Emulation.Cores.Computers.AppleII
|
|||
|
||||
public object GetSyncSettings() => null;
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
_machine.Video.IsMonochrome = _settings.Monochrome;
|
||||
|
||||
SetCallbacks();
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(object o) => false;
|
||||
public PutSettingsDirtyBits PutSyncSettings(object o) => PutSettingsDirtyBits.None;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -16,16 +16,16 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64
|
|||
return SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(C64Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(C64Settings o)
|
||||
{
|
||||
Settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(C64SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(C64SyncSettings o)
|
||||
{
|
||||
SyncSettings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
internal C64Settings Settings { get; private set; }
|
||||
|
|
|
@ -16,18 +16,18 @@ namespace BizHawk.Emulation.Cores.Computers.MSX
|
|||
return SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(MSXSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(MSXSettings o)
|
||||
{
|
||||
bool ret = MSXSettings.RebootNeeded(Settings, o);
|
||||
Settings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(MSXSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(MSXSyncSettings o)
|
||||
{
|
||||
bool ret = MSXSyncSettings.RebootNeeded(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
internal MSXSettings Settings { get; private set; }
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
|||
|
||||
public ZXSpectrumSyncSettings GetSyncSettings() => SyncSettings.Clone();
|
||||
|
||||
public bool PutSettings(ZXSpectrumSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(ZXSpectrumSettings o)
|
||||
{
|
||||
// restore user settings to devices
|
||||
if (_machine?.AYDevice != null)
|
||||
|
@ -39,14 +39,14 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
|
|||
|
||||
Settings = o;
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(ZXSpectrumSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(ZXSpectrumSyncSettings o)
|
||||
{
|
||||
bool ret = ZXSpectrumSyncSettings.NeedsReboot(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class ZXSpectrumSettings
|
||||
|
|
|
@ -21,7 +21,7 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
return SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(A2600Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(A2600Settings o)
|
||||
{
|
||||
if (Settings == null || Settings.SECAMColors != o.SECAMColors)
|
||||
{
|
||||
|
@ -29,14 +29,14 @@ namespace BizHawk.Emulation.Cores.Atari.Atari2600
|
|||
}
|
||||
|
||||
Settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(A2600SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(A2600SyncSettings o)
|
||||
{
|
||||
bool ret = A2600SyncSettings.NeedsReboot(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
internal A2600Settings Settings { get; private set; }
|
||||
|
|
|
@ -18,17 +18,17 @@ namespace BizHawk.Emulation.Cores.Atari.A7800Hawk
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(A7800Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(A7800Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(A7800SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(A7800SyncSettings o)
|
||||
{
|
||||
bool ret = A7800SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private A7800Settings _settings = new A7800Settings();
|
||||
|
|
|
@ -18,18 +18,18 @@ namespace BizHawk.Emulation.Cores.ColecoVision
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(ColecoSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(ColecoSettings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(ColecoSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(ColecoSyncSettings o)
|
||||
{
|
||||
bool ret = o.SkipBiosIntro != _syncSettings.SkipBiosIntro;
|
||||
ret |= ColecoSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class ColecoSettings
|
||||
|
|
|
@ -19,17 +19,17 @@ namespace BizHawk.Emulation.Cores.Consoles.ChannelF
|
|||
return SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(ChannelFSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(ChannelFSettings o)
|
||||
{
|
||||
Settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(ChannelFSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(ChannelFSyncSettings o)
|
||||
{
|
||||
bool ret = ChannelFSyncSettings.NeedsReboot(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class ChannelFSettings
|
||||
|
|
|
@ -19,17 +19,17 @@ namespace BizHawk.Emulation.Cores.Consoles.Vectrex
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(VectrexSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(VectrexSettings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(VectrexSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(VectrexSyncSettings o)
|
||||
{
|
||||
bool ret = VectrexSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private VectrexSettings _settings = new VectrexSettings();
|
||||
|
|
|
@ -18,17 +18,17 @@ namespace BizHawk.Emulation.Cores.Intellivision
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(IntvSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(IntvSettings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(IntvSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(IntvSyncSettings o)
|
||||
{
|
||||
bool ret = IntvSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private IntvSettings _settings = new IntvSettings();
|
||||
|
|
|
@ -16,17 +16,17 @@ namespace BizHawk.Emulation.Cores.Consoles.O2Hawk
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(O2Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(O2Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(O2SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(O2SyncSettings o)
|
||||
{
|
||||
bool ret = O2SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public O2Settings _settings = new O2Settings();
|
||||
|
|
|
@ -330,19 +330,19 @@ namespace BizHawk.Emulation.Cores.Consoles.NEC.PCFX
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
var ret = Settings.NeedsReboot(_settings, o);
|
||||
_settings = o;
|
||||
SetLayerSettings();
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private void SetNativeSettingsBeforeInit()
|
||||
|
|
|
@ -15,7 +15,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
|||
return _settings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
LibmGBA.Layers mask = 0;
|
||||
if (o.DisplayBG0) mask |= LibmGBA.Layers.BG0;
|
||||
|
@ -51,7 +51,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
|||
LibmGBA.BizSetPalette(Core, palette);
|
||||
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private Settings _settings;
|
||||
|
@ -139,11 +139,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
bool ret = SyncSettings.NeedsReboot(o, _syncSettings);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private SyncSettings _syncSettings;
|
||||
|
|
|
@ -18,16 +18,16 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBA
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(object o)
|
||||
public PutSettingsDirtyBits PutSettings(object o)
|
||||
{
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
bool ret = SyncSettings.NeedsReboot(o, _syncSettings);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private SyncSettings _syncSettings;
|
||||
|
|
|
@ -20,17 +20,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawk
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(GBSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GBSettings o)
|
||||
{
|
||||
_settings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GBSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GBSyncSettings o)
|
||||
{
|
||||
bool ret = GBSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private GBSettings _settings = new GBSettings();
|
||||
|
|
|
@ -14,17 +14,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink
|
|||
|
||||
public GBLinkSyncSettings GetSyncSettings() => linkSyncSettings.Clone();
|
||||
|
||||
public bool PutSettings(GBLinkSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GBLinkSettings o)
|
||||
{
|
||||
linkSettings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GBLinkSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GBLinkSyncSettings o)
|
||||
{
|
||||
bool ret = GBLinkSyncSettings.NeedsReboot(linkSyncSettings, o);
|
||||
linkSyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private GBLinkSettings linkSettings = new GBLinkSettings();
|
||||
|
|
|
@ -14,17 +14,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink3x
|
|||
|
||||
public GBLink3xSyncSettings GetSyncSettings() => Link3xSyncSettings.Clone();
|
||||
|
||||
public bool PutSettings(GBLink3xSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GBLink3xSettings o)
|
||||
{
|
||||
Link3xSettings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GBLink3xSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GBLink3xSyncSettings o)
|
||||
{
|
||||
bool ret = GBLink3xSyncSettings.NeedsReboot(Link3xSyncSettings, o);
|
||||
Link3xSyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private GBLink3xSettings Link3xSettings = new GBLink3xSettings();
|
||||
|
|
|
@ -14,17 +14,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.GBHawkLink4x
|
|||
|
||||
public GBLink4xSyncSettings GetSyncSettings() => Link4xSyncSettings.Clone();
|
||||
|
||||
public bool PutSettings(GBLink4xSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GBLink4xSettings o)
|
||||
{
|
||||
Link4xSettings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GBLink4xSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GBLink4xSyncSettings o)
|
||||
{
|
||||
bool ret = GBLink4xSyncSettings.NeedsReboot(Link4xSyncSettings, o);
|
||||
Link4xSyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private GBLink4xSettings Link4xSettings = new GBLink4xSettings();
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
return _settings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(GambatteSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GambatteSettings o)
|
||||
{
|
||||
_settings = o;
|
||||
if (IsCGBMode())
|
||||
|
@ -26,7 +26,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
ChangeDMGColors(_settings.GBPalette);
|
||||
}
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public GambatteSyncSettings GetSyncSettings()
|
||||
|
@ -34,11 +34,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GambatteSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GambatteSyncSettings o)
|
||||
{
|
||||
bool ret = GambatteSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private GambatteSettings _settings;
|
||||
|
|
|
@ -21,14 +21,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
|
|||
);
|
||||
}
|
||||
|
||||
public bool PutSettings(GambatteLinkSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GambatteLinkSettings o)
|
||||
{
|
||||
return L.PutSettings(o.L) || R.PutSettings(o.R);
|
||||
return (PutSettingsDirtyBits)((int)L.PutSettings(o.L) | (int)R.PutSettings(o.R));
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GambatteLinkSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GambatteLinkSyncSettings o)
|
||||
{
|
||||
return L.PutSyncSettings(o.L) || R.PutSyncSettings(o.R);
|
||||
return (PutSettingsDirtyBits)((int)L.PutSyncSettings(o.L) | (int)R.PutSyncSettings(o.R));
|
||||
}
|
||||
|
||||
public class GambatteLinkSettings
|
||||
|
|
|
@ -245,18 +245,18 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.Gameboy
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
var ret = Settings.NeedsReboot(_settings, o);
|
||||
_settings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -14,17 +14,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.N64
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(N64Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(N64Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
return true;
|
||||
return PutSettingsDirtyBits.RebootCore;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(N64SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(N64SyncSettings o)
|
||||
{
|
||||
_syncSettings = o;
|
||||
SetControllerButtons();
|
||||
return true;
|
||||
return PutSettingsDirtyBits.RebootCore;
|
||||
}
|
||||
|
||||
private void SetControllerButtons()
|
||||
|
|
|
@ -30,14 +30,14 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
|
|||
return ret;
|
||||
}
|
||||
|
||||
public bool PutSettings(MelonSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(MelonSettings o)
|
||||
{
|
||||
_settings = o ?? new MelonSettings();
|
||||
SetScaleFactor(_settings.ScaleFactor);
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(MelonSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(MelonSyncSettings o)
|
||||
{
|
||||
if (o == null)
|
||||
{
|
||||
|
@ -54,7 +54,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.NDS
|
|||
SetTimeAtBoot(o.TimeAtBoot);
|
||||
|
||||
// At present, no sync settings can be modified without requiring a reboot.
|
||||
return true;
|
||||
return PutSettingsDirtyBits.RebootCore;
|
||||
}
|
||||
|
||||
[DllImport(dllPath)]
|
||||
|
|
|
@ -12,7 +12,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
|
||||
public NESSyncSettings GetSyncSettings() => SyncSettings.Clone();
|
||||
|
||||
public bool PutSettings(NESSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(NESSettings o)
|
||||
{
|
||||
Settings = o;
|
||||
if (Settings.ClipLeftAndRight)
|
||||
|
@ -30,14 +30,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.NES
|
|||
|
||||
apu.m_vol = Settings.APU_vol;
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(NESSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(NESSyncSettings o)
|
||||
{
|
||||
bool ret = NESSyncSettings.NeedsReboot(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
internal NESSettings Settings = new NESSettings();
|
||||
|
|
|
@ -21,21 +21,21 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.QuickNES
|
|||
return _syncSettingsNext.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(QuickNESSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(QuickNESSettings o)
|
||||
{
|
||||
_settings = o;
|
||||
QN.qn_set_sprite_limit(Context, _settings.NumSprites);
|
||||
RecalculateCrops();
|
||||
CalculatePalette();
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(QuickNESSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(QuickNESSyncSettings o)
|
||||
{
|
||||
bool ret = QuickNESSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettingsNext = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private QuickNESSettings _settings;
|
||||
|
|
|
@ -14,7 +14,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(SnesSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(SnesSettings o)
|
||||
{
|
||||
bool refreshNeeded = o.Palette != _settings.Palette;
|
||||
_settings = o;
|
||||
|
@ -23,17 +23,17 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES
|
|||
RefreshPalette();
|
||||
}
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SnesSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SnesSyncSettings o)
|
||||
{
|
||||
bool ret = o.LeftPort != _syncSettings.LeftPort
|
||||
|| o.RightPort != _syncSettings.RightPort
|
||||
|| o.LimitAnalogChangeSensitivity != _syncSettings.LimitAnalogChangeSensitivity;
|
||||
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private SnesSettings _settings;
|
||||
|
|
|
@ -308,7 +308,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES9X
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
int s = 0;
|
||||
|
@ -334,14 +334,14 @@ namespace BizHawk.Emulation.Cores.Nintendo.SNES9X
|
|||
if (o.ShowSprites3) l |= 2048;
|
||||
_core.biz_set_layers(l);
|
||||
|
||||
return false; // no reboot needed
|
||||
return PutSettingsDirtyBits.None; // no reboot needed
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public class Settings
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubGBHawk
|
|||
|
||||
public GBHawk.GBHawk.GBSettings GetSettings() => _GBCore.GetSettings();
|
||||
public GBHawk.GBHawk.GBSyncSettings GetSyncSettings() => _GBCore.GetSyncSettings();
|
||||
public bool PutSettings(GBHawk.GBHawk.GBSettings o) => _GBCore.PutSettings(o);
|
||||
public bool PutSyncSettings(GBHawk.GBHawk.GBSyncSettings o) => _GBCore.PutSyncSettings(o);
|
||||
public PutSettingsDirtyBits PutSettings(GBHawk.GBHawk.GBSettings o) => _GBCore.PutSettings(o);
|
||||
public PutSettingsDirtyBits PutSyncSettings(GBHawk.GBHawk.GBSyncSettings o) => _GBCore.PutSyncSettings(o);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -84,7 +84,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.SubNESHawk
|
|||
|
||||
public NES.NES.NESSettings GetSettings() => _nesCore.GetSettings();
|
||||
public NES.NES.NESSyncSettings GetSyncSettings() => _nesCore.GetSyncSettings();
|
||||
public bool PutSettings(NES.NES.NESSettings o) => _nesCore.PutSettings(o);
|
||||
public bool PutSyncSettings(NES.NES.NESSyncSettings o) => _nesCore.PutSyncSettings(o);
|
||||
public PutSettingsDirtyBits PutSettings(NES.NES.NESSettings o) => _nesCore.PutSettings(o);
|
||||
public PutSettingsDirtyBits PutSyncSettings(NES.NES.NESSyncSettings o) => _nesCore.PutSyncSettings(o);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -234,18 +234,18 @@ namespace BizHawk.Emulation.Cores.Consoles.Nintendo.VB
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
var ret = Settings.NeedsReboot(_settings, o);
|
||||
_settings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -17,7 +17,7 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(PCESettings o)
|
||||
public PutSettingsDirtyBits PutSettings(PCESettings o)
|
||||
{
|
||||
bool ret;
|
||||
if (o.ArcadeCardRewindHack != Settings.ArcadeCardRewindHack
|
||||
|
@ -32,14 +32,14 @@ namespace BizHawk.Emulation.Cores.PCEngine
|
|||
|
||||
Settings = o;
|
||||
|
||||
return ret;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(PCESyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(PCESyncSettings o)
|
||||
{
|
||||
bool ret = PCESyncSettings.NeedsReboot(o, _syncSettings);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public PCESettings Settings;
|
||||
|
|
|
@ -166,16 +166,16 @@ namespace BizHawk.Emulation.Cores.Consoles.SNK
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(object o)
|
||||
public PutSettingsDirtyBits PutSettings(object o)
|
||||
{
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -16,17 +16,17 @@ namespace BizHawk.Emulation.Cores.Sega.GGHawkLink
|
|||
return linkSyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(GGLinkSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GGLinkSettings o)
|
||||
{
|
||||
linkSettings = o;
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GGLinkSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GGLinkSyncSettings o)
|
||||
{
|
||||
bool ret = GGLinkSyncSettings.NeedsReboot(linkSyncSettings, o);
|
||||
linkSyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private GGLinkSettings linkSettings = new GGLinkSettings();
|
||||
|
|
|
@ -229,16 +229,16 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.PicoDrive
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(object o)
|
||||
public PutSettingsDirtyBits PutSettings(object o)
|
||||
{
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -9,18 +9,18 @@ namespace BizHawk.Emulation.Cores.Sega.MasterSystem
|
|||
|
||||
public SmsSyncSettings GetSyncSettings() => SyncSettings.Clone();
|
||||
|
||||
public bool PutSettings(SmsSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(SmsSettings o)
|
||||
{
|
||||
bool ret = SmsSettings.RebootNeeded(Settings, o);
|
||||
Settings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SmsSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SmsSyncSettings o)
|
||||
{
|
||||
bool ret = SmsSyncSettings.RebootNeeded(SyncSettings, o);
|
||||
SyncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
internal SmsSettings Settings { get; private set; }
|
||||
|
|
|
@ -439,7 +439,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
|||
return _settings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings s)
|
||||
public PutSettingsDirtyBits PutSettings(Settings s)
|
||||
{
|
||||
var ret = Settings.NeedsReboot(_settings, s);
|
||||
_settings = s;
|
||||
|
@ -449,7 +449,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
|||
//(the correct aspect ratio is no longer an option for other reasons)
|
||||
//_core.SetVideoParameters(s.CorrectAspectRatio, s.HBlend, s.HOverscan, sls, sle);
|
||||
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public SyncSettings GetSyncSettings()
|
||||
|
@ -457,11 +457,11 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.Saturn
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings s)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings s)
|
||||
{
|
||||
var ret = SyncSettings.NeedsReboot(_syncSettings, s);
|
||||
_syncSettings = s;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private void SetVideoParameters()
|
||||
|
|
|
@ -21,19 +21,19 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
|
|||
return _syncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(GPGXSettings o)
|
||||
public PutSettingsDirtyBits PutSettings(GPGXSettings o)
|
||||
{
|
||||
bool ret = GPGXSettings.NeedsReboot(_settings, o);
|
||||
_settings = o;
|
||||
Core.gpgx_set_draw_mask(_settings.GetDrawMask());
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(GPGXSyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(GPGXSyncSettings o)
|
||||
{
|
||||
bool ret = GPGXSyncSettings.NeedsReboot(_syncSettings, o);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
private class UintToHexConverter : TypeConverter
|
||||
|
|
|
@ -1271,17 +1271,17 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
|||
return _SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
_Settings.Validate();
|
||||
_Settings = o;
|
||||
|
||||
//TODO - store settings into core? or we can just keep doing it before frameadvance
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
//currently LEC and pad settings changes both require reboot
|
||||
bool reboot = true;
|
||||
|
@ -1293,7 +1293,7 @@ namespace BizHawk.Emulation.Cores.Sony.PSX
|
|||
_SyncSettings = o;
|
||||
|
||||
|
||||
return reboot;
|
||||
return reboot ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
|
|
@ -158,19 +158,19 @@ namespace BizHawk.Emulation.Cores.WonderSwan
|
|||
|
||||
public SyncSettings GetSyncSettings() => _syncSettings.Clone();
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
_settings = o;
|
||||
var native = _settings.GetNativeSettings();
|
||||
BizSwan.bizswan_putsettings(Core, ref native);
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
bool ret = SyncSettings.NeedsReboot(o, _syncSettings);
|
||||
_syncSettings = o;
|
||||
return ret;
|
||||
return ret ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
using Newtonsoft.Json;
|
||||
using BizHawk.Common;
|
||||
using BizHawk.Emulation.Common;
|
||||
|
||||
namespace BizHawk.Emulation.Cores.Libretro
|
||||
{
|
||||
|
@ -49,17 +50,17 @@ namespace BizHawk.Emulation.Cores.Libretro
|
|||
return _SyncSettings.Clone();
|
||||
}
|
||||
|
||||
public bool PutSettings(Settings o)
|
||||
public PutSettingsDirtyBits PutSettings(Settings o)
|
||||
{
|
||||
_Settings.Validate();
|
||||
_Settings = o;
|
||||
|
||||
//TODO - store settings into core? or we can just keep doing it before frameadvance
|
||||
|
||||
return false;
|
||||
return PutSettingsDirtyBits.None;
|
||||
}
|
||||
|
||||
public bool PutSyncSettings(SyncSettings o)
|
||||
public PutSettingsDirtyBits PutSyncSettings(SyncSettings o)
|
||||
{
|
||||
bool reboot = false;
|
||||
|
||||
|
@ -68,7 +69,7 @@ namespace BizHawk.Emulation.Cores.Libretro
|
|||
|
||||
_SyncSettings = o;
|
||||
|
||||
return reboot;
|
||||
return reboot ? PutSettingsDirtyBits.RebootCore : PutSettingsDirtyBits.None;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue