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 8923)
+++ /branches/single_player_map/src/lib/collision_reaction/cr_physics_ground_walk.cc	(revision 8924)
@@ -74,54 +74,66 @@
 
   float height;
-
-
-   const std::vector<CollisionEvent*>* collisionEvents = &(collision->getCollisionEvents());
-   std::vector<CollisionEvent*>::const_iterator it = collisionEvents->begin();
-   for(; it != collisionEvents->end(); it++)
-   {
-
-     CollisionEvent* ce = (*it);
-     Vector normal = ce->getGroundNormal();
-
-     // collision position maths
-     Vector collPos =  collision->getEntityB()->getAbsCoor()  + box->center - ce->getCollisionPosition();
-
-
-     // test the 3 axis differently
-     switch( ce->getType())
-     {
-       // collision in the x-axis
-       case COLLISION_TYPE_AXIS_X:
-         PRINTF(0)("AXIS X\n");
-         break;
-
-
-       // collision in the y-axis
-       case COLLISION_TYPE_AXIS_Y:
-         // calulate the height above ground
-         height = collPos.y - box->halfLength[1];
-
-         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;
-
-
-       // collision in the z-axis
-       case COLLISION_TYPE_AXIS_Z:
-         PRINTF(0)("AXIS Y\n");
-         break;
-     }
-   }
+  float front;
+
+
+  const std::vector<CollisionEvent*>* collisionEvents = &(collision->getCollisionEvents());
+  std::vector<CollisionEvent*>::const_iterator it = collisionEvents->begin();
+  for(; it != collisionEvents->end(); it++)
+  {
+
+    CollisionEvent* ce = (*it);
+    Vector normal = ce->getGroundNormal();
+
+    // collision position maths
+    Vector collPos =  collision->getEntityB()->getAbsCoor()  + box->center - ce->getCollisionPosition();
+
+
+    // test the 3 axis differently
+    switch( ce->getType())
+    {
+        // collision in the x-axis
+      case COLLISION_TYPE_AXIS_X:
+        front = collPos.x - box->halfLength[0];
+
+        PRINTF(0)("front: %f\n", front);
+        PRINTF(0)("in wall %i\n", ce->isInWall());
+
+        // object is beneath the plane (ground)
+        if( front <= 0.0f )
+        {
+//           entity->shiftCoor(Vector(front, 0.0f, 0.0f));
+        }
+        // object is already in the wall
+        else if( ce->isInWall())
+        {
+//           entity->setAbsCoor(entity->getLastAbsCoor());
+        }
+        break;
+
+
+        // collision in the y-axis
+      case COLLISION_TYPE_AXIS_Y:
+        // calulate the height above ground
+        height = collPos.y - box->halfLength[1];
+
+
+        // object is beneath the plane (ground)
+        if( height <= 0.0f )
+        {
+          entity->shiftCoor(Vector(0.0f, -height, 0.0f));
+        }
+        // object is already in the wall
+        else if( ce->isInWall())
+        {
+          entity->setAbsCoor(entity->getLastAbsCoor());
+        }
+        break;
+
+
+        // collision in the z-axis
+      case COLLISION_TYPE_AXIS_Z:
+        break;
+    }
+  }
 
 
@@ -212,6 +224,5 @@
  */
 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 8923)
+++ /branches/single_player_map/src/lib/graphics/importer/bsp_manager.cc	(revision 8924)
@@ -987,8 +987,8 @@
   if( box != NULL) {
     position = worldEntity->getAbsCoor() +  box->center + box->axis[1] * box->halfLength[1];
-    dest     = worldEntity->getAbsCoor() +  box->center - box->axis[1] * box->halfLength[1] * 40.0;
+    dest     = worldEntity->getAbsCoor() +  box->center - box->axis[1] * box->halfLength[1]  * 40.0f;
 
     position1 = worldEntity->getAbsCoor() +  box->center + box->axis[0] * box->halfLength[0] * 2.0f;
-    dest1     = worldEntity->getAbsCoor() +  box->center - box->axis[0] * box->halfLength[0] *2.0f;
+    dest1     = worldEntity->getAbsCoor() +  box->center - box->axis[0] * box->halfLength[0] * 2.0f;
 
 
Index: /branches/single_player_map/src/lib/graphics/importer/bsp_manager.h
===================================================================
--- /branches/single_player_map/src/lib/graphics/importer/bsp_manager.h	(revision 8923)
+++ /branches/single_player_map/src/lib/graphics/importer/bsp_manager.h	(revision 8924)
@@ -28,4 +28,8 @@
 
 
+#define BSP_X_OFFSET 10.0f
+#define BSP_Y_OFFSET 40.0f
+#define BSP_Z_OFFSET 10.0f
+
 
 // FORWARD DECLARATIONS
@@ -56,9 +60,9 @@
 
   BspManager(const char* fileName, float scale = 0.4f);
-  
+
   // Deconstructor
   ~BspManager();
-  
- 
+
+
 
   // Functions
@@ -106,5 +110,5 @@
   Vector inputStart;
   Vector inputEnd;
-  
+
   Vector traceMins; //!< Mins of current bbox
   Vector traceMaxs; //!< Maxs of current bbox
@@ -122,5 +126,5 @@
   Vector out1; //!< For debugging only
   Vector out2; //!< For debugging only
-                        
+
   int tgl;
 };
