diff --git a/BizHawk.MultiClient/MainForm.MenuItems.cs b/BizHawk.MultiClient/MainForm.MenuItems.cs index 987eef3eda..80b6ea440e 100644 --- a/BizHawk.MultiClient/MainForm.MenuItems.cs +++ b/BizHawk.MultiClient/MainForm.MenuItems.cs @@ -146,13 +146,13 @@ namespace BizHawk.MultiClient public void StopUserMovie() { string message = "Movie "; - if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD) + if (UserMovie.Mode == MOVIEMODE.RECORD) message += "recording "; - else if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY - || UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + else if (UserMovie.Mode == MOVIEMODE.PLAY + || UserMovie.Mode == MOVIEMODE.FINISHED) message += "playback "; message += "stopped."; - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (UserMovie.Mode != MOVIEMODE.INACTIVE) { UserMovie.StopMovie(); Global.MovieMode = false; @@ -163,7 +163,7 @@ namespace BizHawk.MultiClient public void StopInputLog() { - if (InputLog.GetMovieMode() == MOVIEMODE.RECORD) + if (InputLog.Mode == MOVIEMODE.RECORD) InputLog.StopMovie(); } @@ -844,7 +844,7 @@ namespace BizHawk.MultiClient contextMenuStrip1.Items[1].Visible = false; contextMenuStrip1.Items[2].Visible = false; - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) + if (UserMovie.Mode == MOVIEMODE.INACTIVE) { contextMenuStrip1.Items[3].Visible = true; contextMenuStrip1.Items[4].Visible = true; diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 70ee238d80..1b550a3838 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -930,7 +930,7 @@ namespace BizHawk.MultiClient if (File.Exists(game.SaveRamPath)) LoadSaveRam(); - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) + if (UserMovie.Mode == MOVIEMODE.INACTIVE) { InputLog.SetHeaderLine(MovieHeader.PLATFORM, Global.Emulator.SystemId); InputLog.SetHeaderLine(MovieHeader.GAMENAME, Global.Game.FilesystemSafeName); @@ -1411,12 +1411,12 @@ namespace BizHawk.MultiClient else if (!Global.Config.MuteFrameAdvance) genSound = true; - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (UserMovie.Mode != MOVIEMODE.INACTIVE) { UserMovie.LatchInputFromLog(); } - if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD) + if (UserMovie.Mode == MOVIEMODE.RECORD) { if (UserMovie.MultiTrack.IsActive) { @@ -1429,30 +1429,30 @@ namespace BizHawk.MultiClient UserMovie.CommitFrame(); } - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) + if (UserMovie.Mode == MOVIEMODE.INACTIVE) { UserMovie.LatchInputFromPlayer(); InputLog.CommitFrame(); } - if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + if (UserMovie.Mode == MOVIEMODE.PLAY) { - if (UserMovie.GetMovieLength() == Global.Emulator.Frame) + if (UserMovie.Length() == Global.Emulator.Frame) { UserMovie.SetMovieFinished(); Global.MovieMode = false; } } - if (UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + if (UserMovie.Mode == MOVIEMODE.FINISHED) { - if (UserMovie.GetMovieLength() > Global.Emulator.Frame) + if (UserMovie.Length() > Global.Emulator.Frame) { UserMovie.StartPlayback(); Global.MovieControllerAdapter.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame)); } } - if (UserMovie.GetMovieMode() == MOVIEMODE.RECORD && UserMovie.MultiTrack.IsActive) + if (UserMovie.Mode == MOVIEMODE.RECORD && UserMovie.MultiTrack.IsActive) { Global.MovieControllerAdapter.SetControllersAsMnemonic(UserMovie.GetInputFrame(Global.Emulator.Frame-1)); Console.WriteLine("Out: " + UserMovie.GetInputFrame(Global.Emulator.Frame)); @@ -1537,11 +1537,11 @@ namespace BizHawk.MultiClient private void HandleMovieSaveState(StreamWriter writer) { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (UserMovie.Mode != MOVIEMODE.INACTIVE) { UserMovie.DumpLogIntoSavestateText(writer); } - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + else if (InputLog.Mode != MOVIEMODE.INACTIVE) InputLog.DumpLogIntoSavestateText(writer); } @@ -1587,7 +1587,7 @@ namespace BizHawk.MultiClient private void HandleMovieLoadState(StreamReader reader) { //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.GetMovieMode() == MOVIEMODE.RECORD) + if (UserMovie.Mode == MOVIEMODE.RECORD) { if (ReadOnly) { @@ -1608,7 +1608,7 @@ namespace BizHawk.MultiClient UserMovie.LoadLogFromSavestateText(reader); } } - else if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + else if (UserMovie.Mode == MOVIEMODE.PLAY) { if (ReadOnly) { @@ -1624,12 +1624,12 @@ namespace BizHawk.MultiClient UserMovie.LoadLogFromSavestateText(reader); } } - else if (UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + else if (UserMovie.Mode == MOVIEMODE.FINISHED) { //TODO: have the input log kick in upon movie finished mode and stop upon movie resume if (ReadOnly) { - if (Global.Emulator.Frame > UserMovie.GetMovieLength()) + if (Global.Emulator.Frame > UserMovie.Length()) { Global.MovieMode = false; //Post movie savestate @@ -1648,7 +1648,7 @@ namespace BizHawk.MultiClient } else { - if (Global.Emulator.Frame > UserMovie.GetMovieLength()) + if (Global.Emulator.Frame > UserMovie.Length()) { Global.MovieMode = false; //Post movie savestate @@ -1666,7 +1666,7 @@ namespace BizHawk.MultiClient } else { - if (InputLog.GetMovieMode() == MOVIEMODE.RECORD) + if (InputLog.Mode == MOVIEMODE.RECORD) InputLog.LoadLogFromSavestateText(reader); } } @@ -2299,7 +2299,7 @@ namespace BizHawk.MultiClient private void movieToolStripMenuItem_DropDownOpened(object sender, EventArgs e) { - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) + if (UserMovie.Mode == MOVIEMODE.INACTIVE) { stopMovieToolStripMenuItem.Enabled = false; playFromBeginningToolStripMenuItem.Enabled = false; @@ -2347,15 +2347,15 @@ namespace BizHawk.MultiClient public void SetMainformMovieInfo() { - if (UserMovie.GetMovieMode() == MOVIEMODE.PLAY || UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + if (UserMovie.Mode == MOVIEMODE.PLAY || UserMovie.Mode == MOVIEMODE.FINISHED) { - Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.GetFilePath()); + 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.GetMovieMode() == MOVIEMODE.RECORD) + else if (UserMovie.Mode == MOVIEMODE.RECORD) { - Text = DisplayNameForSystem(Global.Game.System) + " - " + Global.Game.Name + " - " + Path.GetFileName(UserMovie.GetFilePath()); + 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"; } @@ -2374,7 +2374,7 @@ namespace BizHawk.MultiClient InputLog.StopMovie(); LoadRom(Global.MainForm.CurrentlyOpenRom); UserMovie.LoadMovie(); - Global.Config.RecentMovies.Add(m.GetFilePath()); + Global.Config.RecentMovies.Add(m.Filename); if (record) { @@ -2390,9 +2390,9 @@ namespace BizHawk.MultiClient public Movie GetActiveMovie() { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (UserMovie.Mode != MOVIEMODE.INACTIVE) return UserMovie; - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + else if (InputLog.Mode != MOVIEMODE.INACTIVE) return InputLog; else return null; @@ -2400,9 +2400,9 @@ namespace BizHawk.MultiClient public bool MovieActive() { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (UserMovie.Mode != MOVIEMODE.INACTIVE) return true; - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + else if (InputLog.Mode != MOVIEMODE.INACTIVE) return true; else return false; @@ -2422,7 +2422,7 @@ namespace BizHawk.MultiClient public void PlayMovieFromBeginning() { - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (UserMovie.Mode != MOVIEMODE.INACTIVE) { LoadRom(CurrentlyOpenRom); UserMovie.StartPlayback(); @@ -2496,7 +2496,7 @@ namespace BizHawk.MultiClient private void viewSubtitlesToolStripMenuItem_Click(object sender, EventArgs e) { - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) return; + if (UserMovie.Mode == MOVIEMODE.INACTIVE) return; EditSubtitlesForm s = new EditSubtitlesForm(); s.ReadOnly = ReadOnly; @@ -2570,7 +2570,7 @@ namespace BizHawk.MultiClient private void viewCommentsToolStripMenuItem_Click(object sender, EventArgs e) { - if (UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) return; + if (UserMovie.Mode == MOVIEMODE.INACTIVE) return; EditCommentsForm c = new EditCommentsForm(); c.ReadOnly = ReadOnly; diff --git a/BizHawk.MultiClient/PlayMovie.cs b/BizHawk.MultiClient/PlayMovie.cs index deed36860b..3470954473 100644 --- a/BizHawk.MultiClient/PlayMovie.cs +++ b/BizHawk.MultiClient/PlayMovie.cs @@ -32,7 +32,7 @@ namespace BizHawk.MultiClient { text = ""; if (column == 0) //File - text = Path.GetFileName(MovieList[index].GetFilePath()); + text = Path.GetFileName(MovieList[index].Filename); if (column == 1) //System text = MovieList[index].GetSysID(); if (column == 2) //Game @@ -119,7 +119,7 @@ namespace BizHawk.MultiClient private int IsDuplicate(string filename) { for (int x = 0; x < MovieList.Count; x++) - if (MovieList[x].GetFilePath() == filename) + if (MovieList[x].Filename == filename) return x; return 0; } @@ -172,7 +172,7 @@ namespace BizHawk.MultiClient List TAS = new List(); for (int x = 0; x < Indexes.Count; x++) { - if (Path.GetExtension(MovieList[Indexes[x]].GetFilePath()).ToUpper() == ".TAS") + if (Path.GetExtension(MovieList[Indexes[x]].Filename).ToUpper() == ".TAS") TAS.Add(x); } if (TAS.Count == 1) @@ -185,12 +185,12 @@ namespace BizHawk.MultiClient //Final tie breaker - Last used file DateTime t = new DateTime(); - FileInfo f = new FileInfo(MovieList[Indexes[0]].GetFilePath()); + FileInfo f = new FileInfo(MovieList[Indexes[0]].Filename); t = f.LastAccessTime; int mostRecent = Indexes[0]; for (int x = 1; x < Indexes.Count; x++) { - f = new FileInfo(MovieList[Indexes[0]].GetFilePath()); + f = new FileInfo(MovieList[Indexes[0]].Filename); if (f.LastAccessTime > t) { t = f.LastAccessTime; diff --git a/BizHawk.MultiClient/RenderPanel.cs b/BizHawk.MultiClient/RenderPanel.cs index 9b545427bc..b90d98c6e0 100644 --- a/BizHawk.MultiClient/RenderPanel.cs +++ b/BizHawk.MultiClient/RenderPanel.cs @@ -340,7 +340,7 @@ namespace BizHawk.MultiClient Color c; x = GetX(Global.Config.DispInpx, Global.Config.DispInpanchor); y = GetY(Global.Config.DispInpy, Global.Config.DispInpanchor); - if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY) { c = Color.FromArgb(Global.Config.MovieInput); } @@ -399,15 +399,15 @@ namespace BizHawk.MultiClient } //TODO: clean this up or replace with simple draw symbols - if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.PLAY - || Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY + || Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY) { MessageFont.DrawString(null, "Play", backingControl.Size.Width - 47, 0 + 1, new Color4(Color.Black)); MessageFont.DrawString(null, "Play", backingControl.Size.Width - 48, 0, Color.FromArgb(Global.Config.MovieColor)); } - else if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.RECORD) + else if (Global.MainForm.UserMovie.Mode == MOVIEMODE.RECORD) { AlertFont.DrawString(null, "Record", backingControl.Size.Width - 65, 0 + 1, new Color4(Color.Black)); @@ -428,15 +428,15 @@ namespace BizHawk.MultiClient private string MakeFrameCounter() { - if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.FINISHED) + if (Global.MainForm.UserMovie.Mode == MOVIEMODE.FINISHED) { - return Global.Emulator.Frame.ToString() + "/" + Global.MainForm.UserMovie.GetMovieLength().ToString() + " (Finished)"; + return Global.Emulator.Frame.ToString() + "/" + Global.MainForm.UserMovie.Length().ToString() + " (Finished)"; } - else if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.PLAY) + else if (Global.MainForm.UserMovie.Mode == MOVIEMODE.PLAY) { - return Global.Emulator.Frame.ToString() + "/" + Global.MainForm.UserMovie.GetMovieLength().ToString(); + return Global.Emulator.Frame.ToString() + "/" + Global.MainForm.UserMovie.Length().ToString(); } - else if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.RECORD) + else if (Global.MainForm.UserMovie.Mode == MOVIEMODE.RECORD) return Global.Emulator.Frame.ToString(); else { @@ -492,7 +492,7 @@ namespace BizHawk.MultiClient public string MakeRerecordCount() { string tmp = ""; - if (Global.MainForm.UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + if (Global.MainForm.UserMovie.Mode != MOVIEMODE.INACTIVE) { tmp += "Rerecord Count: "; tmp += Global.MainForm.GetActiveMovie().GetRerecordCount().ToString(); diff --git a/BizHawk.MultiClient/RomGame.cs b/BizHawk.MultiClient/RomGame.cs index 8700bd0561..321f6a0348 100644 --- a/BizHawk.MultiClient/RomGame.cs +++ b/BizHawk.MultiClient/RomGame.cs @@ -140,8 +140,8 @@ namespace BizHawk.MultiClient get { string Bind = ""; - if (Global.Config.BindSavestatesToMovies && Global.MainForm.UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) - Bind += " - " + Path.GetFileNameWithoutExtension(Global.MainForm.UserMovie.GetFilePath()); + if (Global.Config.BindSavestatesToMovies && Global.MainForm.UserMovie.Mode != MOVIEMODE.INACTIVE) + Bind += " - " + Path.GetFileNameWithoutExtension(Global.MainForm.UserMovie.Filename); switch (System) { case "SMS": return Path.Combine(PathManager.MakeAbsolutePath(Global.Config.PathSMSSavestates, "SMS"), filesystemSafeName + Bind); diff --git a/BizHawk.MultiClient/movie/Movie.cs b/BizHawk.MultiClient/movie/Movie.cs index fdb151644f..74c3b06683 100644 --- a/BizHawk.MultiClient/movie/Movie.cs +++ b/BizHawk.MultiClient/movie/Movie.cs @@ -13,14 +13,14 @@ namespace BizHawk.MultiClient private MovieHeader Header = new MovieHeader(); private MovieLog Log = new MovieLog(); public SubtitleList Subtitles = new SubtitleList(); - - private bool IsText = true; - public string Filename; //TODO: replace GetFilename() method - public bool MakeBackup = true; //Flag for making backup before altering movie - - private MOVIEMODE MovieMode = new MOVIEMODE(); - public MultitrackRecording MultiTrack = new MultitrackRecording(); + + public bool IsText { get; private set; } + public string Filename { get; private set; } + public MOVIEMODE Mode { get; private set; } + + public bool MakeBackup = true; //Flag - make backup before altering movie + public int Frames = 0; public int lastLog; public int rerecordCount; @@ -44,28 +44,26 @@ namespace BizHawk.MultiClient Filename = filename; exists = true; } - MovieMode = m; + Mode = m; lastLog = 0; rerecordCount = 0; + IsText = true; } public Movie(string filename, MOVIEMODE m) { - MovieMode = m; + Mode = m; lastLog = 0; rerecordCount = 0; this.Filename = filename; + IsText = true; } public Movie() { Filename = ""; //Note: note this must be populated before playing movie - MovieMode = MOVIEMODE.INACTIVE; - } - - public string GetFilePath() - { - return Filename; + Mode = MOVIEMODE.INACTIVE; + IsText = true; } public string GetSysID() @@ -77,21 +75,21 @@ namespace BizHawk.MultiClient { return Header.GetHeaderLine(MovieHeader.GAMENAME); } - public int GetLength() + public int Length() { return Log.Length(); } public void StopMovie() { - if (MovieMode == MOVIEMODE.RECORD) + if (Mode == MOVIEMODE.RECORD) WriteMovie(); - MovieMode = MOVIEMODE.INACTIVE; + Mode = MOVIEMODE.INACTIVE; } public void StartNewRecording() { - MovieMode = MOVIEMODE.RECORD; + Mode = MOVIEMODE.RECORD; if (Global.Config.EnableBackupMovies && MakeBackup && Log.Length() > 0) { WriteBackup(); @@ -102,12 +100,7 @@ namespace BizHawk.MultiClient public void StartPlayback() { - MovieMode = MOVIEMODE.PLAY; - } - - public MOVIEMODE GetMovieMode() - { - return MovieMode; + Mode = MOVIEMODE.PLAY; } public void LatchMultitrackPlayerInput() @@ -164,13 +157,12 @@ namespace BizHawk.MultiClient public string GetInputFrame(int frame) { lastLog = frame; - if (frame < Log.GetMovieLength()) + if (frame < Log.Length()) return Log.GetFrame(frame); else return ""; } - //Movie editing tools may like to have something like this public void AppendFrame(string record) { Log.AddFrame(record); @@ -208,7 +200,7 @@ namespace BizHawk.MultiClient private void WriteText(string file) { if (file.Length == 0) return; //Nothing to write - int length = Log.GetMovieLength(); + int length = Log.Length(); using (StreamWriter sw = new StreamWriter(file)) { @@ -422,10 +414,6 @@ namespace BizHawk.MultiClient return LoadText(); } - public int GetMovieLength() - { - return Log.GetMovieLength(); - } public void DumpLogIntoSavestateText(TextWriter writer) { @@ -499,8 +487,8 @@ namespace BizHawk.MultiClient public void SetMovieFinished() { - if (MovieMode == MOVIEMODE.PLAY) - MovieMode = MOVIEMODE.FINISHED; + if (Mode == MOVIEMODE.PLAY) + Mode = MOVIEMODE.FINISHED; } public void SetHeaderLine(string key, string value) @@ -691,7 +679,7 @@ namespace BizHawk.MultiClient private int CompareFileName(Movie Other) { - string otherName = Path.GetFileName(Other.GetFilePath()); + string otherName = Path.GetFileName(Other.Filename); string thisName = Path.GetFileName(this.Filename); return thisName.CompareTo(otherName); diff --git a/BizHawk.MultiClient/movie/MovieLog.cs b/BizHawk.MultiClient/movie/MovieLog.cs index 50424308bb..6866d8ed33 100644 --- a/BizHawk.MultiClient/movie/MovieLog.cs +++ b/BizHawk.MultiClient/movie/MovieLog.cs @@ -31,11 +31,6 @@ namespace BizHawk.MultiClient MovieRecords.Clear(); } - public int GetMovieLength() - { - return MovieRecords.Count; - } - public void AddFrame(string frame) { MovieRecords.Add(frame); @@ -73,7 +68,7 @@ namespace BizHawk.MultiClient public void WriteText(StreamWriter sw) { - int length = GetMovieLength(); + int length = Length(); for (int x = 0; x < length; x++) { sw.WriteLine(GetFrame(x)); diff --git a/BizHawk.MultiClient/tools/TAStudio.cs b/BizHawk.MultiClient/tools/TAStudio.cs index 63e0d52b4e..076e173bfd 100644 --- a/BizHawk.MultiClient/tools/TAStudio.cs +++ b/BizHawk.MultiClient/tools/TAStudio.cs @@ -45,7 +45,7 @@ namespace BizHawk.MultiClient public void UpdateValues() { if (!this.IsHandleCreated || this.IsDisposed) return; - if (Global.MainForm.UserMovie.GetMovieMode() == MOVIEMODE.INACTIVE) + if (Global.MainForm.UserMovie.Mode == MOVIEMODE.INACTIVE) TASView.ItemCount = 0; else DisplayList(); @@ -75,7 +75,7 @@ namespace BizHawk.MultiClient private void DisplayList() { - TASView.ItemCount = Global.MainForm.UserMovie.GetMovieLength(); + TASView.ItemCount = Global.MainForm.UserMovie.Length(); TASView.ensureVisible(Global.Emulator.Frame); }