Make movie class handle automatically backing up a movie before the first time it alters it, add flag to MultiClient to toggle the movie backup feature
This commit is contained in:
parent
67f726eae6
commit
b95264e9bf
|
@ -101,6 +101,7 @@
|
|||
public bool SingleInstanceMode = false;
|
||||
public bool AllowUD_LR = false;
|
||||
public bool ShowContextMenu = true;
|
||||
public bool EnableBackupMovies = true;
|
||||
|
||||
// Run-Control settings
|
||||
public int FrameProgressDelayMs = 500; //how long until a frame advance hold turns into a frame progress?
|
||||
|
|
|
@ -212,6 +212,7 @@
|
|||
this.toolStripSeparator20 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.screenshotToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.closeROMToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.automaticallyBackupMoviesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.statusStrip1.SuspendLayout();
|
||||
this.contextMenuStrip1.SuspendLayout();
|
||||
|
@ -231,7 +232,7 @@
|
|||
this.menuStrip1.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.Flow;
|
||||
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
|
||||
this.menuStrip1.Name = "menuStrip1";
|
||||
this.menuStrip1.Size = new System.Drawing.Size(470, 21);
|
||||
this.menuStrip1.Size = new System.Drawing.Size(470, 23);
|
||||
this.menuStrip1.TabIndex = 0;
|
||||
this.menuStrip1.Text = "menuStrip1";
|
||||
this.menuStrip1.MenuDeactivate += new System.EventHandler(this.menuStrip1_MenuDeactivate);
|
||||
|
@ -260,7 +261,7 @@
|
|||
// openROMToolStripMenuItem
|
||||
//
|
||||
this.openROMToolStripMenuItem.Name = "openROMToolStripMenuItem";
|
||||
this.openROMToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.openROMToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.openROMToolStripMenuItem.Text = "Open ROM";
|
||||
this.openROMToolStripMenuItem.Click += new System.EventHandler(this.openROMToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -272,7 +273,7 @@
|
|||
this.clearToolStripMenuItem,
|
||||
this.autoloadMostRecentToolStripMenuItem});
|
||||
this.recentROMToolStripMenuItem.Name = "recentROMToolStripMenuItem";
|
||||
this.recentROMToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.recentROMToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.recentROMToolStripMenuItem.Text = "Recent ROM";
|
||||
this.recentROMToolStripMenuItem.DropDownOpened += new System.EventHandler(this.recentROMToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -304,14 +305,14 @@
|
|||
// closeROMToolStripMenuItem
|
||||
//
|
||||
this.closeROMToolStripMenuItem.Name = "closeROMToolStripMenuItem";
|
||||
this.closeROMToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.closeROMToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.closeROMToolStripMenuItem.Text = "&Close ROM";
|
||||
this.closeROMToolStripMenuItem.Click += new System.EventHandler(this.closeROMToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripMenuItem1
|
||||
//
|
||||
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(142, 6);
|
||||
this.toolStripMenuItem1.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// saveStateToolStripMenuItem
|
||||
//
|
||||
|
@ -329,7 +330,7 @@
|
|||
this.toolStripSeparator6,
|
||||
this.saveNamedStateToolStripMenuItem});
|
||||
this.saveStateToolStripMenuItem.Name = "saveStateToolStripMenuItem";
|
||||
this.saveStateToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.saveStateToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.saveStateToolStripMenuItem.Text = "Save State";
|
||||
this.saveStateToolStripMenuItem.DropDownOpened += new System.EventHandler(this.saveStateToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -431,7 +432,7 @@
|
|||
this.toolStripSeparator7,
|
||||
this.loadNamedStateToolStripMenuItem});
|
||||
this.loadStateToolStripMenuItem.Name = "loadStateToolStripMenuItem";
|
||||
this.loadStateToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.loadStateToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.loadStateToolStripMenuItem.Text = "Load State";
|
||||
this.loadStateToolStripMenuItem.DropDownOpened += new System.EventHandler(this.loadStateToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -536,7 +537,7 @@
|
|||
this.saveToCurrentSlotToolStripMenuItem,
|
||||
this.loadCurrentSlotToolStripMenuItem});
|
||||
this.saveSlotToolStripMenuItem.Name = "saveSlotToolStripMenuItem";
|
||||
this.saveSlotToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.saveSlotToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.saveSlotToolStripMenuItem.Text = "SaveSlot";
|
||||
this.saveSlotToolStripMenuItem.DropDownOpened += new System.EventHandler(this.saveSlotToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -646,7 +647,7 @@
|
|||
// toolStripMenuItem2
|
||||
//
|
||||
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(142, 6);
|
||||
this.toolStripMenuItem2.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// movieToolStripMenuItem
|
||||
//
|
||||
|
@ -659,23 +660,24 @@
|
|||
this.stopMovieToolStripMenuItem,
|
||||
this.playFromBeginningToolStripMenuItem,
|
||||
this.toolStripSeparator14,
|
||||
this.bindSavestatesToMoviesToolStripMenuItem});
|
||||
this.bindSavestatesToMoviesToolStripMenuItem,
|
||||
this.automaticallyBackupMoviesToolStripMenuItem});
|
||||
this.movieToolStripMenuItem.Name = "movieToolStripMenuItem";
|
||||
this.movieToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.movieToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.movieToolStripMenuItem.Text = "Movie";
|
||||
this.movieToolStripMenuItem.DropDownOpened += new System.EventHandler(this.movieToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
// readonlyToolStripMenuItem
|
||||
//
|
||||
this.readonlyToolStripMenuItem.Name = "readonlyToolStripMenuItem";
|
||||
this.readonlyToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.readonlyToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.readonlyToolStripMenuItem.Text = "Read-only";
|
||||
this.readonlyToolStripMenuItem.Click += new System.EventHandler(this.readonlyToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator15
|
||||
//
|
||||
this.toolStripSeparator15.Name = "toolStripSeparator15";
|
||||
this.toolStripSeparator15.Size = new System.Drawing.Size(208, 6);
|
||||
this.toolStripSeparator15.Size = new System.Drawing.Size(219, 6);
|
||||
//
|
||||
// recentToolStripMenuItem
|
||||
//
|
||||
|
@ -685,7 +687,7 @@
|
|||
this.clearToolStripMenuItem1,
|
||||
this.autoloadMostRecentToolStripMenuItem1});
|
||||
this.recentToolStripMenuItem.Name = "recentToolStripMenuItem";
|
||||
this.recentToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.recentToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.recentToolStripMenuItem.Text = "Recent";
|
||||
this.recentToolStripMenuItem.DropDownOpened += new System.EventHandler(this.recentToolStripMenuItem_DropDownOpened);
|
||||
//
|
||||
|
@ -715,40 +717,40 @@
|
|||
// recordMovieToolStripMenuItem
|
||||
//
|
||||
this.recordMovieToolStripMenuItem.Name = "recordMovieToolStripMenuItem";
|
||||
this.recordMovieToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.recordMovieToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.recordMovieToolStripMenuItem.Text = "&Record Movie...";
|
||||
this.recordMovieToolStripMenuItem.Click += new System.EventHandler(this.recordMovieToolStripMenuItem_Click);
|
||||
//
|
||||
// playMovieToolStripMenuItem
|
||||
//
|
||||
this.playMovieToolStripMenuItem.Name = "playMovieToolStripMenuItem";
|
||||
this.playMovieToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.playMovieToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.playMovieToolStripMenuItem.Text = "&Play Movie...";
|
||||
this.playMovieToolStripMenuItem.Click += new System.EventHandler(this.playMovieToolStripMenuItem_Click);
|
||||
//
|
||||
// stopMovieToolStripMenuItem
|
||||
//
|
||||
this.stopMovieToolStripMenuItem.Name = "stopMovieToolStripMenuItem";
|
||||
this.stopMovieToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.stopMovieToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.stopMovieToolStripMenuItem.Text = "Stop Movie";
|
||||
this.stopMovieToolStripMenuItem.Click += new System.EventHandler(this.stopMovieToolStripMenuItem_Click);
|
||||
//
|
||||
// playFromBeginningToolStripMenuItem
|
||||
//
|
||||
this.playFromBeginningToolStripMenuItem.Name = "playFromBeginningToolStripMenuItem";
|
||||
this.playFromBeginningToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.playFromBeginningToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.playFromBeginningToolStripMenuItem.Text = "Play from Beginning";
|
||||
this.playFromBeginningToolStripMenuItem.Click += new System.EventHandler(this.playFromBeginningToolStripMenuItem_Click);
|
||||
//
|
||||
// toolStripSeparator14
|
||||
//
|
||||
this.toolStripSeparator14.Name = "toolStripSeparator14";
|
||||
this.toolStripSeparator14.Size = new System.Drawing.Size(208, 6);
|
||||
this.toolStripSeparator14.Size = new System.Drawing.Size(219, 6);
|
||||
//
|
||||
// bindSavestatesToMoviesToolStripMenuItem
|
||||
//
|
||||
this.bindSavestatesToMoviesToolStripMenuItem.Name = "bindSavestatesToMoviesToolStripMenuItem";
|
||||
this.bindSavestatesToMoviesToolStripMenuItem.Size = new System.Drawing.Size(211, 22);
|
||||
this.bindSavestatesToMoviesToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.bindSavestatesToMoviesToolStripMenuItem.Text = "Bind Savestates to Movies";
|
||||
this.bindSavestatesToMoviesToolStripMenuItem.Click += new System.EventHandler(this.bindSavestatesToMoviesToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -758,7 +760,7 @@
|
|||
this.screenshotF12ToolStripMenuItem,
|
||||
this.screenshotAsToolStripMenuItem});
|
||||
this.screenshotToolStripMenuItem.Name = "screenshotToolStripMenuItem";
|
||||
this.screenshotToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.screenshotToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.screenshotToolStripMenuItem.Text = "Screenshot";
|
||||
//
|
||||
// screenshotF12ToolStripMenuItem
|
||||
|
@ -778,13 +780,13 @@
|
|||
// toolStripSeparator4
|
||||
//
|
||||
this.toolStripSeparator4.Name = "toolStripSeparator4";
|
||||
this.toolStripSeparator4.Size = new System.Drawing.Size(142, 6);
|
||||
this.toolStripSeparator4.Size = new System.Drawing.Size(149, 6);
|
||||
//
|
||||
// exitToolStripMenuItem
|
||||
//
|
||||
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
|
||||
this.exitToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.F4)));
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(145, 22);
|
||||
this.exitToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||
this.exitToolStripMenuItem.Text = "Exit";
|
||||
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
|
||||
//
|
||||
|
@ -1552,7 +1554,7 @@
|
|||
this.screenshotToolStripMenuItem1,
|
||||
this.closeROMToolStripMenuItem1});
|
||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(179, 264);
|
||||
this.contextMenuStrip1.Size = new System.Drawing.Size(179, 242);
|
||||
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
|
||||
//
|
||||
// openRomToolStripMenuItem1
|
||||
|
@ -1640,6 +1642,13 @@
|
|||
this.closeROMToolStripMenuItem1.Text = "Close ROM";
|
||||
this.closeROMToolStripMenuItem1.Click += new System.EventHandler(this.closeROMToolStripMenuItem1_Click);
|
||||
//
|
||||
// automaticallyBackupMoviesToolStripMenuItem
|
||||
//
|
||||
this.automaticallyBackupMoviesToolStripMenuItem.Name = "automaticallyBackupMoviesToolStripMenuItem";
|
||||
this.automaticallyBackupMoviesToolStripMenuItem.Size = new System.Drawing.Size(222, 22);
|
||||
this.automaticallyBackupMoviesToolStripMenuItem.Text = "Automatically Backup Movies";
|
||||
this.automaticallyBackupMoviesToolStripMenuItem.Click += new System.EventHandler(this.automaticallyBackupMoviesToolStripMenuItem_Click);
|
||||
//
|
||||
// MainForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 14F);
|
||||
|
@ -1853,6 +1862,7 @@
|
|||
private System.Windows.Forms.ToolStripMenuItem screenshotToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem closeROMToolStripMenuItem1;
|
||||
private System.Windows.Forms.ToolStripMenuItem makeMovieBackupToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem automaticallyBackupMoviesToolStripMenuItem;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -825,6 +825,11 @@ namespace BizHawk.MultiClient
|
|||
private void makeMovieBackupToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
UserMovie.WriteBackup();
|
||||
}
|
||||
}
|
||||
|
||||
private void automaticallyBackupMoviesToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
Global.Config.EnableBackupMovies ^= true;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2086,6 +2086,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
readonlyToolStripMenuItem.Checked = ReadOnly;
|
||||
bindSavestatesToMoviesToolStripMenuItem.Checked = Global.Config.BindSavestatesToMovies;
|
||||
automaticallyBackupMoviesToolStripMenuItem.Checked = Global.Config.EnableBackupMovies;
|
||||
|
||||
readonlyToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.ReadOnlyToggleBinding;
|
||||
recordMovieToolStripMenuItem.ShortcutKeyDisplayString = Global.Config.RecordMovieBinding;
|
||||
|
|
|
@ -14,6 +14,7 @@ namespace BizHawk.MultiClient
|
|||
|
||||
private bool IsText = true;
|
||||
private string Filename;
|
||||
public bool MakeBackup = true; //Flag for making backup before altering movie
|
||||
|
||||
private MOVIEMODE MovieMode = new MOVIEMODE();
|
||||
|
||||
|
@ -68,6 +69,11 @@ namespace BizHawk.MultiClient
|
|||
public void StartNewRecording()
|
||||
{
|
||||
MovieMode = MOVIEMODE.RECORD;
|
||||
if (Global.Config.EnableBackupMovies && MakeBackup && Log.Length() > 0)
|
||||
{
|
||||
WriteBackup();
|
||||
MakeBackup = false;
|
||||
}
|
||||
Log.Clear();
|
||||
Header = new MovieHeader(MainForm.EMUVERSION, MovieHeader.MovieVersion, Global.Emulator.SystemId, Global.Game.Name, "", 0);
|
||||
}
|
||||
|
@ -103,9 +109,6 @@ namespace BizHawk.MultiClient
|
|||
{
|
||||
Log.Truncate(Global.Emulator.Frame);
|
||||
}
|
||||
// if (Global.MainForm.TAStudio1.Engaged)
|
||||
// Log.AddFrame(Global.MainForm.TAStudio1.GetMnemonic());
|
||||
// else
|
||||
Log.AddFrame(Global.ActiveController.GetControllersAsMnemonic());
|
||||
}
|
||||
}
|
||||
|
@ -363,7 +366,12 @@ namespace BizHawk.MultiClient
|
|||
//We are in record mode so replace the movie log with the one from the savestate
|
||||
if (!MultiTrack.isActive)
|
||||
{
|
||||
Log.Clear();
|
||||
if (Global.Config.EnableBackupMovies && MakeBackup && Log.Length() > 0)
|
||||
{
|
||||
WriteBackup();
|
||||
MakeBackup = false;
|
||||
}
|
||||
Log.Clear();
|
||||
while (true)
|
||||
{
|
||||
string line = reader.ReadLine();
|
||||
|
|
Loading…
Reference in New Issue