Index: branches/multi_player_map/src/lib/collision_detection/cd_engine.cc
===================================================================
--- branches/multi_player_map/src/lib/collision_detection/cd_engine.cc	(revision 8833)
+++ branches/multi_player_map/src/lib/collision_detection/cd_engine.cc	(revision 8838)
@@ -84,5 +84,5 @@
         if( likely((*entity2) != this->terrain))
         {
-          PRINTF(4)("checking object %s against %s\n", (*entity1)->getName(), (*entity2)->getName());
+          PRINTF(5)("checking object %s (%s) against %s (%s)\n", (*entity1)->getClassName(), (*entity1)->getName(), (*entity2)->getClassName(), (*entity2)->getName());
           tree = (*entity1)->getOBBTree();
           if( likely(tree != NULL) && (*entity2)->getOBBTree() != NULL)
Index: branches/multi_player_map/src/lib/collision_detection/obb_tree_node.cc
===================================================================
--- branches/multi_player_map/src/lib/collision_detection/obb_tree_node.cc	(revision 8833)
+++ branches/multi_player_map/src/lib/collision_detection/obb_tree_node.cc	(revision 8838)
@@ -516,4 +516,5 @@
         (treeNode->nodeRight == NULL && treeNode->nodeLeft == NULL)) )
     {
+      PRINTF(0)("----------------------------------------------\\n\n\n\n\n\n--------------------------------\n\n\n");
       nodeA->registerCollision(nodeA, nodeB, (BoundingVolume*)this->bvElement, (BoundingVolume*)treeNode->bvElement);
     }
Index: branches/multi_player_map/src/lib/collision_reaction/cr_object_damage.cc
===================================================================
--- branches/multi_player_map/src/lib/collision_reaction/cr_object_damage.cc	(revision 8833)
+++ branches/multi_player_map/src/lib/collision_reaction/cr_object_damage.cc	(revision 8838)
@@ -56,5 +56,5 @@
   float damage = 0.0f;
 
-  PRINTF(4)("Dealing damage - Handling collision: %s vs %s\n",
+  PRINTF(0)("Dealing damage - Handling collision: %s vs %s\n",
             collision->getEntityA()->getClassName(),
             collision->getEntityB()->getClassName());
Index: branches/multi_player_map/src/story_entities/multi_player_world.cc
===================================================================
--- branches/multi_player_map/src/story_entities/multi_player_world.cc	(revision 8833)
+++ branches/multi_player_map/src/story_entities/multi_player_world.cc	(revision 8838)
@@ -94,23 +94,35 @@
 {
   //CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_PLAYERS), this->dataTank->objectManager->getObjectList(OM_PLAYERS));
+
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_PLAYERS vs OM_PLAYERS_PROJ\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_PLAYERS),
     this->dataTank->objectManager->getObjectList(OM_PLAYERS_PROJ));
-    
+
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_PLAYERS vs OM_GROUP_01_PROJ\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_PLAYERS),
     this->dataTank->objectManager->getObjectList(OM_GROUP_00_PROJ));
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_PLAYERS vs OM_GROUP_01_PROJ\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_PLAYERS),
     this->dataTank->objectManager->getObjectList(OM_GROUP_01_PROJ));
 
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_GROUP_00 vs OM_GROUP_01_PROJ\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_GROUP_00),
     this->dataTank->objectManager->getObjectList(OM_GROUP_01_PROJ));
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_GROUP_01 vs OM_GROUP_00_PROJ\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_GROUP_01),
     this->dataTank->objectManager->getObjectList(OM_GROUP_00_PROJ));
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_GROUP_00 vs OM_GROUP_01\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_GROUP_00),
     this->dataTank->objectManager->getObjectList(OM_GROUP_01));
 
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_COMMON vs OM_GROUP_00\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_GROUP_00),
     this->dataTank->objectManager->getObjectList(OM_COMMON));
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_COMMON vs OM_GROUP_01\n\n");
   CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_GROUP_01),
     this->dataTank->objectManager->getObjectList(OM_COMMON));
+  PRINTF(5)("\n-----------------------------------------\nchecking OM_COMMON vs OM_PLAYER\n\n");
+  CDEngine::getInstance()->checkCollisions(this->dataTank->objectManager->getObjectList(OM_PLAYERS),
+  this->dataTank->objectManager->getObjectList(OM_COMMON));
 
 }
Index: branches/multi_player_map/src/util/multiplayer_team_deathmatch.cc
===================================================================
--- branches/multi_player_map/src/util/multiplayer_team_deathmatch.cc	(revision 8833)
+++ branches/multi_player_map/src/util/multiplayer_team_deathmatch.cc	(revision 8838)
@@ -85,5 +85,5 @@
   subscribeEvent( ES_MENU, SDLK_F1 );
   subscribeEvent( ES_MENU, KeyMapper::PEV_FIRE1 );
-  
+
   this->notifier = new OrxGui::GLGuiNotifier();
   this->notifier->show();
@@ -106,5 +106,5 @@
   unsubscribeEvent( ES_MENU, SDLK_F1 );
   unsubscribeEvent( ES_MENU, KeyMapper::PEV_FIRE1 );
-  
+
   if ( this->notifier )
   {
@@ -219,16 +219,16 @@
   if ( !SharedNetworkData::getInstance()->isGameServer() )
     return;
-    
+
   //handle kills
   for ( std::vector<Kill>::iterator it = this->killList.begin(); it != this->killList.end();  )
   {
     std::vector<Kill>::iterator delit = it;
-    
+
     onKill( it->getKiller()->getOwner(), it->getVictim()->getOwner() );
-    
+
     it++;
     killList.erase( delit );
   }
-  
+
   gameStateTimer -= dt;
   //PRINTF(0)("TICK %f\n", gameStateTimer);
@@ -482,10 +482,10 @@
   playable.setUniqueID( SharedNetworkData::getInstance()->getNewUniqueID() );
   playable.setSynchronized( true );
-  
+
   stats.setTeamId( stats.getPreferedTeamId() );
   stats.setPlayableClassId( playableClassId );
   stats.setPlayableUniqueId( playable.getUniqueID() );
   stats.setModelFileName( playableModel );
-  
+
   this->respawnPlayable( &playable, stats.getPreferedTeamId(), 0.0f );
 
@@ -629,5 +629,5 @@
   statsBox = new OrxGui::GLGuiBox();
   statsBox->setAbsCoor2D( 300, 100 );
-  
+
   this->table = new OrxGui::GLGuiTable(0,0);
 
@@ -647,5 +647,5 @@
       statsBox = NULL;
     }
-      
+
     EventHandler::getInstance()->popState();
 }
@@ -666,17 +666,17 @@
   headers.push_back("");
   this->table->setHeader(headers);
-  
+
   std::map<int,std::string> fragsTeam0;
   std::map<int,std::string> fragsTeam1;
-  
+
   const std::list<BaseObject*> * list = ClassList::getList( CL_PLAYER_STATS );
-  
+
   if ( !list )
     return;
-  
+
   for ( std::list<BaseObject*>::const_iterator it = list->begin(); it != list->end(); it++ )
   {
     PlayerStats & stats = *dynamic_cast<PlayerStats*>(*it);
-    
+
     if ( stats.getTeamId() == 0 || stats.getTeamId() == 1 )
     {
@@ -687,9 +687,9 @@
     }
   }
-  
+
   char st[10];
   int i = 0;
-  
-  
+
+
   i = 2;
   for ( std::map<int,std::string>::const_iterator it = fragsTeam0.begin(); it != fragsTeam0.end(); it++ )
@@ -701,5 +701,5 @@
     i++;
   }
-  
+
   i = 2;
   for ( std::map<int,std::string>::const_iterator it = fragsTeam1.begin(); it != fragsTeam1.end(); it++ )
@@ -714,6 +714,6 @@
 /**
  * this function is called when a player kills another one or himself
- * @param killedUserId 
- * @param userId 
+ * @param killedUserId
+ * @param userId
  */
 void MultiplayerTeamDeathmatch::onKill( int killedUserId, int userId )
@@ -721,13 +721,13 @@
   assert( PlayerStats::getStats( killedUserId ) );
   assert( PlayerStats::getStats( userId ) );
-  
+
   PlayerStats & killedStats = *PlayerStats::getStats( killedUserId );
   PlayerStats & stats = *PlayerStats::getStats( userId );
-  
+
   if ( killedUserId != userId )
     stats.setScore( stats.getScore() + 1 );
   else
     stats.setScore( stats.getScore() - 1 );
-  
+
   if ( killedUserId == SharedNetworkData::getInstance()->getHostID() )
   {
@@ -735,5 +735,5 @@
     this->showStats();
   }
-  
+
   this->respawnPlayable( killedStats.getPlayable(), killedStats.getTeamId(), 3.0f );
 }
@@ -741,5 +741,5 @@
 /**
  * this function is called on player respawn
- * @param userId 
+ * @param userId
  */
 void MultiplayerTeamDeathmatch::onRespawn( int userId )
@@ -754,5 +754,5 @@
 /**
  * this function is called on player respawn
- * @param we 
+ * @param we
  */
 void MultiplayerTeamDeathmatch::registerSpawn( WorldEntity * we )
@@ -761,20 +761,21 @@
 }
 
+
 void MultiplayerTeamDeathmatch::respawnPlayable( Playable * playable, int teamId, float delay )
 {
   const std::list<BaseObject*> * list = ClassList::getList( CL_SPAWNING_POINT );
-  
+
   assert( list );
-  
+
   std::vector<SpawningPoint*> spList;
-  
+
   for ( std::list<BaseObject*>::const_iterator it = list->begin(); it != list->end(); it++ )
   {
     SpawningPoint * sp = dynamic_cast<SpawningPoint*>(*it);
-    
+
     if ( sp->getTeamId() == teamId )
       spList.push_back( sp );
   }
-  
+
   if ( spList.size() == 0 )
   {
@@ -782,14 +783,14 @@
     {
       SpawningPoint * sp = dynamic_cast<SpawningPoint*>(*it);
-    
+
       if ( sp->getTeamId() < 0 )
         spList.push_back( sp );
     }
   }
-  
+
   assert( spList.size() != 0 );
- 
+
   int n = (int)((float)spList.size() * (float)rand()/(float)RAND_MAX);
-  
+
   spList[n]->pushEntity( playable, delay );
 }
Index: branches/multi_player_map/src/world_entities/playable.cc
===================================================================
--- branches/multi_player_map/src/world_entities/playable.cc	(revision 8833)
+++ branches/multi_player_map/src/world_entities/playable.cc	(revision 8838)
@@ -65,5 +65,5 @@
 
   this->bDead = false;
-  
+
   this->subscribeReaction(CREngine::CR_PHYSICS_GROUND_WALK, CL_BSP_ENTITY);
 
Index: branches/multi_player_map/src/world_entities/space_ships/space_ship.cc
===================================================================
--- branches/multi_player_map/src/world_entities/space_ships/space_ship.cc	(revision 8833)
+++ branches/multi_player_map/src/world_entities/space_ships/space_ship.cc	(revision 8838)
@@ -220,5 +220,5 @@
   this->burstSystem->setColor(0.5, .5,.5,.8,.8);
   this->burstSystem->setColor(1.0, .8,.8,.8,.0);
-  
+
   registerVar( new SynchronizeableVector( &velocity, &velocity, "velocity" ) );
   registerVar( new SynchronizeableQuaternion( &mouseDir, &mouseDir, "mousedir", PERMISSION_OWNER ) );
@@ -511,8 +511,11 @@
 void SpaceShip::respawn( )
 {
-  toList( OM_PLAYERS );
-}
-
-
-
-
+  if( this->uniqueID %2)
+  toList( OM_GROUP_00 );
+  else
+    toList(OM_GROUP_01);
+}
+
+
+
+
Index: branches/multi_player_map/src/world_entities/world_entity.cc
===================================================================
--- branches/multi_player_map/src/world_entities/world_entity.cc	(revision 8833)
+++ branches/multi_player_map/src/world_entities/world_entity.cc	(revision 8838)
@@ -412,4 +412,5 @@
 bool WorldEntity::registerCollision(WorldEntity* entityA, WorldEntity* entityB, BoundingVolume* bvA, BoundingVolume* bvB)
 {
+  PRINTF(0)("registering collision\n\n\n\n");
   // is there any handler listening?
   if( !this->bReactive)
@@ -833,5 +834,5 @@
     loadModel( modelFileName, scaling );
   }
-  
+
   if ( std::find( id.begin(), id.end(), list_handle ) != id.end() )
   {
