Beispiel #1
0
        public void Initialize()
        {
            if (_fileName != null)
            {
                _fileStream = new Stream26(File.Open(_fileName, FileMode.Open, FileAccess.Read, FileShare.Read), true);
            }
            var num  = 1;
            var num2 = _fileStream.ReadUShort();
            var num3 = 0;

            if (num2 == 0xFACE) // Hey man he was in my face
            {
                _unkFlag0 = false;
                num       = _fileStream.ReadShortAt(6);
                num3      = _fileStream.ReadInt();
            }
            else if (num2 != 2600) // Appears to be flags at the beginning of certain types of texture metadata?
            {
                throw new Exception();
            }
            while (num-- != 0)
            {
                TextureList.Add(
                    new TextureMetadata(
                        _fileStream.ReadShortAt(num3 + 2),
                        _fileStream.ReadInt(),
                        _fileStream.ReadShort(),
                        _fileStream.ReadShort(),
                        _fileStream.ReadShort(),
                        _fileStream.ReadByteAt(num3 + 20),
                        _fileStream.ReadShort(),
                        _fileStream.ReadIntAt(num3 + 28),
                        _fileStream.ReadInt()));
                num3 += 40;
            }
            _fileStream.ReverseEndianness = false;
        }