Index: code/branches/map/src/orxonox/objects/RadarViewable.cc
===================================================================
--- code/branches/map/src/orxonox/objects/RadarViewable.cc	(revision 2812)
+++ code/branches/map/src/orxonox/objects/RadarViewable.cc	(revision 2913)
@@ -45,4 +45,6 @@
         , radarObjectShape_(Dot)
         , radarObjectDescription_("staticObject")
+        , MapNode_(NULL)
+        , MapEntity_(NULL)
     {
         RegisterRootObject(RadarViewable);
Index: code/branches/map/src/orxonox/objects/RadarViewable.h
===================================================================
--- code/branches/map/src/orxonox/objects/RadarViewable.h	(revision 2812)
+++ code/branches/map/src/orxonox/objects/RadarViewable.h	(revision 2913)
@@ -36,4 +36,7 @@
 #include "util/Debug.h"
 #include "core/OrxonoxClass.h"
+
+#include <OgreSceneNode.h>
+#include <OgreEntity.h>
 
 namespace orxonox
@@ -80,4 +83,18 @@
             { return this->radarObjectShape_; }
 
+/*
+        inline void setMapNode(Ogre::SceneNode * node)
+            { this->MapNode_ = node; }
+        inline Ogre::SceneNode * getMapNode() const
+            { return this->MapNode_; }
+        inline void setMapEntity(Ogre::Entity * ent)
+            { this->MapEntity_ = ent; }
+        inline Ogre::Entity * getMapEntity() const
+            { return this->MapEntity_; }
+*/
+        //Used for Map
+        Ogre::SceneNode * MapNode_;
+        Ogre::Entity * MapEntity_;
+
     private:
         void validate(const WorldEntity* object) const
@@ -94,4 +111,5 @@
         std::string radarObjectDescription_;
         ColourValue radarObjectColour_;
+        
     };
 }
Index: code/branches/map/src/orxonox/objects/worldentities/CameraPosition.cc
===================================================================
--- code/branches/map/src/orxonox/objects/worldentities/CameraPosition.cc	(revision 2812)
+++ code/branches/map/src/orxonox/objects/worldentities/CameraPosition.cc	(revision 2913)
@@ -30,4 +30,6 @@
 #include "CameraPosition.h"
 
+#include <OgreCamera.h>
+
 #include "core/CoreIncludes.h"
 #include "core/XMLPort.h"
@@ -44,4 +46,5 @@
         this->bDrag_ = false;
         this->bAllowMouseLook_ = false;
+        this->bRenderCamera_ = false;
 
         this->setObjectMode(0x0);
@@ -58,4 +61,5 @@
         XMLPortParam(CameraPosition, "drag", setDrag, getDrag, xmlelement, mode).defaultValues(false);
         XMLPortParam(CameraPosition, "mouselook", setAllowMouseLook, getAllowMouseLook, xmlelement, mode).defaultValues(false);
+        XMLPortParam(CameraPosition, "rendercamera", setRenderCamera, getRenderCamera, xmlelement, mode).defaultValues(false);
     }
 
@@ -70,3 +74,8 @@
             camera->setDrag(true);
     }
+
+    void CameraPosition::attachCamera(Ogre::Camera* camera)
+    {
+        this->attachOgreObject(camera);
+    }
 }
Index: code/branches/map/src/orxonox/objects/worldentities/CameraPosition.h
===================================================================
--- code/branches/map/src/orxonox/objects/worldentities/CameraPosition.h	(revision 2812)
+++ code/branches/map/src/orxonox/objects/worldentities/CameraPosition.h	(revision 2913)
@@ -54,9 +54,16 @@
                 { return this->bAllowMouseLook_; }
 
+            inline void setRenderCamera(bool bRenderCamera)
+                { this->bRenderCamera_ = bRenderCamera; }
+            inline bool getRenderCamera() const
+                { return this->bRenderCamera_; }
+
             void attachCamera(Camera* camera);
+            void attachCamera(Ogre::Camera* camera);
 
         private:
             bool bDrag_;
             bool bAllowMouseLook_;
+            bool bRenderCamera_;
     };
 }
Index: code/branches/map/src/orxonox/objects/worldentities/ControllableEntity.cc
===================================================================
--- code/branches/map/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 2812)
+++ code/branches/map/src/orxonox/objects/worldentities/ControllableEntity.cc	(revision 2913)
@@ -62,4 +62,5 @@
         this->hud_ = 0;
         this->camera_ = 0;
+        this->reverseCamera_ = 0;
         this->bDestroyWhenPlayerLeft_ = false;
         this->cameraPositionRootNode_ = this->node_->createChildSceneNode();
@@ -148,5 +149,9 @@
         else
             this->attach(position);
-        this->cameraPositions_.push_back(position);
+
+        if (!position->getRenderCamera())
+            this->cameraPositions_.push_back(position);
+        else
+            this->setReverseCamera(position);
     }
 
Index: code/branches/map/src/orxonox/objects/worldentities/ControllableEntity.h
===================================================================
--- code/branches/map/src/orxonox/objects/worldentities/ControllableEntity.h	(revision 2812)
+++ code/branches/map/src/orxonox/objects/worldentities/ControllableEntity.h	(revision 2913)
@@ -109,4 +109,9 @@
             inline const std::string& getCameraPositionTemkplate() const
                 { return this->cameraPositionTemplate_; }
+
+            inline void setReverseCamera(CameraPosition* camera)
+                { this->reverseCamera_ = camera; }
+            inline CameraPosition* getReverseCamera() const
+                { return this->reverseCamera_; }
 
             using WorldEntity::setPosition;
@@ -188,4 +193,5 @@
             std::list<CameraPosition*> cameraPositions_;
             std::string cameraPositionTemplate_;
+            CameraPosition* reverseCamera_;
 
             const GametypeInfo* gtinfo_;
