Index: /orxonox/trunk/src/lib/graphics/particles/particle_system.cc
===================================================================
--- /orxonox/trunk/src/lib/graphics/particles/particle_system.cc	(revision 4396)
+++ /orxonox/trunk/src/lib/graphics/particles/particle_system.cc	(revision 4397)
@@ -40,5 +40,5 @@
    \todo this constructor is not jet implemented - do it
 */
-ParticleSystem::ParticleSystem (unsigned int maxCount, PARTICLE_TYPE type)
+ParticleSystem::ParticleSystem (unsigned int maxCount, PARTICLE_TYPE type) : PhysicsInterface(this)
 {
   this->setClassID(CL_PARTICLE_SYSTEM, "ParticleSystem");
Index: /orxonox/trunk/src/lib/physics/physics_interface.cc
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_interface.cc	(revision 4396)
+++ /orxonox/trunk/src/lib/physics/physics_interface.cc	(revision 4397)
@@ -36,6 +36,8 @@
    \brief standard constructor
 */
-PhysicsInterface::PhysicsInterface () 
+PhysicsInterface::PhysicsInterface (void* objectPointer) 
 {
+  this->objectPointer = objectPointer;
+
   //   this->setClassName ("PhysicsInterface");
    this->mass = 1;
@@ -90,13 +92,14 @@
 void PhysicsInterface::applyField(Field* field)
 {
-  this->forceSum += field->calcForce(dynamic_cast<PNode*>(this)->getAbsCoor());
+  PNode* tmp = (PNode*) objectPointer;
+  this->forceSum += field->calcForce(tmp->getAbsCoor());  
 }
 
 void PhysicsInterface::tickPhys( float dt )
 {
-  Vector acc = this->forceSum / ( this->massChildren + this->mass );
-  PNode* coorTick =  (PNode*) this;
-  coorTick->setRelCoor(coorTick->getRelCoor() + (this->forceSum / this->mass * dt));
-
+  //  Vector acc = this->forceSum / ( this->massChildren + this->mass );
+  PNode* coorTick =  (PNode*)(this->objectPointer);
+  if (coorTick)
+    coorTick->setRelCoor(coorTick->getRelCoor() + this->forceSum/this->mass * dt);
   this->forceSum = Vector(0,0,0);
   // todo: introduce kinematics
Index: /orxonox/trunk/src/lib/physics/physics_interface.h
===================================================================
--- /orxonox/trunk/src/lib/physics/physics_interface.h	(revision 4396)
+++ /orxonox/trunk/src/lib/physics/physics_interface.h	(revision 4397)
@@ -9,4 +9,8 @@
 #include "vector.h"
 #include "base_object.h"
+
+#ifndef NULL
+#define NULL 0
+#endif
 
 // Forward Declaration
@@ -26,5 +30,5 @@
 
  public:
-  PhysicsInterface();
+  PhysicsInterface(void* objectPointer);
   virtual ~PhysicsInterface();
   /** \param mass the mass to set for this node. */
@@ -43,4 +47,5 @@
   
  private:
+  void* objectPointer;
   float mass;			//!< Mass of this object
   float massChildren;		//!< Sum of the masses of the children nodes
Index: /orxonox/trunk/src/story_entities/world.cc
===================================================================
--- /orxonox/trunk/src/story_entities/world.cc	(revision 4396)
+++ /orxonox/trunk/src/story_entities/world.cc	(revision 4397)
@@ -477,5 +477,5 @@
 
   Field* gravity = new Gravity();
-  gravity->setMagnitude(1000);
+  gravity->setMagnitude(10.0);
   //  gravity->setParent(this->localCamera->getTarget());
   
@@ -484,13 +484,15 @@
 
   new PhysicsConnection(system, gravity);
-    new PhysicsConnection(this->localPlayer, gravity);
-  
-
-  WorldEntity* testEntity = new TestEntity();
-  //testEntity->setRelCoor(Vector(570, 10, -15));
-  testEntity->setRelCoor(Vector(25, -10, -20));
+  //    new PhysicsConnection(this->localPlayer, gravity);
+  
+
+  TestEntity* testEntity = new TestEntity();
+  testEntity->setRelCoor(Vector(570, 10, -15));
+  //testEntity->setRelCoor(Vector(25, -10, -20));
   testEntity->setRelDir(Quaternion(M_PI, Vector(0, 1, 0)));
   this->spawn(testEntity);
-  this->localPlayer->addChild(testEntity);
+  //  this->localPlayer->addChild(testEntity);
+
+  new PhysicsConnection(testEntity, gravity);
 }
 
@@ -585,6 +587,11 @@
 	this->localPlayer->setName ("player");
 	this->spawn (this->localPlayer);
+	this->localPlayer->setRelCoor(Vector(5,0,0));
 	/*monitor progress*/
 	this->glmis->step();
+
+	Field* testField = new Gravity();
+	testField->setMagnitude(10);
+	new PhysicsConnection(this->localPlayer, testField);
 
 	// bind camera
@@ -1010,5 +1017,4 @@
       this->localCamera->tick(this->dt);
       AnimationPlayer::getInstance()->tick(this->dtS);
-
       PhysicsEngine::getInstance()->tick(this->dtS);
 
Index: /orxonox/trunk/src/world_entities/player.cc
===================================================================
--- /orxonox/trunk/src/world_entities/player.cc	(revision 4396)
+++ /orxonox/trunk/src/world_entities/player.cc	(revision 4397)
@@ -39,5 +39,5 @@
    \param isFree if the player is free
 */
-Player::Player() : WorldEntity()
+Player::Player() : WorldEntity(), PhysicsInterface(this)
 {
   /*
@@ -46,4 +46,5 @@
      the player.cc for debug also
   */
+  this->setClassName("Player");
   this->model = (Model*)ResourceManager::getInstance()->load("models/reaplow.obj", OBJ, RP_CAMPAIGN);
   travelSpeed = 15.0;
@@ -82,6 +83,7 @@
    \todo add more parameters to load
 */
-Player::Player(const TiXmlElement* root) : WorldEntity(root)
-{
+Player::Player(const TiXmlElement* root) : WorldEntity(root), PhysicsInterface(this)
+{
+  this->setClassName("Player");
   this->weapons = new tList<Weapon>();
   this->activeWeapon = NULL;
@@ -196,4 +198,7 @@
 void Player::tick (float time)
 {
+  printf("%p\n", this);
+  this->getRelCoor().debug();
+  
   /* link tick to weapon */
   //this->activeWeapon->tick(time);
Index: /orxonox/trunk/src/world_entities/test_entity.cc
===================================================================
--- /orxonox/trunk/src/world_entities/test_entity.cc	(revision 4396)
+++ /orxonox/trunk/src/world_entities/test_entity.cc	(revision 4397)
@@ -26,5 +26,5 @@
 
 
-TestEntity::TestEntity () : WorldEntity()
+TestEntity::TestEntity () : WorldEntity(), PhysicsInterface(this)
 {  
   this->setClassID(CL_TEST_ENTITY, "TestEntity");
Index: /orxonox/trunk/src/world_entities/test_entity.h
===================================================================
--- /orxonox/trunk/src/world_entities/test_entity.h	(revision 4396)
+++ /orxonox/trunk/src/world_entities/test_entity.h	(revision 4397)
@@ -3,4 +3,5 @@
 
 #include "world_entity.h"
+#include "physics_interface.h"
 
 class MD2Loader;
@@ -10,5 +11,5 @@
 class Material;
 
-class TestEntity : public WorldEntity 
+class TestEntity : public WorldEntity, PhysicsInterface
 {
   friend class World;
