CSPspEmu.Hle.Formats.Cso.ReadBlocksCompressed C# (CSharp) Method

ReadBlocksCompressed() public method

public ReadBlocksCompressed ( uint Block, int Count ) : ArraySegment[]
Block uint
Count int
return ArraySegment[]
        public ArraySegment<byte>[] ReadBlocksCompressed(uint Block, int Count)
        {
            var List = new ArraySegment<byte>[Count];
            var BlockStart = this.Blocks[Block + 0].Position;
            var BlockEnd = this.Blocks[Block + Count].Position;
            var BlockLength = BlockEnd - BlockStart;

            Stream.Position = BlockStart;
            var Data = Stream.ReadBytes((int)BlockLength);
            for (int n = 0; n < Count; n++)
            {
                var Start = (int)(this.Blocks[Block + n + 0].Position - BlockStart);
                var End = (int)(this.Blocks[Block + n + 1].Position - BlockStart);
                List[n] = new ArraySegment<byte>(Data, Start, End - Start);
            }
            return List;
        }