diff --git a/BizHawk.Client.Common/Api/Classes/MovieApi.cs b/BizHawk.Client.Common/Api/Classes/MovieApi.cs index 0d543e7508..5eac23d1b6 100644 --- a/BizHawk.Client.Common/Api/Classes/MovieApi.cs +++ b/BizHawk.Client.Common/Api/Classes/MovieApi.cs @@ -135,8 +135,8 @@ namespace BizHawk.Client.Common } return new PlatformFrameRates()[ - movie.HeaderEntries[HeaderKeys.PLATFORM], - movie.HeaderEntries.TryGetValue(HeaderKeys.PAL, out var isPal) && isPal == "1" + movie.HeaderEntries[HeaderKeys.Platform], + movie.HeaderEntries.TryGetValue(HeaderKeys.Pal, out var isPal) && isPal == "1" ]; } } diff --git a/BizHawk.Client.Common/movie/HeaderKeys.cs b/BizHawk.Client.Common/movie/HeaderKeys.cs index 4633252db1..4cc6f5e58b 100644 --- a/BizHawk.Client.Common/movie/HeaderKeys.cs +++ b/BizHawk.Client.Common/movie/HeaderKeys.cs @@ -4,33 +4,29 @@ namespace BizHawk.Client.Common { public static class HeaderKeys { - public const string EMULATIONVERSION = "emuVersion"; - public const string MOVIEVERSION = "MovieVersion"; - public const string PLATFORM = "Platform"; - public const string GAMENAME = "GameName"; - public const string AUTHOR = "Author"; - public const string RERECORDS = "rerecordCount"; - public const string STARTSFROMSAVESTATE = "StartsFromSavestate"; - public const string STARTSFROMSAVERAM = "StartsFromSaveRam"; - public const string SAVESTATEBINARYBASE64BLOB = "SavestateBinaryBase64Blob"; // this string will not contain base64: ; it's implicit (this is to avoid another big string op to dice off the base64: substring) - public const string SHA1 = "SHA1"; - public const string FIRMWARESHA1 = "FirmwareSHA1"; - public const string PAL = "PAL"; - public const string BOARDNAME = "BoardName"; - public const string SYNCSETTINGS = "SyncSettings"; - public const string LOOPOFFSET = "LoopOffset"; - public const string VBLANKCOUNT = "VBlankCount"; - public const string CYCLECOUNT = "CycleCount"; + public const string EmulationVersion = "emuVersion"; + public const string MovieVersion = "MovieVersion"; + public const string Platform = "Platform"; + public const string GameName = "GameName"; + public const string Author = "Author"; + public const string Rerecords = "rerecordCount"; + public const string StartsFromSavestate = "StartsFromSavestate"; + public const string StartsFromSaveram = "StartsFromSaveRam"; + public const string SavestateBinaryBase64Blob = "SavestateBinaryBase64Blob"; // this string will not contain base64: ; it's implicit (this is to avoid another big string op to dice off the base64: substring) + public const string Sha1 = "SHA1"; + public const string FirmwareSha1 = "FirmwareSHA1"; + public const string Pal = "PAL"; + public const string BoardName = "BoardName"; + public const string SyncSettings = "SyncSettings"; + public const string LoopOffset = "LoopOffset"; + public const string VBlankCount = "VBlankCount"; + public const string CycleCount = "CycleCount"; + public const string Core = "Core"; - // Core Setting - public const string CORE = "Core"; - - public static bool Contains(string val) - { - return typeof(HeaderKeys) + public static bool Contains(string val) => + typeof(HeaderKeys) .GetFields() .Select(field => field.GetValue(null).ToString()) .Contains(val); - } } } diff --git a/BizHawk.Client.Common/movie/MovieSession.cs b/BizHawk.Client.Common/movie/MovieSession.cs index 9450ba4b05..c06c8100f1 100644 --- a/BizHawk.Client.Common/movie/MovieSession.cs +++ b/BizHawk.Client.Common/movie/MovieSession.cs @@ -156,7 +156,7 @@ namespace BizHawk.Client.Common var gambatteName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(Gameboy), typeof(CoreAttribute))).CoreName; if (Movie.Core == gambatteName) { - var movieCycles = Convert.ToUInt64(Movie.HeaderEntries[HeaderKeys.CYCLECOUNT]); + var movieCycles = Convert.ToUInt64(Movie.HeaderEntries[HeaderKeys.CycleCount]); var coreCycles = (Global.Emulator as Gameboy).CycleCount; if (movieCycles != (ulong)coreCycles) { diff --git a/BizHawk.Client.Common/movie/PlatformFrameRates.cs b/BizHawk.Client.Common/movie/PlatformFrameRates.cs index 41fbaa2b9e..3edc7b84ac 100644 --- a/BizHawk.Client.Common/movie/PlatformFrameRates.cs +++ b/BizHawk.Client.Common/movie/PlatformFrameRates.cs @@ -97,12 +97,12 @@ namespace BizHawk.Client.Common private double Fps(IMovie movie) { - var system = movie.HeaderEntries[HeaderKeys.PLATFORM]; - var core = movie.HeaderEntries[HeaderKeys.CORE]; - var pal = movie.HeaderEntries.ContainsKey(HeaderKeys.PAL) - && movie.HeaderEntries[HeaderKeys.PAL] == "1"; + var system = movie.HeaderEntries[HeaderKeys.Platform]; + var core = movie.HeaderEntries[HeaderKeys.Core]; + var pal = movie.HeaderEntries.ContainsKey(HeaderKeys.Pal) + && movie.HeaderEntries[HeaderKeys.Pal] == "1"; - if (movie.HeaderEntries.ContainsKey(HeaderKeys.CYCLECOUNT) && core == "Gambatte") + if (movie.HeaderEntries.ContainsKey(HeaderKeys.CycleCount) && core == "Gambatte") { system = "GB_Clock"; } diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.HeaderApi.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.HeaderApi.cs index 4eaa9acb71..2cd6537f59 100644 --- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.HeaderApi.cs +++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.HeaderApi.cs @@ -30,57 +30,57 @@ namespace BizHawk.Client.Common { get { - if (!Header.ContainsKey(HeaderKeys.RERECORDS)) + if (!Header.ContainsKey(HeaderKeys.Rerecords)) { - Header[HeaderKeys.RERECORDS] = "0"; + Header[HeaderKeys.Rerecords] = "0"; } - return ulong.Parse(Header[HeaderKeys.RERECORDS]); + return ulong.Parse(Header[HeaderKeys.Rerecords]); } set { - if (Header[HeaderKeys.RERECORDS] != value.ToString()) + if (Header[HeaderKeys.Rerecords] != value.ToString()) { Changes = true; - Header[HeaderKeys.RERECORDS] = value.ToString(); + Header[HeaderKeys.Rerecords] = value.ToString(); } } } public bool StartsFromSavestate { - get => Header.ContainsKey(HeaderKeys.STARTSFROMSAVESTATE) && bool.Parse(Header[HeaderKeys.STARTSFROMSAVESTATE]); + get => Header.ContainsKey(HeaderKeys.StartsFromSavestate) && bool.Parse(Header[HeaderKeys.StartsFromSavestate]); set { if (value) { - Header[HeaderKeys.STARTSFROMSAVESTATE] = "True"; + Header[HeaderKeys.StartsFromSavestate] = "True"; } else { - Header.Remove(HeaderKeys.STARTSFROMSAVESTATE); + Header.Remove(HeaderKeys.StartsFromSavestate); } } } public bool StartsFromSaveRam { - get => Header.ContainsKey(HeaderKeys.STARTSFROMSAVERAM) && bool.Parse(Header[HeaderKeys.STARTSFROMSAVERAM]); + get => Header.ContainsKey(HeaderKeys.StartsFromSaveram) && bool.Parse(Header[HeaderKeys.StartsFromSaveram]); set { if (value) { - if (!Header.ContainsKey(HeaderKeys.STARTSFROMSAVERAM)) + if (!Header.ContainsKey(HeaderKeys.StartsFromSaveram)) { - Header.Add(HeaderKeys.STARTSFROMSAVERAM, "True"); + Header.Add(HeaderKeys.StartsFromSaveram, "True"); } } else { - if (Header.ContainsKey(HeaderKeys.STARTSFROMSAVERAM)) + if (Header.ContainsKey(HeaderKeys.StartsFromSaveram)) { - Header.Remove(HeaderKeys.STARTSFROMSAVERAM); + Header.Remove(HeaderKeys.StartsFromSaveram); } } } @@ -88,104 +88,104 @@ namespace BizHawk.Client.Common public string GameName { - get => Header.ContainsKey(HeaderKeys.GAMENAME) ? Header[HeaderKeys.GAMENAME] : ""; + get => Header.ContainsKey(HeaderKeys.GameName) ? Header[HeaderKeys.GameName] : ""; set { - if (Header[HeaderKeys.GAMENAME] != value) + if (Header[HeaderKeys.GameName] != value) { Changes = true; - Header[HeaderKeys.GAMENAME] = value; + Header[HeaderKeys.GameName] = value; } } } public string SystemID { - get => Header.ContainsKey(HeaderKeys.PLATFORM) ? Header[HeaderKeys.PLATFORM] : ""; + get => Header.ContainsKey(HeaderKeys.Platform) ? Header[HeaderKeys.Platform] : ""; set { - if (Header[HeaderKeys.PLATFORM] != value) + if (Header[HeaderKeys.Platform] != value) { Changes = true; - Header[HeaderKeys.PLATFORM] = value; + Header[HeaderKeys.Platform] = value; } } } public string Hash { - get => Header[HeaderKeys.SHA1]; + get => Header[HeaderKeys.Sha1]; set { - if (Header[HeaderKeys.SHA1] != value) + if (Header[HeaderKeys.Sha1] != value) { Changes = true; - Header[HeaderKeys.SHA1] = value; + Header[HeaderKeys.Sha1] = value; } } } public string Author { - get => Header[HeaderKeys.AUTHOR]; + get => Header[HeaderKeys.Author]; set { - if (Header[HeaderKeys.AUTHOR] != value) + if (Header[HeaderKeys.Author] != value) { Changes = true; - Header[HeaderKeys.AUTHOR] = value; + Header[HeaderKeys.Author] = value; } } } public string Core { - get => Header[HeaderKeys.CORE]; + get => Header[HeaderKeys.Core]; set { - if (Header[HeaderKeys.CORE] != value) + if (Header[HeaderKeys.Core] != value) { Changes = true; - Header[HeaderKeys.CORE] = value; + Header[HeaderKeys.Core] = value; } } } public string BoardName { - get => Header[HeaderKeys.BOARDNAME]; + get => Header[HeaderKeys.BoardName]; set { - if (Header[HeaderKeys.BOARDNAME] != value) + if (Header[HeaderKeys.BoardName] != value) { Changes = true; - Header[HeaderKeys.BOARDNAME] = value; + Header[HeaderKeys.BoardName] = value; } } } public string EmulatorVersion { - get => Header[HeaderKeys.EMULATIONVERSION]; + get => Header[HeaderKeys.EmulationVersion]; set { - if (Header[HeaderKeys.EMULATIONVERSION] != value) + if (Header[HeaderKeys.EmulationVersion] != value) { Changes = true; - Header[HeaderKeys.EMULATIONVERSION] = value; + Header[HeaderKeys.EmulationVersion] = value; } } } public string FirmwareHash { - get => Header[HeaderKeys.FIRMWARESHA1]; + get => Header[HeaderKeys.FirmwareSha1]; set { - if (Header[HeaderKeys.FIRMWARESHA1] != value) + if (Header[HeaderKeys.FirmwareSha1] != value) { Changes = true; - Header[HeaderKeys.FIRMWARESHA1] = value; + Header[HeaderKeys.FirmwareSha1] = value; } } } @@ -194,7 +194,7 @@ namespace BizHawk.Client.Common { get { - var offsetStr = Header[HeaderKeys.LOOPOFFSET]; + var offsetStr = Header[HeaderKeys.LoopOffset]; if (!string.IsNullOrWhiteSpace(offsetStr)) { return int.Parse(offsetStr); @@ -207,11 +207,11 @@ namespace BizHawk.Client.Common { if (value.HasValue) { - Header[HeaderKeys.LOOPOFFSET] = value.ToString(); + Header[HeaderKeys.LoopOffset] = value.ToString(); } else { - Header.Remove(HeaderKeys.LOOPOFFSET); + Header.Remove(HeaderKeys.LoopOffset); } } } diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.IO.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.IO.cs index 5ea3ac732c..0e07f78920 100644 --- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.IO.cs +++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.IO.cs @@ -169,17 +169,17 @@ namespace BizHawk.Client.Common if (Global.Emulator is Emulation.Cores.Nintendo.SubNESHawk.SubNESHawk) { var _subnes = (Emulation.Cores.Nintendo.SubNESHawk.SubNESHawk)Global.Emulator; - Header[HeaderKeys.VBLANKCOUNT] = _subnes.VBL_CNT.ToString(); + Header[HeaderKeys.VBlankCount] = _subnes.VBL_CNT.ToString(); } else if (Global.Emulator is Emulation.Cores.Nintendo.Gameboy.Gameboy) { var _gameboy = (Emulation.Cores.Nintendo.Gameboy.Gameboy)Global.Emulator; - Header[HeaderKeys.CYCLECOUNT] = _gameboy.CycleCount.ToString(); + Header[HeaderKeys.CycleCount] = _gameboy.CycleCount.ToString(); } else if (Global.Emulator is Emulation.Cores.Nintendo.SubGBHawk.SubGBHawk) { var _subgb = (Emulation.Cores.Nintendo.SubGBHawk.SubGBHawk)Global.Emulator; - Header[HeaderKeys.VBLANKCOUNT] = _subgb.VBL_CNT.ToString(); + Header[HeaderKeys.VBlankCount] = _subgb.VBL_CNT.ToString(); } var file = new FileInfo(fn); diff --git a/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs b/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs index 024020f95c..84a2abce5b 100644 --- a/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs +++ b/BizHawk.Client.Common/movie/bk2/Bk2Movie.cs @@ -21,7 +21,7 @@ namespace BizHawk.Client.Common Mode = MovieMode.Inactive; MakeBackup = true; - Header[HeaderKeys.MOVIEVERSION] = "BizHawk v2.0.0"; + Header[HeaderKeys.MovieVersion] = "BizHawk v2.0.0"; Log = StringLogUtil.MakeStringLog(); } @@ -74,16 +74,16 @@ namespace BizHawk.Client.Common { get { - if (Header.ContainsKey(HeaderKeys.VBLANKCOUNT)) + if (Header.ContainsKey(HeaderKeys.VBlankCount)) { - return Convert.ToUInt64(Header[HeaderKeys.VBLANKCOUNT]); + return Convert.ToUInt64(Header[HeaderKeys.VBlankCount]); } - else if (Header.ContainsKey(HeaderKeys.CYCLECOUNT)) + else if (Header.ContainsKey(HeaderKeys.CycleCount)) { var gambatteName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(Gameboy), typeof(CoreAttribute))).CoreName; - if (Header[HeaderKeys.CORE] == gambatteName) + if (Header[HeaderKeys.Core] == gambatteName) { - return Convert.ToUInt64(Header[HeaderKeys.CYCLECOUNT]); + return Convert.ToUInt64(Header[HeaderKeys.CycleCount]); } } return (ulong)Log.Count; diff --git a/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs b/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs index 068b86adcf..850a53b75b 100644 --- a/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs +++ b/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs @@ -314,7 +314,7 @@ namespace BizHawk.Client.Common.MovieConversionExtensions var region = Global.Emulator.AsRegionable().Region; if (region == Emulation.Common.DisplayType.PAL) { - movie.HeaderEntries.Add(HeaderKeys.PAL, "1"); + movie.HeaderEntries.Add(HeaderKeys.Pal, "1"); } } @@ -343,7 +343,7 @@ namespace BizHawk.Client.Common.MovieConversionExtensions if (Global.Emulator is Gameboy) { - movie.HeaderEntries.Add(HeaderKeys.CYCLECOUNT, "0"); + movie.HeaderEntries.Add(HeaderKeys.CycleCount, "0"); } if (Global.Emulator is SMS && ((SMS) Global.Emulator).IsSG1000) @@ -368,7 +368,7 @@ namespace BizHawk.Client.Common.MovieConversionExtensions if (Global.Emulator is SubNESHawk || Global.Emulator is SubGBHawk) { - movie.HeaderEntries.Add(HeaderKeys.VBLANKCOUNT, "0"); + movie.HeaderEntries.Add(HeaderKeys.VBlankCount, "0"); } movie.Core = ((CoreAttribute)Attribute diff --git a/BizHawk.Client.Common/movie/import/FcmImport.cs b/BizHawk.Client.Common/movie/import/FcmImport.cs index 422f306046..537e435692 100644 --- a/BizHawk.Client.Common/movie/import/FcmImport.cs +++ b/BizHawk.Client.Common/movie/import/FcmImport.cs @@ -18,7 +18,7 @@ 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; + Result.Movie.HeaderEntries[HeaderKeys.Core] = neshawkName; using var r = new BinaryReader(SourceFile.Open(FileMode.Open, FileAccess.Read)); var signature = new string(r.ReadChars(4)); @@ -28,7 +28,7 @@ namespace BizHawk.Client.Common.movie.import return; } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "NES"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "NES"; var syncSettings = new NES.NESSyncSettings(); @@ -74,7 +74,7 @@ namespace BizHawk.Client.Common.movie.import preference. This means that this site cannot calculate movie lengths reliably. */ bool pal = ((flags >> 2) & 0x1) != 0; - Result.Movie.HeaderEntries[HeaderKeys.PAL] = pal.ToString(); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = pal.ToString(); // other: reserved, set to 0 bool syncHack = ((flags >> 4) & 0x1) != 0; @@ -124,7 +124,7 @@ namespace BizHawk.Client.Common.movie.import // Advance past null byte. r.ReadByte(); string gameName = Encoding.UTF8.GetString(gameBytes.ToArray()); - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = gameName; + Result.Movie.HeaderEntries[HeaderKeys.GameName] = gameName; /* After the header comes "metadata", which is UTF8-coded movie title string. The metadata begins after the ROM @@ -140,7 +140,7 @@ namespace BizHawk.Client.Common.movie.import // Advance past null byte. r.ReadByte(); string author = Encoding.UTF8.GetString(authorBytes.ToArray()); - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = author; + Result.Movie.HeaderEntries[HeaderKeys.Author] = author; // Advance to first byte of input data. r.BaseStream.Position = firstFrameOffset; @@ -284,7 +284,7 @@ namespace BizHawk.Client.Common.movie.import if (fds) { - Result.Movie.HeaderEntries[HeaderKeys.BOARDNAME] = "FDS"; + Result.Movie.HeaderEntries[HeaderKeys.BoardName] = "FDS"; } syncSettings.Controls = controllerSettings; diff --git a/BizHawk.Client.Common/movie/import/Fm2Import.cs b/BizHawk.Client.Common/movie/import/Fm2Import.cs index 731797f5bc..a971b437fa 100644 --- a/BizHawk.Client.Common/movie/import/Fm2Import.cs +++ b/BizHawk.Client.Common/movie/import/Fm2Import.cs @@ -15,7 +15,7 @@ namespace BizHawk.Client.Common protected override void RunImport() { var neshawkName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(NES), typeof(CoreAttribute))).CoreName; - Result.Movie.HeaderEntries[HeaderKeys.CORE] = neshawkName; + Result.Movie.HeaderEntries[HeaderKeys.Core] = neshawkName; const string emulator = "FCEUX"; var platform = "NES"; // TODO: FDS? @@ -30,7 +30,7 @@ namespace BizHawk.Client.Common _deck = controllerSettings.Instantiate((x, y) => true); AddDeckControlButtons(); - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = platform; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = platform; using var sr = SourceFile.OpenText(); string line; @@ -73,11 +73,11 @@ namespace BizHawk.Client.Common } else if (line.ToLower().StartsWith("romfilename")) { - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = ParseHeader(line, "romFilename"); + Result.Movie.HeaderEntries[HeaderKeys.GameName] = ParseHeader(line, "romFilename"); } else if (line.ToLower().StartsWith("cdgamename")) { - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = ParseHeader(line, "cdGameName"); + Result.Movie.HeaderEntries[HeaderKeys.GameName] = ParseHeader(line, "cdGameName"); } else if (line.ToLower().StartsWith("romchecksum")) { @@ -94,7 +94,7 @@ namespace BizHawk.Client.Common } else if (line.ToLower().StartsWith("comment author")) { - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = ParseHeader(line, "comment author"); + Result.Movie.HeaderEntries[HeaderKeys.Author] = ParseHeader(line, "comment author"); } else if (line.ToLower().StartsWith("rerecordcount")) { @@ -116,7 +116,7 @@ namespace BizHawk.Client.Common } else if (line.ToLower().StartsWith("palflag")) { - Result.Movie.HeaderEntries[HeaderKeys.PAL] = ParseHeader(line, "palFlag"); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = ParseHeader(line, "palFlag"); } else if (line.ToLower().StartsWith("port0")) { diff --git a/BizHawk.Client.Common/movie/import/FmvImport.cs b/BizHawk.Client.Common/movie/import/FmvImport.cs index 3cc32c99f3..529725a921 100644 --- a/BizHawk.Client.Common/movie/import/FmvImport.cs +++ b/BizHawk.Client.Common/movie/import/FmvImport.cs @@ -32,7 +32,7 @@ namespace BizHawk.Client.Common.movie.import return; } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "NES"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "NES"; var syncSettings = new NES.NESSyncSettings(); // other bits: unknown, set to 0 @@ -44,7 +44,7 @@ namespace BizHawk.Client.Common.movie.import if (((flags >> 5) & 0x1) != 0) { fds = true; - Result.Movie.HeaderEntries[HeaderKeys.BOARDNAME] = "FDS"; + Result.Movie.HeaderEntries[HeaderKeys.BoardName] = "FDS"; } else { diff --git a/BizHawk.Client.Common/movie/import/GmvImport.cs b/BizHawk.Client.Common/movie/import/GmvImport.cs index 54b78dcbc5..4331daa7c3 100644 --- a/BizHawk.Client.Common/movie/import/GmvImport.cs +++ b/BizHawk.Client.Common/movie/import/GmvImport.cs @@ -21,7 +21,7 @@ namespace BizHawk.Client.Common.movie.import return; } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "GEN"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "GEN"; // 00F ASCII-encoded GMV file format version. The most recent is 'A'. (?) string version = new string(r.ReadChars(1)); @@ -48,7 +48,7 @@ namespace BizHawk.Client.Common.movie.import header. */ bool pal = ((flags >> 7) & 0x1) != 0; - Result.Movie.HeaderEntries[HeaderKeys.PAL] = pal.ToString(); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = pal.ToString(); // bit 6: if "1", movie requires a savestate. if (((flags >> 6) & 0x1) != 0) diff --git a/BizHawk.Client.Common/movie/import/LsmvImport.cs b/BizHawk.Client.Common/movie/import/LsmvImport.cs index 807d9150e1..5859d91230 100644 --- a/BizHawk.Client.Common/movie/import/LsmvImport.cs +++ b/BizHawk.Client.Common/movie/import/LsmvImport.cs @@ -18,7 +18,7 @@ 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; + Result.Movie.HeaderEntries[HeaderKeys.Core] = bsnesName; var hf = new HawkFile(SourceFile.FullName); @@ -77,7 +77,7 @@ namespace BizHawk.Client.Common.movie.import authorList += authorLast; } - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = authorList; + Result.Movie.HeaderEntries[HeaderKeys.Author] = authorList; hf.Unbind(); } else if (item.Name == "coreversion") @@ -93,7 +93,7 @@ namespace BizHawk.Client.Common.movie.import hf.BindArchiveMember(item.Index); var stream = hf.GetStream(); string gameName = Encoding.UTF8.GetString(stream.ReadAllBytes()).Trim(); - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = gameName; + Result.Movie.HeaderEntries[HeaderKeys.GameName] = gameName; hf.Unbind(); } else if (item.Name == "gametype") @@ -120,7 +120,7 @@ namespace BizHawk.Client.Common.movie.import } bool pal = gametype == "snes_pal" || gametype == "sgb_pal"; - Result.Movie.HeaderEntries[HeaderKeys.PAL] = pal.ToString(); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = pal.ToString(); hf.Unbind(); } else if (item.Name == "input") @@ -281,7 +281,7 @@ namespace BizHawk.Client.Common.movie.import } } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = platform; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = platform; Result.Movie.SyncSettingsJson = ConfigService.SaveWithType(ss); Global.Config.SnesInSnes9x = false; // This could be annoying to a user if they don't notice we set this preference, but the alternative is for the movie import to fail to load the movie } diff --git a/BizHawk.Client.Common/movie/import/Mc2Import.cs b/BizHawk.Client.Common/movie/import/Mc2Import.cs index 2866b97118..56a695ea17 100644 --- a/BizHawk.Client.Common/movie/import/Mc2Import.cs +++ b/BizHawk.Client.Common/movie/import/Mc2Import.cs @@ -27,7 +27,7 @@ namespace BizHawk.Client.Common.movie.import ss.Port4, ss.Port5); - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "PCE"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "PCE"; using var sr = SourceFile.OpenText(); string line; @@ -84,7 +84,7 @@ namespace BizHawk.Client.Common.movie.import } else if (line.ToLower().StartsWith("pcecd")) { - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "PCECD"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "PCECD"; } else if (line.ToLower().StartsWith("emuversion")) { @@ -97,15 +97,15 @@ namespace BizHawk.Client.Common.movie.import } else if (line.ToLower().StartsWith("romfilename")) { - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = ParseHeader(line, "romFilename"); + Result.Movie.HeaderEntries[HeaderKeys.GameName] = ParseHeader(line, "romFilename"); } else if (line.ToLower().StartsWith("cdgamename")) { - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = ParseHeader(line, "cdGameName"); + Result.Movie.HeaderEntries[HeaderKeys.GameName] = ParseHeader(line, "cdGameName"); } else if (line.ToLower().StartsWith("comment author")) { - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = ParseHeader(line, "comment author"); + Result.Movie.HeaderEntries[HeaderKeys.Author] = ParseHeader(line, "comment author"); } else if (line.ToLower().StartsWith("rerecordcount")) { diff --git a/BizHawk.Client.Common/movie/import/MmvImport.cs b/BizHawk.Client.Common/movie/import/MmvImport.cs index 3becbc503c..50bcb63e54 100644 --- a/BizHawk.Client.Common/movie/import/MmvImport.cs +++ b/BizHawk.Client.Common/movie/import/MmvImport.cs @@ -54,7 +54,7 @@ namespace BizHawk.Client.Common.movie.import // 0020-005f: string: author info (UTF-8) string author = NullTerminated(new string(r.ReadChars(64))); - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = author; + Result.Movie.HeaderEntries[HeaderKeys.Author] = author; // 0060: 4-byte little endian flags byte flags = r.ReadByte(); @@ -62,7 +62,7 @@ namespace BizHawk.Client.Common.movie.import // bit 0: unused // bit 1: "PAL" bool pal = ((flags >> 1) & 0x1) != 0; - Result.Movie.HeaderEntries[HeaderKeys.PAL] = pal.ToString(); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = pal.ToString(); // bit 2: Japan bool japan = ((flags >> 2) & 0x1) != 0; @@ -80,14 +80,14 @@ namespace BizHawk.Client.Common.movie.import isGameGear = false; } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "SMS"; // System Id is still SMS even if game gear + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "SMS"; // System Id is still SMS even if game gear // bits 4-31: unused r.ReadBytes(3); // 0064-00e3: string: rom name (ASCII) string gameName = NullTerminated(new string(r.ReadChars(128))); - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = gameName; + Result.Movie.HeaderEntries[HeaderKeys.GameName] = gameName; // 00e4-00f3: binary: rom MD5 digest byte[] md5 = r.ReadBytes(16); diff --git a/BizHawk.Client.Common/movie/import/PjmImport.cs b/BizHawk.Client.Common/movie/import/PjmImport.cs index 82bc2c0a62..91e47379c4 100644 --- a/BizHawk.Client.Common/movie/import/PjmImport.cs +++ b/BizHawk.Client.Common/movie/import/PjmImport.cs @@ -9,7 +9,7 @@ namespace BizHawk.Client.Common { protected override void RunImport() { - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "PSX"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "PSX"; using var fs = SourceFile.OpenRead(); using var br = new BinaryReader(fs); @@ -56,7 +56,7 @@ namespace BizHawk.Client.Common if ((flags & 0x04) != 0) { - movie.HeaderEntries[HeaderKeys.PAL] = "1"; + movie.HeaderEntries[HeaderKeys.Pal] = "1"; } if ((flags & 0x08) != 0) @@ -145,7 +145,7 @@ namespace BizHawk.Client.Common info.FrameCount = br.ReadUInt32(); uint rerecordCount = br.ReadUInt32(); - movie.HeaderEntries[HeaderKeys.RERECORDS] = rerecordCount.ToString(); + movie.HeaderEntries[HeaderKeys.Rerecords] = rerecordCount.ToString(); // 018: UInt32 savestateOffset // 01C: UInt32 memoryCard1Offset @@ -162,7 +162,7 @@ namespace BizHawk.Client.Common uint authorNameLength = br.ReadUInt32(); char[] authorName = br.ReadChars((int)authorNameLength); - movie.HeaderEntries[HeaderKeys.AUTHOR] = new string(authorName); + movie.HeaderEntries[HeaderKeys.Author] = new string(authorName); info.ParseSuccessful = true; return info; diff --git a/BizHawk.Client.Common/movie/import/PxmImport.cs b/BizHawk.Client.Common/movie/import/PxmImport.cs index 9cbb40bf04..5f1d3dfec1 100644 --- a/BizHawk.Client.Common/movie/import/PxmImport.cs +++ b/BizHawk.Client.Common/movie/import/PxmImport.cs @@ -15,7 +15,7 @@ namespace BizHawk.Client.Common.Movie.Import protected override void RunImport() { var movie = Result.Movie; - movie.HeaderEntries[HeaderKeys.PLATFORM] = "PSX"; + movie.HeaderEntries[HeaderKeys.Platform] = "PSX"; using var fs = SourceFile.OpenRead(); using var br = new BinaryReader(fs); diff --git a/BizHawk.Client.Common/movie/import/SmvImport.cs b/BizHawk.Client.Common/movie/import/SmvImport.cs index ae74eb5011..6c0437534a 100644 --- a/BizHawk.Client.Common/movie/import/SmvImport.cs +++ b/BizHawk.Client.Common/movie/import/SmvImport.cs @@ -17,7 +17,7 @@ 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; + Result.Movie.HeaderEntries[HeaderKeys.Core] = bsnesName; using var fs = SourceFile.Open(FileMode.Open, FileAccess.Read); using var r = new BinaryReader(fs); @@ -30,7 +30,7 @@ namespace BizHawk.Client.Common.movie.import return; } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "SNES"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "SNES"; // 004 4-byte little-endian unsigned int: version number uint versionNumber = r.ReadUInt32(); @@ -116,7 +116,7 @@ namespace BizHawk.Client.Common.movie.import // bit 1: if "0", movie is NTSC (60 fps); if "1", movie is PAL (50 fps) bool pal = ((movieFlags >> 1) & 0x1) != 0; - Result.Movie.HeaderEntries[HeaderKeys.PAL] = pal.ToString(); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = pal.ToString(); // other: reserved, set to 0 /* @@ -185,7 +185,7 @@ namespace BizHawk.Client.Common.movie.import string author = NullTerminated(Encoding.Unicode.GetString(metadata).Trim()); if (!string.IsNullOrWhiteSpace(author)) { - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = author; + Result.Movie.HeaderEntries[HeaderKeys.Author] = author; } if (extraRomInfo == 30) @@ -197,7 +197,7 @@ namespace BizHawk.Client.Common.movie.import // the game name copied from the ROM, truncated to 23 bytes (the game name in the ROM is 21 bytes) string gameName = NullTerminated(Encoding.UTF8.GetString(r.ReadBytes(23))); - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = gameName; + Result.Movie.HeaderEntries[HeaderKeys.GameName] = gameName; } SimpleController controllers = new SimpleController diff --git a/BizHawk.Client.Common/movie/import/VbmImport.cs b/BizHawk.Client.Common/movie/import/VbmImport.cs index 2d12c61032..24944017df 100644 --- a/BizHawk.Client.Common/movie/import/VbmImport.cs +++ b/BizHawk.Client.Common/movie/import/VbmImport.cs @@ -113,7 +113,7 @@ namespace BizHawk.Client.Common.movie.import { platform = "GBA"; var mGBAName = ((CoreAttribute)Attribute.GetCustomAttribute(typeof(MGBAHawk), typeof(CoreAttribute))).CoreName; - Result.Movie.HeaderEntries[HeaderKeys.CORE] = mGBAName; + Result.Movie.HeaderEntries[HeaderKeys.Core] = mGBAName; } if (isGBC) @@ -126,7 +126,7 @@ namespace BizHawk.Client.Common.movie.import Result.Errors.Add("SGB imports are not currently supported"); } - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = platform; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = platform; // 017 1-byte flags: (values of some boolean emulator options) flags = r.ReadByte(); @@ -154,7 +154,7 @@ namespace BizHawk.Client.Common.movie.import null-terminated (ASCII?) */ string gameName = NullTerminated(new string(r.ReadChars(12))); - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = gameName; + Result.Movie.HeaderEntries[HeaderKeys.GameName] = gameName; // 030 1-byte unsigned char: minor version/revision number of current VBM version, the latest is "1" byte minorVersion = r.ReadByte(); @@ -192,7 +192,7 @@ namespace BizHawk.Client.Common.movie.import // After the header is 192 bytes of text. The first 64 of these 192 bytes are for the author's name (or names). string author = NullTerminated(new string(r.ReadChars(64))); - Result.Movie.HeaderEntries[HeaderKeys.AUTHOR] = author; + Result.Movie.HeaderEntries[HeaderKeys.Author] = author; // The following 128 bytes are for a description of the movie. Both parts must be null-terminated. string movieDescription = NullTerminated(new string(r.ReadChars(128))); diff --git a/BizHawk.Client.Common/movie/import/YmvImport.cs b/BizHawk.Client.Common/movie/import/YmvImport.cs index 30b25ac366..f859b536c0 100644 --- a/BizHawk.Client.Common/movie/import/YmvImport.cs +++ b/BizHawk.Client.Common/movie/import/YmvImport.cs @@ -13,7 +13,7 @@ namespace BizHawk.Client.Common.movie.import { protected override void RunImport() { - Result.Movie.HeaderEntries[HeaderKeys.PLATFORM] = "SAT"; + Result.Movie.HeaderEntries[HeaderKeys.Platform] = "SAT"; var ss = new Saturnus.SyncSettings { Port1 = SaturnusControllerDeck.Device.Gamepad, @@ -44,7 +44,7 @@ namespace BizHawk.Client.Common.movie.import } else if (line.ToLower().StartsWith("cdGameName")) { - Result.Movie.HeaderEntries[HeaderKeys.GAMENAME] = ParseHeader(line, "romFilename"); + Result.Movie.HeaderEntries[HeaderKeys.GameName] = ParseHeader(line, "romFilename"); } else if (line.ToLower().StartsWith("rerecordcount")) { @@ -73,7 +73,7 @@ namespace BizHawk.Client.Common.movie.import else if (line.ToLower().StartsWith("ispal")) { bool pal = ParseHeader(line, "isPal") == "1"; - Result.Movie.HeaderEntries[HeaderKeys.PAL] = pal.ToString(); + Result.Movie.HeaderEntries[HeaderKeys.Pal] = pal.ToString(); } else { diff --git a/BizHawk.Client.Common/movie/import/bkm/BkmHeader.cs b/BizHawk.Client.Common/movie/import/bkm/BkmHeader.cs index 5a25b2da4d..835aa352f4 100644 --- a/BizHawk.Client.Common/movie/import/bkm/BkmHeader.cs +++ b/BizHawk.Client.Common/movie/import/bkm/BkmHeader.cs @@ -10,11 +10,11 @@ namespace BizHawk.Client.Common Comments = new List(); Subtitles = new SubtitleList(); - this[HeaderKeys.EMULATIONVERSION] = VersionInfo.GetEmuVersion(); - this[HeaderKeys.PLATFORM] = Global.Emulator != null ? Global.Emulator.SystemId : ""; - this[HeaderKeys.GAMENAME] = ""; - this[HeaderKeys.AUTHOR] = ""; - this[HeaderKeys.RERECORDS] = "0"; + this[HeaderKeys.EmulationVersion] = VersionInfo.GetEmuVersion(); + this[HeaderKeys.Platform] = Global.Emulator != null ? Global.Emulator.SystemId : ""; + this[HeaderKeys.GameName] = ""; + this[HeaderKeys.Author] = ""; + this[HeaderKeys.Rerecords] = "0"; } public List Comments { get; } @@ -22,18 +22,18 @@ namespace BizHawk.Client.Common public string SavestateBinaryBase64Blob { - get => ContainsKey(HeaderKeys.SAVESTATEBINARYBASE64BLOB) - ? this[HeaderKeys.SAVESTATEBINARYBASE64BLOB] + get => ContainsKey(HeaderKeys.SavestateBinaryBase64Blob) + ? this[HeaderKeys.SavestateBinaryBase64Blob] : null; set { if (value == null) { - Remove(HeaderKeys.SAVESTATEBINARYBASE64BLOB); + Remove(HeaderKeys.SavestateBinaryBase64Blob); } else { - Add(HeaderKeys.SAVESTATEBINARYBASE64BLOB, value); + Add(HeaderKeys.SavestateBinaryBase64Blob, value); } } } diff --git a/BizHawk.Client.Common/movie/import/bkm/BkmMovie.cs b/BizHawk.Client.Common/movie/import/bkm/BkmMovie.cs index 5489ee4112..53f70b161d 100644 --- a/BizHawk.Client.Common/movie/import/bkm/BkmMovie.cs +++ b/BizHawk.Client.Common/movie/import/bkm/BkmMovie.cs @@ -11,7 +11,7 @@ namespace BizHawk.Client.Common public BkmMovie() { - Header = new BkmHeader { [HeaderKeys.MOVIEVERSION] = "BizHawk v0.0.1" }; + Header = new BkmHeader { [HeaderKeys.MovieVersion] = "BizHawk v0.0.1" }; } public string PreferredExtension => "bkm"; @@ -76,8 +76,8 @@ namespace BizHawk.Client.Common public string SyncSettingsJson { - get => Header[HeaderKeys.SYNCSETTINGS]; - set => Header[HeaderKeys.SYNCSETTINGS] = value; + get => Header[HeaderKeys.SyncSettings]; + set => Header[HeaderKeys.SyncSettings] = value; } public string TextSavestate { get; set; } diff --git a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs index 806ec62e2c..30eb95cf73 100644 --- a/BizHawk.Client.Common/movie/tasproj/TasMovie.cs +++ b/BizHawk.Client.Common/movie/tasproj/TasMovie.cs @@ -56,7 +56,7 @@ namespace BizHawk.Client.Common ChangeLog = new TasMovieChangeLog(this); TasStateManager = new TasStateManager(this, Global.Config.DefaultTasStateManagerSettings); Session = new TasSession(); - Header[HeaderKeys.MOVIEVERSION] = "BizHawk v2.0 Tasproj v1.0"; + Header[HeaderKeys.MovieVersion] = "BizHawk v2.0 Tasproj v1.0"; Markers = new TasMovieMarkerList(this); Markers.CollectionChanged += Markers_CollectionChanged; Markers.Add(0, startsFromSavestate ? "Savestate" : "Power on"); diff --git a/BizHawk.Client.EmuHawk/movie/EditSubtitlesForm.cs b/BizHawk.Client.EmuHawk/movie/EditSubtitlesForm.cs index f515efd328..67f58da086 100644 --- a/BizHawk.Client.EmuHawk/movie/EditSubtitlesForm.cs +++ b/BizHawk.Client.EmuHawk/movie/EditSubtitlesForm.cs @@ -214,9 +214,9 @@ namespace BizHawk.Client.EmuHawk } // Fetch fps - var system = _selectedMovie.HeaderEntries[HeaderKeys.PLATFORM]; - var pal = _selectedMovie.HeaderEntries.ContainsKey(HeaderKeys.PAL) - && _selectedMovie.HeaderEntries[HeaderKeys.PAL] == "1"; + var system = _selectedMovie.HeaderEntries[HeaderKeys.Platform]; + var pal = _selectedMovie.HeaderEntries.ContainsKey(HeaderKeys.Pal) + && _selectedMovie.HeaderEntries[HeaderKeys.Pal] == "1"; var pfr = new PlatformFrameRates(); double fps; diff --git a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs index ae9ea53e50..e497e65b32 100644 --- a/BizHawk.Client.EmuHawk/movie/PlayMovie.cs +++ b/BizHawk.Client.EmuHawk/movie/PlayMovie.cs @@ -410,20 +410,20 @@ namespace BizHawk.Client.EmuHawk switch (kvp.Key) { - case HeaderKeys.SHA1: + case HeaderKeys.Sha1: if (kvp.Value != _game.Hash) { item.BackColor = Color.Pink; toolTip1.SetToolTip(DetailsView, $"Current SHA1: {_game.Hash}"); } break; - case HeaderKeys.EMULATIONVERSION: + case HeaderKeys.EmulationVersion: if (kvp.Value != VersionInfo.GetEmuVersion()) { item.BackColor = Color.Yellow; } break; - case HeaderKeys.PLATFORM: + case HeaderKeys.Platform: // feos: previously it was compared against _game.System, but when the movie is created // its platform is copied from _emulator.SystemId, see PopulateWithDefaultHeaderValues() // the problem is that for GameGear and SG100, those mismatch, resulting in false positive here @@ -453,9 +453,9 @@ namespace BizHawk.Client.EmuHawk public double Fps(IMovie movie) { - var system = movie.HeaderEntries[HeaderKeys.PLATFORM]; - var pal = movie.HeaderEntries.ContainsKey(HeaderKeys.PAL) - && movie.HeaderEntries[HeaderKeys.PAL] == "1"; + var system = movie.HeaderEntries[HeaderKeys.Platform]; + var pal = movie.HeaderEntries.ContainsKey(HeaderKeys.Pal) + && movie.HeaderEntries[HeaderKeys.Pal] == "1"; return new PlatformFrameRates()[system, pal];