BizHawk/BizHawk.Client.Common/movie/conversions/MovieConversionExtensions.cs

42 lines
932 B
C#

namespace BizHawk.Client.Common.MovieConversionExtensions
{
public static class MovieConversionExtensions
{
public static Bk2Movie ToBk2(this BkmMovie bkm)
{
var newFilename = bkm.Filename + "." + Bk2Movie.Extension;
var bk2 = new Bk2Movie(newFilename);
bk2.HeaderEntries.Clear();
foreach(var kvp in bkm.HeaderEntries)
{
bk2.HeaderEntries[kvp.Key] = kvp.Value;
}
bk2.SyncSettingsJson = bkm.SyncSettingsJson;
bk2.Comments.Clear();
foreach(var comment in bkm.Comments)
{
bk2.Comments.Add(comment);
}
bk2.Subtitles.Clear();
foreach(var sub in bkm.Subtitles)
{
bk2.Subtitles.Add(sub);
}
bk2.TextSavestate = bkm.TextSavestate;
bk2.BinarySavestate = bkm.BinarySavestate;
for (var i = 0; i < bkm.InputLogLength; i++)
{
var input = bkm.GetInputState(i);
bk2.AppendFrame(input);
}
return bk2;
}
}
}