Example #1
0
        public void SngStreamRead_ValidData_True()
        {
            FileStream   fs     = new(Fixture.InputSngStream, FileMode.Open);
            BinaryReader reader = new(fs);
            SngData      sng    = SngData.Read(reader);

            fs.Close();

            sng.Should().NotBeNull();
        }
Example #2
0
        public void SngStreamWrite_ValidData_True()
        {
            FileStream   fs     = new(Fixture.InputSngStream, FileMode.Open);
            BinaryReader reader = new(fs);
            SngData      sng    = SngData.Read(reader);


            FileStream   ofs    = new(Fixture.OutputSngStream, FileMode.Create);
            BinaryWriter writer = new(ofs);

            sng.Write(writer);

            Fixture.CompareStreams(fs, ofs).Should().BeTrue();
        }
Example #3
0
        public void Open(Stream fileStream, GamePlatform platform)
        {
            using MemoryStream decrypted = new();
            using BinaryReader ebrDec    = new(decrypted);

            Decrypt(fileStream, decrypted, GetEncodingKey(platform));

            using MemoryStream output = new();
            //unZip
            ushort xU = ebrDec.ReadUInt16();

            decrypted.Position -= 2;
            if (xU == 0x78DA || xU == 0xDA78) //LE 55928 //BE 30938
            {
                Archives.Unzip(decrypted, output, false);
            }

            output.Seek(0, SeekOrigin.Begin);

            Data = SngData.Read(new BinaryReader(output));
        }