Skip to content

Commit

Permalink
Revert "Revert "Revert "parse SGB movie files to use the GB label (TA…
Browse files Browse the repository at this point in the history
…SVideos#1125)" (TASVideos#1162)""

This reverts commit 624e3b7.
  • Loading branch information
Fortranm committed May 26, 2022
1 parent 3a8de99 commit d1667e5
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 41 deletions.
38 changes: 10 additions & 28 deletions TASVideos.Parsers/Parsers/Bk2.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,6 @@ internal class Bk2 : ParserBase, IParser
private const string HeaderFile = "header";
private const string InputFile = "input log";

// hacky framerate fields, taken from platform framerates
private const double NtscNesFramerate = 60.0988138974405;
private const double NtscSnesFramerate = 60.0988138974405;
private const double PalSnesFramerate = 50.0069789081886;

public override string FileExtension => "bk2";

public async Task<IParseResult> Parse(Stream file, long length)
Expand Down Expand Up @@ -58,11 +53,6 @@ await using (var stream = headerEntry.Open())
result.WarnNoRerecords();
}

if (header.GetValueFor(Keys.Pal).ToBool())
{
result.Region = RegionType.Pal;
}

// Some biz system ids do not match tasvideos, convert if needed
if (BizToTasvideosSystemIds.ContainsKey(platform))
{
Expand All @@ -82,23 +72,6 @@ await using (var stream = headerEntry.Open())
{
platform = SystemCodes.Fds;
}
else if (header.GetValueFor(Keys.ModeVs).ToBool())
{
platform = SystemCodes.Arcade;
result.FrameRateOverride = NtscNesFramerate;
}
else if (header.GetValueFor(Keys.Board) == SystemCodes.Sgb)
{
platform = SystemCodes.GameBoy;
if (result.Region == RegionType.Pal)
{
result.FrameRateOverride = PalSnesFramerate;
}
else
{
result.FrameRateOverride = NtscSnesFramerate;
}
}
else if (header.GetValueFor(Keys.ModeSegaCd).ToBool())
{
platform = SystemCodes.SegaCd;
Expand All @@ -111,13 +84,23 @@ await using (var stream = headerEntry.Open())
{
platform = SystemCodes.Sg;
}
else if (header.GetValueFor(Keys.ModeVs).ToBool())
{
platform = SystemCodes.Arcade;
result.FrameRateOverride = 60.0988138974405;
}
else if (header.GetValueFor(Keys.ModeDsi).ToBool())
{
platform = SystemCodes.Dsi;
}

result.SystemCode = platform;

if (header.GetValueFor(Keys.Pal).ToBool())
{
result.Region = RegionType.Pal;
}

if (header.GetValueFor(Keys.StartsFromSavestate).ToBool())
{
result.StartType = MovieStartType.Savestate;
Expand Down Expand Up @@ -174,7 +157,6 @@ await using (var stream = headerEntry.Open())
["gen"] = SystemCodes.Genesis,
["sat"] = SystemCodes.Saturn,
["dgb"] = SystemCodes.GameBoy,
["sgb"] = SystemCodes.GameBoy,
["gb3x"] = SystemCodes.GameBoy,
["gb4x"] = SystemCodes.GameBoy,
["gbl"] = SystemCodes.GameBoy,
Expand Down
10 changes: 2 additions & 8 deletions TASVideos.Parsers/Parsers/Lsmv.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,10 +13,6 @@ internal class Lsmv : ParserBase, IParser
private const string SavestateAnchor = "savestate.anchor";
private const string Sram = "moviesram";

// hacky framerate fields, taken from platform framerates
private const double NtscSnesFramerate = 60.0988138974405;
private const double PalSnesFramerate = 50.0069789081886;

public override string FileExtension => "lsmv";

public async Task<IParseResult> Parse(Stream file, long length)
Expand Down Expand Up @@ -77,14 +73,12 @@ await using (var stream = gameTypeFile.Open())
result.Region = RegionType.Pal;
break;
case "sgb_ntsc":
result.SystemCode = SystemCodes.GameBoy;
result.SystemCode = SystemCodes.Sgb;
result.Region = RegionType.Ntsc;
result.FrameRateOverride = NtscSnesFramerate;
break;
case "sgb_pal":
result.SystemCode = SystemCodes.GameBoy;
result.SystemCode = SystemCodes.Sgb;
result.Region = RegionType.Pal;
result.FrameRateOverride = PalSnesFramerate;
break;
case "gdmg":
result.SystemCode = SystemCodes.GameBoy;
Expand Down
4 changes: 4 additions & 0 deletions TASVideos.Parsers/Parsers/Vbm.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ public async Task<IParseResult> Parse(Stream file, long length)
{
result.SystemCode = SystemCodes.Gbc;
}
else if (system.Bit(2))
{
result.SystemCode = SystemCodes.Sgb;
}
else
{
result.SystemCode = SystemCodes.GameBoy;
Expand Down
3 changes: 1 addition & 2 deletions tests/TASVideos.MovieParsers.Tests/Bk2ParserTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,7 @@ public async Task PalFlag_True(string fileName, RegionType expected)
[DataRow("System-Gb3x.bk2", SystemCodes.GameBoy)]
[DataRow("System-Gb4x.bk2", SystemCodes.GameBoy)]
[DataRow("System-Gbl.bk2", SystemCodes.GameBoy)]
[DataRow("System-Sgb.bk2", SystemCodes.GameBoy)]
[DataRow("System-Sgb-Snes.bk2", SystemCodes.GameBoy)]
[DataRow("System-Sgb.bk2", SystemCodes.Sgb)]
[DataRow("System-Gba.bk2", SystemCodes.Gba)]
[DataRow("System-Gbc.bk2", SystemCodes.Gbc)]
[DataRow("System-Genesis.bk2", SystemCodes.Genesis)]
Expand Down
Binary file not shown.
4 changes: 2 additions & 2 deletions tests/TASVideos.MovieParsers.Tests/LsmvTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ public async Task InvalidGameType_DefaultsSnesNtsc()
[DataRow("gametype-bsx.lsmv", SystemCodes.Snes, RegionType.Ntsc)]
[DataRow("gametype-bsxslotted.lsmv", SystemCodes.Snes, RegionType.Ntsc)]
[DataRow("gametype-sufamiturbo.lsmv", SystemCodes.Snes, RegionType.Ntsc)]
[DataRow("gametype-sgb_ntsc.lsmv", SystemCodes.GameBoy, RegionType.Ntsc)]
[DataRow("gametype-sgb_pal.lsmv", SystemCodes.GameBoy, RegionType.Pal)]
[DataRow("gametype-sgb_ntsc.lsmv", SystemCodes.Sgb, RegionType.Ntsc)]
[DataRow("gametype-sgb_pal.lsmv", SystemCodes.Sgb, RegionType.Pal)]
[DataRow("gametype-gdmg.lsmv", SystemCodes.GameBoy, RegionType.Ntsc)]
[DataRow("gametype-ggbc.lsmv", SystemCodes.Gbc, RegionType.Ntsc)]
[DataRow("gametype-ggbca.lsmv", SystemCodes.Gbc, RegionType.Ntsc)]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,6 @@
<EmbeddedResource Include="Bk2SampleFiles\System-SegaCd.bk2" />
<EmbeddedResource Include="Bk2SampleFiles\System-Sg.bk2" />
<EmbeddedResource Include="Bk2SampleFiles\System-Sgb.bk2" />
<EmbeddedResource Include="Bk2SampleFiles\System-Sgb-Snes.bk2" />
<EmbeddedResource Include="Bk2SampleFiles\System-Sgx.bk2" />
<EmbeddedResource Include="Bk2SampleFiles\System-Sms.bk2" />
<EmbeddedResource Include="Bk2SampleFiles\System-Snes.bk2" />
Expand Down

0 comments on commit d1667e5

Please sign in to comment.