예제 #1
0
 public static FLCHeader ReadFromStream(BinaryReader reader)
 {
     FLCHeader result = new FLCHeader();
     result.size = reader.ReadInt32();
     result.type = reader.ReadInt16();
     result.frames = reader.ReadInt16();
     result.width = reader.ReadInt16();
     result.height = reader.ReadInt16();
     result.depth = reader.ReadInt16();
     result.flags = reader.ReadInt16();
     result.speed = reader.ReadInt32();
     result.reserved1 = reader.ReadInt16();
     result.created = reader.ReadInt32();
     result.creator = reader.ReadInt32();
     result.updated = reader.ReadInt32();
     result.updater = reader.ReadInt32();
     result.aspect_dx = reader.ReadInt16();
     result.aspect_dy = reader.ReadInt16();
     result.ext_flags = reader.ReadInt16();
     result.keyframes = reader.ReadInt16();
     result.totalframes = reader.ReadInt16();
     result.req_memory = reader.ReadInt32();
     result.max_regions = reader.ReadInt16();
     result.transp_num = reader.ReadInt16();
     result.reserved2 = reader.ReadBytes(24);
     result.oframe1 = reader.ReadInt32();
     result.oframe2 = reader.ReadInt32();
     result.reserved3 = reader.ReadBytes(40);
     return result;
 }
예제 #2
0
파일: FLCFile.cs 프로젝트: CAMongrel/FLCLib
        public FLCFile(Stream setStream)
        {
            stream = setStream;
             header = null;

             ShouldLoop = true;
             IsPlaying = false;
             IsPaused = false;
             PauseAfterFirstFrame = false;

             currentFrame = null;
             currentPalette = null;
        }
예제 #3
0
파일: FLCFile.cs 프로젝트: CAMongrel/FLCLib
        public bool Open()
        {
            reader = new BinaryReader (stream);
             header = FLCHeader.ReadFromStream (reader);

             if (header.type != unchecked((short)0xAF12))
            throw new Exception ("Can only open FLC videos (Type 0xAF12)");

             currentFrame = new FLCFrameBuffer (this);

             return true;
        }