FSO.Files.Formats.IFF.Chunks.PIFFEntry.Apply C# (CSharp) Méthode

Apply() public méthode

public Apply ( byte src ) : byte[]
src byte
Résultat byte[]
        public byte[] Apply(byte[] src)
        {
            var result = new byte[NewDataSize];
            uint srcPtr = 0;
            uint destPtr = 0;
            int i = 0;
            foreach (var p in Patches)
            {
                var copyCount = p.Offset - destPtr;
                Array.Copy(src, srcPtr, result, destPtr, copyCount);
                srcPtr += copyCount; destPtr += copyCount;
                if (p.Mode == PIFFPatchMode.Add)
                {
                    Array.Copy(p.Data, 0, result, destPtr, p.Size);
                    destPtr += p.Size;
                } else
                {
                    srcPtr += p.Size;
                }
                i++;
            }
            var remainder = NewDataSize - destPtr;
            if (remainder != 0) Array.Copy(src, srcPtr, result, destPtr, remainder);

            return result;
        }
PIFFEntry