settings cleanup

This commit is contained in:
goyuken 2014-08-03 22:19:55 +00:00
parent 78d1e95791
commit 4deda7eb91
3 changed files with 15 additions and 13 deletions

View File

@ -990,16 +990,7 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
public bool PutSyncSettings(object o) public bool PutSyncSettings(object o)
{ {
var s = (GambatteSyncSettings)o; var s = (GambatteSyncSettings)o;
bool ret; bool ret = GambatteSyncSettings.NeedsReboot(_SyncSettings, s);
if (s.ForceDMG != _SyncSettings.ForceDMG ||
s.GBACGB != _SyncSettings.GBACGB ||
s.MulticartCompat != _SyncSettings.MulticartCompat ||
s.RealTimeRTC != _SyncSettings.RealTimeRTC ||
s.RTCInitialTime != _SyncSettings.RTCInitialTime)
ret = true;
else
ret = false;
_SyncSettings = s; _SyncSettings = s;
return ret; return ret;
} }
@ -1073,6 +1064,11 @@ namespace BizHawk.Emulation.Cores.Nintendo.Gameboy
{ {
return (GambatteSyncSettings)MemberwiseClone(); return (GambatteSyncSettings)MemberwiseClone();
} }
public static bool NeedsReboot(GambatteSyncSettings x, GambatteSyncSettings y)
{
return !DeepEquality.DeepEquals(x, y);
}
} }
#endregion #endregion

View File

@ -739,18 +739,23 @@ namespace BizHawk.Emulation.Cores.Sega.Saturn
[DefaultValue(1)] [DefaultValue(1)]
public int DispFactor { get { return _DispFactor; } set { _DispFactor = Math.Max(1, Math.Min(value, 4)); } } public int DispFactor { get { return _DispFactor; } set { _DispFactor = Math.Max(1, Math.Min(value, 4)); } }
[JsonIgnore] [JsonIgnore]
[DeepEqualsIgnore]
private int _DispFactor; private int _DispFactor;
[DisplayName("Display Free")] [DisplayName("Display Free")]
[Description("In OpenGL mode, set to true to use a custom resolution and ignore DispFactor.")] [Description("In OpenGL mode, set to true to use a custom resolution and ignore DispFactor.")]
[DefaultValue(false)] [DefaultValue(false)]
public bool DispFree { get; set; } public bool DispFree { get { return _DispFree; } set { _DispFree = value; } }
[JsonIgnore]
[DeepEqualsIgnore]
private bool _DispFree;
[DisplayName("DispFree Final Width")] [DisplayName("DispFree Final Width")]
[Description("In OpenGL mode and when DispFree is true, the width of the final resolution.")] [Description("In OpenGL mode and when DispFree is true, the width of the final resolution.")]
[DefaultValue(640)] [DefaultValue(640)]
public int GLW { get { return _GLW; } set { _GLW = Math.Max(320, Math.Min(value, 2048)); } } public int GLW { get { return _GLW; } set { _GLW = Math.Max(320, Math.Min(value, 2048)); } }
[JsonIgnore] [JsonIgnore]
[DeepEqualsIgnore]
private int _GLW; private int _GLW;
[DisplayName("DispFree Final Height")] [DisplayName("DispFree Final Height")]
@ -758,6 +763,7 @@ namespace BizHawk.Emulation.Cores.Sega.Saturn
[DefaultValue(480)] [DefaultValue(480)]
public int GLH { get { return _GLH; } set { _GLH = Math.Max(224, Math.Min(value, 1024)); } } public int GLH { get { return _GLH; } set { _GLH = Math.Max(224, Math.Min(value, 1024)); } }
[JsonIgnore] [JsonIgnore]
[DeepEqualsIgnore]
private int _GLH; private int _GLH;
[DisplayName("Ram Cart Type")] [DisplayName("Ram Cart Type")]
@ -782,7 +788,7 @@ namespace BizHawk.Emulation.Cores.Sega.Saturn
public static bool NeedsReboot(SaturnSyncSettings x, SaturnSyncSettings y) public static bool NeedsReboot(SaturnSyncSettings x, SaturnSyncSettings y)
{ {
return x.UseGL != y.UseGL || x.CartType != y.CartType || x.SkipBios != y.SkipBios || x.RealTimeRTC != y.RealTimeRTC || x.RTCInitialTime != y.RTCInitialTime; return !DeepEquality.DeepEquals(x, y);
} }
public SaturnSyncSettings Clone() public SaturnSyncSettings Clone()
{ {

View File

@ -824,7 +824,7 @@ namespace BizHawk.Emulation.Cores.Consoles.Sega.gpgx
public static bool NeedsReboot(GPGXSyncSettings x, GPGXSyncSettings y) public static bool NeedsReboot(GPGXSyncSettings x, GPGXSyncSettings y)
{ {
return x.UseSixButton != y.UseSixButton || x.ControlType != y.ControlType || x.Region != y.Region; return !DeepEquality.DeepEquals(x, y);
} }
} }