anchor.diff:    ShiftX:=RXData[3].Pivot[ID].x/CELL_SIZE_PX;
     ShiftY:=(RXData[3].Pivot[ID].y+RXData[3].Size[ID].Y)/CELL_SIZE_PX;
     ShiftY:=ShiftY-fTerrain.InterpolateLandHeight(pX,pY)/CELL_HEIGHT_DIV-0.4 - 1.5;
  -  AddSpriteToList(3,ID,pX+ShiftX,pY+ShiftY,pX,pY,false);
  +  fRenderList.AddSprite(3,ID,pX+ShiftX,pY+ShiftY,pX,pY,false);
   end;
   
   
  
positive.code:     begin
        ShiftX := Loc.X + RXData[2].Pivot[aID].x/CELL_SIZE_PX;
        ShiftY := Loc.Y + (RXData[2].Pivot[aID].y+RXData[2].Size[aID].Y)/CELL_SIZE_PX-fTerrain.Land[Loc.Y+1,Loc.X].Height/CELL_HEIGHT_DIV;
        AddSpriteToList(2,aID,ShiftX,ShiftY,Loc.X,Loc.Y,false);
      end;
    end;
  
  
negative.code: 
  procedure TRender.Resize(Width,Height:integer; aRenderMode:TRenderMode);
  begin
    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, 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;
  