Index: code/branches/gamestates2/src/orxonox/overlays/GUISheet.cc
===================================================================
--- code/branches/gamestates2/src/orxonox/overlays/GUISheet.cc	(revision 6722)
+++ code/branches/gamestates2/src/orxonox/overlays/GUISheet.cc	(revision 6737)
@@ -40,6 +40,6 @@
         : BaseObject(creator)
         , bShowOnLoad_(false)
-        , bShowCursor_(true)
         , bHidePrevious_(false)
+        , bHidePreviousSet_(false)
     {
         RegisterObject(GUISheet);
@@ -57,32 +57,33 @@
         SUPER(GUISheet, XMLPort, xmlElement, mode);
 
-        XMLPortParam(GUISheet, "showOnLoad",   setShowOnLoad,       getShowOnLoad,       xmlElement, mode);
-        XMLPortParam(GUISheet, "showCursor",   setCursorVisibility, getCursorVisibility, xmlElement, mode);
-        XMLPortParam(GUISheet, "hidePrevious", setPreviousHiding,   getPreviousHiding,   xmlElement, mode);
-        XMLPortParam(GUISheet, "script",       setScript,           getScript,           xmlElement, mode);
+        XMLPortParam(GUISheet, "showOnLoad",   setShowOnLoad,     getShowOnLoad,     xmlElement, mode);
+        XMLPortParam(GUISheet, "hidePrevious", setPreviousHiding, getPreviousHiding, xmlElement, mode);
+        XMLPortParam(GUISheet, "sheetName",    setSheetName,      getSheetName,      xmlElement, mode);
+        XMLPortParam(GUISheet, "backgroundImage",  setBackgroundImage,  getBackgroundImage,  xmlElement, mode);
+
+        if (this->bShowOnLoad_)
+            this->show();
     }
 
     void GUISheet::show()
     {
-        GUIManager::showGUI(this->script_, this->bHidePrevious_);
+        GUIManager::getInstance().setBackgroundImage(this->backgroundImage_);
+        if (this->bHidePreviousSet_)
+            GUIManager::getInstance().showGUI(this->sheetName_, this->bHidePrevious_);
+        else
+            GUIManager::getInstance().showGUI(this->sheetName_);
     }
 
     void GUISheet::hide()
     {
-        GUIManager::hideGUI(this->script_);
+        GUIManager::getInstance().hideGUI(this->sheetName_);
+        if (!this->backgroundImage_.empty())
+            GUIManager::getInstance().setBackgroundImage("");
     }
 
-    void GUISheet::setScript(const std::string& filename)
+    void GUISheet::setSheetName(const std::string& name)
     {
-        this->script_ = filename;
-        GUIManager::getInstance().loadGUI(this->script_);
-        if (this->bShowOnLoad_)
-            this->show();
-    }
-
-    void GUISheet::setCursorVisibility(bool bShow)
-    {
-        this->bShowCursor_ = bShow;
-        // TODO: This call has no effect when already showing!
+        this->sheetName_ = name;
+        GUIManager::getInstance().loadGUI(this->sheetName_);
     }
 
@@ -90,5 +91,6 @@
     {
         this->bHidePrevious_ = bHide;
-        // TODO: This call has no effect when already showing!
+        this->bHidePreviousSet_ = true;
+        // Note: This call has no effect when already showing!
     }
 }
Index: code/branches/gamestates2/src/orxonox/overlays/GUISheet.h
===================================================================
--- code/branches/gamestates2/src/orxonox/overlays/GUISheet.h	(revision 6722)
+++ code/branches/gamestates2/src/orxonox/overlays/GUISheet.h	(revision 6737)
@@ -49,7 +49,7 @@
         void hide();
 
-        void setScript(const std::string& filename);
-        inline const std::string& getScript() const
-            { return this->script_; }
+        void setSheetName(const std::string& name);
+        inline const std::string& getSheetName() const
+            { return this->sheetName_; }
 
         inline void setShowOnLoad(bool bShow)
@@ -58,17 +58,19 @@
             { return this->bShowOnLoad_; }
 
-        void setCursorVisibility(bool bShow);
-        inline bool getCursorVisibility() const
-            { return this->bShowCursor_; }
-
         void setPreviousHiding(bool bHide);
         inline bool getPreviousHiding() const
             { return this->bHidePrevious_; }
 
+        void setBackgroundImage(const std::string& image)
+            { this->backgroundImage_ = image; }
+        inline const std::string& getBackgroundImage() const
+            { return this->backgroundImage_; }
+
     private:
-        std::string script_;
+        std::string sheetName_;
         bool bShowOnLoad_;
-        bool bShowCursor_;
         bool bHidePrevious_;
+        bool bHidePreviousSet_;
+        std::string backgroundImage_;
   };
 }
