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:
andres.delikat 2011-09-03 18:07:30 +00:00
parent d5247babe8
commit a84f881c5c
6 changed files with 90 additions and 89 deletions

View File

@ -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;

View File

@ -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);
} }
} }
} }

View File

@ -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();
} }
} }

View File

@ -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 "";
} }

View File

@ -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() + ".",

View File

@ -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);
} }