Index: /code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.cc
===================================================================
--- /code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.cc	(revision 8933)
+++ /code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.cc	(revision 8934)
@@ -36,5 +36,4 @@
 #include "SpaceRace.h"
 
-
 namespace orxonox
 {
@@ -48,4 +47,5 @@
         this->bIsLast_ = false;
         this->bTimeLimit_ = 0;
+        this->isVisible_=false;
 
         this->setRadarObjectColour(ColourValue::Blue);
@@ -70,5 +70,7 @@
         SpaceRace* gametype = orxonox_cast<SpaceRace*>(this->getGametype().get());
         assert(gametype);
-        this->setRadarVisibility(false);
+        if(this->isVisible_){this->setRadarVisibility(true);}
+        else{this->setRadarVisibility(false);}
+        /*this->setRadarVisibility(false);
         Vector3 v =Vector3(0,0,0);
         int j=0;
@@ -81,6 +83,6 @@
         	if (this->getCheckpointIndex() == v[i])
            	 this->setRadarVisibility(true);
-           	 }
-        }     
+           	 }*/
+        //}     
     }
 
@@ -95,7 +97,5 @@
     }
 
-
-
-    void RaceCheckPoint::triggered(bool bIsTriggered, PlayerInfo* player)
+	void RaceCheckPoint::triggered(bool bIsTriggered, PlayerInfo* player)
     {
         DistanceTrigger::triggered(bIsTriggered);
Index: /code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.h
===================================================================
--- /code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.h	(revision 8933)
+++ /code/branches/spaceraceTwo/src/modules/gametypes/RaceCheckPoint.h	(revision 8934)
@@ -61,4 +61,7 @@
            inline const Vector3& getNextcheckpoint() const
 		{return this->nextcheckpoints_;}
+
+	inline void setVisibility(bool b)
+		{this->isVisible_ = b;}
         protected:
             virtual void triggered(bool bIsTriggered, PlayerInfo* player);
@@ -84,4 +87,6 @@
 	
 	Vector3 nextcheckpoints_; //the indexes of the next check points
+
+	bool isVisible_;
       
     };
Index: /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc
===================================================================
--- /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc	(revision 8933)
+++ /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.cc	(revision 8934)
@@ -45,5 +45,5 @@
     {
         RegisterObject(SpaceRace);
-        //this->checkpointsReached_ = 0;
+        this->checkpointReached_ = 0;
         this->bTimeIsUp_ = false;
         this->numberOfBots_ = 0;
@@ -139,11 +139,26 @@
 	
 
-    void SpaceRace::newCheckpointReached(RaceCheckPoint* p)
+    void SpaceRace::newCheckpointReached(SpaceRaceManager* p, int index)
     {
-        this->checkpointReached_=p->getCheckpointIndex();
+        this->checkpointReached_=index;
         this->clock_.capture();
         int s = this->clock_.getSeconds();
         int ms = static_cast<int>(this->clock_.getMilliseconds()-1000*s);
-        const std::string& message = "Checkpoint " + multi_cast<std::string>(p)
+        const std::string& message = "Checkpoint " + multi_cast<std::string>(index)
+                        + " reached after " + multi_cast<std::string>(s) + "." + multi_cast<std::string>(ms)
+                        + " seconds.";
+        const_cast<GametypeInfo*>(this->getGametypeInfo())->sendAnnounceMessage(message);
+        ChatManager::message(message);
+        
+       
+    }
+    
+     void SpaceRace::newCheckpointReached(RaceCheckPoint* p)
+    {	int index = p->getCheckpointIndex();
+        this->checkpointReached_=index;
+        this->clock_.capture();
+        int s = this->clock_.getSeconds();
+        int ms = static_cast<int>(this->clock_.getMilliseconds()-1000*s);
+        const std::string& message = "Checkpoint " + multi_cast<std::string>(index)
                         + " reached after " + multi_cast<std::string>(s) + "." + multi_cast<std::string>(ms)
                         + " seconds.";
Index: /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.h
===================================================================
--- /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.h	(revision 8933)
+++ /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRace.h	(revision 8934)
@@ -40,5 +40,7 @@
 #include "gametypes/Gametype.h"
 
-#include "RaceCheckPoint.h"
+
+
+#include "SpaceRaceManager.h"
 
 namespace orxonox
@@ -51,4 +53,5 @@
     {
         friend class RaceCheckPoint;
+	friend class SpaceRaceManager;
 
         public:
@@ -59,5 +62,6 @@
             virtual void end();
 		
-            virtual void newCheckpointReached(RaceCheckPoint* p);
+            virtual void newCheckpointReached(SpaceRaceManager* p, int index);
+		virtual void newCheckpointReached(RaceCheckPoint* p);
 
             inline void setCheckpointReached(int n)
Index: /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRaceManager.cc
===================================================================
--- /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRaceManager.cc	(revision 8933)
+++ /code/branches/spaceraceTwo/src/modules/gametypes/SpaceRaceManager.cc	(revision 8934)
@@ -28,5 +28,5 @@
 
 #include "SpaceRaceManager.h"
-
+#include "SpaceRace.h"
 
 #include "core/XMLPort.h"
@@ -80,13 +80,20 @@
     {
     SUPER(SpaceRaceManager,tick,dt);
-            
+     SpaceRace* gametype = orxonox_cast<SpaceRace*>(this->getGametype().get());
+           Vector3 v =Vector3(0,0,0);
+        int j=0;
+        for (std::map<PlayerInfo*, Player>::iterator it = gametype->players_.begin(); it != gametype->players_.end(); ++it)
+        {
+        	j=gametype->getCheckpointReached(it->first);
+        	RaceCheckPoint* r=this->getCheckpoint(j);
+        	v=r->getNextcheckpoint();
+        	for(int i=1;i<4;i++){
+        	 RaceCheckPoint* n=this->getCheckpoint(i);
+           	 n->setVisibility(true);
+           	 }
+    	}
+     
     }
-     
-    
-    
-    
-   
-    
-    }
+}
 
 
