anchor.diff:  
   procedure TRender.Resize(Width,Height:integer; aRenderMode:TRenderMode);
   begin
  -  fRenderAreaSize.X := max(Width, 1);
  -  fRenderAreaSize.Y := max(Height, 1);
  -  glViewport(0, 0, fRenderAreaSize.X, fRenderAreaSize.Y);
  +  fScreenX := max(Width, 1);
  +  fScreenY := max(Height, 1);
  +  glViewport(0, 0, fScreenX, fScreenY);
     glMatrixMode(GL_PROJECTION); //Change Matrix Mode to Projection
     glLoadIdentity; //Reset View
     case aRenderMode of
  -    rm2D: gluOrtho2D(0, fRenderAreaSize.X, fRenderAreaSize.Y, 0);
  -    rm3D: gluPerspective(80, -fRenderAreaSize.X/fRenderAreaSize.Y, 0.1, 5000.0);
  +    rm2D: gluOrtho2D(0, fScreenX, fScreenY, 0);
  +    rm3D: gluPerspective(80, -fScreenX/fScreenY, 0.1, 5000.0);
     end;
     glMatrixMode(GL_MODELVIEW); //Return to the modelview matrix
     glLoadIdentity; //Reset View
   end;
  +
  +
  +function TRender.Stat_Sprites: integer;
  +begin
  +  Result := fRenderList.Stat_Sprites;
  +end;
  +
  +
  +function TRender.Stat_Sprites2: integer;
  +begin
  +  Result := fRenderList.Stat_Sprites2;
  +end;
   
   
   procedure TRender.Render;
  
positive.code:   glBlendFunc(GL_DST_COLOR,GL_ONE);
    glColor4f(Value/20,Value/20,Value/20,Value/20);
    glBegin(GL_QUADS);
      glkRect(0,0,fRenderAreaSize.X,fRenderAreaSize.Y);
    glEnd;
  
    glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
  end;
  
  
  end.
  
negative.code: { 4 objects packed on 1 tile for Corn and Grapes }
  procedure TRender.RenderObjectQuad(Index:integer; AnimStep,pX,pY:integer; IsDouble:boolean; DoImmediateRender:boolean=false; Deleting:boolean=false);
  var FOW:byte;
    procedure AddSpriteBy(aID:integer; aAnimStep:integer; pX,pY:integer; ShiftX,ShiftY:single);
    var ID:integer;
    begin
      ID := MapElem[aID].Step[aAnimStep mod MapElem[aID].Count +1 ] +1;
      ShiftY := ShiftY + (RXData[1].Size[ID].Y) / CELL_SIZE_PX;
      ShiftY := ShiftY - fTerrain.InterpolateLandHeight(pX+ShiftX, pY+ShiftY)/CELL_HEIGHT_DIV;
      fRenderList.AddSprite(1, ID, pX+ShiftX, pY+ShiftY, pX, pY, true);
      if DoImmediateRender then RenderSprite(1,ID,pX+ShiftX,pY+ShiftY,$FFFFFFFF,255,Deleting);
    end;
  begin
    FOW := MyPlayer.FogOfWar.CheckTileRevelation(pX,pY);
    if FOW <=128 then AnimStep:=0; //Stop animation
  
    AddSpriteBy(Index, AnimStep  , pX, pY, 0  , -0.4);
    AddSpriteBy(Index, AnimStep+1, pX, pY, 0.5, -0.4);
    if IsDouble then exit;
    AddSpriteBy(Index, AnimStep+1, pX, pY, 0  , 0.1);
    AddSpriteBy(Index, AnimStep  , pX, pY, 0.5, 0.1);
  end;
  
  
  