consolidate movie instantiation code more
This commit is contained in:
parent
1e9dcd2e9b
commit
a540a2fe85
|
@ -6,25 +6,17 @@ namespace BizHawk.Client.Common
|
|||
{
|
||||
public static class MovieService
|
||||
{
|
||||
public static IMovie Get(string path)
|
||||
public static IMovie Get(string path, bool startsFromSavestate = false)
|
||||
{
|
||||
// TODO: change IMovies to take HawkFiles only and not path
|
||||
if (Path.GetExtension(path)?.EndsWith("tasproj") ?? false)
|
||||
{
|
||||
return new TasMovie(path);
|
||||
return new TasMovie(path, startsFromSavestate);
|
||||
}
|
||||
|
||||
return new Bk2Movie(path);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Creates a <see cref="ITasMovie"/> instance
|
||||
/// </summary>
|
||||
public static ITasMovie CreateTas(string filename, bool startsFromSavestate = false)
|
||||
{
|
||||
return new TasMovie(filename, startsFromSavestate);
|
||||
}
|
||||
|
||||
public static string StandardMovieExtension => Bk2Movie.Extension;
|
||||
public static string TasMovieExtension => TasMovie.Extension;
|
||||
|
||||
|
|
|
@ -230,7 +230,7 @@ namespace BizHawk.Client.Common.MovieConversionExtensions
|
|||
}
|
||||
}
|
||||
|
||||
var tas = new TasMovie(newFilename) { SaveRam = saveRam };
|
||||
var tas = new TasMovie(newFilename, false) { SaveRam = saveRam };
|
||||
tas.TasStateManager.Clear();
|
||||
tas.LagLog.Clear();
|
||||
|
||||
|
@ -246,7 +246,6 @@ namespace BizHawk.Client.Common.MovieConversionExtensions
|
|||
}
|
||||
|
||||
tas.StartsFromSaveRam = true;
|
||||
tas.StartsFromSavestate = false;
|
||||
tas.SyncSettingsJson = old.SyncSettingsJson;
|
||||
|
||||
tas.Comments.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, bool startsFromSavestate = false) : base(path)
|
||||
internal TasMovie(string path, bool startsFromSavestate) : base(path)
|
||||
{
|
||||
if (!Global.Emulator.HasSavestates())
|
||||
{
|
||||
|
|
|
@ -105,7 +105,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
var core = _emulator.AsStatable();
|
||||
|
||||
movieToRecord.StartsFromSavestate = true;
|
||||
movieToRecord.StartsFromSaveRam = false;
|
||||
|
||||
if (_config.SaveStateType == SaveStateTypeE.Binary)
|
||||
{
|
||||
|
@ -128,7 +127,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
else if (StartFromCombo.SelectedItem.ToString() == "SaveRam" && _emulator.HasSaveRam())
|
||||
{
|
||||
var core = _emulator.AsSaveRam();
|
||||
movieToRecord.StartsFromSavestate = false;
|
||||
movieToRecord.StartsFromSaveRam = true;
|
||||
movieToRecord.SaveRam = core.CloneSaveRam();
|
||||
}
|
||||
|
|
|
@ -623,7 +623,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
return false;
|
||||
}
|
||||
|
||||
var newMovie = MovieService.CreateTas(file.FullName, startsFromSavestate);
|
||||
var newMovie = (ITasMovie)MovieService.Get(file.FullName, startsFromSavestate);
|
||||
newMovie.BindMarkersToInput = Settings.BindMarkersToInput;
|
||||
newMovie.TasStateManager.InvalidateCallback = GreenzoneInvalidated;
|
||||
|
||||
|
@ -678,7 +678,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
|
||||
var filename = DefaultTasProjName(); // TODO don't do this, take over any mainform actions that can crash without a filename
|
||||
var tasMovie = MovieService.CreateTas(filename);
|
||||
var tasMovie = (ITasMovie)MovieService.Get(filename);
|
||||
tasMovie.BindMarkersToInput = Settings.BindMarkersToInput;
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue