From 18c50a55fecf3f47216832de2cc1354b54a449f5 Mon Sep 17 00:00:00 2001 From: adelikat Date: Tue, 10 Dec 2013 17:59:04 +0000 Subject: [PATCH] Remove SaveAs from IMovie, the only usage it had in that context was to make backups and was erroneously named in that context. Made is a Movie.cs implementation only and disabled the menu item option if the movie is a TasMovie (TAStudio will be in charge of backup logic) --- BizHawk.Client.Common/movie/IMovie.cs | 1 - BizHawk.Client.Common/movie/Movie.cs | 7 ++++--- BizHawk.Client.Common/movie/TasMovie.cs | 17 +++++++---------- BizHawk.Client.EmuHawk/MainForm.Events.cs | 10 +++++++--- 4 files changed, 18 insertions(+), 17 deletions(-) diff --git a/BizHawk.Client.Common/movie/IMovie.cs b/BizHawk.Client.Common/movie/IMovie.cs index 5cf7642a90..e4e4836d17 100644 --- a/BizHawk.Client.Common/movie/IMovie.cs +++ b/BizHawk.Client.Common/movie/IMovie.cs @@ -52,7 +52,6 @@ namespace BizHawk.Client.Common string Filename { get; set; } bool Load(); void Save(); - void SaveAs(); string GetInputLog(); bool CheckTimeLines(TextReader reader, out string errorMessage); bool ExtractInputLog(TextReader reader, out string errorMessage); diff --git a/BizHawk.Client.Common/movie/Movie.cs b/BizHawk.Client.Common/movie/Movie.cs index ac86e3a850..7fb4f6fd8d 100644 --- a/BizHawk.Client.Common/movie/Movie.cs +++ b/BizHawk.Client.Common/movie/Movie.cs @@ -103,7 +103,7 @@ namespace BizHawk.Client.Common _mode = Moviemode.Record; if (Global.Config.EnableBackupMovies && MakeBackup && _log.Length > 0) { - SaveAs(); + SaveBackup(); MakeBackup = false; } @@ -158,6 +158,7 @@ namespace BizHawk.Client.Common public void SaveAs(string path) { + Filename = path; if (!Loaded) { return; @@ -183,7 +184,7 @@ namespace BizHawk.Client.Common _changes = false; } - public void SaveAs() + public void SaveBackup() { if (!Loaded || String.IsNullOrWhiteSpace(Filename)) { @@ -407,7 +408,7 @@ namespace BizHawk.Client.Common { if (Global.Config.EnableBackupMovies && MakeBackup && _log.Length > 0) { - SaveAs(); + SaveBackup(); MakeBackup = false; } diff --git a/BizHawk.Client.Common/movie/TasMovie.cs b/BizHawk.Client.Common/movie/TasMovie.cs index c064f3ea19..3f20f3c778 100644 --- a/BizHawk.Client.Common/movie/TasMovie.cs +++ b/BizHawk.Client.Common/movie/TasMovie.cs @@ -99,7 +99,7 @@ namespace BizHawk.Client.Common public bool IsPlaying { - get { return _mode == Moviemode.Play || _mode == Moviemode.Finished; } + get { return _mode == Moviemode.Play; } } public bool IsRecording @@ -109,7 +109,7 @@ namespace BizHawk.Client.Common public bool IsFinished { - get { return _mode == Moviemode.Finished; } + get { return false; } //a TasMovie is never in this mode. } public bool IsCountingRerecords { get; set; } @@ -256,12 +256,15 @@ namespace BizHawk.Client.Common } } - // TODO: public double Fps { get { - throw new NotImplementedException(); + var system = Header[HeaderKeys.PLATFORM]; + var pal = Header.ContainsKey(HeaderKeys.PAL) && + Header[HeaderKeys.PAL] == "1"; + + return _frameRates[system, pal]; } } @@ -386,12 +389,6 @@ namespace BizHawk.Client.Common Changes = false; } - public void SaveAs() - { - Changes = false; - throw new NotImplementedException(); - } - public bool CheckTimeLines(TextReader reader, out string errorMessage) { throw new NotImplementedException(); diff --git a/BizHawk.Client.EmuHawk/MainForm.Events.cs b/BizHawk.Client.EmuHawk/MainForm.Events.cs index 363262af68..5ea80ebbbd 100644 --- a/BizHawk.Client.EmuHawk/MainForm.Events.cs +++ b/BizHawk.Client.EmuHawk/MainForm.Events.cs @@ -1746,12 +1746,13 @@ namespace BizHawk.Client.EmuHawk RestartMovieContextMenuItem.Visible = StopMovieContextMenuItem.Visible = - BackupMovieContextMenuItem.Visible = ViewSubtitlesContextMenuItem.Visible = ViewCommentsContextMenuItem.Visible = SaveMovieContextMenuItem.Visible = Global.MovieSession.Movie.IsActive; + BackupMovieContextMenuItem.Visible = Global.MovieSession.Movie is Movie && Global.MovieSession.Movie.IsActive; + StopNoSaveContextMenuItem.Visible = Global.MovieSession.Movie.IsActive && Global.MovieSession.Movie.Changes; AddSubtitleContextMenuItem.Visible = !(Global.Emulator is NullEmulator) && Global.MovieSession.Movie.IsActive && Global.MovieSession.ReadOnly; @@ -1833,8 +1834,11 @@ namespace BizHawk.Client.EmuHawk private void BackupMovieContextMenuItem_Click(object sender, EventArgs e) { - GlobalWin.OSD.AddMessage("Backup movie saved."); - Global.MovieSession.Movie.SaveAs(); + if (Global.MovieSession.Movie is Movie) + { + GlobalWin.OSD.AddMessage("Backup movie saved."); + (Global.MovieSession.Movie as Movie).SaveBackup(); + } } private void ViewSubtitlesContextMenuItem_Click(object sender, EventArgs e)