anchor.diff:  
     PEntry: PDefEntry;
   
  -  procedure SetRaw(const ColorIndex: Byte; ofc: int32; len: integer = 1); inline;
  -  var
  -    i: Integer;
  -  begin
  -    for i := 0 to len - 1 do
  -    begin
  -      //FBuffer[ofc+i] := c;
  -      FBuffer[ofc+i] := ColorIndex;
  -    end;
  -
  -  end;
  -
     procedure ReadType0;
     var
  -    i,j: Int32;
  -  begin
  -    for i:=0 to SpriteHeight - 1 do
  +    row: Int32;
  +  begin
  +    for row:=0 to SpriteHeight - 1 do
       begin
         SkipIfPositive(LeftMargin);
   
  -      for j := 0 to SpriteWidth - 1 do
  -      begin
  -        SetRaw(AStream.ReadByte(), i * Int32(h.FullWidth) + j + ftcp );
  -      end;
  +      AStream.Read(FBuffer[ftcp+row * Int32(h.FullWidth)],SpriteWidth);
   
         SkipIfPositive(RightMargin);
       end;
  
positive.code:   procedure ReadType1;
    var
      //RWEntriesLoc: Int32;
      row: Integer;
      TotalRowLength : Int32;
      RowAdd: UInt32;
      SegmentLength: Int32;
      SegmentType: UInt8;
      i: Int32;
    begin
      //const ui32 * RWEntriesLoc = reinterpret_cast<const ui32 *>(FDef+BaseOffset);
  
  
negative.code: 
           if code = 7 then
           begin
             AStream.Read(FBuffer[ftcp],len);
           end
           else begin
             FillChar(FBuffer[ftcp],len,code);
           end;
           Skip(len);
  
  