Index: code/branches/presentation2/src/orxonox/controllers/Controller.h
===================================================================
--- code/branches/presentation2/src/orxonox/controllers/Controller.h	(revision 6191)
+++ code/branches/presentation2/src/orxonox/controllers/Controller.h	(revision 6195)
@@ -40,5 +40,5 @@
         friend class PlayerInfo;
         friend class ControllableEntity;
-        
+
         public:
             Controller(BaseObject* creator);
Index: code/branches/presentation2/src/orxonox/controllers/HumanController.cc
===================================================================
--- code/branches/presentation2/src/orxonox/controllers/HumanController.cc	(revision 6191)
+++ code/branches/presentation2/src/orxonox/controllers/HumanController.cc	(revision 6195)
@@ -69,4 +69,6 @@
         RegisterObject(HumanController);
 
+        controlPaused_ = false;
+
         HumanController::localController_s = this;
     }
@@ -250,3 +252,15 @@
             HumanController::localController_s->controllableEntity_->getScene()->getRadar()->releaseFocus();
     }
+
+    void HumanController::pauseControl()
+    {
+        if (HumanController::localController_s)
+            HumanController::localController_s->doPauseControl();
+    }
+
+    void HumanController::resumeControl()
+    {
+        if (HumanController::localController_s)
+            HumanController::localController_s->doResumeControl();
+    }
 }
Index: code/branches/presentation2/src/orxonox/controllers/HumanController.h
===================================================================
--- code/branches/presentation2/src/orxonox/controllers/HumanController.h	(revision 6191)
+++ code/branches/presentation2/src/orxonox/controllers/HumanController.h	(revision 6195)
@@ -75,4 +75,9 @@
             static void killBots(unsigned int amount = 0);
 
+            static void pauseControl();
+            static void resumeControl();
+            virtual void doPauseControl() {};
+            virtual void doResumeControl() {};
+
             static inline HumanController* getLocalControllerSingleton()
                 { return HumanController::localController_s; }
@@ -83,4 +88,5 @@
         protected:
             static HumanController* localController_s;
+            bool controlPaused_;
     };
 }
Index: code/branches/presentation2/src/orxonox/controllers/NewHumanController.cc
===================================================================
--- code/branches/presentation2/src/orxonox/controllers/NewHumanController.cc	(revision 6191)
+++ code/branches/presentation2/src/orxonox/controllers/NewHumanController.cc	(revision 6195)
@@ -57,4 +57,5 @@
         : HumanController(creator)
         , crossHairOverlay_(NULL)
+        , centerOverlay_(NULL)
     {
         RegisterObject(NewHumanController);
@@ -72,5 +73,11 @@
             crossHairOverlay_->setBackgroundMaterial("Orxonox/Crosshair3");
             crossHairOverlay_->setSize(Vector2(overlaySize_, overlaySize_));
-            crossHairOverlay_->show();
+            crossHairOverlay_->hide();
+
+            centerOverlay_ = new OrxonoxOverlay(this);
+            centerOverlay_->setBackgroundMaterial("Orxonox/CenterOverlay");
+            centerOverlay_->setSize(Vector2(overlaySize_ * 2.5, overlaySize_ * 2.5));
+            centerOverlay_->setPosition(Vector2(0.5 - overlaySize_*2.5/2.0, 0.5 - overlaySize_*2.5/2.0));\
+            centerOverlay_->hide();
         }
 
@@ -81,4 +88,6 @@
 
         NewHumanController::localController_s = this;
+
+//HumanController::localController_s->getControllableEntity()->getCamera()->setDrag(true);
     }
 
@@ -99,10 +108,14 @@
             {
                 this->updateTarget();
-                this->crossHairOverlay_->setPosition(Vector2(static_cast<float>(this->currentYaw_)/2*-1+.5-overlaySize_/2, static_cast<float>(this->currentPitch_)/2*-1+.5-overlaySize_/2));
-                this->crossHairOverlay_->show();
-            }
-            else
+                if ( !controlPaused_ ) {
+                    this->crossHairOverlay_->setPosition(Vector2(static_cast<float>(this->currentYaw_)/2*-1+.5-overlaySize_/2, static_cast<float>(this->currentPitch_)/2*-1+.5-overlaySize_/2));
+                    this->crossHairOverlay_->show();
+                    this->centerOverlay_->show();
+                }
+            }
+            else {
                 this->crossHairOverlay_->hide();
-            // TODO: update aimPosition of Pawn
+                this->centerOverlay_->hide();
+            }
 
             if ( this->acceleration_ > 0 )
@@ -229,5 +242,5 @@
                 }
 
-                itr->movable->getParentSceneNode()->showBoundingBox(true);
+                //itr->movable->getParentSceneNode()->showBoundingBox(true);
                 //std::cout << itr->movable->getParentSceneNode()->_getDerivedPosition() << endl;
                 //return mouseRay.getOrigin() + mouseRay.getDirection() * itr->distance; //or itr->movable->getParentSceneNode()->_getDerivedPosition()
@@ -308,3 +321,15 @@
         }
     }
+
+    void NewHumanController::doResumeControl() {
+        this->controlPaused_ = false;
+        this->crossHairOverlay_->show();
+        this->centerOverlay_->show();
+    }
+
+    void NewHumanController::doPauseControl() {
+        this->controlPaused_ = true;
+        this->crossHairOverlay_->hide();
+        this->centerOverlay_->hide();
+    }
 }
Index: code/branches/presentation2/src/orxonox/controllers/NewHumanController.h
===================================================================
--- code/branches/presentation2/src/orxonox/controllers/NewHumanController.h	(revision 6191)
+++ code/branches/presentation2/src/orxonox/controllers/NewHumanController.h	(revision 6195)
@@ -59,4 +59,6 @@
 
             virtual void changedControllableEntity();
+            virtual void doPauseControl();
+            virtual void doResumeControl();
 
         protected:
@@ -69,4 +71,5 @@
             float                       currentPitch_;
             OrxonoxOverlay*             crossHairOverlay_;
+            OrxonoxOverlay*             centerOverlay_;
             float                       overlaySize_;
             bool                        accelerating_;
