Index: code/branches/presentation2012merge/data/overlays/dynamicMatchHUD.oxo
===================================================================
--- code/branches/presentation2012merge/data/overlays/dynamicMatchHUD.oxo	(revision 9339)
+++ code/branches/presentation2012merge/data/overlays/dynamicMatchHUD.oxo	(revision 9340)
@@ -2,4 +2,25 @@
   <OverlayGroup name="DynamicmatcHUD" scale = "1, 1">
    
+    <!--OverlayText
+     position  = "0.02, 0.02"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+     caption   = "Target:"
+    />
+
+    <OverlayText
+     position  = "0.02, 0.055"
+     pickpoint = "0.0, 0.0"
+     font      = "ShareTechMono"
+     textsize  = 0.04
+     colour    = "1.0, 1.0, 1.0, 1.0"
+     align     = "left"
+     caption   = "Score:"
+    /-->
+
+
  <GametypeStaticMessage
    name     = "staticmessage"
Index: code/branches/presentation2012merge/src/modules/pong/Pong.cc
===================================================================
--- code/branches/presentation2012merge/src/modules/pong/Pong.cc	(revision 9339)
+++ code/branches/presentation2012merge/src/modules/pong/Pong.cc	(revision 9340)
@@ -256,7 +256,7 @@
         Is called when the player scored.
     */
-    void Pong::playerScored(PlayerInfo* player)
-    {
-        Deathmatch::playerScored(player);
+    void Pong::playerScored(PlayerInfo* player, int score)
+    {
+        Deathmatch::playerScored(player, score);
 
         if (this->center_ != NULL) // If there is a centerpoint.
Index: code/branches/presentation2012merge/src/modules/pong/Pong.h
===================================================================
--- code/branches/presentation2012merge/src/modules/pong/Pong.h	(revision 9339)
+++ code/branches/presentation2012merge/src/modules/pong/Pong.h	(revision 9340)
@@ -73,5 +73,5 @@
             virtual void spawnPlayer(PlayerInfo* player); //!< Spawns the input player.
 
-            virtual void playerScored(PlayerInfo* player); //!< Is called when the player scored.
+            virtual void playerScored(PlayerInfo* player, int score = 1); //!< Is called when the player scored.
 
             /**
Index: code/branches/presentation2012merge/src/modules/tetris/Tetris.cc
===================================================================
--- code/branches/presentation2012merge/src/modules/tetris/Tetris.cc	(revision 9339)
+++ code/branches/presentation2012merge/src/modules/tetris/Tetris.cc	(revision 9340)
@@ -26,6 +26,4 @@
  *
  *
- *BUG c) destroying the old stones causes segfault -> WeakPointer as solution ?
- *BUG d) wrong collision detection: sometimes stones "bounce off"
  *
  *
Index: code/branches/presentation2012merge/src/orxonox/gametypes/Deathmatch.cc
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/Deathmatch.cc	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/Deathmatch.cc	(revision 9340)
@@ -114,7 +114,7 @@
     }
 
-    void Deathmatch::playerScored(PlayerInfo* player)
+    void Deathmatch::playerScored(PlayerInfo* player, int score)
     {
-        Gametype::playerScored(player);
+        Gametype::playerScored(player, score);
 
         if (player)
Index: code/branches/presentation2012merge/src/orxonox/gametypes/Deathmatch.h
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/Deathmatch.h	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/Deathmatch.h	(revision 9340)
@@ -48,5 +48,5 @@
 
             virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
-            virtual void playerScored(PlayerInfo* player);
+            virtual void playerScored(PlayerInfo* player, int score = 1);
     };
 }
Index: code/branches/presentation2012merge/src/orxonox/gametypes/Dynamicmatch.cc
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/Dynamicmatch.cc	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/Dynamicmatch.cc	(revision 9340)
@@ -310,6 +310,8 @@
         if (spaceship)
         {
+            WeakPtr<SpaceShip>* ptr = new WeakPtr<SpaceShip>(spaceship);
+            if(ptr == NULL)
+                return;
             spaceship->addSpeedFactor(5);
-            WeakPtr<SpaceShip>* ptr = new WeakPtr<SpaceShip>(spaceship);
             ExecutorPtr executor = createExecutor(createFunctor(&Dynamicmatch::resetSpeedFactor, this));
             executor->setDefaultValue(0, ptr);
@@ -490,5 +492,5 @@
         }
         //killers: every 4th player is a killer
-        if (getPlayerCount()/4 > (int)numberOf[killer])
+        if ( static_cast<unsigned int>(getPlayerCount()/4) > numberOf[killer])
         {
             notEnoughKillers=true;
Index: code/branches/presentation2012merge/src/orxonox/gametypes/TeamBaseMatch.cc
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/TeamBaseMatch.cc	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/TeamBaseMatch.cc	(revision 9340)
@@ -128,5 +128,5 @@
 
     // collect Points for killing oppenents
-    void TeamBaseMatch::playerScored(PlayerInfo* player)
+    void TeamBaseMatch::playerScored(PlayerInfo* player, int score)
     {
         int teamnr = this->getTeam(player);
Index: code/branches/presentation2012merge/src/orxonox/gametypes/TeamBaseMatch.h
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/TeamBaseMatch.h	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/TeamBaseMatch.h	(revision 9340)
@@ -47,5 +47,5 @@
             virtual bool allowPawnDamage(Pawn* victim, Pawn* originator);
 
-            virtual void playerScored(PlayerInfo* player);
+            virtual void playerScored(PlayerInfo* player, int score = 1);
             virtual void showPoints();
             virtual void endGame();
Index: code/branches/presentation2012merge/src/orxonox/gametypes/TeamDeathmatch.cc
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/TeamDeathmatch.cc	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/TeamDeathmatch.cc	(revision 9340)
@@ -113,7 +113,7 @@
     }
 
-    void TeamDeathmatch::playerScored(PlayerInfo* player)
+    void TeamDeathmatch::playerScored(PlayerInfo* player, int score)
     {
-        TeamGametype::playerScored(player);
+        TeamGametype::playerScored(player, score);
 
         if (player)
Index: code/branches/presentation2012merge/src/orxonox/gametypes/TeamDeathmatch.h
===================================================================
--- code/branches/presentation2012merge/src/orxonox/gametypes/TeamDeathmatch.h	(revision 9339)
+++ code/branches/presentation2012merge/src/orxonox/gametypes/TeamDeathmatch.h	(revision 9340)
@@ -48,5 +48,5 @@
 
             virtual void pawnKilled(Pawn* victim, Pawn* killer = 0);
-            virtual void playerScored(PlayerInfo* player);
+            virtual void playerScored(PlayerInfo* player, int score = 1);
     };
 }
