From a2dede0bfa8b4f6a9ff7bea0abbe3ebb4ffb555d Mon Sep 17 00:00:00 2001 From: "andres.delikat" Date: Sun, 22 May 2011 17:45:33 +0000 Subject: [PATCH] Use absolute path when creating the input log, hook up savestate logic to SaveStateAs() --- BizHawk.MultiClient/MainForm.cs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 1f2649536b..48e2b1e2a1 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -189,7 +189,7 @@ namespace BizHawk.MultiClient m = MOVIEMODE.RECORD; else m = MOVIEMODE.INACTIVE; - InputLog = new Movie(Global.Config.MoviesPath + "\\log.tas", m); + InputLog = new Movie(PathManager.MakeAbsolutePath(Global.Config.MoviesPath, "") + "\\log.tas", m); } void SyncPresentationMode() @@ -1148,6 +1148,16 @@ namespace BizHawk.MultiClient MakeScreenshot(String.Format(Global.Game.ScreenshotPrefix + ".{0:yyyy-MM-dd HH.mm.ss}.png", DateTime.Now)); } + private void HandleMovieSaveState(StreamWriter writer) + { + if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) + { + UserMovie.DumpLogIntoSavestateText(writer); + } + else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) + InputLog.DumpLogIntoSavestateText(writer); + } + private void SaveState(string name) { string path = Global.Game.SaveStatePrefix + "." + name + ".State"; @@ -1158,14 +1168,7 @@ namespace BizHawk.MultiClient var writer = new StreamWriter(path); Global.Emulator.SaveStateText(writer); - //TODO: logic surrounding the behavior of movie modes & settings - //TODO: refactor save/loadstate as functions to automatically include this behavior too - if (UserMovie.GetMovieMode() != MOVIEMODE.INACTIVE) - { - UserMovie.DumpLogIntoSavestateText(writer); - } - else if (InputLog.GetMovieMode() != MOVIEMODE.INACTIVE) - InputLog.DumpLogIntoSavestateText(writer); + HandleMovieSaveState(writer); writer.Close(); Global.RenderPanel.AddMessage("Saved state: " + name); Global.RenderPanel.AddMessage("Saved state: " + name); @@ -1188,6 +1191,7 @@ namespace BizHawk.MultiClient var writer = new StreamWriter(sfd.FileName); Global.Emulator.SaveStateText(writer); + HandleMovieSaveState(writer); writer.Close(); Global.RenderPanel.AddMessage(sfd.FileName + " saved"); }