Index: /branches/bsp_model/src/lib/collision_reaction/collision_event.h
===================================================================
--- /branches/bsp_model/src/lib/collision_reaction/collision_event.h	(revision 8215)
+++ /branches/bsp_model/src/lib/collision_reaction/collision_event.h	(revision 8216)
@@ -25,6 +25,6 @@
   { this->entityA = entityA; this->entityB = entityB; this->bvA = bvA; this->bvB = bvB; }
   /** collides two WorldEntities @param entity world entity , @param ground ground plane, @param position position on the ground */
-  inline void collide(WorldEntity* entity, Plane* ground, Vector position)
-  { this->entityA = entity; this->ground = ground; this->position = position; }
+  inline void collide(WorldEntity* entity, Vector normal, Vector position)
+  { this->entityA = entity; this->groundNormal = normal; this->position = position; }
 
 
@@ -39,10 +39,5 @@
 
   /** @return ground plane if collided with bsp model */
-  inline Plane* getGroundPlane() { return this->ground; }
-
-
-
-  inline void operator()(WorldEntity* entityA, WorldEntity* entityB, BoundingVolume* bvA, BoundingVolume* bvB) { this->collide(entityA, entityB, bvA, bvB); }
-  inline void operator()(WorldEntity* entity, Plane* ground, Vector position) { this->collide(entity, ground, position); }
+  inline Vector getGroundNormal() { return this->groundNormal; }
 
 
@@ -54,5 +49,5 @@
   BoundingVolume*   bvB;                           //!< reference to the bounding volume B
 
-  Plane*            ground;                        //!< the ground plane with which it collides (only for bsp-model collisions
+  Vector            groundNormal;                  //!< the ground plane with which it collides (only for bsp-model collisions
   Vector            position;                      //!< position of the collision on the ground plane
 };
Index: /branches/bsp_model/src/lib/collision_reaction/cr_object_damage.cc
===================================================================
--- /branches/bsp_model/src/lib/collision_reaction/cr_object_damage.cc	(revision 8215)
+++ /branches/bsp_model/src/lib/collision_reaction/cr_object_damage.cc	(revision 8216)
@@ -52,5 +52,5 @@
 void CRObjectDamage::reactToCollision(Collision* collision)
 {
-  float damage;
+  float damage = 0.0f;
 
   PRINTF(0)("Dealing damage - Handling collision: %s vs %s\n",
Index: /branches/bsp_model/src/lib/graphics/importer/bsp_manager.cc
===================================================================
--- /branches/bsp_model/src/lib/graphics/importer/bsp_manager.cc	(revision 8215)
+++ /branches/bsp_model/src/lib/graphics/importer/bsp_manager.cc	(revision 8216)
@@ -874,10 +874,4 @@
 
 
-
-
-
-
-
-
   if(!worldEntity->isA(CL_PLAYABLE)) {
 
@@ -937,9 +931,8 @@
     // Return the normal here: Normal's stored in this->collPlane;
 
-    if(collision) worldEntity->collidesWithGround(out,out1,out2);
-//     registerCollision(WorldEntity* entity, Vector(this->collPlane.x, ), Vector position);
-
-  }
-
+    if(collision)
+      worldEntity->registerCollision(worldEntity, Vector(this->collPlane->x, this->collPlane->y, this->collPlane->z), out);
+//       worldEntity->collidesWithGround(out,out1,out2);
+  }
 }
 
Index: /branches/bsp_model/src/world_entities/world_entity.cc
===================================================================
--- /branches/bsp_model/src/world_entities/world_entity.cc	(revision 8215)
+++ /branches/bsp_model/src/world_entities/world_entity.cc	(revision 8216)
@@ -410,5 +410,5 @@
  *  @param position it collides on the plane
  */
-bool WorldEntity::registerCollision(WorldEntity* entity, Plane* plane, Vector position)
+bool WorldEntity::registerCollision(WorldEntity* entity, Vector normal, Vector position)
 {
   // is there any handler listening?
@@ -419,5 +419,5 @@
   CollisionEvent* c = CREngine::getInstance()->popCollisionEventObject();
   assert(c != NULL); // if this should fail: we got not enough precached CollisionEvents: alter value in cr_defs.h
-  c->collide(entity, plane, position);
+  c->collide(entity, normal, position);
 
   for( int i = 0; i < CREngine::CR_NUMBER; ++i)
@@ -504,5 +504,5 @@
   Vector u = Vector(0.0,-20.0,0.0);
 
-         
+
   if(!(this->getAbsCoor().x == ray_2.x && this->getAbsCoor().y == ray_2.y && this->getAbsCoor().z == ray_2.z) )
   {
@@ -521,6 +521,6 @@
 
   }
-   
-    
+
+
 }
 
Index: /branches/bsp_model/src/world_entities/world_entity.h
===================================================================
--- /branches/bsp_model/src/world_entities/world_entity.h	(revision 8215)
+++ /branches/bsp_model/src/world_entities/world_entity.h	(revision 8216)
@@ -29,5 +29,4 @@
 class CollisionHandle;
 class Collision;
-class Plane;
 
 
@@ -86,5 +85,5 @@
 
   bool registerCollision(WorldEntity* entityA, WorldEntity* entityB, BoundingVolume* bvA, BoundingVolume* bvB);
-  bool registerCollision(WorldEntity* entity, Plane* plane, Vector position);
+  bool registerCollision(WorldEntity* entity, Vector normal, Vector position);
   /** @return true if there is at least on collision reaction subscribed */
   inline bool isReactive() const { return this->bReactive; }
