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(),
zxGI, // GameInfo.NullInstance,
(ZXSpectrum.ZXSpectrumSettings)GetCoreSettings<ZXSpectrum>(),
(ZXSpectrum.ZXSpectrumSyncSettings)GetCoreSyncSettings<ZXSpectrum>());
(ZXSpectrum.ZXSpectrumSyncSettings)GetCoreSyncSettings<ZXSpectrum>(),
Deterministic);
break;
case "PSX":
var entries = xmlGame.AssetFullPaths;
@ -1014,7 +1015,12 @@ namespace BizHawk.Client.Common
nextEmulator = c64;
break;
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;
break;
case "GBA":

View File

@ -20,7 +20,7 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
isReleased: true)]
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);
ServiceProvider = ser;
@ -52,6 +52,16 @@ namespace BizHawk.Emulation.Cores.Computers.SinclairSpectrum
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)
{
case MachineType.ZXSpectrum16: