refactor bk2->tasproj conversion
- don't mutilate the bk2movie during the conversion - don't immediately set MovieSession.Movie without having loaded the taproj
This commit is contained in:
parent
10f57bad2c
commit
1da70c884d
|
@ -16,8 +16,6 @@ namespace BizHawk.Client.Common
|
|||
tas.CopyLog(old.GetLogEntries());
|
||||
tas.LogKey = old.LogKey;
|
||||
|
||||
old.Truncate(0); // Trying to minimize ram usage
|
||||
|
||||
tas.HeaderEntries.Clear();
|
||||
foreach (var (k, v) in old.HeaderEntries) tas.HeaderEntries[k] = v;
|
||||
|
||||
|
|
|
@ -294,13 +294,6 @@ namespace BizHawk.Client.Common
|
|||
Movie = null;
|
||||
}
|
||||
|
||||
public void ConvertToTasProj()
|
||||
{
|
||||
Movie = Movie.ToTasMovie();
|
||||
Movie.Save();
|
||||
Movie.SwitchToPlay();
|
||||
}
|
||||
|
||||
public IMovie Get(string path, bool loadMovie)
|
||||
{
|
||||
// TODO: change IMovies to take HawkFiles only and not path
|
||||
|
|
|
@ -85,11 +85,6 @@ namespace BizHawk.Client.Common
|
|||
|
||||
void StopMovie(bool saveChanges = true);
|
||||
|
||||
/// <summary>
|
||||
/// If a movie is active, it will be converted to a <see cref="ITasMovie" />
|
||||
/// </summary>
|
||||
void ConvertToTasProj();
|
||||
|
||||
/// <summary>
|
||||
/// Create a new (Tas)Movie with the given path as filename. If <paramref name="loadMovie"/> is true,
|
||||
/// will also attempt to load an existing movie from <paramref name="path"/>.
|
||||
|
|
|
@ -247,8 +247,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
return false;
|
||||
}
|
||||
|
||||
ConvertCurrentMovieToTasproj();
|
||||
success = StartNewMovieWrapper(CurrentTasMovie, isNew: false);
|
||||
var tasMovie = ConvertCurrentMovieToTasproj();
|
||||
success = LoadMovie(tasMovie);
|
||||
}
|
||||
|
||||
// Start Scenario 2: A tasproj is already active
|
||||
|
@ -473,10 +473,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
}
|
||||
}
|
||||
|
||||
private void ConvertCurrentMovieToTasproj()
|
||||
private ITasMovie ConvertCurrentMovieToTasproj()
|
||||
{
|
||||
MovieSession.ConvertToTasProj();
|
||||
Settings.RecentTas.Add(MovieSession.Movie.Filename);
|
||||
var tasMovie = MovieSession.Movie.ToTasMovie();
|
||||
tasMovie.Save(); // should this be done?
|
||||
return tasMovie;
|
||||
}
|
||||
|
||||
private bool LoadMovie(ITasMovie tasMovie, bool startsFromSavestate = false, int gotoFrame = 0)
|
||||
|
|
Loading…
Reference in New Issue