diff --git a/BizHawk.MultiClient/MainForm.cs b/BizHawk.MultiClient/MainForm.cs index 8a9ce69ef6..0a179fdb53 100644 --- a/BizHawk.MultiClient/MainForm.cs +++ b/BizHawk.MultiClient/MainForm.cs @@ -3865,17 +3865,42 @@ namespace BizHawk.MultiClient public VideoPluginSettings N64GenerateVideoSettings(GameInfo game) { VideoPluginSettings video_settings = new VideoPluginSettings(Global.Config.N64VidPlugin, Global.Config.N64VideoSizeX, Global.Config.N64VideoSizeY); - if (Global.Config.N64VidPlugin == "Rice") + + string PluginToUse = ""; + /* + if (Global.MovieSession.Movie.Header.HeaderParams[MovieHeader.PLATFORM] == "N64") + { + PluginToUse = Global.MovieSession.Movie.Header.HeaderParams[MovieHeader.VIDEOPLUGIN]; + } + */ + if (PluginToUse == "") + { + PluginToUse = Global.Config.N64VidPlugin; + } + + if (PluginToUse == "Rice") { Global.Config.RicePlugin.FillPerGameHacks(game); video_settings.Parameters = Global.Config.RicePlugin.GetPluginSettings(); } - else if (Global.Config.N64VidPlugin == "Glide64") + else if (PluginToUse == "Glide64") { Global.Config.GlidePlugin.FillPerGameHacks(game); video_settings.Parameters = Global.Config.GlidePlugin.GetPluginSettings(); } - + /* + if (Global.MovieSession.Movie.Header.HeaderParams[MovieHeader.PLATFORM] == "N64") + { + List settings = new List(video_settings.Parameters.Keys); + foreach (string setting in settings) + { + if (Global.MovieSession.Movie.Header.HeaderParams.ContainsKey(setting)) + { + video_settings.Parameters[setting] = Global.MovieSession.Movie.Header.HeaderParams[setting]; + } + } + } + */ return video_settings; } diff --git a/BizHawk.MultiClient/RecordMovie.cs b/BizHawk.MultiClient/RecordMovie.cs index 2a3645111e..4f23913c7a 100644 --- a/BizHawk.MultiClient/RecordMovie.cs +++ b/BizHawk.MultiClient/RecordMovie.cs @@ -121,6 +121,14 @@ namespace BizHawk.MultiClient MovieToRecord.Header.SetHeaderLine(setting.Key, setting.Value.ToString()); } } + else if (Global.Config.N64VidPlugin == "Glide64") + { + var glide_settings = Global.Config.GlidePlugin.GetPluginSettings(); + foreach (var setting in glide_settings) + { + MovieToRecord.Header.SetHeaderLine(setting.Key, setting.Value.ToString()); + } + } } if (StartFromCombo.SelectedItem.ToString() == "Now") diff --git a/BizHawk.MultiClient/movie/MovieHeader.cs b/BizHawk.MultiClient/movie/MovieHeader.cs index a4ecb8383e..1c2e1b1136 100644 --- a/BizHawk.MultiClient/movie/MovieHeader.cs +++ b/BizHawk.MultiClient/movie/MovieHeader.cs @@ -221,7 +221,41 @@ namespace BizHawk.MultiClient return false; } else - Comments.Add(line); + { + if (HeaderParams[PLATFORM] == "N64") + { + if (HeaderParams[VIDEOPLUGIN] == "Rice") + { + ICollection settings = Global.Config.RicePlugin.GetPluginSettings().Keys; + foreach (string setting in settings) + { + if (line.Contains(setting)) + { + line = ParseHeader(line, setting); + AddHeaderLine(setting, line); + break; + } + } + } + else if (HeaderParams[VIDEOPLUGIN] == "Glide64") + { + ICollection settings = Global.Config.GlidePlugin.GetPluginSettings().Keys; + foreach (string setting in settings) + { + if (line.Contains(setting)) + { + line = ParseHeader(line, setting); + AddHeaderLine(setting, line); + break; + } + } + } + } + else + { + Comments.Add(line); + } + } return true; }