Tastudio - A much simpler and less hacky implementation of previous commit, and have Tastudio take over the mainform's RestartMovie method using the IControlMainform interface
This commit is contained in:
parent
78b4748675
commit
ad7782df35
|
@ -32,5 +32,9 @@
|
|||
/// </summary>
|
||||
/// <returns></returns>
|
||||
bool Rewind();
|
||||
|
||||
bool WantsToControlRestartMovie { get; }
|
||||
|
||||
void RestartMovie();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -85,10 +85,17 @@ namespace BizHawk.Client.EmuHawk
|
|||
|
||||
public void RestartMovie()
|
||||
{
|
||||
if (Global.MovieSession.Movie.IsActive)
|
||||
if (IsSlave && master.WantsToControlRestartMovie)
|
||||
{
|
||||
GlobalWin.MainForm.StartNewMovie(Global.MovieSession.Movie, false);
|
||||
GlobalWin.OSD.AddMessage("Replaying movie file in read-only mode");
|
||||
master.RestartMovie();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Global.MovieSession.Movie.IsActive)
|
||||
{
|
||||
GlobalWin.MainForm.StartNewMovie(Global.MovieSession.Movie, false);
|
||||
GlobalWin.OSD.AddMessage("Replaying movie file in read-only mode");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
{
|
||||
public partial class TAStudio : IControlMainform
|
||||
{
|
||||
|
||||
public bool WantsToControlReadOnly { get { return false; } }
|
||||
public void ToggleReadOnly()
|
||||
{
|
||||
|
@ -26,8 +27,20 @@
|
|||
public bool Rewind()
|
||||
{
|
||||
GoToPreviousFrame();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public bool WantsToControlRestartMovie { get; private set; }
|
||||
|
||||
public void RestartMovie()
|
||||
{
|
||||
if (AskSaveChanges())
|
||||
{
|
||||
WantsToControlStopMovie = false;
|
||||
StartNewMovieWrapper(false);
|
||||
WantsToControlStopMovie = true;
|
||||
RefreshDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,6 +53,7 @@ namespace BizHawk.Client.EmuHawk
|
|||
TasView.PointedCellChanged += TasView_PointedCellChanged;
|
||||
TasView.MultiSelect = true;
|
||||
TasView.MaxCharactersInHorizontal = 1;
|
||||
WantsToControlRestartMovie = true;
|
||||
}
|
||||
|
||||
private void TastudioToStopMovie()
|
||||
|
@ -529,16 +530,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
var result = MessageBox.Show("In order to use Tastudio, a new project must be created from the current movie\nThe current movie will be saved and closed, and a new project file will be created\nProceed?", "Convert movie", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
|
||||
if (result == DialogResult.OK)
|
||||
{
|
||||
var previousAutoloadTAStudio = Global.Config.AutoloadTAStudio;
|
||||
var previousAutoloadTAStudioProject = Global.Config.AutoloadTAStudioProject;
|
||||
|
||||
ConvertCurrentMovieToTasproj();
|
||||
Global.Config.AutoloadTAStudio = true;
|
||||
Global.Config.AutoloadTAStudioProject = true;
|
||||
GlobalWin.MainForm.RestartMovie();
|
||||
|
||||
Global.Config.AutoloadTAStudio = previousAutoloadTAStudio;
|
||||
Global.Config.AutoloadTAStudioProject = previousAutoloadTAStudioProject;
|
||||
StartNewMovieWrapper(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue