Index: /branches/coll_rect.merge/src/lib/collision_detection/obb_tree_node.cc
===================================================================
--- /branches/coll_rect.merge/src/lib/collision_detection/obb_tree_node.cc	(revision 10010)
+++ /branches/coll_rect.merge/src/lib/collision_detection/obb_tree_node.cc	(revision 10011)
@@ -479,6 +479,7 @@
     return;
 
-  if( !CoRe::CollisionTube::getInstance()->isReactive( *nodeA, *nodeB) )
-    return;
+#warning this should be done
+//   if( !CoRe::CollisionTube::getInstance()->isReactive( *nodeA, *nodeB) )
+//     return;
 
 //   float distanceMax = this->bvElement->radius + ((OBBTreeNode*)treeNode)->bvElement->radius;
@@ -571,5 +572,5 @@
         (treeNode->nodeRight == NULL && treeNode->nodeLeft == NULL)) )
     {
-      PRINTF(0)("----------------------------------------------\n\n\n\n\n\n--------------------------------\n\n\n");
+      //PRINTF(0)("----------------------------------------------\n\n\n\n\n\n--------------------------------\n\n\n");
       CoRe::CollisionTube::getInstance()->registerCollisionEvent( nodeA, nodeB, (BoundingVolume*)this->bvElement, (BoundingVolume*)treeNode->bvElement);
     }
Index: /branches/coll_rect.merge/src/lib/collision_reaction/collision.h
===================================================================
--- /branches/coll_rect.merge/src/lib/collision_reaction/collision.h	(revision 10010)
+++ /branches/coll_rect.merge/src/lib/collision_reaction/collision.h	(revision 10011)
@@ -81,5 +81,5 @@
     inline bool isEntityBCollide() const { return this->_entityBCollide; }
     /** sets the flag if it reacts @param flag true if it should react on entityB*/
-    inline void setEntityBCollide(bool flag) { this->_entityACollide = flag; }
+    inline void setEntityBCollide(bool flag) { this->_entityBCollide = flag; }
 
 
Index: /branches/coll_rect.merge/src/lib/collision_reaction/cr_engine.cc
===================================================================
--- /branches/coll_rect.merge/src/lib/collision_reaction/cr_engine.cc	(revision 10010)
+++ /branches/coll_rect.merge/src/lib/collision_reaction/cr_engine.cc	(revision 10011)
@@ -164,14 +164,19 @@
           continue;
 
-        assert((*ci)->getEntityA() != NULL && (*ci)->getEntityB() != NULL);
-
 //         PRINTF(0)("CR CHECK: collision between: %s, %s\n", (*ci)->getEntityA()->getClassName().c_str(), (*ci)->getEntityB()->getClassName().c_str());
 
         // check if entity A or B is subscibed for this event
-        if( (*ci)->getEntityA()->isReactive(*(*ci)->getEntityB(), (CREngine::ReactionType)i) ||
-            (*ci)->getEntityB()->isReactive(*(*ci)->getEntityA(), (CREngine::ReactionType)i))
+        bool aReact = (*ci)->getEntityA()->isReactive(*(*ci)->getEntityB(), (CREngine::ReactionType)i);
+        bool bReact = (*ci)->getEntityB()->isReactive(*(*ci)->getEntityA(), (CREngine::ReactionType)i);
+
+        // store this information
+        (*ci)->setEntityACollide(aReact);
+        (*ci)->setEntityBCollide(bReact);
+
+        // and execute the reaction
+        if(  aReact || bReact)
         {
           this->_reactionList[i]->reactToCollision(*ci);
-          PRINTF(0)("executing reaction: %s, between %s - %s\n", this->_reactionList[i]->getClassName().c_str(), (*ci)->getEntityA()->getClassName().c_str(), (*ci)->getEntityB()->getClassName().c_str());
+          //PRINTF(0)("executing reaction: %s, between %s - %s\n", this->_reactionList[i]->getClassName().c_str(), (*ci)->getEntityA()->getClassName().c_str(), (*ci)->getEntityB()->getClassName().c_str());
         }
       }
Index: /branches/coll_rect.merge/src/lib/collision_reaction/cr_object_damage.cc
===================================================================
--- /branches/coll_rect.merge/src/lib/collision_reaction/cr_object_damage.cc	(revision 10010)
+++ /branches/coll_rect.merge/src/lib/collision_reaction/cr_object_damage.cc	(revision 10011)
@@ -55,5 +55,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()->getClassCName(),
               collision->getEntityB()->getClassCName());
@@ -64,5 +64,5 @@
       damage = collision->getEntityB()->getDamage();
       collision->getEntityA()->hit(damage, collision->getEntityB());
-      PRINTF(4)("Dealing damage - %f damage to %s \n", damage, collision->getEntityA()->getClassCName());
+      PRINTF(0)("Dealing damage - %f damage to %s \n", damage, collision->getEntityA()->getClassCName());
     }
 
@@ -71,5 +71,5 @@
       damage = collision->getEntityA()->getDamage();
       collision->getEntityB()->hit(damage, collision->getEntityA());
-      PRINTF(4)("Dealing damage - %f damage to %s \n", damage, collision->getEntityB()->getClassCName());
+      PRINTF(0)("Dealing damage - %f damage to %s \n", damage, collision->getEntityB()->getClassCName());
     }
 
