From 84c264abe03a821c3df8ba60347263ee0a70f606 Mon Sep 17 00:00:00 2001 From: feos Date: Sun, 3 Mar 2024 20:49:25 +0300 Subject: [PATCH] set octoshock fps overrides to mednafen values (#1781) * set octoshock fps overrides to mednafen values game version should not be a required field for submission * remove GameVersion initialization * random typo --- TASVideos.Parsers/Parsers/Bk2.cs | 11 +++++++++++ .../Pages/Submissions/Models/SubmissionCreateModel.cs | 2 +- TASVideos/Pages/Systems/EditFramerate.cshtml.cs | 2 +- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/TASVideos.Parsers/Parsers/Bk2.cs b/TASVideos.Parsers/Parsers/Bk2.cs index 117ae5129..78051eb4d 100644 --- a/TASVideos.Parsers/Parsers/Bk2.cs +++ b/TASVideos.Parsers/Parsers/Bk2.cs @@ -13,6 +13,9 @@ internal class Bk2 : ParserBase, IParser private const double NtscNesFramerate = 60.0988138974405; private const double NtscSnesFramerate = 60.0988138974405; private const double PalSnesFramerate = 50.0069789081886; + // mednafen values to match current octoshock + private const double NtscPsxFramerate = 59.94006013870239; + private const double PalPsxFramerate = 50.00028192996979; protected virtual string[] InvalidArchiveEntries => new[] { @@ -180,6 +183,14 @@ public async Task Parse(Stream file, long length) } } + // TASVideos.Core\Services\QueueService.cs line 433 implies we only ever have a list of framerates for cores with framerate overrides, but it doesn't distinguish by core. nymashock has cycle count but octoshock has to rely on mednafen framerates for now. so we override with a constant for octoshock, to prevent picking random wrong values from nymashock overrides + if (core == "octoshock") + { + result.FrameRateOverride = result.Region == RegionType.Pal + ? PalPsxFramerate + : NtscPsxFramerate; + } + if (result.CycleCount.HasValue) { if (ValidClockRates.Contains(clockRate)) diff --git a/TASVideos/Pages/Submissions/Models/SubmissionCreateModel.cs b/TASVideos/Pages/Submissions/Models/SubmissionCreateModel.cs index 5cc7565e8..9e8c2ef55 100644 --- a/TASVideos/Pages/Submissions/Models/SubmissionCreateModel.cs +++ b/TASVideos/Pages/Submissions/Models/SubmissionCreateModel.cs @@ -8,7 +8,7 @@ public class SubmissionCreateModel { [Display(Name = "Game Version", Description = "Example: USA")] [StringLength(20)] - public string GameVersion { get; set; } = ""; + public string? GameVersion { get; set; } [Display(Name = "Game Name", Description = "Example: Mega Man 2")] [StringLength(100)] diff --git a/TASVideos/Pages/Systems/EditFramerate.cshtml.cs b/TASVideos/Pages/Systems/EditFramerate.cshtml.cs index 0965e089e..ec0029b34 100644 --- a/TASVideos/Pages/Systems/EditFramerate.cshtml.cs +++ b/TASVideos/Pages/Systems/EditFramerate.cshtml.cs @@ -81,7 +81,7 @@ public async Task OnPost() await ConcurrentSave( _db, $"FrameRate {displayName} updated.", - $"Unable to updated {displayName} due to an unknown error"); + $"Unable to update {displayName} due to an unknown error"); await _gameSystemService.FlushCache(); return BasePageRedirect("Edit", new { Id = FrameRate.SystemId }); }