Movie backup function added to movie class, currently only hooked to a context menu item of main form

This commit is contained in:
andres.delikat 2011-06-18 18:27:51 +00:00
parent 4a60a4928a
commit 67f726eae6
4 changed files with 56 additions and 25 deletions

View File

@ -205,6 +205,7 @@
this.recordMovieToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.recordMovieToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.playMovieToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.playMovieToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.loadLastMovieToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.loadLastMovieToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.makeMovieBackupToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator(); this.toolStripSeparator19 = new System.Windows.Forms.ToolStripSeparator();
this.undoLoadstateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.undoLoadstateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.undoSavestateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.undoSavestateToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -1543,6 +1544,7 @@
this.recordMovieToolStripMenuItem1, this.recordMovieToolStripMenuItem1,
this.playMovieToolStripMenuItem1, this.playMovieToolStripMenuItem1,
this.loadLastMovieToolStripMenuItem, this.loadLastMovieToolStripMenuItem,
this.makeMovieBackupToolStripMenuItem,
this.toolStripSeparator19, this.toolStripSeparator19,
this.undoLoadstateToolStripMenuItem, this.undoLoadstateToolStripMenuItem,
this.undoSavestateToolStripMenuItem, this.undoSavestateToolStripMenuItem,
@ -1550,84 +1552,91 @@
this.screenshotToolStripMenuItem1, this.screenshotToolStripMenuItem1,
this.closeROMToolStripMenuItem1}); this.closeROMToolStripMenuItem1});
this.contextMenuStrip1.Name = "contextMenuStrip1"; this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(163, 242); this.contextMenuStrip1.Size = new System.Drawing.Size(179, 264);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening); this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
// //
// openRomToolStripMenuItem1 // openRomToolStripMenuItem1
// //
this.openRomToolStripMenuItem1.Name = "openRomToolStripMenuItem1"; this.openRomToolStripMenuItem1.Name = "openRomToolStripMenuItem1";
this.openRomToolStripMenuItem1.Size = new System.Drawing.Size(162, 22); this.openRomToolStripMenuItem1.Size = new System.Drawing.Size(178, 22);
this.openRomToolStripMenuItem1.Text = "Open Rom"; this.openRomToolStripMenuItem1.Text = "Open Rom";
this.openRomToolStripMenuItem1.Click += new System.EventHandler(this.openRomToolStripMenuItem1_Click); this.openRomToolStripMenuItem1.Click += new System.EventHandler(this.openRomToolStripMenuItem1_Click);
// //
// loadLastROMToolStripMenuItem // loadLastROMToolStripMenuItem
// //
this.loadLastROMToolStripMenuItem.Name = "loadLastROMToolStripMenuItem"; this.loadLastROMToolStripMenuItem.Name = "loadLastROMToolStripMenuItem";
this.loadLastROMToolStripMenuItem.Size = new System.Drawing.Size(162, 22); this.loadLastROMToolStripMenuItem.Size = new System.Drawing.Size(178, 22);
this.loadLastROMToolStripMenuItem.Text = "Load Last ROM"; this.loadLastROMToolStripMenuItem.Text = "Load Last ROM";
this.loadLastROMToolStripMenuItem.Click += new System.EventHandler(this.loadLastROMToolStripMenuItem_Click); this.loadLastROMToolStripMenuItem.Click += new System.EventHandler(this.loadLastROMToolStripMenuItem_Click);
// //
// toolStripSeparator18 // toolStripSeparator18
// //
this.toolStripSeparator18.Name = "toolStripSeparator18"; this.toolStripSeparator18.Name = "toolStripSeparator18";
this.toolStripSeparator18.Size = new System.Drawing.Size(159, 6); this.toolStripSeparator18.Size = new System.Drawing.Size(175, 6);
// //
// recordMovieToolStripMenuItem1 // recordMovieToolStripMenuItem1
// //
this.recordMovieToolStripMenuItem1.Name = "recordMovieToolStripMenuItem1"; this.recordMovieToolStripMenuItem1.Name = "recordMovieToolStripMenuItem1";
this.recordMovieToolStripMenuItem1.Size = new System.Drawing.Size(162, 22); this.recordMovieToolStripMenuItem1.Size = new System.Drawing.Size(178, 22);
this.recordMovieToolStripMenuItem1.Text = "Record Movie"; this.recordMovieToolStripMenuItem1.Text = "Record Movie";
this.recordMovieToolStripMenuItem1.Click += new System.EventHandler(this.recordMovieToolStripMenuItem1_Click); this.recordMovieToolStripMenuItem1.Click += new System.EventHandler(this.recordMovieToolStripMenuItem1_Click);
// //
// playMovieToolStripMenuItem1 // playMovieToolStripMenuItem1
// //
this.playMovieToolStripMenuItem1.Name = "playMovieToolStripMenuItem1"; this.playMovieToolStripMenuItem1.Name = "playMovieToolStripMenuItem1";
this.playMovieToolStripMenuItem1.Size = new System.Drawing.Size(162, 22); this.playMovieToolStripMenuItem1.Size = new System.Drawing.Size(178, 22);
this.playMovieToolStripMenuItem1.Text = "Play Movie"; this.playMovieToolStripMenuItem1.Text = "Play Movie";
this.playMovieToolStripMenuItem1.Click += new System.EventHandler(this.playMovieToolStripMenuItem1_Click); this.playMovieToolStripMenuItem1.Click += new System.EventHandler(this.playMovieToolStripMenuItem1_Click);
// //
// loadLastMovieToolStripMenuItem // loadLastMovieToolStripMenuItem
// //
this.loadLastMovieToolStripMenuItem.Name = "loadLastMovieToolStripMenuItem"; this.loadLastMovieToolStripMenuItem.Name = "loadLastMovieToolStripMenuItem";
this.loadLastMovieToolStripMenuItem.Size = new System.Drawing.Size(162, 22); this.loadLastMovieToolStripMenuItem.Size = new System.Drawing.Size(178, 22);
this.loadLastMovieToolStripMenuItem.Text = "Load Last Movie"; this.loadLastMovieToolStripMenuItem.Text = "Load Last Movie";
this.loadLastMovieToolStripMenuItem.Click += new System.EventHandler(this.loadLastMovieToolStripMenuItem_Click); this.loadLastMovieToolStripMenuItem.Click += new System.EventHandler(this.loadLastMovieToolStripMenuItem_Click);
// //
// makeMovieBackupToolStripMenuItem
//
this.makeMovieBackupToolStripMenuItem.Name = "makeMovieBackupToolStripMenuItem";
this.makeMovieBackupToolStripMenuItem.Size = new System.Drawing.Size(178, 22);
this.makeMovieBackupToolStripMenuItem.Text = "Make Movie Backup";
this.makeMovieBackupToolStripMenuItem.Click += new System.EventHandler(this.makeMovieBackupToolStripMenuItem_Click);
//
// toolStripSeparator19 // toolStripSeparator19
// //
this.toolStripSeparator19.Name = "toolStripSeparator19"; this.toolStripSeparator19.Name = "toolStripSeparator19";
this.toolStripSeparator19.Size = new System.Drawing.Size(159, 6); this.toolStripSeparator19.Size = new System.Drawing.Size(175, 6);
// //
// undoLoadstateToolStripMenuItem // undoLoadstateToolStripMenuItem
// //
this.undoLoadstateToolStripMenuItem.Name = "undoLoadstateToolStripMenuItem"; this.undoLoadstateToolStripMenuItem.Name = "undoLoadstateToolStripMenuItem";
this.undoLoadstateToolStripMenuItem.Size = new System.Drawing.Size(162, 22); this.undoLoadstateToolStripMenuItem.Size = new System.Drawing.Size(178, 22);
this.undoLoadstateToolStripMenuItem.Text = "Undo Loadstate"; this.undoLoadstateToolStripMenuItem.Text = "Undo Loadstate";
this.undoLoadstateToolStripMenuItem.Click += new System.EventHandler(this.undoLoadstateToolStripMenuItem_Click); this.undoLoadstateToolStripMenuItem.Click += new System.EventHandler(this.undoLoadstateToolStripMenuItem_Click);
// //
// undoSavestateToolStripMenuItem // undoSavestateToolStripMenuItem
// //
this.undoSavestateToolStripMenuItem.Name = "undoSavestateToolStripMenuItem"; this.undoSavestateToolStripMenuItem.Name = "undoSavestateToolStripMenuItem";
this.undoSavestateToolStripMenuItem.Size = new System.Drawing.Size(162, 22); this.undoSavestateToolStripMenuItem.Size = new System.Drawing.Size(178, 22);
this.undoSavestateToolStripMenuItem.Text = "Undo Savestate"; this.undoSavestateToolStripMenuItem.Text = "Undo Savestate";
this.undoSavestateToolStripMenuItem.Click += new System.EventHandler(this.undoSavestateToolStripMenuItem_Click); this.undoSavestateToolStripMenuItem.Click += new System.EventHandler(this.undoSavestateToolStripMenuItem_Click);
// //
// toolStripSeparator20 // toolStripSeparator20
// //
this.toolStripSeparator20.Name = "toolStripSeparator20"; this.toolStripSeparator20.Name = "toolStripSeparator20";
this.toolStripSeparator20.Size = new System.Drawing.Size(159, 6); this.toolStripSeparator20.Size = new System.Drawing.Size(175, 6);
// //
// screenshotToolStripMenuItem1 // screenshotToolStripMenuItem1
// //
this.screenshotToolStripMenuItem1.Name = "screenshotToolStripMenuItem1"; this.screenshotToolStripMenuItem1.Name = "screenshotToolStripMenuItem1";
this.screenshotToolStripMenuItem1.Size = new System.Drawing.Size(162, 22); this.screenshotToolStripMenuItem1.Size = new System.Drawing.Size(178, 22);
this.screenshotToolStripMenuItem1.Text = "Screenshot"; this.screenshotToolStripMenuItem1.Text = "Screenshot";
this.screenshotToolStripMenuItem1.Click += new System.EventHandler(this.screenshotToolStripMenuItem1_Click); this.screenshotToolStripMenuItem1.Click += new System.EventHandler(this.screenshotToolStripMenuItem1_Click);
// //
// closeROMToolStripMenuItem1 // closeROMToolStripMenuItem1
// //
this.closeROMToolStripMenuItem1.Name = "closeROMToolStripMenuItem1"; this.closeROMToolStripMenuItem1.Name = "closeROMToolStripMenuItem1";
this.closeROMToolStripMenuItem1.Size = new System.Drawing.Size(162, 22); this.closeROMToolStripMenuItem1.Size = new System.Drawing.Size(178, 22);
this.closeROMToolStripMenuItem1.Text = "Close ROM"; this.closeROMToolStripMenuItem1.Text = "Close ROM";
this.closeROMToolStripMenuItem1.Click += new System.EventHandler(this.closeROMToolStripMenuItem1_Click); this.closeROMToolStripMenuItem1.Click += new System.EventHandler(this.closeROMToolStripMenuItem1_Click);
// //
@ -1843,6 +1852,7 @@
private System.Windows.Forms.ToolStripSeparator toolStripSeparator20; private System.Windows.Forms.ToolStripSeparator toolStripSeparator20;
private System.Windows.Forms.ToolStripMenuItem screenshotToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem screenshotToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem closeROMToolStripMenuItem1; private System.Windows.Forms.ToolStripMenuItem closeROMToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem makeMovieBackupToolStripMenuItem;
} }
} }

View File

@ -784,6 +784,7 @@ namespace BizHawk.MultiClient
contextMenuStrip1.Items[9].Visible = false; contextMenuStrip1.Items[9].Visible = false;
contextMenuStrip1.Items[10].Visible = false; contextMenuStrip1.Items[10].Visible = false;
contextMenuStrip1.Items[11].Visible = false; contextMenuStrip1.Items[11].Visible = false;
contextMenuStrip1.Items[12].Visible = false;
} }
else else
{ {
@ -796,26 +797,34 @@ namespace BizHawk.MultiClient
contextMenuStrip1.Items[3].Visible = true; contextMenuStrip1.Items[3].Visible = true;
contextMenuStrip1.Items[4].Visible = true; contextMenuStrip1.Items[4].Visible = true;
contextMenuStrip1.Items[5].Visible = true; contextMenuStrip1.Items[5].Visible = true;
contextMenuStrip1.Items[6].Visible = false;
contextMenuStrip1.Items[7].Visible = true;
} }
else else
{ {
contextMenuStrip1.Items[3].Visible = false; contextMenuStrip1.Items[3].Visible = false;
contextMenuStrip1.Items[4].Visible = false; contextMenuStrip1.Items[4].Visible = false;
contextMenuStrip1.Items[5].Visible = false; contextMenuStrip1.Items[5].Visible = false;
contextMenuStrip1.Items[6].Visible = true;
contextMenuStrip1.Items[7].Visible = true;
} }
contextMenuStrip1.Items[6].Visible = true;
contextMenuStrip1.Items[7].Visible = true;
contextMenuStrip1.Items[8].Visible = true;
contextMenuStrip1.Items[8].Visible = true;
contextMenuStrip1.Items[9].Visible = true; contextMenuStrip1.Items[9].Visible = true;
contextMenuStrip1.Items[10].Visible = true; contextMenuStrip1.Items[10].Visible = true;
contextMenuStrip1.Items[11].Visible = true; contextMenuStrip1.Items[11].Visible = true;
contextMenuStrip1.Items[12].Visible = true;
} }
//TODO: //TODO:
contextMenuStrip1.Items[7].Enabled = false; contextMenuStrip1.Items[7].Enabled = false;
contextMenuStrip1.Items[8].Enabled = false; contextMenuStrip1.Items[8].Enabled = false;
}
private void makeMovieBackupToolStripMenuItem_Click(object sender, EventArgs e)
{
UserMovie.WriteBackup();
} }
} }
} }

View File

@ -2238,6 +2238,6 @@ namespace BizHawk.MultiClient
Global.Config.SoundVolume = 0; Global.Config.SoundVolume = 0;
Global.Sound.ChangeVolume(Global.Config.SoundVolume); Global.Sound.ChangeVolume(Global.Config.SoundVolume);
Global.RenderPanel.AddMessage("Volume " + Global.Config.SoundVolume.ToString()); Global.RenderPanel.AddMessage("Volume " + Global.Config.SoundVolume.ToString());
} }
} }
} }

View File

@ -134,24 +134,36 @@ namespace BizHawk.MultiClient
{ {
Directory.CreateDirectory(new FileInfo(Filename).Directory.FullName); Directory.CreateDirectory(new FileInfo(Filename).Directory.FullName);
if (IsText) if (IsText)
WriteText(); WriteText(Filename);
else else
WriteBinary(); WriteBinary(Filename);
} }
private void WriteText() public void WriteBackup()
{ {
if (Filename.Length == 0) return; //Nothing to write Directory.CreateDirectory(new FileInfo(Filename).Directory.FullName);
string BackupName = Filename;
BackupName = BackupName.Insert(Filename.LastIndexOf("."), String.Format(".{0:yyyy-MM-dd HH.mm.ss}", DateTime.Now));
Global.RenderPanel.AddMessage("Backup movie saved to " + BackupName);
if (IsText)
WriteText(BackupName);
else
WriteBinary(BackupName);
}
private void WriteText(string file)
{
if (file.Length == 0) return; //Nothing to write
int length = Log.GetMovieLength(); int length = Log.GetMovieLength();
using (StreamWriter sw = new StreamWriter(Filename)) using (StreamWriter sw = new StreamWriter(file))
{ {
foreach (KeyValuePair<string, string> kvp in Header.HeaderParams) foreach (KeyValuePair<string, string> kvp in Header.HeaderParams)
{ {
sw.WriteLine(kvp.Key + " " + kvp.Value); sw.WriteLine(kvp.Key + " " + kvp.Value);
} }
for (int x = 0; x < length; x++) for (int x = 0; x < length; x++)
{ {
sw.WriteLine(Log.GetFrame(x)); sw.WriteLine(Log.GetFrame(x));
@ -159,7 +171,7 @@ namespace BizHawk.MultiClient
} }
} }
private void WriteBinary() private void WriteBinary(string file)
{ {
} }