diff --git a/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs b/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs index f9549a4e06..85a0698b15 100644 --- a/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs +++ b/BizHawk.Client.Common/lua/EmuLuaLibrary.Movie.cs @@ -165,7 +165,12 @@ namespace BizHawk.Client.Common { if (Global.MovieSession.Movie.IsActive) { - return Global.MovieSession.Movie.Fps; + var movie = Global.MovieSession.Movie; + var system = movie.HeaderEntries[HeaderKeys.PLATFORM]; + var pal = movie.HeaderEntries.ContainsKey(HeaderKeys.PAL) && + movie.HeaderEntries[HeaderKeys.PAL] == "1"; + + return new PlatformFrameRates()[system, pal]; } return 0.0; diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs index 30d4d7c679..2c2e243aa7 100644 --- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs +++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs @@ -60,7 +60,7 @@ namespace BizHawk.Client.Common } } - public double Fps + private double Fps { get { diff --git a/BizHawk.Client.Common/movie/bkm/BkmMovie.cs b/BizHawk.Client.Common/movie/bkm/BkmMovie.cs index c736f3f5a3..493914217b 100644 --- a/BizHawk.Client.Common/movie/bkm/BkmMovie.cs +++ b/BizHawk.Client.Common/movie/bkm/BkmMovie.cs @@ -73,7 +73,7 @@ namespace BizHawk.Client.Common get { return _changes; } } - public double Fps + private double Fps { get { diff --git a/BizHawk.Client.Common/movie/interfaces/IMovie.cs b/BizHawk.Client.Common/movie/interfaces/IMovie.cs index 178316f670..aac378e544 100644 --- a/BizHawk.Client.Common/movie/interfaces/IMovie.cs +++ b/BizHawk.Client.Common/movie/interfaces/IMovie.cs @@ -29,11 +29,6 @@ namespace BizHawk.Client.Common /// Possibly (but unlikely different from InputLogLength (could be infinity, or maybe an implementation automatically discounts empty frames at the end of a movie, etc) /// double FrameCount { get; } - - /// - /// Gets the Fps used to calculate the time of the movie - /// - double Fps { get; } /// /// Gets the time calculation based on FrameCount and Fps diff --git a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs index 5171ff15ef..8c43d1ccf2 100644 --- a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs +++ b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs @@ -481,7 +481,7 @@ namespace BizHawk.Client.EmuHawk } var FpsItem = new ListViewItem("Fps"); - FpsItem.SubItems.Add(string.Format("{0:0.#######}", _movieList[firstIndex].Fps)); + FpsItem.SubItems.Add(string.Format("{0:0.#######}", Fps(_movieList[firstIndex]))); DetailsView.Items.Add(FpsItem); var FramesItem = new ListViewItem("Frames"); @@ -491,6 +491,16 @@ namespace BizHawk.Client.EmuHawk SubtitlesBtn.Enabled = _movieList[firstIndex].Subtitles.Any(); } + public double Fps(IMovie movie) + { + var system = movie.HeaderEntries[HeaderKeys.PLATFORM]; + var pal = movie.HeaderEntries.ContainsKey(HeaderKeys.PAL) && + movie.HeaderEntries[HeaderKeys.PAL] == "1"; + + return new PlatformFrameRates()[system, pal]; + + } + private void EditMenuItem_Click(object sender, EventArgs e) { MovieView.SelectedIndices