diff --git a/BizHawk.MultiClient/BizHawk.MultiClient.csproj b/BizHawk.MultiClient/BizHawk.MultiClient.csproj
index b64745edbe..12c377d548 100644
--- a/BizHawk.MultiClient/BizHawk.MultiClient.csproj
+++ b/BizHawk.MultiClient/BizHawk.MultiClient.csproj
@@ -146,6 +146,9 @@
LogWindow.cs
+
+ Form
+
Form
diff --git a/BizHawk.MultiClient/MainForm.Movie.cs b/BizHawk.MultiClient/MainForm.Movie.cs
new file mode 100644
index 0000000000..85e4a88bb6
--- /dev/null
+++ b/BizHawk.MultiClient/MainForm.Movie.cs
@@ -0,0 +1,97 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Drawing;
+using System.IO;
+using System.Windows.Forms;
+
+namespace BizHawk.MultiClient
+{
+ partial class MainForm
+ {
+ public bool ReadOnly = true; //Global Movie Read only setting
+ public Movie UserMovie = new Movie();
+
+ public void StartNewMovie(Movie m, bool record)
+ {
+
+ UserMovie = m;
+ LoadRom(Global.MainForm.CurrentlyOpenRom);
+ UserMovie.LoadMovie();
+ Global.Config.RecentMovies.Add(m.Filename);
+
+ if (record)
+ {
+ UserMovie.StartNewRecording();
+ ReadOnly = false;
+ }
+ else
+ {
+ UserMovie.StartPlayback();
+ }
+ SetMainformMovieInfo();
+ }
+
+ public void SetMainformMovieInfo()
+ {
+ if (UserMovie.Mode == MOVIEMODE.PLAY || UserMovie.Mode == MOVIEMODE.FINISHED)
+ {
+ Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.Filename);
+ PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.Play;
+ PlayRecordStatus.ToolTipText = "Movie is in playback mode";
+ }
+ else if (UserMovie.Mode == MOVIEMODE.RECORD)
+ {
+ Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.Filename);
+ PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.RecordHS;
+ PlayRecordStatus.ToolTipText = "Movie is in record mode";
+ }
+ else
+ {
+ Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name;
+ PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.Blank;
+ PlayRecordStatus.ToolTipText = "";
+ }
+ }
+
+ /*TODO: remove this or make usermovie private*/
+ public Movie GetActiveMovie()
+ {
+ if (UserMovie.Mode != MOVIEMODE.INACTIVE)
+ return UserMovie;
+ else
+ return null;
+ }
+
+ public bool MovieActive()
+ {
+ if (UserMovie.Mode != MOVIEMODE.INACTIVE)
+ return true;
+ else
+ return false;
+ }
+
+ private void PlayMovie()
+ {
+ PlayMovie p = new PlayMovie();
+ DialogResult d = p.ShowDialog();
+ }
+
+ private void RecordMovie()
+ {
+ RecordMovie r = new RecordMovie();
+ r.ShowDialog();
+ }
+
+ public void PlayMovieFromBeginning()
+ {
+ if (UserMovie.Mode != MOVIEMODE.INACTIVE)
+ {
+ LoadRom(CurrentlyOpenRom);
+ UserMovie.StartPlayback();
+ SetMainformMovieInfo();
+ }
+ }
+ }
+}
diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs
index bbe313e138..e62ec51818 100644
--- a/BizHawk.MultiClient/MainForm.cs
+++ b/BizHawk.MultiClient/MainForm.cs
@@ -22,15 +22,11 @@ namespace BizHawk.MultiClient
private RetainedViewportPanel retainedPanel;
public string CurrentlyOpenRom;
SavestateManager StateSlots = new SavestateManager();
-
- //Movie variables
- public Movie UserMovie = new Movie();
+
public bool PressFrameAdvance = false;
public bool PressRewind = false;
- public bool ReadOnly = true; //Global Movie Read only setting
-
//avi/wav state
AviWriter CurrAviWriter = null;
@@ -77,8 +73,7 @@ namespace BizHawk.MultiClient
displayLogWindowToolStripMenuItem.Checked = true;
}
-
- UpdateStatusSlots();
+ UpdateStatusSlots();
//in order to allow late construction of this database, we hook up a delegate here to dearchive the data and provide it on demand
//we could background thread this later instead if we wanted to be real clever
NES.BootGodDB.GetDatabaseBytes = () =>
@@ -2309,87 +2304,6 @@ namespace BizHawk.MultiClient
ToggleReadOnly();
}
- public void SetMainformMovieInfo()
- {
- if (UserMovie.Mode == MOVIEMODE.PLAY || UserMovie.Mode == MOVIEMODE.FINISHED)
- {
- Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.Filename);
- PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.Play;
- PlayRecordStatus.ToolTipText = "Movie is in playback mode";
- }
- else if (UserMovie.Mode == MOVIEMODE.RECORD)
- {
- Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.Filename);
- PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.RecordHS;
- PlayRecordStatus.ToolTipText = "Movie is in record mode";
- }
- else
- {
- Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name;
- PlayRecordStatus.Image = BizHawk.MultiClient.Properties.Resources.Blank;
- PlayRecordStatus.ToolTipText = "";
- }
- }
-
- public void StartNewMovie(Movie m, bool record)
- {
-
- UserMovie = m;
- LoadRom(Global.MainForm.CurrentlyOpenRom);
- UserMovie.LoadMovie();
- Global.Config.RecentMovies.Add(m.Filename);
-
- if (record)
- {
- UserMovie.StartNewRecording();
- ReadOnly = false;
- }
- else
- {
- UserMovie.StartPlayback();
- }
- SetMainformMovieInfo();
- }
-
- /*TODO: remove this or make usermovie private*/
- public Movie GetActiveMovie()
- {
- if (UserMovie.Mode != MOVIEMODE.INACTIVE)
- return UserMovie;
- else
- return null;
- }
-
- public bool MovieActive()
- {
- if (UserMovie.Mode != MOVIEMODE.INACTIVE)
- return true;
- else
- return false;
- }
-
- private void PlayMovie()
- {
- PlayMovie p = new PlayMovie();
- DialogResult d = p.ShowDialog();
- }
-
- private void RecordMovie()
- {
- RecordMovie r = new RecordMovie();
- r.ShowDialog();
- }
-
- public void PlayMovieFromBeginning()
- {
- if (UserMovie.Mode != MOVIEMODE.INACTIVE)
- {
- LoadRom(CurrentlyOpenRom);
- UserMovie.StartPlayback();
- SetMainformMovieInfo();
- }
- }
-
public void LoadRamWatch()
{
if (!RamWatch1.IsHandleCreated || RamWatch1.IsDisposed)
diff --git a/BizHawk.MultiClient/RenderPanel.cs b/BizHawk.MultiClient/RenderPanel.cs
index c6fee487e2..e11fa77de5 100644
--- a/BizHawk.MultiClient/RenderPanel.cs
+++ b/BizHawk.MultiClient/RenderPanel.cs
@@ -495,7 +495,7 @@ namespace BizHawk.MultiClient
if (Global.MainForm.UserMovie.Mode != MOVIEMODE.INACTIVE)
{
tmp += "Rerecord Count: ";
- tmp += Global.MainForm.GetActiveMovie().Rerecords.ToString();
+ tmp += Global.MainForm.UserMovie.Rerecords.ToString();
}
return tmp;
}