diff --git a/BizHawk.Client.Common/movie/MovieHeader.cs b/BizHawk.Client.Common/movie/MovieHeader.cs index 395bc1540e..4b744e56c4 100644 --- a/BizHawk.Client.Common/movie/MovieHeader.cs +++ b/BizHawk.Client.Common/movie/MovieHeader.cs @@ -174,7 +174,7 @@ namespace BizHawk.Client.Common BoardProperties.Add(boardSplit[0], boardSplit[1]); } } - else if (HeaderKeys.Contains(splitLine[0])) + else if (HeaderKeys.Contains(splitLine[0]) && !this.ContainsKey(splitLine[0])) { Add(splitLine[0], splitLine[1]); } diff --git a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs index fe4d1ffc29..d0b135fed9 100644 --- a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs +++ b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs @@ -136,9 +136,11 @@ namespace BizHawk.Client.EmuHawk private void PreLoadMovieFile(HawkFile hf, bool force) { var movie = new Movie(hf.CanonicalFullPath); - movie.PreLoadText(hf); + try { + movie.PreLoadText(hf); + // Don't do this from browse if (movie.Header[HeaderKeys.GAMENAME] == Global.Game.Name || Global.Config.PlayMovie_MatchGameName == false || force) @@ -148,6 +150,7 @@ namespace BizHawk.Client.EmuHawk } catch (Exception ex) { + // TODO: inform the user that a movie failed to parse in some way Console.WriteLine(ex.Message); } }