diff --git a/BizHawk.Client.Common/movie/import/VbmImport.cs b/BizHawk.Client.Common/movie/import/VbmImport.cs index 75e273c319..c80cae49a3 100644 --- a/BizHawk.Client.Common/movie/import/VbmImport.cs +++ b/BizHawk.Client.Common/movie/import/VbmImport.cs @@ -16,6 +16,7 @@ namespace BizHawk.Client.Common.movie.import { using var fs = SourceFile.Open(FileMode.Open, FileAccess.Read); using var r = new BinaryReader(fs); + bool is_GBC = false; // 000 4-byte signature: 56 42 4D 1A "VBM\x1A" string signature = new string(r.ReadChars(4)); @@ -117,13 +118,12 @@ namespace BizHawk.Client.Common.movie.import Result.Movie.HeaderEntries[HeaderKeys.Core] = mGBAName; } - // deprecated - /* if (isGBC) { - platform = "GBC"; + is_GBC = true; + platform = "GB"; + Result.Movie.HeaderEntries.Add("IsCGBMode", "1"); } - */ if (isSGB) { @@ -282,11 +282,17 @@ namespace BizHawk.Client.Common.movie.import { if (Global.Config.GbUseGbHawk || Global.Config.UseSubGBHawk) { - Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(new GBHawk.GBSyncSettings()); + var temp_sync = new GBHawk.GBSyncSettings(); + if (is_GBC) { temp_sync.ConsoleMode = GBHawk.GBSyncSettings.ConsoleModeType.GBC; } + else { temp_sync.ConsoleMode = GBHawk.GBSyncSettings.ConsoleModeType.GB; } + Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(temp_sync); } else { - Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(new Gameboy.GambatteSyncSettings()); + var temp_sync = new Gameboy.GambatteSyncSettings(); + if (is_GBC) { temp_sync.ConsoleMode = Gameboy.GambatteSyncSettings.ConsoleModeType.GBC; } + else { temp_sync.ConsoleMode = Gameboy.GambatteSyncSettings.ConsoleModeType.GB; } + Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(temp_sync); } } }