vbm import: properly parse GBC into movie header

This commit is contained in:
alyosha-tas 2020-03-16 16:55:49 -04:00
parent bc61ce3114
commit 5d88199c97
1 changed files with 12 additions and 6 deletions

View File

@ -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);
}
}
}