Index: orxonox/branches/updater/src/gui/orxonox_gui_update.cc
===================================================================
--- orxonox/branches/updater/src/gui/orxonox_gui_update.cc	(revision 3285)
+++ orxonox/branches/updater/src/gui/orxonox_gui_update.cc	(revision 3286)
@@ -40,4 +40,7 @@
 {
   this->getSystemInfo();
+#ifdef HAVE_CURL
+  this->checkForUpdates();
+#endif /* HAVE_CURL */
 
   this->updateFrame = new Frame ("Update-Options:");
@@ -94,8 +97,8 @@
 
   installDataDir = "/usr/share/games/orxonox";
-  PRINTF(4)("Installation of orxonox-data will go to this directory is %s\n", installDataDir);
+  PRINTF(4)("Installation of orxonox-data will go to this directory: %s\n", installDataDir);
 
   installSourceDir = "/usr/games/bin";
-  PRINTF(4)("Installation of orxonox-source will go to this directory is %s\n", installSourceDir);
+  PRINTF(4)("Installation of orxonox-source will go to this directory: %s\n", installSourceDir);
 
   userName = getenv("USER");
@@ -103,4 +106,16 @@
 }
 
+#ifdef HAVE_CURL
+bool* OrxonoxGuiUpdate::checkForUpdates(void)
+{
+  PRINTF(3)("checking for new version of orxonox\n");
+  FileInfo updateFileInfo;
+  updateFileInfo.fileName = "update_info";
+  updateFileInfo.webRoot = "http://www.orxonox.ethz.ch/files/data";
+  updateFileInfo.localRoot = tmpDir;
+  
+  download(&updateFileInfo);
+}
+#endif /* HAVE_CURL */
 #ifdef HAVE_CURL
 /**
@@ -204,5 +219,5 @@
   dataInfo->localRoot = "./";
   PRINTF(3)("Preparing to download file %s.\n", dataInfo->fileName);
-  download (dataInfo);
+  downloadWithStyle(dataInfo);
 }
 
@@ -282,9 +297,60 @@
 bool OrxonoxGuiUpdate::isDownloading = false;
 
-/**
-   \brief Initializes a Download
+
+/**
+   \brief Initializes a Download without displaying it.
    \param fileInfo the FileInfo.
-*/
-bool OrxonoxGuiUpdate::download (void* fileInfo)
+
+   !! BE AWARE THIS WILL NOT BE THREADED. !!
+*/
+bool OrxonoxGuiUpdate::download(void* fileInfo)
+{
+  if (isDownloading)
+    {
+      PRINTF(2)("unable to Download. already getting some file\n");
+      return false;
+    }
+  PRINTF(3)("Downloading.\n");
+  FileInfo* info = (FileInfo*)fileInfo;
+  CURLcode res;
+  CURL* localCurl;
+  localCurl = curl_easy_init();
+  char* fileOnNet = new char [strlen(info->webRoot)+strlen(info->fileName)+2];
+  strcpy (fileOnNet, info->webRoot);
+  if (fileOnNet[strlen(fileOnNet)] != '/') //!< \todo windows-shit
+    strcat (fileOnNet, "/");
+  strcat (fileOnNet, info->fileName);
+  char* fileOnDisk = new char [strlen(info->localRoot)+strlen(info->fileName)+2];
+  strcpy (fileOnDisk, info->localRoot);
+  if (fileOnDisk[strlen(fileOnDisk)] != '/') //!< \todo windows-shit
+    strcat (fileOnDisk, "/");
+  strcat (fileOnDisk, info->fileName);
+  
+  if(localCurl)
+    {
+      
+      info->fileHandle = fopen(fileOnDisk, "w");
+      
+      curl_easy_setopt(localCurl, CURLOPT_URL, fileOnNet);
+      curl_easy_setopt(localCurl, CURLOPT_WRITEDATA, info->fileHandle);
+      curl_easy_setopt(localCurl, CURLOPT_WRITEFUNCTION, curlWriteFunc);
+      curl_easy_setopt(localCurl, CURLOPT_READFUNCTION, curlReadFunc);
+      curl_easy_setopt(localCurl, CURLOPT_NOPROGRESS, TRUE);
+      
+      curl_easy_perform(localCurl);
+
+      curl_easy_cleanup(localCurl);
+      fclose (info->fileHandle);
+    }
+}
+
+/**
+   \brief Initializes a Download with some style.
+   \param fileInfo the FileInfo.
+   \todo release thread-lock.
+
+   Downloading with a Button that gets a different Name while downloading, and a Bar, that gets to be updated. More to be followed
+*/
+bool OrxonoxGuiUpdate::downloadWithStyle(void* fileInfo)
 {
   if (isDownloading)
Index: orxonox/branches/updater/src/gui/orxonox_gui_update.h
===================================================================
--- orxonox/branches/updater/src/gui/orxonox_gui_update.h	(revision 3285)
+++ orxonox/branches/updater/src/gui/orxonox_gui_update.h	(revision 3286)
@@ -32,5 +32,7 @@
 
   bool getSystemInfo();
-
+#ifdef HAVE_CURL
+  bool* checkForUpdates();
+#endif /* HAVE_CURL */
   
   // Window creation.
@@ -87,4 +89,5 @@
 
   static bool download (void* fileInfo);
+  static bool downloadWithStyle (void* fileInfo);
   static void* downloadThread (void* fileInfo);
   static void* downloadThreadFinished(void* fileInfo);
