Index: orxonox/trunk/src/story_entities/world.cc
===================================================================
--- orxonox/trunk/src/story_entities/world.cc	(revision 3988)
+++ orxonox/trunk/src/story_entities/world.cc	(revision 3993)
@@ -201,4 +201,9 @@
   wi->init(this);
   this->garbageCollector = GarbageCollector::getInstance();
+  this->trackManager = TrackManager::getInstance();
+  this->lightMan = LightManager::getInstance();
+  this->nullParent = NullParent::getInstance ();
+  this->nullParent->setName ("NullParent");
+
 }
 
@@ -215,5 +220,5 @@
       this->glmis->step();
       // initializing the TrackManager
-      trackManager = TrackManager::getInstance();
+
       //trackManager->addPoint(Vector(0,0,0));
       trackManager->addPoint(Vector(150, -35, 5));
@@ -277,5 +282,5 @@
 
       // LIGHT initialisation
-      lightMan = LightManager::getInstance();
+
       lightMan->setAmbientColor(.1,.1,.1);
       lightMan->addLight();
@@ -298,6 +303,4 @@
 	  {
 	    lightMan->setPosition(-5.0, 10.0, -40.0);
-	    this->nullParent = NullParent::getInstance ();
-	    this->nullParent->setName ("NullParent");
 
 	    // !\todo old track-system has to be removed
Index: orxonox/trunk/src/util/animation/animation3d.cc
===================================================================
--- orxonox/trunk/src/util/animation/animation3d.cc	(revision 3988)
+++ orxonox/trunk/src/util/animation/animation3d.cc	(revision 3993)
@@ -178,29 +178,33 @@
     case ANIM_LINEAR:
       this->animFuncMov = &Animation3D::mLinear;
-      //this->object->setRelCoor(this->currentKeyFrame->position);
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->currentKeyFrame->lastPosition = Vector();
       break;
     case ANIM_SINE:
       this->animFuncMov = &Animation3D::mSine;
-      //this->object->setRelCoor(this->currentKeyFrame->position);
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->currentKeyFrame->lastPosition = Vector();
       break;
     case ANIM_COSINE:
       this->animFuncMov = &Animation3D::mCosine;
-      //this->object->setRelCoor(this->currentKeyFrame->position);
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->currentKeyFrame->lastPosition = Vector();
       break;
     case ANIM_EXP:
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->animFuncMov = &Animation3D::mExp;
       break;
     case ANIM_NEG_EXP:
       this->animFuncMov = &Animation3D::mNegExp;
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->expFactorMov = -1.0 / this->currentKeyFrame->duration * logf(DELTA_X_3D);
       this->currentKeyFrame->lastPosition = Vector();
       break;
     case ANIM_QUADRATIC:
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->animFuncMov = &Animation3D::mQuadratic;
       break;
     case ANIM_RANDOM:
+      this->object->setRelCoor(this->currentKeyFrame->position);
       this->animFuncMov = &Animation3D::mRandom;
       break;
@@ -353,5 +357,4 @@
     case ANIM_CONSTANT:
       this->animFuncRot = &Animation3D::rConstant;
-      printf("a;sdlfkja;lskdjf;alskjdf;lasjdf;lasjdf;lasjdf;lajsdf\n");
       break;
     case ANIM_LINEAR:
Index: orxonox/trunk/src/world_entities/test_gun.cc
===================================================================
--- orxonox/trunk/src/world_entities/test_gun.cc	(revision 3988)
+++ orxonox/trunk/src/world_entities/test_gun.cc	(revision 3993)
@@ -49,10 +49,12 @@
   this->objectComponent1 = new PNode();
   this->animation1 = new Animation3D(this->objectComponent1);
-  //this->animation2 = new Animation3D(this);
+  this->animation2 = new Animation3D(this);
+  this->animation3 = new Animation3D(this);
   //parent->addChild(this->objectComponent1, PNODE_ALL);
   this->addChild(this->objectComponent1, PNODE_ALL);
 
   this->animation1->setInfinity(ANIM_INF_CONSTANT);
-  //this->animation2->setInfinity(ANIM_INF_CONSTANT);
+  this->animation2->setInfinity(ANIM_INF_CONSTANT);
+  this->animation3->setInfinity(ANIM_INF_CONSTANT);
   if( this->leftRight == W_LEFT)
     {
@@ -67,8 +69,9 @@
       this->animation1->addKeyFrame(Vector(0, 0, 0), Quaternion(), 0.0, ANIM_LINEAR, ANIM_CONSTANT);
 
-
-      //this->animation2->addKeyFrame(Vector(0, 0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_LINEAR); 
-      //this->animation2->addKeyFrame(Vector(0, 0, 2.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_LINEAR);
-      //this->animation2->addKeyFrame(Vector(0, 0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_LINEAR);
+      this->animation2->addKeyFrame(Vector(-2.6, 0.1, 2.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT); 
+      this->animation2->addKeyFrame(Vector(-2.6, 0.1, 3.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT);
+
+      this->animation3->addKeyFrame(Vector(-2.6, 0.1, 3.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT);
+      this->animation3->addKeyFrame(Vector(-2.6, 0.1, 2.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT); 
     }
   else if( this->leftRight == W_RIGHT)
@@ -86,4 +89,9 @@
 
 
+      this->animation2->addKeyFrame(Vector(-2.6, 0.1, -2.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT); 
+      this->animation2->addKeyFrame(Vector(-2.6, 0.1, -3.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT);
+
+      this->animation3->addKeyFrame(Vector(-2.6, 0.1, -3.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT);
+      this->animation3->addKeyFrame(Vector(-2.6, 0.1, -2.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_CONSTANT); 
       //this->animation2->addKeyFrame(Vector(0, 0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_LINEAR); 
       //this->animation2->addKeyFrame(Vector(0, 0, 2.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_LINEAR);
@@ -112,6 +120,8 @@
 void TestGun::activate()
 {
-  printf("ACTIVATE \n");
-  //this->animation2->replay();
+  if( this->leftRight == W_RIGHT) printf("ACTIVATE right weapon\n");
+  else printf("ACTIVATE left weapon\n");
+  
+  this->animation2->replay();
 }
 
@@ -127,4 +137,5 @@
 {
   printf("DEACTIVATE\n");
+  this->animation3->replay();
 }
 
@@ -200,6 +211,5 @@
   //this->getRelCoor().debug();
   //this->getAbsCoor().debug();
-
-  this->objectComponent1->getRelCoor().debug();
+  //this->objectComponent1->getRelCoor().debug();
   //this->objectComponent1->getAbsCoor().debug();
 
Index: orxonox/trunk/src/world_entities/weapon.cc
===================================================================
--- orxonox/trunk/src/world_entities/weapon.cc	(revision 3988)
+++ orxonox/trunk/src/world_entities/weapon.cc	(revision 3993)
@@ -110,5 +110,5 @@
 void WeaponManager::nextWeaponConf() 
 {
-  PRINTF(4)("Changing weapon configuration: from %i\n", this->currConfID);
+  PRINTF(4)("Changing weapon configuration: from %i to next\n", this->currConfID);
 
   Weapon* w;
