Movies - Remove UserMovie and change all references to it to Global.MovieSession.Movie, fix error in CheckTime Line logic, read-only savestates should now work
This commit is contained in:
parent
d5247babe8
commit
a84f881c5c
|
@ -743,9 +743,9 @@ namespace BizHawk.MultiClient
|
||||||
s.DisableFrame();
|
s.DisableFrame();
|
||||||
int index = -1;
|
int index = -1;
|
||||||
Subtitle sub = new Subtitle();
|
Subtitle sub = new Subtitle();
|
||||||
for (int x = 0; x < UserMovie.Subtitles.Count(); x++)
|
for (int x = 0; x < Global.MovieSession.Movie.Subtitles.Count(); x++)
|
||||||
{
|
{
|
||||||
sub = UserMovie.Subtitles.GetSubtitleByIndex(x);
|
sub = Global.MovieSession.Movie.Subtitles.GetSubtitleByIndex(x);
|
||||||
if (Global.Emulator.Frame == sub.Frame)
|
if (Global.Emulator.Frame == sub.Frame)
|
||||||
{
|
{
|
||||||
index = x;
|
index = x;
|
||||||
|
@ -762,8 +762,8 @@ namespace BizHawk.MultiClient
|
||||||
if (s.ShowDialog() == DialogResult.OK)
|
if (s.ShowDialog() == DialogResult.OK)
|
||||||
{
|
{
|
||||||
if (index >= 0)
|
if (index >= 0)
|
||||||
UserMovie.Subtitles.Remove(index);
|
Global.MovieSession.Movie.Subtitles.Remove(index);
|
||||||
UserMovie.Subtitles.AddSubtitle(s.sub);
|
Global.MovieSession.Movie.Subtitles.AddSubtitle(s.sub);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -818,7 +818,7 @@ namespace BizHawk.MultiClient
|
||||||
contextMenuStrip1.Items[1].Visible = false;
|
contextMenuStrip1.Items[1].Visible = false;
|
||||||
contextMenuStrip1.Items[2].Visible = false;
|
contextMenuStrip1.Items[2].Visible = false;
|
||||||
|
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
contextMenuStrip1.Items[3].Visible = true;
|
contextMenuStrip1.Items[3].Visible = true;
|
||||||
contextMenuStrip1.Items[4].Visible = true;
|
contextMenuStrip1.Items[4].Visible = true;
|
||||||
|
@ -909,7 +909,7 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void makeMovieBackupToolStripMenuItem_Click(object sender, EventArgs e)
|
private void makeMovieBackupToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
UserMovie.WriteBackup();
|
Global.MovieSession.Movie.WriteBackup();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void automaticallyBackupMoviesToolStripMenuItem_Click(object sender, EventArgs e)
|
private void automaticallyBackupMoviesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
@ -972,21 +972,21 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void viewCommentsToolStripMenuItem_Click(object sender, EventArgs e)
|
private void viewCommentsToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE) return;
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE) return;
|
||||||
|
|
||||||
EditCommentsForm c = new EditCommentsForm();
|
EditCommentsForm c = new EditCommentsForm();
|
||||||
c.ReadOnly = ReadOnly;
|
c.ReadOnly = ReadOnly;
|
||||||
c.GetMovie(UserMovie);
|
c.GetMovie(Global.MovieSession.Movie);
|
||||||
c.ShowDialog();
|
c.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void viewSubtitlesToolStripMenuItem_Click(object sender, EventArgs e)
|
private void viewSubtitlesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE) return;
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE) return;
|
||||||
|
|
||||||
EditSubtitlesForm s = new EditSubtitlesForm();
|
EditSubtitlesForm s = new EditSubtitlesForm();
|
||||||
s.ReadOnly = ReadOnly;
|
s.ReadOnly = ReadOnly;
|
||||||
s.GetMovie(UserMovie);
|
s.GetMovie(Global.MovieSession.Movie);
|
||||||
s.ShowDialog();
|
s.ShowDialog();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1028,7 +1028,7 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
stopMovieToolStripMenuItem.Enabled = false;
|
stopMovieToolStripMenuItem.Enabled = false;
|
||||||
playFromBeginningToolStripMenuItem.Enabled = false;
|
playFromBeginningToolStripMenuItem.Enabled = false;
|
||||||
|
|
|
@ -11,31 +11,29 @@ namespace BizHawk.MultiClient
|
||||||
partial class MainForm
|
partial class MainForm
|
||||||
{
|
{
|
||||||
public bool ReadOnly = true; //Global Movie Read only setting
|
public bool ReadOnly = true; //Global Movie Read only setting
|
||||||
public Movie UserMovie = new Movie();
|
|
||||||
|
|
||||||
public void StartNewMovie(Movie m, bool record)
|
public void StartNewMovie(Movie m, bool record)
|
||||||
{
|
{
|
||||||
Global.MovieSession = new MovieSession();
|
Global.MovieSession = new MovieSession();
|
||||||
Global.MovieSession.Movie = m;
|
Global.MovieSession.Movie = m;
|
||||||
UserMovie = m; //TODO - maybe get rid of UserMovie?
|
|
||||||
RewireInputChain();
|
RewireInputChain();
|
||||||
|
|
||||||
LoadRom(Global.MainForm.CurrentlyOpenRom);
|
LoadRom(Global.MainForm.CurrentlyOpenRom);
|
||||||
UserMovie.LoadMovie();
|
Global.MovieSession.Movie.LoadMovie();
|
||||||
Global.Config.RecentMovies.Add(m.Filename);
|
Global.Config.RecentMovies.Add(m.Filename);
|
||||||
if (UserMovie.StartsFromSavestate)
|
if (Global.MovieSession.Movie.StartsFromSavestate)
|
||||||
{
|
{
|
||||||
LoadStateFile(m.Filename, Path.GetFileName(m.Filename));
|
LoadStateFile(m.Filename, Path.GetFileName(m.Filename));
|
||||||
Global.Emulator.ResetFrameCounter();
|
Global.Emulator.ResetFrameCounter();
|
||||||
}
|
}
|
||||||
if (record)
|
if (record)
|
||||||
{
|
{
|
||||||
UserMovie.StartNewRecording();
|
Global.MovieSession.Movie.StartNewRecording();
|
||||||
ReadOnly = false;
|
ReadOnly = false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UserMovie.StartPlayback();
|
Global.MovieSession.Movie.StartPlayback();
|
||||||
}
|
}
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
TAStudio1.Restart();
|
TAStudio1.Restart();
|
||||||
|
@ -43,15 +41,15 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public void SetMainformMovieInfo()
|
public void SetMainformMovieInfo()
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode == MOVIEMODE.PLAY || UserMovie.Mode == MOVIEMODE.FINISHED)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY || Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
{
|
{
|
||||||
Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.Filename);
|
Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(Global.MovieSession.Movie.Filename);
|
||||||
PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.Play;
|
PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.Play;
|
||||||
PlayRecordStatus.ToolTipText = "Movie is in playback mode";
|
PlayRecordStatus.ToolTipText = "Movie is in playback mode";
|
||||||
}
|
}
|
||||||
else if (UserMovie.Mode == MOVIEMODE.RECORD)
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD)
|
||||||
{
|
{
|
||||||
Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.Filename);
|
Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(Global.MovieSession.Movie.Filename);
|
||||||
PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.RecordHS;
|
PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.RecordHS;
|
||||||
PlayRecordStatus.ToolTipText = "Movie is in record mode";
|
PlayRecordStatus.ToolTipText = "Movie is in record mode";
|
||||||
}
|
}
|
||||||
|
@ -65,7 +63,7 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public bool MovieActive()
|
public bool MovieActive()
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode != MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode != MOVIEMODE.INACTIVE)
|
||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
|
@ -85,10 +83,10 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public void PlayMovieFromBeginning()
|
public void PlayMovieFromBeginning()
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode != MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode != MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
LoadRom(CurrentlyOpenRom);
|
LoadRom(CurrentlyOpenRom);
|
||||||
UserMovie.StartPlayback();
|
Global.MovieSession.Movie.StartPlayback();
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -96,15 +94,15 @@ namespace BizHawk.MultiClient
|
||||||
public void StopMovie()
|
public void StopMovie()
|
||||||
{
|
{
|
||||||
string message = "Movie ";
|
string message = "Movie ";
|
||||||
if (UserMovie.Mode == MOVIEMODE.RECORD)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD)
|
||||||
message += "recording ";
|
message += "recording ";
|
||||||
else if (UserMovie.Mode == MOVIEMODE.PLAY
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY
|
||||||
|| UserMovie.Mode == MOVIEMODE.FINISHED)
|
|| Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
message += "playback ";
|
message += "playback ";
|
||||||
message += "stopped.";
|
message += "stopped.";
|
||||||
if (UserMovie.Mode != MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode != MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
UserMovie.StopMovie();
|
Global.MovieSession.Movie.StopMovie();
|
||||||
Global.RenderPanel.AddMessage(message);
|
Global.RenderPanel.AddMessage(message);
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
Global.MainForm.ReadOnly = true;
|
Global.MainForm.ReadOnly = true;
|
||||||
|
@ -114,53 +112,53 @@ namespace BizHawk.MultiClient
|
||||||
private bool HandleMovieLoadState(string path)
|
private bool HandleMovieLoadState(string path)
|
||||||
{
|
{
|
||||||
//Note, some of the situations in these IF's may be identical and could be combined but I intentionally separated it out for clarity
|
//Note, some of the situations in these IF's may be identical and could be combined but I intentionally separated it out for clarity
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (UserMovie.Mode == MOVIEMODE.RECORD)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (ReadOnly)
|
if (ReadOnly)
|
||||||
{
|
{
|
||||||
|
|
||||||
if (!UserMovie.CheckTimeLines(path, false))
|
if (!Global.MovieSession.Movie.CheckTimeLines(path, false))
|
||||||
return false; //Timeline/GUID error
|
return false; //Timeline/GUID error
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
UserMovie.WriteMovie();
|
Global.MovieSession.Movie.WriteMovie();
|
||||||
UserMovie.StartPlayback();
|
Global.MovieSession.Movie.StartPlayback();
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!UserMovie.CheckTimeLines(path, true))
|
if (!Global.MovieSession.Movie.CheckTimeLines(path, true))
|
||||||
return false; //GUID Error
|
return false; //GUID Error
|
||||||
UserMovie.LoadLogFromSavestateText(path);
|
Global.MovieSession.Movie.LoadLogFromSavestateText(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (UserMovie.Mode == MOVIEMODE.PLAY)
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
if (ReadOnly)
|
if (ReadOnly)
|
||||||
{
|
{
|
||||||
if (!UserMovie.CheckTimeLines(path, false))
|
if (!Global.MovieSession.Movie.CheckTimeLines(path, false))
|
||||||
return false; //Timeline/GUID error
|
return false; //Timeline/GUID error
|
||||||
//Frame loop automatically handles the rewinding effect based on Global.Emulator.Frame so nothing else is needed here
|
//Frame loop automatically handles the rewinding effect based on Global.Emulator.Frame so nothing else is needed here
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!UserMovie.CheckTimeLines(path, true))
|
if (!Global.MovieSession.Movie.CheckTimeLines(path, true))
|
||||||
return false; //GUID Error
|
return false; //GUID Error
|
||||||
UserMovie.StartNewRecording(!Global.MovieSession.MultiTrack.IsActive);
|
Global.MovieSession.Movie.StartNewRecording(!Global.MovieSession.MultiTrack.IsActive);
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
UserMovie.LoadLogFromSavestateText(path);
|
Global.MovieSession.Movie.LoadLogFromSavestateText(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (UserMovie.Mode == MOVIEMODE.FINISHED)
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
{
|
{
|
||||||
if (ReadOnly)
|
if (ReadOnly)
|
||||||
{
|
{
|
||||||
if (Global.Emulator.Frame > UserMovie.Length())
|
if (Global.Emulator.Frame > Global.MovieSession.Movie.Length())
|
||||||
{
|
{
|
||||||
//Post movie savestate
|
//Post movie savestate
|
||||||
//There is no movie data to load, and the movie will stay in movie finished mode
|
//There is no movie data to load, and the movie will stay in movie finished mode
|
||||||
|
@ -168,15 +166,15 @@ namespace BizHawk.MultiClient
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!UserMovie.CheckTimeLines(path, false))
|
if (!Global.MovieSession.Movie.CheckTimeLines(path, false))
|
||||||
return false; //Timeline/GUID error
|
return false; //Timeline/GUID error
|
||||||
UserMovie.StartPlayback();
|
Global.MovieSession.Movie.StartPlayback();
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (Global.Emulator.Frame > UserMovie.Length())
|
if (Global.Emulator.Frame > Global.MovieSession.Movie.Length())
|
||||||
{
|
{
|
||||||
//Post movie savestate
|
//Post movie savestate
|
||||||
//There is no movie data to load, and the movie will stay in movie finished mode
|
//There is no movie data to load, and the movie will stay in movie finished mode
|
||||||
|
@ -184,11 +182,11 @@ namespace BizHawk.MultiClient
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (!UserMovie.CheckTimeLines(path, true))
|
if (!Global.MovieSession.Movie.CheckTimeLines(path, true))
|
||||||
return false; //GUID Error
|
return false; //GUID Error
|
||||||
UserMovie.StartNewRecording();
|
Global.MovieSession.Movie.StartNewRecording();
|
||||||
SetMainformMovieInfo();
|
SetMainformMovieInfo();
|
||||||
UserMovie.LoadLogFromSavestateText(path);
|
Global.MovieSession.Movie.LoadLogFromSavestateText(path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -197,9 +195,9 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void HandleMovieSaveState(StreamWriter writer)
|
private void HandleMovieSaveState(StreamWriter writer)
|
||||||
{
|
{
|
||||||
if (UserMovie.Mode != MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode != MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
UserMovie.DumpLogIntoSavestateText(writer);
|
Global.MovieSession.Movie.DumpLogIntoSavestateText(writer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -66,6 +66,8 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public MainForm(string[] args)
|
public MainForm(string[] args)
|
||||||
{
|
{
|
||||||
|
Global.MovieSession = new MovieSession();
|
||||||
|
Global.MovieSession.Movie = new Movie();
|
||||||
Icon = BizHawk.MultiClient.Properties.Resources.logo;
|
Icon = BizHawk.MultiClient.Properties.Resources.logo;
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
Global.Game = new GameInfo();
|
Global.Game = new GameInfo();
|
||||||
|
@ -114,7 +116,7 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
Global.CheatList.SaveSettings();
|
Global.CheatList.SaveSettings();
|
||||||
CloseGame();
|
CloseGame();
|
||||||
UserMovie.StopMovie();
|
Global.MovieSession.Movie.StopMovie();
|
||||||
SaveConfig();
|
SaveConfig();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -1171,7 +1173,7 @@ namespace BizHawk.MultiClient
|
||||||
Global.Emulator = new NullEmulator();
|
Global.Emulator = new NullEmulator();
|
||||||
Global.ActiveController = Global.NullControls;
|
Global.ActiveController = Global.NullControls;
|
||||||
Global.AutoFireController = Global.AutofireNullControls;
|
Global.AutoFireController = Global.AutofireNullControls;
|
||||||
UserMovie.StopMovie();
|
Global.MovieSession.Movie.StopMovie();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void SaveRam()
|
private static void SaveRam()
|
||||||
|
@ -1421,7 +1423,7 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
case "Toggle MultiTrack":
|
case "Toggle MultiTrack":
|
||||||
{
|
{
|
||||||
if (Global.MainForm.UserMovie.Mode > MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode > MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
Global.MovieSession.MultiTrack.IsActive = !Global.MovieSession.MultiTrack.IsActive;
|
Global.MovieSession.MultiTrack.IsActive = !Global.MovieSession.MultiTrack.IsActive;
|
||||||
if (Global.MovieSession.MultiTrack.IsActive)
|
if (Global.MovieSession.MultiTrack.IsActive)
|
||||||
|
@ -1583,12 +1585,12 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
MovieSession session = Global.MovieSession;
|
MovieSession session = Global.MovieSession;
|
||||||
|
|
||||||
if (UserMovie.Mode == MOVIEMODE.RECORD || UserMovie.Mode == MOVIEMODE.PLAY)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD || Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
session.LatchInputFromLog();
|
session.LatchInputFromLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UserMovie.Mode == MOVIEMODE.RECORD)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD)
|
||||||
{
|
{
|
||||||
if (session.MultiTrack.IsActive)
|
if (session.MultiTrack.IsActive)
|
||||||
{
|
{
|
||||||
|
@ -1604,24 +1606,24 @@ namespace BizHawk.MultiClient
|
||||||
session.Movie.CommitFrame(Global.Emulator.Frame, Global.MovieOutputHardpoint);
|
session.Movie.CommitFrame(Global.Emulator.Frame, Global.MovieOutputHardpoint);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE || UserMovie.Mode == MOVIEMODE.FINISHED)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE || Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
{
|
{
|
||||||
session.LatchInputFromPlayer(Global.MovieInputSourceAdapter);
|
session.LatchInputFromPlayer(Global.MovieInputSourceAdapter);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UserMovie.Mode == MOVIEMODE.PLAY)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
if (UserMovie.Length() == Global.Emulator.Frame)
|
if (Global.MovieSession.Movie.Length() == Global.Emulator.Frame)
|
||||||
{
|
{
|
||||||
UserMovie.SetMovieFinished();
|
Global.MovieSession.Movie.SetMovieFinished();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (UserMovie.Mode == MOVIEMODE.FINISHED)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
{
|
{
|
||||||
if (UserMovie.Length() > Global.Emulator.Frame)
|
if (Global.MovieSession.Movie.Length() > Global.Emulator.Frame)
|
||||||
{
|
{
|
||||||
UserMovie.StartPlayback();
|
Global.MovieSession.Movie.StartPlayback();
|
||||||
//Global.MovieSession.MovieControllerAdapter.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame));
|
//Global.MovieSession.MovieControllerAdapter.SetControllersAsMnemonic(Global.MovieSession.Movie.GetInputFrame(Global.Emulator.Frame));
|
||||||
//Global.MovieMode = true;
|
//Global.MovieMode = true;
|
||||||
//adelikat: is Global.MovieMode doing anything anymore? if not we shoudl remove this variable
|
//adelikat: is Global.MovieMode doing anything anymore? if not we shoudl remove this variable
|
||||||
session.LatchInputFromLog();
|
session.LatchInputFromLog();
|
||||||
|
@ -1629,9 +1631,9 @@ namespace BizHawk.MultiClient
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO: adelikat: don't know what this should do so leaving it commented out
|
//TODO: adelikat: don't know what this should do so leaving it commented out
|
||||||
//if (UserMovie.Mode == MOVIEMODE.RECORD && Global.MovieSession.MultiTrack.IsActive)
|
//if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD && Global.MovieSession.MultiTrack.IsActive)
|
||||||
//{
|
//{
|
||||||
// Global.MovieSession.MovieControllerAdapter.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame-1));
|
// Global.MovieSession.MovieControllerAdapter.SetControllersAsMnemonic(Global.MovieSession.Movie.GetInputFrame(Global.Emulator.Frame-1));
|
||||||
//}
|
//}
|
||||||
|
|
||||||
//=======================================
|
//=======================================
|
||||||
|
@ -2171,7 +2173,7 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public void ToggleReadOnly()
|
public void ToggleReadOnly()
|
||||||
{
|
{
|
||||||
if (Global.MainForm.UserMovie.Mode > MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode > MOVIEMODE.INACTIVE)
|
||||||
{
|
{
|
||||||
ReadOnly ^= true;
|
ReadOnly ^= true;
|
||||||
if (ReadOnly)
|
if (ReadOnly)
|
||||||
|
@ -2243,7 +2245,7 @@ namespace BizHawk.MultiClient
|
||||||
if (Global.Emulator.ControllerDefinition.BoolButtons.Contains("Reset"))
|
if (Global.Emulator.ControllerDefinition.BoolButtons.Contains("Reset"))
|
||||||
{
|
{
|
||||||
Global.ClickyVirtualPadController.Click("Reset");
|
Global.ClickyVirtualPadController.Click("Reset");
|
||||||
if (UserMovie.Mode == MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
||||||
Global.Emulator.ResetFrameCounter();
|
Global.Emulator.ResetFrameCounter();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -346,7 +346,7 @@ namespace BizHawk.MultiClient
|
||||||
Color c;
|
Color c;
|
||||||
int x = GetX(Global.Config.DispInpx, Global.Config.DispInpanchor);
|
int x = GetX(Global.Config.DispInpx, Global.Config.DispInpanchor);
|
||||||
int y = GetY(Global.Config.DispInpy, Global.Config.DispInpanchor);
|
int y = GetY(Global.Config.DispInpy, Global.Config.DispInpanchor);
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
c = Color.FromArgb(Global.Config.MovieInput);
|
c = Color.FromArgb(Global.Config.MovieInput);
|
||||||
}
|
}
|
||||||
|
@ -404,14 +404,14 @@ namespace BizHawk.MultiClient
|
||||||
y, Color.FromArgb(Global.Config.MessagesColor));
|
y, Color.FromArgb(Global.Config.MessagesColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
MessageFont.DrawString(null, "Play", backingControl.Size.Width - 47,
|
MessageFont.DrawString(null, "Play", backingControl.Size.Width - 47,
|
||||||
0 + 1, Color.Black);
|
0 + 1, Color.Black);
|
||||||
MessageFont.DrawString(null, "Play", backingControl.Size.Width - 48,
|
MessageFont.DrawString(null, "Play", backingControl.Size.Width - 48,
|
||||||
0, Color.FromArgb(Global.Config.MovieColor));
|
0, Color.FromArgb(Global.Config.MovieColor));
|
||||||
}
|
}
|
||||||
else if (Global.MainForm.UserMovie.Mode == MOVIEMODE.RECORD)
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD)
|
||||||
{
|
{
|
||||||
AlertFont.DrawString(null, "Record", backingControl.Size.Width - 65,
|
AlertFont.DrawString(null, "Record", backingControl.Size.Width - 65,
|
||||||
0 + 1, Color.Black);
|
0 + 1, Color.Black);
|
||||||
|
@ -419,10 +419,10 @@ namespace BizHawk.MultiClient
|
||||||
0, Color.FromArgb(Global.Config.MovieColor));
|
0, Color.FromArgb(Global.Config.MovieColor));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Global.MainForm.UserMovie.Mode != MOVIEMODE.INACTIVE && Global.Config.DisplaySubtitles)
|
if (Global.MovieSession.Movie.Mode != MOVIEMODE.INACTIVE && Global.Config.DisplaySubtitles)
|
||||||
{
|
{
|
||||||
//TODO: implement multiple subtitles at once feature
|
//TODO: implement multiple subtitles at once feature
|
||||||
Subtitle s = Global.MainForm.UserMovie.Subtitles.GetSubtitle(Global.Emulator.Frame);
|
Subtitle s = Global.MovieSession.Movie.Subtitles.GetSubtitle(Global.Emulator.Frame);
|
||||||
MessageFont.DrawString(null, s.Message, s.X + 1,
|
MessageFont.DrawString(null, s.Message, s.X + 1,
|
||||||
s.Y + 1, new Color4(Color.Black));
|
s.Y + 1, new Color4(Color.Black));
|
||||||
MessageFont.DrawString(null, s.Message, s.X,
|
MessageFont.DrawString(null, s.Message, s.X,
|
||||||
|
@ -432,15 +432,15 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private string MakeFrameCounter()
|
private string MakeFrameCounter()
|
||||||
{
|
{
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.FINISHED)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
{
|
{
|
||||||
return Global.Emulator.Frame.ToString() + "/" + Global.MainForm.UserMovie.Length().ToString() + " (Finished)";
|
return Global.Emulator.Frame.ToString() + "/" + Global.MovieSession.Movie.Length().ToString() + " (Finished)";
|
||||||
}
|
}
|
||||||
else if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
return Global.Emulator.Frame.ToString() + "/" + Global.MainForm.UserMovie.Length().ToString();
|
return Global.Emulator.Frame.ToString() + "/" + Global.MovieSession.Movie.Length().ToString();
|
||||||
}
|
}
|
||||||
else if (Global.MainForm.UserMovie.Mode == MOVIEMODE.RECORD)
|
else if (Global.MovieSession.Movie.Mode == MOVIEMODE.RECORD)
|
||||||
return Global.Emulator.Frame.ToString();
|
return Global.Emulator.Frame.ToString();
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -488,10 +488,10 @@ namespace BizHawk.MultiClient
|
||||||
public string MakeInputDisplay()
|
public string MakeInputDisplay()
|
||||||
{
|
{
|
||||||
StringBuilder s;
|
StringBuilder s;
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.INACTIVE || Global.MainForm.UserMovie.Mode == MOVIEMODE.FINISHED)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE || Global.MovieSession.Movie.Mode == MOVIEMODE.FINISHED)
|
||||||
s = new StringBuilder(Global.GetOutputControllersAsMnemonic());
|
s = new StringBuilder(Global.GetOutputControllersAsMnemonic());
|
||||||
else
|
else
|
||||||
s = new StringBuilder(Global.MainForm.UserMovie.GetInputFrame(Global.Emulator.Frame - 1));
|
s = new StringBuilder(Global.MovieSession.Movie.GetInputFrame(Global.Emulator.Frame - 1));
|
||||||
s.Replace(".", " ");
|
s.Replace(".", " ");
|
||||||
s.Replace("|", "");
|
s.Replace("|", "");
|
||||||
return s.ToString();
|
return s.ToString();
|
||||||
|
@ -499,8 +499,8 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public string MakeRerecordCount()
|
public string MakeRerecordCount()
|
||||||
{
|
{
|
||||||
if (Global.MainForm.UserMovie.Mode != MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode != MOVIEMODE.INACTIVE)
|
||||||
return "Rerecord Count: " + Global.MainForm.UserMovie.Rerecords.ToString();
|
return "Rerecord Count: " + Global.MovieSession.Movie.Rerecords.ToString();
|
||||||
else
|
else
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
|
@ -539,11 +539,12 @@ namespace BizHawk.MultiClient
|
||||||
reader.Close();
|
reader.Close();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
for (int x = 0; x < Log.Length(); x++)
|
for (int x = 0; x < l.Length(); x++)
|
||||||
{
|
{
|
||||||
string xs = Log.GetFrame(x);
|
string xs = Log.GetFrame(x);
|
||||||
string ys = l.GetFrame(x);
|
string ys = l.GetFrame(x);
|
||||||
if (Log.GetFrame(x) != l.GetFrame(x))
|
//if (Log.GetFrame(x) != l.GetFrame(x))
|
||||||
|
if (xs != ys)
|
||||||
{
|
{
|
||||||
//TimeLine Error
|
//TimeLine Error
|
||||||
MessageBox.Show("The savestate input does not match the movie input at frame " + (x + 1).ToString() + ".",
|
MessageBox.Show("The savestate input does not match the movie input at frame " + (x + 1).ToString() + ".",
|
||||||
|
|
|
@ -48,14 +48,14 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
if (!this.IsHandleCreated || this.IsDisposed) return;
|
if (!this.IsHandleCreated || this.IsDisposed) return;
|
||||||
TASView.BlazingFast = true;
|
TASView.BlazingFast = true;
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.INACTIVE)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.INACTIVE)
|
||||||
TASView.ItemCount = 0;
|
TASView.ItemCount = 0;
|
||||||
else
|
else
|
||||||
DisplayList();
|
DisplayList();
|
||||||
|
|
||||||
if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY)
|
if (Global.MovieSession.Movie.Mode == MOVIEMODE.PLAY)
|
||||||
{
|
{
|
||||||
string str = Global.MainForm.UserMovie.GetInputFrame(Global.Emulator.Frame);
|
string str = Global.MovieSession.Movie.GetInputFrame(Global.Emulator.Frame);
|
||||||
if (Global.Config.TASUpdatePads)
|
if (Global.Config.TASUpdatePads)
|
||||||
{
|
{
|
||||||
switch (Global.Emulator.SystemId)
|
switch (Global.Emulator.SystemId)
|
||||||
|
@ -112,12 +112,12 @@ namespace BizHawk.MultiClient
|
||||||
if (column == 0)
|
if (column == 0)
|
||||||
text = String.Format("{0:#,##0}", index);
|
text = String.Format("{0:#,##0}", index);
|
||||||
if (column == 1)
|
if (column == 1)
|
||||||
text = Global.MainForm.UserMovie.GetInputFrame(index);
|
text = Global.MovieSession.Movie.GetInputFrame(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void DisplayList()
|
private void DisplayList()
|
||||||
{
|
{
|
||||||
TASView.ItemCount = Global.MainForm.UserMovie.Length();
|
TASView.ItemCount = Global.MovieSession.Movie.Length();
|
||||||
TASView.ensureVisible(Global.Emulator.Frame);
|
TASView.ensureVisible(Global.Emulator.Frame);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue