for fixes to bk2 and tasmovie creation, fix a conversion bug that did StartsFromSavestate TasMovie logic for movies that start from saveram
This commit is contained in:
parent
22bab8361a
commit
1e9dcd2e9b
|
@ -18,11 +18,11 @@ namespace BizHawk.Client.Common
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a <see cref="ITasSession"/> instance
|
||||
/// Creates a <see cref="ITasMovie"/> instance
|
||||
/// </summary>
|
||||
public static ITasMovie CreateTas(bool startsFromSavestate = false)
|
||||
public static ITasMovie CreateTas(string filename, bool startsFromSavestate = false)
|
||||
{
|
||||
return new TasMovie(startsFromSavestate: startsFromSavestate);
|
||||
return new TasMovie(filename, startsFromSavestate);
|
||||
}
|
||||
|
||||
public static string StandardMovieExtension => Bk2Movie.Extension;
|
||||
|
|
|
@ -8,9 +8,14 @@ namespace BizHawk.Client.Common
|
|||
{
|
||||
private Bk2Controller _adapter;
|
||||
|
||||
internal Bk2Movie(string filename = null)
|
||||
internal Bk2Movie(string filename)
|
||||
{
|
||||
Filename = filename ?? string.Empty;
|
||||
if (string.IsNullOrWhiteSpace(filename))
|
||||
{
|
||||
throw new ArgumentNullException($"{nameof(filename)} can not be null.");
|
||||
}
|
||||
|
||||
Filename = filename;
|
||||
Header[HeaderKeys.MovieVersion] = "BizHawk v2.0.0";
|
||||
}
|
||||
|
||||
|
|
|
@ -230,7 +230,7 @@ namespace BizHawk.Client.Common.MovieConversionExtensions
|
|||
}
|
||||
}
|
||||
|
||||
var tas = new TasMovie(newFilename, true) { SaveRam = saveRam };
|
||||
var tas = new TasMovie(newFilename) { SaveRam = saveRam };
|
||||
tas.TasStateManager.Clear();
|
||||
tas.LagLog.Clear();
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ namespace BizHawk.Client.Common
|
|||
public new const string Extension = "tasproj";
|
||||
|
||||
/// <exception cref="InvalidOperationException">loaded core does not implement <see cref="IStatable"/></exception>
|
||||
internal TasMovie(string path = null, bool startsFromSavestate = false) : base(path)
|
||||
internal TasMovie(string path, bool startsFromSavestate = false) : base(path)
|
||||
{
|
||||
if (!Global.Emulator.HasSavestates())
|
||||
{
|
||||
|
|
|
@ -623,8 +623,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
return false;
|
||||
}
|
||||
|
||||
var newMovie = MovieService.CreateTas(startsFromSavestate: startsFromSavestate);
|
||||
newMovie.Filename = file.FullName;
|
||||
var newMovie = MovieService.CreateTas(file.FullName, startsFromSavestate);
|
||||
newMovie.BindMarkersToInput = Settings.BindMarkersToInput;
|
||||
newMovie.TasStateManager.InvalidateCallback = GreenzoneInvalidated;
|
||||
|
||||
|
@ -678,9 +677,10 @@ namespace BizHawk.Client.EmuHawk
|
|||
return;
|
||||
}
|
||||
|
||||
var tasMovie = MovieService.CreateTas();
|
||||
var filename = DefaultTasProjName(); // TODO don't do this, take over any mainform actions that can crash without a filename
|
||||
var tasMovie = MovieService.CreateTas(filename);
|
||||
tasMovie.BindMarkersToInput = Settings.BindMarkersToInput;
|
||||
tasMovie.Filename = DefaultTasProjName(); // TODO don't do this, take over any mainform actions that can crash without a filename
|
||||
|
||||
|
||||
tasMovie.TasStateManager.InvalidateCallback = GreenzoneInvalidated;
|
||||
tasMovie.PropertyChanged += TasMovie_OnPropertyChanged;
|
||||
|
|
Loading…
Reference in New Issue