Index: branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc
===================================================================
--- branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 8917)
+++ branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 8922)
@@ -63,11 +63,4 @@
   // normal.normalize();
 
-  // put it back
-    // PRINTF(0)("putting it back to lastPos: \n");
-     //this->lastPositions[0].debug();
-    //  PRINTF(0)("current pos:\n");
-     collision->getEntityB()->getAbsCoor().debug();
-     
-   
 
   float height;
@@ -80,6 +73,6 @@
     return;
   }
-  
-  
+
+
   // collision position maths
   Vector collPos =  collision->getEntityB()->getAbsCoor()  + box->center - ce->getCollisionPosition();
@@ -91,41 +84,39 @@
   //PRINTF(0)("height: %f          , model height: %f\n", height, box->halfLength[1]);
   // PRINTF(0)(" ground normal: %f, %f, %f\n", normal.x, normal.y, normal.z);
-  // 
+  //
 
   switch( ce->getType())
   {
-    
+
     case COLLISION_TYPE_AXIS_X:
-     // PRINTF(0)("height: %f          , model height: %f\n", height, box->halfLength[1]);
-     // PRINTF(0)(" ground normal: %f, %f, %f\n", normal.x, normal.y, normal.z);
-     // PRINTF(0)("COLLISION_TYPE_AXIS_X \n");
-      break;
-   case COLLISION_TYPE_AXIS_Y:
+
+      break;
+
+    case COLLISION_TYPE_AXIS_Y:
 
       height = collPos.y - box->halfLength[1];
-     // PRINTF(0)("height: %f          , model height: %f\n", height, box->halfLength[1]);
-     //  PRINTF(0)(" ground normal: %f, %f, %f\n", normal.x, normal.y, normal.z);
-     //  PRINTF(0)("COLLISION_TYPE_AXIS_Y \n");
-//       // object is beneath the plane (ground)
-//       if( height <= 0.0f )
-//       {
-//         entity->shiftCoor(Vector(0, -height, 0));
-//       }
-//       // object is already in the wall
-//       else if( ce->isInWall())
-//       {
-//         entity->setAbsCoor(entity->getLastAbsCoor());
-//       }
-//       break;
-     break;
-
-    
+
+      PRINTF(0)("height: %f\n", height);
+      PRINTF(0)("in wall %i\n", ce->isInWall());
+
+      // object is beneath the plane (ground)
+      if( height <= 0.0f )
+      {
+        entity->shiftCoor(Vector(0, -height, 0));
+      }
+      // object is already in the wall
+      else if( ce->isInWall())
+      {
+        entity->setAbsCoor(entity->getLastAbsCoor());
+      }
+      break;
+      break;
+
+
     case COLLISION_TYPE_AXIS_Z:
-    //  PRINTF(0)("height: %f          , model height: %f\n", height, box->halfLength[1]);
-    //  PRINTF(0)(" ground normal: %f, %f, %f\n", normal.x, normal.y, normal.z);
-    //  PRINTF(0)("COLLISION_TYPE_AXIS_Z \n");
-     break;
-
-    }
+
+      break;
+
+  }
 
 
@@ -143,17 +134,21 @@
 
 
-  if( box != NULL) {
-
-
-    if(ce->getCollisionPosition().x <= 0.9 && ce->getGroundNormal().len() <= 1.4f) {
+  if( box != NULL)
+  {
+
+
+    if(ce->getCollisionPosition().x <= 0.9 && ce->getGroundNormal().len() <= 1.4f)
+    {
       collision->getEntityB()->setAbsCoor(collision->getEntityB()->getLastAbsCoor());
       return;
     }
-    if(ce->getCollisionPosition().z <= 0.9 && ce->getGroundNormal().len() <= 1.4f) {
+    if(ce->getCollisionPosition().z <= 0.9 && ce->getGroundNormal().len() <= 1.4f)
+    {
       collision->getEntityB()->setAbsCoor(collision->getEntityB()->getLastAbsCoor());
       return;
     }
 
-    if(ce->getGroundNormal().len() <= 0.1f) {
+    if(ce->getGroundNormal().len() <= 0.1f)
+    {
       collision->getEntityB()->setAbsCoor(collision->getEntityB()->getLastAbsCoor());
       return;
@@ -161,5 +156,6 @@
 
 
-    if(ce->getGroundNormal().len() >= 1.4f) {
+    if(ce->getGroundNormal().len() >= 1.4f)
+    {
       downspeed++;
       collision->getEntityB()->setAbsCoor(collision->getEntityB()->getAbsCoor() + Vector(0.0,-0.08*downspeed,0.0));
@@ -181,5 +177,6 @@
 
     }
-    else {
+    else
+    {
       if(height.y <  box->halfLength[1] + 0.0f   /* && height.y  >  - 55.0f*/) // below ground
       {
@@ -212,5 +209,4 @@
 void CRPhysicsGroundWalk::update(WorldEntity* owner)
 {
-
 }
 
Index: branches/single_player_map/src/lib/graphics/importer/bsp_manager.cc
===================================================================
--- branches/single_player_map/src/lib/graphics/importer/bsp_manager.cc	(revision 8917)
+++ branches/single_player_map/src/lib/graphics/importer/bsp_manager.cc	(revision 8922)
@@ -1,19 +1,19 @@
 /*
    orxonox - the future of 3D-vertical-scrollers
- 
+
    Copyright (C) 2006 orx
- 
+
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2, or (at your option)
    any later version.
- 
+
    ### File Specific:
    main-programmer: bottac@ee.ethz.ch
- 
+
    Inspired by:
    Rendering Q3 Maps by Morgan McGuire                  http://graphics.cs.brown.edu/games/quake/quake3.html
    Unofficial Quake 3 Map Specs by Kekoa Proudfoot      http://graphics.stanford.edu/~kekoa/q3/
- 
+
    Collision detection adapted from:
    Quake 3 Collision Detection by Nathan Ostgard        http://www.devmaster.net/articles/quake3collision/
@@ -69,9 +69,9 @@
 BspManager::BspManager(const TiXmlElement* root)
 {
- 
- 
+
+
   if( root != NULL)
     this->loadParams(root);
- 
+
   CDEngine::getInstance()->setBSPModel(this);
 } */
@@ -111,5 +111,5 @@
   this->root  = this->bspFile->get_root();
   this->alreadyVisible = new bool [this->bspFile->numFaces];
- 
+
   CDEngine::getInstance()->setBSPModel(this);
 }
@@ -986,5 +986,5 @@
 
   if( box != NULL) {
-    position = worldEntity->getAbsCoor() +  box->center; // + box->axis[1] * box->halfLength[1];
+    position = worldEntity->getAbsCoor() +  box->center + box->axis[1] * box->halfLength[1];
     dest     = worldEntity->getAbsCoor() +  box->center - box->axis[1] * box->halfLength[1] * 40.0;
 
@@ -998,5 +998,5 @@
   } else {
     // Init positions and destinations to anything useful!
-   
+
   }
 
@@ -1049,5 +1049,5 @@
   bool xCollision = false;
   bool zCollision = false;
-  
+
 
     // 2nd Collision Detection
@@ -1070,5 +1070,5 @@
     //out.z = this->outputFraction;
 
-   
+
 
       // 3rd Collision Detection
@@ -1078,5 +1078,5 @@
       this->inputStart =  position2;
       this->inputEnd =   dest2;
-      
+
       this->checkCollisionRayN(this->root,0.0f,1.0f, &position2, &dest2 );
       //out.x = this->outputFraction;
@@ -1092,5 +1092,5 @@
         zCollision = true;
       }
-    
+
   //end if
   /*
@@ -1102,8 +1102,7 @@
 
   // Return the normal here: Normal's stored in this->collPlane;
-/*  if( collision) {
-    PRINTF(5)("We got a collision!! Are you sure: outputFraction = %f\n", this->outputFraction);
+  if( collision) {
     worldEntity->registerCollision(COLLISION_TYPE_AXIS_Y , this->parent, worldEntity, Vector(testPlane->x, testPlane->y, testPlane->z), out, SolidFlag);
-} */
+}
   if(xCollision) {
     worldEntity->registerCollision(COLLISION_TYPE_AXIS_X , this->parent, worldEntity, Vector(testPlane->x, testPlane->y, testPlane->z), out, SolidFlag);
