/** <summary> Reads the image directory. </summary> */
        public void ReadCSG1(BinaryReader reader)
        {
            //int count = reader.ReadInt32();
            //this.ScanLineLength = reader.ReadInt32();

            //for (int i = 0; i < count; i++) {
            while (reader.BaseStream.Position < reader.BaseStream.Length)
            {
                ImageEntry entry = new ImageEntry();
                entry.Read(reader);
                this.entries.Add(entry);
            }
        }
        //=========== READING ============
        #region Reading

        /** <summary> Reads the image directory. </summary> */
        public void Read(BinaryReader reader, bool quickLoad = false)
        {
            int count = reader.ReadInt32();

            this.ScanLineLength = reader.ReadInt32();

            for (int i = 0; i < count; i++)
            {
                ImageEntry entry = new ImageEntry();
                entry.Read(reader);
                if (!quickLoad || i < 168)
                {
                    this.entries.Add(entry);
                }
            }
        }