internal SceneLayer(Reader reader)
        {
            IgnoredByte = reader.ReadByte();

            Name = reader.ReadRSDKString();

            UnknownByte1 = reader.ReadByte();
            UnknownByte2 = reader.ReadByte();

            Width  = reader.ReadUInt16();
            Height = reader.ReadUInt16();

            UnknownWord1 = reader.ReadUInt16();
            UnknownWord2 = reader.ReadUInt16();

            ushort scrolling_info_count = reader.ReadUInt16();

            for (int i = 0; i < scrolling_info_count; ++i)
            {
                ScrollingInfo.Add(new ScrollInfo(reader));
            }

            ScrollIndexes = reader.ReadCompressed();

            Tiles = new ushort[Height][];
            using (Reader creader = reader.GetCompressedStream())
            {
                for (int i = 0; i < Height; ++i)
                {
                    Tiles[i] = new ushort[Width];
                    for (int j = 0; j < Width; ++j)
                    {
                        Tiles[i][j] = creader.ReadUInt16();
                    }
                }
            }
        }