public void WithVariableExtraProperties() { var package = MotionPackage.FromMtp(Assets.Assets.BkChaos()); Assert.Equal(3, package.Entries.Length); Assert.NotEqual(default, package.Entries.FirstOrDefault(x => x.FileName == "chaos_attack"));
private static void BuildMtp(string fullPath) { var motionPackage = MotionPackage.FromDirectory(fullPath); var filePath = Path.Combine(Path.GetDirectoryName(fullPath), $"{Path.GetFileNameWithoutExtension(fullPath)}.{MtpExtension}"); File.WriteAllBytes(filePath, motionPackage.ToMtp()); Console.WriteLine($"Written MTP To: {filePath}"); }
public void SameAsOriginal_MixedPropertiesType_Export() { var originalFile = Assets.Assets.SuperShadow(); var originalParsed = MotionPackage.FromMtp(originalFile); var newFile = originalParsed.ToMtp(); Assert.Equal(originalFile, newFile); }
public void SameAsOriginal_Export() { var originalFile = Assets.Assets.BkChaos(); var originalParsed = MotionPackage.FromMtp(originalFile); var newFile = originalParsed.ToMtp(); Assert.Equal(originalFile, newFile); }
/// <summary> /// Retrieves a <see cref="MotionPackageHeader"/> from a <see cref="MotionPackage"/>. /// Note: Returns as default/little endian. Call <see cref="SwapEndian"/> before writing to file. /// </summary> public static MotionPackageHeader FromPackage(MotionPackage package) { var header = new MotionPackageHeader(); header.Enabler = 1; header.Enabler2 = 1; header.NumberOfFiles = (short)package.Entries.Length; header.EntryOffset = 20; return(header); }
public void SameAsOriginal_OrderNonAlphabeticalNames_Export() { var package = MotionPackage.FromMtp(Assets.Assets.Shadow()); var directory = InitializeDirectory(ShadowDirectory); package.ToDirectory(directory); var newPackage = MotionPackage.FromDirectory(directory); Assert.Equal(package, newPackage); }
public void SameAsOriginalSingleFile_InboundMTP() { var originalFile = Assets.Assets.BkLarva(); var originalParsed = MotionPackage.FromMtp(originalFile); var newFile = originalParsed.ToMtp(); var newParsed = MotionPackage.FromMtp(newFile); Assert.Equal(originalParsed, newParsed); }
public void ExportSingle() { var package = MotionPackage.FromMtp(Assets.Assets.BkLarva()); var directory = InitializeDirectory(BkLarvaDirectory); package.ToDirectory(directory); var newPackage = MotionPackage.FromDirectory(directory); Assert.Equal(package, newPackage); }
public void ExportMulti() { var package = MotionPackage.FromMtp(Assets.Assets.BkChaos()); var directory = InitializeDirectory(BkChaosDirectory); package.ToDirectory(directory); var newPackage = MotionPackage.FromDirectory(directory); Assert.Equal(package, newPackage); }
public void ExportMulti_MissingSomeProperties() { // MTP with multiple MTNs and some MTNs with no associated properties var package = MotionPackage.FromMtp(Assets.Assets.SuperShadow()); var directory = InitializeDirectory(SuperShadowDirectory); package.ToDirectory(directory); var newPackage = MotionPackage.FromDirectory(directory); Assert.Equal(package, newPackage); }
private static void ExtractMtp(string fullPath) { var outputDirectory = Path.Combine(Path.GetDirectoryName(fullPath), Path.GetFileNameWithoutExtension(fullPath)); InitializeDirectory(outputDirectory); var package = MotionPackage.FromMtp(File.ReadAllBytes(fullPath)); package.ToDirectory(outputDirectory); Console.WriteLine($"Extracted MTP To: {outputDirectory}"); }