ZXHawk: DeterministicEmulation to be overridden (TRUE) when recording a movie - #1290

This commit is contained in:
Asnivor 2018-08-21 14:16:14 +01:00
parent 7ff4cea6c7
commit 4e470cf17a
2 changed files with 19 additions and 3 deletions

View File

@ -671,7 +671,8 @@ namespace BizHawk.Client.Common
xmlGame.Assets.Select(a => a.Value), //.First(), xmlGame.Assets.Select(a => a.Value), //.First(),
zxGI, // GameInfo.NullInstance, zxGI, // GameInfo.NullInstance,
(ZXSpectrum.ZXSpectrumSettings)GetCoreSettings<ZXSpectrum>(), (ZXSpectrum.ZXSpectrumSettings)GetCoreSettings<ZXSpectrum>(),
(ZXSpectrum.ZXSpectrumSyncSettings)GetCoreSyncSettings<ZXSpectrum>()); (ZXSpectrum.ZXSpectrumSyncSettings)GetCoreSyncSettings<ZXSpectrum>(),
Deterministic);
break; break;
case "PSX": case "PSX":
var entries = xmlGame.AssetFullPaths; var entries = xmlGame.AssetFullPaths;
@ -1014,7 +1015,12 @@ namespace BizHawk.Client.Common
nextEmulator = c64; nextEmulator = c64;
break; break;
case "ZXSpectrum": case "ZXSpectrum":
var zx = new ZXSpectrum(nextComm, Enumerable.Repeat(rom.RomData, 1), Enumerable.Repeat(rom.GameInfo, 1).ToList(), GetCoreSettings<ZXSpectrum>(), GetCoreSyncSettings<ZXSpectrum>()); var zx = new ZXSpectrum(nextComm,
Enumerable.Repeat(rom.RomData, 1),
Enumerable.Repeat(rom.GameInfo, 1).ToList(),
GetCoreSettings<ZXSpectrum>(),
GetCoreSyncSettings<ZXSpectrum>(),
Deterministic);
nextEmulator = zx; nextEmulator = zx;
break; break;
case "GBA": case "GBA":

View File

@ -20,7 +20,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
isReleased: true)] isReleased: true)]
public partial class ZXSpectrum : IRegionable, IDriveLight public partial class ZXSpectrum : IRegionable, IDriveLight
{ {
public ZXSpectrum(CoreComm comm, IEnumerable<byte[]> files, List<GameInfo> game, object settings, object syncSettings) public ZXSpectrum(CoreComm comm, IEnumerable<byte[]> files, List<GameInfo> game, object settings, object syncSettings, bool? deterministic)
{ {
var ser = new BasicServiceProvider(this); var ser = new BasicServiceProvider(this);
ServiceProvider = ser; ServiceProvider = ser;
@ -52,6 +52,16 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
deterministicEmulation = ((ZXSpectrumSyncSettings)syncSettings as ZXSpectrumSyncSettings).DeterministicEmulation; deterministicEmulation = ((ZXSpectrumSyncSettings)syncSettings as ZXSpectrumSyncSettings).DeterministicEmulation;
if (deterministic != null && deterministic == true)
{
if (deterministicEmulation == false)
{
CoreComm.Notify("Forcing Deterministic Emulation");
}
deterministicEmulation = deterministic.Value;
}
switch (SyncSettings.MachineType) switch (SyncSettings.MachineType)
{ {
case MachineType.ZXSpectrum16: case MachineType.ZXSpectrum16: