anchor.diff:      SegmentType, code, value: UInt8;
       len: Integer;
       RowAdd: Int32;
  +
  +
     begin
       for row := 0 to h.SpriteHeight - 1 do
       begin
  -      AStream.Seek(BaseOffsetor+row*2*(h.SpriteWidth div 32),soBeginning);
  -      tmp := AStream.ReadWord();
  -      BaseOffset := BaseOffsetor + tmp;
  +      tmp := PWord(@FDefBuffer[row*2*(h.SpriteWidth div 32)])^;
  +      BaseOffset := LEtoN(tmp);
  +
         SkipIfPositive(h.LeftMargin);
         TotalRowLength := 0;
   
  -      AStream.Seek(BaseOffset,soBeginning);
  -
         repeat
  -         SegmentType := AStream.ReadByte;
  +         SegmentType := FDefBuffer[BaseOffset]; inc(BaseOffset);
            code := SegmentType div 32;
            value := (SegmentType and 31) + 1;
   
  
positive.code:   end;
  end;
  
  procedure TDefFormatLoader.LoadSprite(AStream: TStream; const SpriteIndex: UInt8;
    ATextureID: GLuint; offset: Uint32);
  var
  
negative.code:   AStream.Seek(BaseOffset,soBeginning);
    AStream.Read(h{%H-},SizeOf(h));
  
  
    BaseOffset := AStream.Position;
    BaseOffsetor := BaseOffset;
  
  
    with h do
    begin
  