HeaderKeys - CONSTANTSDONTNEEDTOBEALLCAPS
This commit is contained in:
parent
9474771098
commit
079a0a4104
|
@ -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"
|
||||
];
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"))
|
||||
{
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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"))
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)));
|
||||
|
|
|
@ -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
|
||||
{
|
||||
|
|
|
@ -10,11 +10,11 @@ namespace BizHawk.Client.Common
|
|||
Comments = new List<string>();
|
||||
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<string> 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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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; }
|
||||
|
|
|
@ -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");
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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];
|
||||
|
||||
|
|
Loading…
Reference in New Issue