Ejemplo n.º 1
0
        // signature set to 0 because all serialized rUGP objects have same signature.

        public override ImageMetaData ReadMetaData(IBinaryStream file)
        {
            if (file.Signature != CRioArchive.ObjectSignature)
            {
                return(null);
            }
            var  rio = new CRioArchive(file);
            uint signature;
            var  class_ref = rio.LoadRioTypeCore(out signature);
            CRip img;

            if ("CRip007" == class_ref)
            {
                img = new CRip007();
            }
            else if ("CRip" == class_ref)
            {
                img = new CRip();
            }
            else
            {
                return(null);
            }
            return(img.ReadMetaData(rio));
        }
Ejemplo n.º 2
0
        public override ImageMetaData ReadMetaData(IBinaryStream file)
        {
            if (file.Signature != CRioArchive.ObjectSignature)
            {
                return(null);
            }
            var  rio = new CRioArchive(file);
            uint signature;
            var  class_ref  = rio.LoadRioTypeCore(out signature);
            uint object_pos = (uint)file.Position;

            if ("CS5i" != class_ref)
            {
                return(null);
            }
            file.Seek(8, SeekOrigin.Current);
            return(new S5iMetaData
            {
                Width = file.ReadUInt16(),
                Height = file.ReadUInt16(),
                BPP = 32,
                ObjectOffset = object_pos,
                Schema = rio.Schema,
            });
        }