From 6eb9fa9b51a8cb8a5a369f96868617a8961e7822 Mon Sep 17 00:00:00 2001 From: adelikat Date: Tue, 26 Nov 2019 20:10:34 -0600 Subject: [PATCH] movie importers - import the core header key on systems that we check for core when loading the movie --- BizHawk.Client.Common/movie/import/FcmImport.cs | 4 ++++ BizHawk.Client.Common/movie/import/Fm2Import.cs | 3 +++ BizHawk.Client.Common/movie/import/LsmvImport.cs | 6 +++++- BizHawk.Client.Common/movie/import/SmvImport.cs | 7 ++++++- BizHawk.Client.Common/movie/import/VbmImport.cs | 5 ++++- 5 files changed, 22 insertions(+), 3 deletions(-) diff --git a/BizHawk.Client.Common/movie/import/FcmImport.cs b/BizHawk.Client.Common/movie/import/FcmImport.cs index f70128e372..422f306046 100644 --- a/BizHawk.Client.Common/movie/import/FcmImport.cs +++ b/BizHawk.Client.Common/movie/import/FcmImport.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.IO; using System.Text; using BizHawk.Common.BufferExtensions; +using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Nintendo.NES; namespace BizHawk.Client.Common.movie.import @@ -16,6 +17,9 @@ namespace BizHawk.Client.Common.movie.import protected override void RunImport() { + var neshawkName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(NES), typeof(CoreAttribute))).CoreName; + Result.Movie.HeaderEntries[HeaderKeys.CORE] = neshawkName; + using var r = new BinaryReader(SourceFile.Open(FileMode.Open, FileAccess.Read)); var signature = new string(r.ReadChars(4)); if (signature != "FCM\x1A") diff --git a/BizHawk.Client.Common/movie/import/Fm2Import.cs b/BizHawk.Client.Common/movie/import/Fm2Import.cs index 00b34347f5..f73a301222 100644 --- a/BizHawk.Client.Common/movie/import/Fm2Import.cs +++ b/BizHawk.Client.Common/movie/import/Fm2Import.cs @@ -2,6 +2,7 @@ using BizHawk.Common; using BizHawk.Common.BufferExtensions; +using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Nintendo.NES; namespace BizHawk.Client.Common @@ -13,6 +14,8 @@ namespace BizHawk.Client.Common { protected override void RunImport() { + var neshawkName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(NES), typeof(CoreAttribute))).CoreName; + Result.Movie.HeaderEntries[HeaderKeys.CORE] = neshawkName; var emulator = "FCEUX"; var platform = "NES"; // TODO: FDS? diff --git a/BizHawk.Client.Common/movie/import/LsmvImport.cs b/BizHawk.Client.Common/movie/import/LsmvImport.cs index 4fa9f5dc36..4a91ce5592 100644 --- a/BizHawk.Client.Common/movie/import/LsmvImport.cs +++ b/BizHawk.Client.Common/movie/import/LsmvImport.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using System.Linq; using System.Text; using BizHawk.Common; @@ -16,6 +17,9 @@ namespace BizHawk.Client.Common.movie.import private LibsnesControllerDeck _deck; protected override void RunImport() { + var bsnesName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(LibsnesCore), typeof(CoreAttribute))).CoreName; + Result.Movie.HeaderEntries[HeaderKeys.CORE] = bsnesName; + var hf = new HawkFile(SourceFile.FullName); // .LSMV movies are .zip files containing data files. diff --git a/BizHawk.Client.Common/movie/import/SmvImport.cs b/BizHawk.Client.Common/movie/import/SmvImport.cs index e52a25c09c..a7ca259755 100644 --- a/BizHawk.Client.Common/movie/import/SmvImport.cs +++ b/BizHawk.Client.Common/movie/import/SmvImport.cs @@ -1,6 +1,8 @@ -using System.IO; +using System; +using System.IO; using System.Linq; using System.Text; +using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Nintendo.SNES; namespace BizHawk.Client.Common.movie.import @@ -14,6 +16,9 @@ namespace BizHawk.Client.Common.movie.import protected override void RunImport() { + var bsnesName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(LibsnesCore), typeof(CoreAttribute))).CoreName; + Result.Movie.HeaderEntries[HeaderKeys.CORE] = bsnesName; + using var fs = SourceFile.Open(FileMode.Open, FileAccess.Read); using var r = new BinaryReader(fs); diff --git a/BizHawk.Client.Common/movie/import/VbmImport.cs b/BizHawk.Client.Common/movie/import/VbmImport.cs index dd87ce4f20..514f3065e7 100644 --- a/BizHawk.Client.Common/movie/import/VbmImport.cs +++ b/BizHawk.Client.Common/movie/import/VbmImport.cs @@ -1,4 +1,5 @@ -using System.IO; +using System; +using System.IO; using BizHawk.Emulation.Common; using BizHawk.Emulation.Cores.Nintendo.GBA; using BizHawk.Emulation.Cores.Nintendo.GBHawk; @@ -111,6 +112,8 @@ namespace BizHawk.Client.Common.movie.import if (isGBA) { platform = "GBA"; + var mGBAName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(MGBAHawk), typeof(CoreAttribute))).CoreName; + Result.Movie.HeaderEntries[HeaderKeys.CORE] = mGBAName; } if (isGBC)