diff --git a/BizHawk.Client.EmuHawk/MainForm.cs b/BizHawk.Client.EmuHawk/MainForm.cs index 28f0311d31..6693e69650 100644 --- a/BizHawk.Client.EmuHawk/MainForm.cs +++ b/BizHawk.Client.EmuHawk/MainForm.cs @@ -3594,25 +3594,18 @@ namespace BizHawk.Client.EmuHawk if (args.Deterministic == null) { - // force deterministic in this case - // this is usually null for most cores - // previously this was getting set to false if a movie was not queued for recording - surely that can't be good.. - deterministic = true; - } + // movies should require deterministic emulation in ALL cases + // if the core is managing its own DE through SyncSettings a 'deterministic' bool can be passed into the core's constructor + // it is then up to the core itself to override its own local DeterministicEmulation setting + // if a movie is *not* queued then make this false (this is needed for mGBA logic and is how things were working before I changed them -Asni) + deterministic = Global.MovieSession.QueuedMovie != null; + } else { // a value was actually supplied somehow - use this deterministic = args.Deterministic.Value; } - if (Global.MovieSession.QueuedMovie != null) - { - // movies should require deterministic emulation in ALL cases - // if the core is managing its own DE through SyncSettings a 'deterministic' bool should be passed into the core's constructor - // it is then up to the core itself to override its own local DeterministicEmulation setting - deterministic = true; - } - if (!GlobalWin.Tools.AskSave()) { return false;