Index: code/trunk/src/orxonox/OrxonoxPlatform.h
===================================================================
--- code/trunk/src/orxonox/OrxonoxPlatform.h	(revision 1349)
+++ code/trunk/src/orxonox/OrxonoxPlatform.h	(revision 1360)
@@ -196,4 +196,5 @@
 //typedef unsigned short uint16;
 //typedef unsigned char uint8;
+// proper approach
 
 #ifdef ORXONOX_DOUBLE_PRECISION
Index: code/trunk/src/orxonox/objects/Projectile.cc
===================================================================
--- code/trunk/src/orxonox/objects/Projectile.cc	(revision 1349)
+++ code/trunk/src/orxonox/objects/Projectile.cc	(revision 1360)
@@ -63,4 +63,6 @@
 
         this->destroyTimer_.setTimer(this->lifetime_, false, this, createExecutor(createFunctor(&Projectile::destroyObject)));
+        this->classID = this->getIdentifier()->getNetworkID(); // TODO: remove this hack
+//        COUT(3) << this->classID << std::endl;
     }
 
Index: code/trunk/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1349)
+++ code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1360)
@@ -62,4 +62,13 @@
     SpaceShip* SpaceShip::instance_s;
 
+    SpaceShip *SpaceShip::getLocalShip(){
+      Iterator<SpaceShip> it;
+      for(it = ObjectList<SpaceShip>::start(); it; ++it){
+        if((it)->server_ || ( network::Client::getSingleton() && network::Client::getSingleton()->getShipID()==it->objectID ) )
+          return *it;
+      }
+      return NULL;
+    }
+    
     SpaceShip::SpaceShip() :
       //testvector_(0,0,0),
@@ -145,12 +154,13 @@
     void SpaceShip::init()
     {
-    if ((server_ || ( network::Client::getSingleton() && network::Client::getSingleton()->getShipID()==objectID ) ))
-    {
-          if (!setMouseEventCallback_)
-          {
-              InputManager::addMouseHandler(this, "SpaceShip");
-              setMouseEventCallback_ = true;
-          }
-    }
+        if ((server_ || ( network::Client::getSingleton() && network::Client::getSingleton()->getShipID()==objectID ) ))
+        {
+              if (!setMouseEventCallback_)
+              {
+                  InputManager::addMouseHandler(this, "SpaceShip");
+                  //InputManager::enableMouseHandler("SpaceShip");
+                  setMouseEventCallback_ = true;
+              }
+        }
 
         // START CREATING THRUSTER
@@ -394,5 +404,7 @@
         if (this->bLMousePressed_ && this->timeToReload_ <= 0)
         {
+          
             Projectile *p = new Projectile(this);
+            
             p->setBacksync(true);
             this->timeToReload_ = this->reloadTime_;
Index: code/trunk/src/orxonox/objects/SpaceShip.h
===================================================================
--- code/trunk/src/orxonox/objects/SpaceShip.h	(revision 1349)
+++ code/trunk/src/orxonox/objects/SpaceShip.h	(revision 1360)
@@ -44,4 +44,7 @@
     {
         public:
+          
+            static SpaceShip *getLocalShip();
+            
             SpaceShip();
             ~SpaceShip();
Index: code/trunk/src/orxonox/objects/WorldEntity.cc
===================================================================
--- code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1349)
+++ code/trunk/src/orxonox/objects/WorldEntity.cc	(revision 1360)
@@ -138,12 +138,12 @@
       registerVar( (void*) &(this->getOrientation().z), sizeof(this->getOrientation().z), network::DATA, 0x3);
       // register velocity_
-//       registerVar( (void*) &(this->getVelocity().x), sizeof(this->getVelocity().x), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getVelocity().y), sizeof(this->getVelocity().y), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getVelocity().z), sizeof(this->getVelocity().z), network::DATA, 0x3);
-//       // register rotationAxis/rate
-//       registerVar( (void*) &(this->getRotationRate()), sizeof(this->getRotationRate()), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getRotationAxis().x), sizeof(this->getRotationAxis().x), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getRotationAxis().y), sizeof(this->getRotationAxis().y), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getRotationAxis().z), sizeof(this->getRotationAxis().z), network::DATA, 0x3);
+      registerVar( (void*) &(this->getVelocity().x), sizeof(this->getVelocity().x), network::DATA, 0x3);
+      registerVar( (void*) &(this->getVelocity().y), sizeof(this->getVelocity().y), network::DATA, 0x3);
+      registerVar( (void*) &(this->getVelocity().z), sizeof(this->getVelocity().z), network::DATA, 0x3);
+      // register rotationAxis/rate
+      registerVar( (void*) &(this->getRotationRate()), sizeof(this->getRotationRate()), network::DATA, 0x3);
+      registerVar( (void*) &(this->getRotationAxis().x), sizeof(this->getRotationAxis().x), network::DATA, 0x3);
+      registerVar( (void*) &(this->getRotationAxis().y), sizeof(this->getRotationAxis().y), network::DATA, 0x3);
+      registerVar( (void*) &(this->getRotationAxis().z), sizeof(this->getRotationAxis().z), network::DATA, 0x3);
       // register scale of node
       registerVar( (void*) &(this->getScale().x), sizeof(this->getScale().x), network::DATA, 0x3);
@@ -152,9 +152,9 @@
       //register staticity
       registerVar( (void*) &(this->bStatic_), sizeof(this->bStatic_), network::DATA, 0x3);
-      //register acceleration
-      // register velocity_
-//       registerVar( (void*) &(this->getAcceleration().x), sizeof(this->getAcceleration().x), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getAcceleration().y), sizeof(this->getAcceleration().y), network::DATA, 0x3);
-//       registerVar( (void*) &(this->getAcceleration().z), sizeof(this->getAcceleration().z), network::DATA, 0x3);
+      //register acceleration & momentum
+      registerVar( (void*) &(this->getAcceleration().x), sizeof(this->getAcceleration().x), network::DATA, 0x3);
+      registerVar( (void*) &(this->getAcceleration().y), sizeof(this->getAcceleration().y), network::DATA, 0x3);
+      registerVar( (void*) &(this->getAcceleration().z), sizeof(this->getAcceleration().z), network::DATA, 0x3);
+      registerVar( (void*) &(this->getMomentum()), sizeof(this->getMomentum()), network::DATA);
     }
 
