public static UnknownEntry1 Deserialize(FZReader reader)
        {
            var obj = new UnknownEntry1();

            obj.address  = (int)reader.BaseStream.Position;
            obj.unknown1 = reader.ReadBytes(20);

            return(obj);
        }
        public static ColiFile Deserialize(FZReader reader)
        {
            var file = new ColiFile();

            file.header               = reader.ReadBytes(8);
            file.checkpointTable      = CheckpointTable.Deserialize(reader);
            file.unknownTable1        = UnknownTable1.Deserialize(reader);
            file.objectCollisionTable = ObjectCollisionTable.Deserialize(reader);
            file.unknown1             = reader.ReadInt32Array(12);
            file.objectTable          = ObjectTable.Deserialize(reader);
            file.unknown2             = reader.ReadInt32();
            file.unknown3             = reader.ReadInt32Array(2);
            file.meshCollisionTable   = MeshCollisionTable.Deserialize(reader);
            file.unknownTable2        = UnknownTable2.Deserialize(reader);
            file.unknown4             = reader.ReadInt32Array(4);
            file.unknownOffset1       = reader.ReadInt32();
            file.unknown5             = reader.ReadInt32Array(2);
            file.unknownOffset2       = reader.ReadInt32();
            file.unknownTable3        = UnknownTable3.Deserialize(reader);
            file.unknownTable4        = UnknownTable4.Deserialize(reader);
            file.unknown6             = reader.ReadInt32Array(23);

            return(file);
        }