コード例 #1
0
        public override void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
        {
            var decompressor = StreamDecompressors.GetUShortDecompressor(element.CompressionType);
            var val          = decompressor(reader);

            writer.Write(val);
        }
コード例 #2
0
        public override void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
        {
            var decompressor = StreamDecompressors.GetIntDecompressor(element.CompressionType);
            int count        = Math.Min(StreamDataType.MaxBonesPerVert, element.NumElements);

            for (var i = 0; i < count; i++)
            {
                var val = decompressor(reader);
                writer.Write(val);
            }
        }
コード例 #3
0
        public virtual void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
        {
            int count = Math.Min(this.NumValues, element.NumElements);
            FloatStreamDecompressor decompressor = StreamDecompressors.GetFloatDecompressor(element.CompressionType);

            for (var i = 0; i < count; i++)
            {
                float val = decompressor(reader);
                writer.Write(val);
            }
        }
コード例 #4
0
        public override void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
        {
            FloatStreamDecompressor decompressor = StreamDecompressors.GetFloatDecompressor(element.CompressionType);
            float x = decompressor(reader);
            float y = decompressor(reader);
            float z = decompressor(reader);

            writer.Write(x);
            writer.Write(y);
            writer.Write(z);
        }
コード例 #5
0
        private void LoadElements(BinaryReaderEx reader)
        {
            this.Elements = new List <StreamElement>(this.NumElements);

            for (var i = 0; i < this.NumElements; i++)
            {
                StreamElement element = new StreamElement();
                element.Unknown1        = reader.ReadInt16(Endianness.BigEndian);
                element.OffsetInVertex  = reader.ReadInt16(Endianness.BigEndian);
                element.CompressionType = (StreamCompressionType)reader.ReadInt32(Endianness.BigEndian);
                element.NumElements     = reader.ReadInt32(Endianness.BigEndian);
                element.DataType        = StreamDataType.GetStreamDataType(reader.ReadInt16(Endianness.BigEndian));
                element.Unknown2        = reader.ReadInt16(Endianness.BigEndian);

                this.Elements.Add(element);
            }
        }
コード例 #6
0
        public override void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
        {
            FloatStreamDecompressor decompressor = StreamDecompressors.GetFloatDecompressor(element.CompressionType);
            float x = decompressor(reader);
            float y = decompressor(reader);
            float z = decompressor(reader);

            writer.Write(x);
            writer.Write(y);
            writer.Write(z);
        }
コード例 #7
0
 public override void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
 {
     var decompressor = StreamDecompressors.GetUShortDecompressor(element.CompressionType);
     var val = decompressor(reader);
     writer.Write(val);
 }
コード例 #8
0
 public override void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
 {
     var decompressor = StreamDecompressors.GetIntDecompressor(element.CompressionType);
     int count = Math.Min(StreamDataType.MaxBonesPerVert, element.NumElements);
     for (var i = 0; i < count; i++)
     {
         var val = decompressor(reader);
         writer.Write(val);
     }
 }
コード例 #9
0
 public virtual void Decompress(BinaryReaderEx reader, BinaryWriter writer, StreamElement element)
 {
     int count = Math.Min(this.NumValues, element.NumElements);
     FloatStreamDecompressor decompressor = StreamDecompressors.GetFloatDecompressor(element.CompressionType);
     for (var i = 0; i < count; i++)
     {
         float val = decompressor(reader);
         writer.Write(val);
     }
 }