Index: /orxonox/trunk/src/Makefile.am
===================================================================
--- /orxonox/trunk/src/Makefile.am	(revision 4455)
+++ /orxonox/trunk/src/Makefile.am	(revision 4456)
@@ -25,4 +25,5 @@
 		 util/track/track_manager.cc \
 		 util/track/track_node.cc \
+		 util/track/pilot_node.cc \
 		 util/animation/animation.cc \
 		 util/animation/animation3d.cc \
@@ -60,5 +61,4 @@
 		 lib/coord/null_parent.cc \
 		 lib/coord/helper_parent.cc \
-		 lib/coord/pilot_node.cc \
 		 lib/graphics/graphics_engine.cc \
 		 lib/graphics/light.cc \
@@ -85,4 +85,5 @@
 		 util/track/track_manager.h \
 		 util/track/track_node.h \
+		 util/track/pilot_node.h \
 		 util/animation/animation.h \
 		 util/animation/t_animation.h \
@@ -132,5 +133,4 @@
 		 lib/coord/null_parent.h \
 		 lib/coord/helper_parent.h \
-		 lib/coord/pilot_node.h \
 		 lib/graphics/graphics_engine.h \
 		 lib/graphics/light.h \
Index: /orxonox/trunk/src/Makefile.in
===================================================================
--- /orxonox/trunk/src/Makefile.in	(revision 4455)
+++ /orxonox/trunk/src/Makefile.in	(revision 4456)
@@ -55,5 +55,5 @@
 am_orxonox_OBJECTS = orxonox.$(OBJEXT) game_loader.$(OBJEXT) \
 	track_manager.$(OBJEXT) track_node.$(OBJEXT) \
-	animation.$(OBJEXT) animation3d.$(OBJEXT) \
+	pilot_node.$(OBJEXT) animation.$(OBJEXT) animation3d.$(OBJEXT) \
 	animation_player.$(OBJEXT) event.$(OBJEXT) \
 	event_handler.$(OBJEXT) event_listener.$(OBJEXT) \
@@ -69,5 +69,5 @@
 	test_bullet.$(OBJEXT) test_entity.$(OBJEXT) p_node.$(OBJEXT) \
 	null_parent.$(OBJEXT) helper_parent.$(OBJEXT) \
-	pilot_node.$(OBJEXT) graphics_engine.$(OBJEXT) light.$(OBJEXT) \
+	graphics_engine.$(OBJEXT) light.$(OBJEXT) \
 	text_engine.$(OBJEXT) array.$(OBJEXT) objModel.$(OBJEXT) \
 	md2Model.$(OBJEXT) primitive_model.$(OBJEXT) model.$(OBJEXT) \
@@ -261,4 +261,5 @@
 		 util/track/track_manager.cc \
 		 util/track/track_node.cc \
+		 util/track/pilot_node.cc \
 		 util/animation/animation.cc \
 		 util/animation/animation3d.cc \
@@ -296,5 +297,4 @@
 		 lib/coord/null_parent.cc \
 		 lib/coord/helper_parent.cc \
-		 lib/coord/pilot_node.cc \
 		 lib/graphics/graphics_engine.cc \
 		 lib/graphics/light.cc \
@@ -321,4 +321,5 @@
 		 util/track/track_manager.h \
 		 util/track/track_node.h \
+		 util/track/pilot_node.h \
 		 util/animation/animation.h \
 		 util/animation/t_animation.h \
@@ -368,5 +369,4 @@
 		 lib/coord/null_parent.h \
 		 lib/coord/helper_parent.h \
-		 lib/coord/pilot_node.h \
 		 lib/graphics/graphics_engine.h \
 		 lib/graphics/light.h \
@@ -595,4 +595,20 @@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o track_node.obj `if test -f 'util/track/track_node.cc'; then $(CYGPATH_W) 'util/track/track_node.cc'; else $(CYGPATH_W) '$(srcdir)/util/track/track_node.cc'; fi`
 
+pilot_node.o: util/track/pilot_node.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pilot_node.o -MD -MP -MF "$(DEPDIR)/pilot_node.Tpo" -c -o pilot_node.o `test -f 'util/track/pilot_node.cc' || echo '$(srcdir)/'`util/track/pilot_node.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/pilot_node.Tpo" "$(DEPDIR)/pilot_node.Po"; else rm -f "$(DEPDIR)/pilot_node.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/track/pilot_node.cc' object='pilot_node.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/pilot_node.Po' tmpdepfile='$(DEPDIR)/pilot_node.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pilot_node.o `test -f 'util/track/pilot_node.cc' || echo '$(srcdir)/'`util/track/pilot_node.cc
+
+pilot_node.obj: util/track/pilot_node.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pilot_node.obj -MD -MP -MF "$(DEPDIR)/pilot_node.Tpo" -c -o pilot_node.obj `if test -f 'util/track/pilot_node.cc'; then $(CYGPATH_W) 'util/track/pilot_node.cc'; else $(CYGPATH_W) '$(srcdir)/util/track/pilot_node.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/pilot_node.Tpo" "$(DEPDIR)/pilot_node.Po"; else rm -f "$(DEPDIR)/pilot_node.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/track/pilot_node.cc' object='pilot_node.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/pilot_node.Po' tmpdepfile='$(DEPDIR)/pilot_node.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pilot_node.obj `if test -f 'util/track/pilot_node.cc'; then $(CYGPATH_W) 'util/track/pilot_node.cc'; else $(CYGPATH_W) '$(srcdir)/util/track/pilot_node.cc'; fi`
+
 animation.o: util/animation/animation.cc
 @am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT animation.o -MD -MP -MF "$(DEPDIR)/animation.Tpo" -c -o animation.o `test -f 'util/animation/animation.cc' || echo '$(srcdir)/'`util/animation/animation.cc; \
@@ -1154,20 +1170,4 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o helper_parent.obj `if test -f 'lib/coord/helper_parent.cc'; then $(CYGPATH_W) 'lib/coord/helper_parent.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/helper_parent.cc'; fi`
-
-pilot_node.o: lib/coord/pilot_node.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pilot_node.o -MD -MP -MF "$(DEPDIR)/pilot_node.Tpo" -c -o pilot_node.o `test -f 'lib/coord/pilot_node.cc' || echo '$(srcdir)/'`lib/coord/pilot_node.cc; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/pilot_node.Tpo" "$(DEPDIR)/pilot_node.Po"; else rm -f "$(DEPDIR)/pilot_node.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/coord/pilot_node.cc' object='pilot_node.o' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/pilot_node.Po' tmpdepfile='$(DEPDIR)/pilot_node.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pilot_node.o `test -f 'lib/coord/pilot_node.cc' || echo '$(srcdir)/'`lib/coord/pilot_node.cc
-
-pilot_node.obj: lib/coord/pilot_node.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT pilot_node.obj -MD -MP -MF "$(DEPDIR)/pilot_node.Tpo" -c -o pilot_node.obj `if test -f 'lib/coord/pilot_node.cc'; then $(CYGPATH_W) 'lib/coord/pilot_node.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/pilot_node.cc'; fi`; \
-@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/pilot_node.Tpo" "$(DEPDIR)/pilot_node.Po"; else rm -f "$(DEPDIR)/pilot_node.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='lib/coord/pilot_node.cc' object='pilot_node.obj' libtool=no @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/pilot_node.Po' tmpdepfile='$(DEPDIR)/pilot_node.TPo' @AMDEPBACKSLASH@
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o pilot_node.obj `if test -f 'lib/coord/pilot_node.cc'; then $(CYGPATH_W) 'lib/coord/pilot_node.cc'; else $(CYGPATH_W) '$(srcdir)/lib/coord/pilot_node.cc'; fi`
 
 graphics_engine.o: lib/graphics/graphics_engine.cc
Index: xonox/trunk/src/lib/coord/pilot_node.cc
===================================================================
--- /orxonox/trunk/src/lib/coord/pilot_node.cc	(revision 4455)
+++ 	(revision )
@@ -1,125 +1,0 @@
-
-
-/* 
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-   ### File Specific:
-   main-programmer: Patrick Boenzli
-   co-programmer: ...
-
-   bensch: added comments
-*/
-
-
-#include "pilot_node.h"
-#include "event_handler.h"
-#include "event.h"
-
-using namespace std;
-
-/**
-   \brief standard constructor
-*/
-PilotNode::PilotNode () 
-{
-   this->setClassID(CL_PILOT_PARENT, "PilotNode");
-
-   travelSpeed = 30.0;
-   velocity = new Vector();
-   bUp = bDown = bLeft = bRight = false;
-}
-
-/**
-   \brief standard deconstructor
-*/
-PilotNode::~PilotNode () 
-{
-
-}
-
-/** 
-    \brief ticks the node
-    \param time the time about whitch to tick						\
-*/
-void PilotNode::tick(float time)
-{
-  this->move(time);
-}
-
-
-/**
-   \brief action if player moves
-   \param time the timeslice since the last frame
-*/
-void PilotNode::move (float time)
-{
-  Vector accel(0.0, 0.0, 0.0);
-  /* FIXME: calculating the direction and orthDirection every timeSlice is redundant! save it somewhere */
-  /* calculate the direction in which the craft is heading  */
-  //Vector direction (1.0, 0.0, 0.0);
-  //direction = this->absDirection.apply (direction);
-  //Vector orthDirection (0.0, 0.0, 1.0);
-  //orthDirection = orthDirection.cross (direction);
-
-   Quaternion q = this->getAbsDir();
-   Vector direction(1,0,0);
-   direction = q.apply(direction);
-
-   
-
-   Vector orthDirection(0,0,1);
-   orthDirection = q.apply(orthDirection);
-   
-   if( this->bUp)
-     accel = accel+(direction*acceleration);
-   if( this->bDown)
-     accel = accel -(direction*acceleration);
-   if( this->bLeft)
-     accel = accel - (orthDirection*acceleration); 
-   if( this->bRight)
-     accel = accel + (orthDirection*acceleration);
-   
-   Vector move = accel * time;
-   this->shiftCoor (move);
-   
-   Quaternion q1(-M_PI/4 * this->roll/40000.0, Vector(0,0,1));
-   Quaternion q2(-M_PI/4 * this->pitch/30000.0, Vector(0,1,0));
-   //this->shiftDir(q1*q2);
-   this->shiftDir(q1*q2);
-}
-
-/**
-   \brief handles events
-   \param event the event that occured
-*/
-void PilotNode::process( const Event &event)
-{
-  if( event.type == KeyMapper::PEV_UP)
-    {
-      this->bUp = event.bPressed;
-    }
-  else if( event.type == KeyMapper::PEV_DOWN)
-    {
-      this->bDown = event.bPressed;
-    }
-  else if( event.type == KeyMapper::PEV_RIGHT)
-    {
-      this->bRight= event.bPressed;
-    }
-  else if( event.type == KeyMapper::PEV_LEFT)
-    {
-      this->bLeft = event.bPressed;
-    }
-  else if( event.type == EV_MOUSE_MOTION)
-    {
-      this->pitch = event.x - 400;
-      this->roll = event.y - 300;
-    }
-}
Index: xonox/trunk/src/lib/coord/pilot_node.h
===================================================================
--- /orxonox/trunk/src/lib/coord/pilot_node.h	(revision 4455)
+++ 	(revision )
@@ -1,45 +1,0 @@
-/*! 
-    \file pilot_node.h
-    \brief Definition of a PilotNode
-*/
-
-
-#ifndef _PILOT_NODE_H
-#define _PILOT_NODE_H
-
-#include "world_entity.h"
-#include "event_listener.h"
-
-class Event;
-
-//! The PilotNode is a node that enables the is driven by the Mouse
-class PilotNode : public WorldEntity, public EventListener {
-
- public:
-  PilotNode ();
-  virtual ~PilotNode ();
-
-  virtual void tick(float time);
-
-  virtual void process(const Event &event);
-
- private:
-  void move(float time);
-
- private:
-  bool        bUp;            //!< up button pressed.
-  bool        bDown;          //!< down button pressed.
-  bool        bLeft;          //!< left button pressed.
-  bool        bRight;         //!< right button pressed.
-
-  int         pitch;          //!< the pitch of the node
-  int         roll;           //!< the roll of the node
-
-  Vector*     velocity;       //!< the velocity of the player.
-  float       travelSpeed;    //!< the current speed of the player (to make soft movement)
-  float       acceleration;   //!< the acceleration of the player.
-
-
-};
-
-#endif /* _PILOT_NODE_H */
Index: /orxonox/trunk/src/util/track/pilot_node.cc
===================================================================
--- /orxonox/trunk/src/util/track/pilot_node.cc	(revision 4456)
+++ /orxonox/trunk/src/util/track/pilot_node.cc	(revision 4456)
@@ -0,0 +1,125 @@
+
+
+/* 
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 2, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Patrick Boenzli
+   co-programmer: ...
+
+   bensch: added comments
+*/
+
+
+#include "pilot_node.h"
+#include "event_handler.h"
+#include "event.h"
+
+using namespace std;
+
+/**
+   \brief standard constructor
+*/
+PilotNode::PilotNode () 
+{
+   this->setClassID(CL_PILOT_PARENT, "PilotNode");
+
+   travelSpeed = 30.0;
+   velocity = new Vector();
+   bUp = bDown = bLeft = bRight = false;
+}
+
+/**
+   \brief standard deconstructor
+*/
+PilotNode::~PilotNode () 
+{
+
+}
+
+/** 
+    \brief ticks the node
+    \param time the time about whitch to tick						\
+*/
+void PilotNode::tick(float time)
+{
+  this->move(time);
+}
+
+
+/**
+   \brief action if player moves
+   \param time the timeslice since the last frame
+*/
+void PilotNode::move (float time)
+{
+  Vector accel(0.0, 0.0, 0.0);
+  /* FIXME: calculating the direction and orthDirection every timeSlice is redundant! save it somewhere */
+  /* calculate the direction in which the craft is heading  */
+  //Vector direction (1.0, 0.0, 0.0);
+  //direction = this->absDirection.apply (direction);
+  //Vector orthDirection (0.0, 0.0, 1.0);
+  //orthDirection = orthDirection.cross (direction);
+
+   Quaternion q = this->getAbsDir();
+   Vector direction(1,0,0);
+   direction = q.apply(direction);
+
+   
+
+   Vector orthDirection(0,0,1);
+   orthDirection = q.apply(orthDirection);
+   
+   if( this->bUp)
+     accel = accel+(direction*acceleration);
+   if( this->bDown)
+     accel = accel -(direction*acceleration);
+   if( this->bLeft)
+     accel = accel - (orthDirection*acceleration); 
+   if( this->bRight)
+     accel = accel + (orthDirection*acceleration);
+   
+   Vector move = accel * time;
+   this->shiftCoor (move);
+   
+   Quaternion q1(-M_PI/4 * this->roll/40000.0, Vector(0,0,1));
+   Quaternion q2(-M_PI/4 * this->pitch/30000.0, Vector(0,1,0));
+   //this->shiftDir(q1*q2);
+   this->shiftDir(q1*q2);
+}
+
+/**
+   \brief handles events
+   \param event the event that occured
+*/
+void PilotNode::process( const Event &event)
+{
+  if( event.type == KeyMapper::PEV_UP)
+    {
+      this->bUp = event.bPressed;
+    }
+  else if( event.type == KeyMapper::PEV_DOWN)
+    {
+      this->bDown = event.bPressed;
+    }
+  else if( event.type == KeyMapper::PEV_RIGHT)
+    {
+      this->bRight= event.bPressed;
+    }
+  else if( event.type == KeyMapper::PEV_LEFT)
+    {
+      this->bLeft = event.bPressed;
+    }
+  else if( event.type == EV_MOUSE_MOTION)
+    {
+      this->pitch = event.x - 400;
+      this->roll = event.y - 300;
+    }
+}
Index: /orxonox/trunk/src/util/track/pilot_node.h
===================================================================
--- /orxonox/trunk/src/util/track/pilot_node.h	(revision 4456)
+++ /orxonox/trunk/src/util/track/pilot_node.h	(revision 4456)
@@ -0,0 +1,45 @@
+/*! 
+    \file pilot_node.h
+    \brief Definition of a PilotNode
+*/
+
+
+#ifndef _PILOT_NODE_H
+#define _PILOT_NODE_H
+
+#include "world_entity.h"
+#include "event_listener.h"
+
+class Event;
+
+//! The PilotNode is a node that enables the is driven by the Mouse
+class PilotNode : public WorldEntity, public EventListener {
+
+ public:
+  PilotNode ();
+  virtual ~PilotNode ();
+
+  virtual void tick(float time);
+
+  virtual void process(const Event &event);
+
+ private:
+  void move(float time);
+
+ private:
+  bool        bUp;            //!< up button pressed.
+  bool        bDown;          //!< down button pressed.
+  bool        bLeft;          //!< left button pressed.
+  bool        bRight;         //!< right button pressed.
+
+  int         pitch;          //!< the pitch of the node
+  int         roll;           //!< the roll of the node
+
+  Vector*     velocity;       //!< the velocity of the player.
+  float       travelSpeed;    //!< the current speed of the player (to make soft movement)
+  float       acceleration;   //!< the acceleration of the player.
+
+
+};
+
+#endif /* _PILOT_NODE_H */
