Exemplo n.º 1
0
        public void GetDatFileCrc32(ref Crc32 pChecksum)
        {
            using (FileStream fs = File.OpenRead(this.filePath))
            {
                // Reserved Section
                ChecksumUtil.AddChunkToChecksum(
                    fs,
                    (int)RESERVED_SECTION_OFFSET,
                    (int)this.reservedSectionLength,
                    ref pChecksum);

                // Compressed Program
                this.addDecompressedProgramChecksum(fs, ref pChecksum);
            }

            // Libs
            string[] libPaths = this.GetLibPathArray();

            foreach (string f in libPaths)
            {
                using (FileStream lfs = File.OpenRead(f))
                {
                    Xsf libXsf = new Xsf();
                    libXsf.Initialize(lfs, f);
                    libXsf.GetDatFileCrc32(ref pChecksum);
                    libXsf = null;
                }
            }
        }