Index: /orxonox/branches/md2_loader/src/Makefile.am
===================================================================
--- /orxonox/branches/md2_loader/src/Makefile.am	(revision 4159)
+++ /orxonox/branches/md2_loader/src/Makefile.am	(revision 4160)
@@ -33,5 +33,5 @@
 
 orxonox_DEPENDENCIES = libORXgui.a
-orxonox_LDADD = libORXgui.a
+orxonox_LDADD = libORXgui.a $(GTK2_LIBS) $(GTHREAD_LIBS) $(CURL_LIBS)
 orxonox_SOURCES= orxonox.cc \
 		 game_loader.cc \
@@ -179,5 +179,4 @@
 
 libORXgui_a_CPPFLAGS=$(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
-AM_LDFLAGS=$(GTK2_LIBS) $(GTHREAD_LIBS) $(CURL_LIBS)
 
 libORXgui_a_SOURCES = lib/gui/gui/gui.cc \
Index: /orxonox/branches/md2_loader/src/Makefile.in
===================================================================
--- /orxonox/branches/md2_loader/src/Makefile.in	(revision 4159)
+++ /orxonox/branches/md2_loader/src/Makefile.in	(revision 4160)
@@ -93,4 +93,5 @@
 	tinyxmlparser.$(OBJEXT) benchmark.$(OBJEXT)
 orxonox_OBJECTS = $(am_orxonox_OBJECTS)
+am__DEPENDENCIES_1 =
 DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)
 depcomp = $(SHELL) $(top_srcdir)/depcomp
@@ -279,5 +280,5 @@
 noinst_LIBRARIES = libORXgui.a
 orxonox_DEPENDENCIES = libORXgui.a
-orxonox_LDADD = libORXgui.a
+orxonox_LDADD = libORXgui.a $(GTK2_LIBS) $(GTHREAD_LIBS) $(CURL_LIBS)
 orxonox_SOURCES = orxonox.cc \
 		 game_loader.cc \
@@ -425,5 +426,4 @@
 
 libORXgui_a_CPPFLAGS = $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
-AM_LDFLAGS = $(GTK2_LIBS) $(GTHREAD_LIBS) $(CURL_LIBS)
 libORXgui_a_SOURCES = lib/gui/gui/gui.cc \
 			    lib/gui/gui/gui_gtk.cc \
Index: /orxonox/branches/md2_loader/src/lib/coord/p_node.cc
===================================================================
--- /orxonox/branches/md2_loader/src/lib/coord/p_node.cc	(revision 4159)
+++ /orxonox/branches/md2_loader/src/lib/coord/p_node.cc	(revision 4160)
@@ -99,5 +99,4 @@
   this->parent = parent; 
   this->objectName = NULL;
-  this->time = 1.0; /* set time to 1 to make divisions by zero impossible */
 }
 
@@ -281,22 +280,4 @@
 }
 
-
-
-/**
-   \brief this calculates the current movement speed of the node
-*/
-float PNode::getSpeed() const
-{
-  return (this->absCoordinate - this->lastAbsCoordinate).len() / this->time;
-}
-
-/**
-   \returns the Velocity of the PNode
-*/
-Vector PNode::getVelocity() const
-{
-  return (this->absCoordinate - this->lastAbsCoordinate) / this->time;
-}
-
 /**
    \brief adds a child and makes this node to a parent
@@ -424,5 +405,5 @@
 {
   this->lastAbsCoordinate = this->absCoordinate;
-  this->time = dt;
+
   PRINTF(4)("PNode::update - %s - (%f, %f, %f)\n", this->objectName, this->absCoordinate.x, this->absCoordinate.y, this->absCoordinate.z);
 
@@ -499,4 +480,5 @@
   delete iterator;
 
+  this->velocity = (this->absCoordinate - this->lastAbsCoordinate) / dt;
   this->timeStamp = timeStamp;
   this->bRelCoorChanged = false;
Index: /orxonox/branches/md2_loader/src/lib/coord/p_node.h
===================================================================
--- /orxonox/branches/md2_loader/src/lib/coord/p_node.h	(revision 4159)
+++ /orxonox/branches/md2_loader/src/lib/coord/p_node.h	(revision 4160)
@@ -69,6 +69,8 @@
   void shiftDir (const Quaternion& shift);
 
-  float getSpeed() const;
-  Vector getVelocity() const;
+  /** \returns the Speed of the Node */
+  inline float getSpeed() const {return this->velocity.len()/1000;} //! \FIX THIS SHOULD NOT BE /1000
+  /** \returns the Velocity of the Node */
+  inline const Vector& getVelocity() const {return this->velocity;}
 
   void addChild (PNode* pNode, int parentingMode = DEFAULT_MODE);
@@ -110,7 +112,6 @@
   void init(PNode* parent);
 
+  Vector velocity;          //!< Saves the velocity.
   Vector lastAbsCoordinate; //!< this is used for speedcalculation, it stores the last coordinate
-  Vector diffCoordinate;    //!< this is stored here for performance reasons, difference to the last vector
-  float time;                //!< time since last update
 };
 
Index: /orxonox/branches/md2_loader/src/story_entities/world.cc
===================================================================
--- /orxonox/branches/md2_loader/src/story_entities/world.cc	(revision 4159)
+++ /orxonox/branches/md2_loader/src/story_entities/world.cc	(revision 4160)
@@ -1121,6 +1121,6 @@
       
       /* function to let all entities tick (iterate through list) */
-      float seconds = this->dt / 1000.0;      
-      this->gameTime += seconds;
+      this->dtS = (float)this->dt / 1000.0;      
+      this->gameTime += this->dtS;
       //entity = entities->enumerate(); 
       tIterator<WorldEntity>* iterator = this->entities->getIterator();
@@ -1128,5 +1128,5 @@
       while( entity != NULL) 
 	{ 
-	  entity->tick (seconds);
+	  entity->tick (this->dtS);
 	  entity = iterator->nextElement();
 	}
@@ -1136,13 +1136,13 @@
       this->trackManager->tick(this->dt);
       this->localCamera->tick(this->dt);
-      this->garbageCollector->tick(seconds);
+      this->garbageCollector->tick(this->dtS);
 	  
-	  /* actualy the Graphics Engine should tick the world not the other way around...
-		 but since we like the things not too complicated we got it this way around
-		 until there is need or time to do it the other way around.
-		 \todo: GraphicsEngine ticks world: separation of processes and data...
-	  */
-      GraphicsEngine::getInstance()->tick(seconds);
-	  AnimationPlayer::getInstance()->tick(seconds);
+      /* actualy the Graphics Engine should tick the world not the other way around...
+	 but since we like the things not too complicated we got it this way around
+	 until there is need or time to do it the other way around.
+	 \todo: GraphicsEngine ticks world: separation of processes and data...
+      */
+      GraphicsEngine::getInstance()->tick(this->dtS);
+      AnimationPlayer::getInstance()->tick(this->dtS);
     }
   this->lastFrame = currentFrame;
@@ -1159,5 +1159,5 @@
 {
   this->garbageCollector->update();
-  this->nullParent->update (dt);
+  this->nullParent->update (this->dtS);
 }
 
Index: /orxonox/branches/md2_loader/src/story_entities/world.h
===================================================================
--- /orxonox/branches/md2_loader/src/story_entities/world.h	(revision 4159)
+++ /orxonox/branches/md2_loader/src/story_entities/world.h	(revision 4160)
@@ -95,4 +95,5 @@
   Uint32 lastFrame;                   //!< last time of frame
   Uint32 dt;                          //!< time needed to calculate this frame
+  float dtS;                          //!< The time needed for caluculations in seconds
   double gameTime;                    //!< this is where the game time is saved
   bool bQuitOrxonox;                  //!< quit this application
