Index: code/branches/map/src/orxonox/objects/RadarViewable.cc
===================================================================
--- code/branches/map/src/orxonox/objects/RadarViewable.cc	(revision 2913)
+++ code/branches/map/src/orxonox/objects/RadarViewable.cc	(revision 2942)
@@ -35,4 +35,8 @@
 #include "objects/worldentities/WorldEntity.h"
 #include "objects/Radar.h"
+#include "util/String.h"
+#include <OgreManualObject.h>
+#include "overlays/map/Map.h"
+#include "orxonox/tools/DynamicLines.h"
 
 namespace orxonox
@@ -47,6 +51,62 @@
         , MapNode_(NULL)
         , MapEntity_(NULL)
+        , line_(NULL)
     {
         RegisterRootObject(RadarViewable);
+
+        this->uniqueId_=getUniqueNumberString();
+/*
+        if(Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr())
+        {
+            this->addEntity();
+        }
+
+        */
+    }
+
+
+    RadarViewable::~RadarViewable()
+    {
+        delete MapNode_;
+        delete MapEntity_;
+    }
+
+    void RadarViewable::addMapEntity()
+    { //TODO Check shape and add accordantly
+        if( this->MapNode_ && !this->MapEntity_ && Map::getSingletonPtr() && Map::getSingletonPtr()->getMapSceneManagerPtr() )
+        {
+            COUT(0) << "Adding " << this->uniqueId_ << " to Map.\n";
+            this->MapEntity_ = Map::getSingletonPtr()->getMapSceneManagerPtr()->createEntity( this->uniqueId_, "drone.mesh");
+            /*this->line_ =  Map::getSingletonPtr()->getMapSceneManagerPtr()->createManualObject(this->uniqueId_ + "_l"); 
+            this->line_->begin("Map/line_", Ogre::RenderOperation::OT_LINE_STRIP); 
+            //line_->position(0, -it->getRVWorldPosition().y, 0); 
+            //this->line_->position(0, -20, 0); 
+            this->line_->position(0, 0, -10); //Front Arrow
+            this->line_->position(0, 0, 0);
+
+            this->line_->end(); */
+            this->line_ = new DynamicLines(Ogre::RenderOperation::OT_LINE_LIST);
+            this->line_->addPoint( Vector3(0,0,0) );
+            this->line_->addPoint( Vector3(0,0,0) );
+
+            this->MapNode_->attachObject( this->MapEntity_ );
+            this->MapNode_->attachObject( this->line_ );
+        }
+        else
+        {
+            COUT(0) << "Unable to load " << this->uniqueId_ << " to Map.\n";
+        }
+    }
+
+    void RadarViewable::updateMapPosition()
+    {
+        if( this->MapNode_ )
+        {
+            this->MapNode_->setPosition( this->getRVWorldPosition() );
+            this->MapNode_->translate( this->getRVOrientedVelocity(), (Ogre::Node::TransformSpace)3 );
+            this->MapNode_->setOrientation( this->getWorldEntity()->getOrientation() );
+Vector3 v = this->getRVWorldPosition();
+            this->line_->setPoint(1, Vector3(0,v.y,0) );
+        }
     }
 
Index: code/branches/map/src/orxonox/objects/RadarViewable.h
===================================================================
--- code/branches/map/src/orxonox/objects/RadarViewable.h	(revision 2913)
+++ code/branches/map/src/orxonox/objects/RadarViewable.h	(revision 2942)
@@ -37,6 +37,9 @@
 #include "core/OrxonoxClass.h"
 
+#include <string>
 #include <OgreSceneNode.h>
 #include <OgreEntity.h>
+#include <OgreManualObject.h>
+#include "orxonox/tools/DynamicLines.h"
 
 namespace orxonox
@@ -55,7 +58,8 @@
         };
 
+
     public:
         RadarViewable();
-        virtual ~RadarViewable() { }
+        virtual ~RadarViewable();
 
         inline void setRadarObjectCamouflage(float camouflage)
@@ -96,5 +100,7 @@
         Ogre::SceneNode * MapNode_;
         Ogre::Entity * MapEntity_;
-
+        DynamicLines* line_;
+        void addMapEntity();
+        void updateMapPosition();
     private:
         void validate(const WorldEntity* object) const
@@ -107,4 +113,7 @@
         }
 
+        
+        std::string uniqueId_;
+
         float radarObjectCamouflage_;
         Shape radarObjectShape_;
Index: code/branches/map/src/orxonox/objects/controllers/HumanController.cc
===================================================================
--- code/branches/map/src/orxonox/objects/controllers/HumanController.cc	(revision 2913)
+++ code/branches/map/src/orxonox/objects/controllers/HumanController.cc	(revision 2942)
@@ -35,4 +35,5 @@
 #include "objects/worldentities/pawns/Pawn.h"
 #include "objects/gametypes/Gametype.h"
+#include "overlays/map/Map.h"
 
 namespace orxonox
@@ -92,4 +93,10 @@
     void HumanController::rotateYaw(const Vector2& value)
     {
+        //Hack to enable mouselook in map
+        if ( Map::getSingletonPtr() && Map::getSingletonPtr()->getVisibility() && HumanController::localController_s->controllableEntity_->isInMouseLook() )
+        {
+            Map::getSingletonPtr()->rotateYaw(value);
+            return;
+        }
         if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
             HumanController::localController_s->controllableEntity_->rotateYaw(value);
@@ -98,4 +105,10 @@
     void HumanController::rotatePitch(const Vector2& value)
     {
+        //Hack to enable mouselook in map
+        if ( Map::getSingletonPtr() && Map::getSingletonPtr()->getVisibility() && HumanController::localController_s->controllableEntity_->isInMouseLook() )
+        {
+            Map::getSingletonPtr()->rotatePitch(value);
+            return;
+        }
         if (HumanController::localController_s && HumanController::localController_s->controllableEntity_)
             HumanController::localController_s->controllableEntity_->rotatePitch(value);
Index: code/branches/map/src/orxonox/objects/controllers/HumanController.h
===================================================================
--- code/branches/map/src/orxonox/objects/controllers/HumanController.h	(revision 2913)
+++ code/branches/map/src/orxonox/objects/controllers/HumanController.h	(revision 2942)
@@ -66,4 +66,7 @@
             static void killBots(unsigned int amount = 0);
 
+            //friend class, for mouselook
+            friend class Map;
+
         private:
             static HumanController* localController_s;
