Index: orxonox/branches/dave/src/Makefile.in
===================================================================
--- orxonox/branches/dave/src/Makefile.in	(revision 3171)
+++ orxonox/branches/dave/src/Makefile.in	(revision 3172)
@@ -38,5 +38,4 @@
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
-host_triplet = @host@
 bin_PROGRAMS = orxonox$(EXEEXT)
 subdir = src
@@ -114,8 +113,4 @@
 EGREP = @EGREP@
 EXEEXT = @EXEEXT@
-GTK2_CFLAGS = @GTK2_CFLAGS@
-GTK2_LIBS = @GTK2_LIBS@
-HAVE_GTK2_FALSE = @HAVE_GTK2_FALSE@
-HAVE_GTK2_TRUE = @HAVE_GTK2_TRUE@
 INSTALL_DATA = @INSTALL_DATA@
 INSTALL_PROGRAM = @INSTALL_PROGRAM@
@@ -151,16 +146,8 @@
 am__quote = @am__quote@
 bindir = @bindir@
-build = @build@
 build_alias = @build_alias@
-build_cpu = @build_cpu@
-build_os = @build_os@
-build_vendor = @build_vendor@
 datadir = @datadir@
 exec_prefix = @exec_prefix@
-host = @host@
 host_alias = @host_alias@
-host_cpu = @host_cpu@
-host_os = @host_os@
-host_vendor = @host_vendor@
 includedir = @includedir@
 infodir = @infodir@
@@ -177,12 +164,8 @@
 sharedstatedir = @sharedstatedir@
 sysconfdir = @sysconfdir@
-target = @target@
 target_alias = @target_alias@
-target_cpu = @target_cpu@
-target_os = @target_os@
-target_vendor = @target_vendor@
 AM_CXXFLAGS = "-I/usr/X11R6/include"
 AM_LDFLAGS = "-L/usr/Mesa-6.0.1/lib  -L/usr/X11R6/lib -lXt -lX11" $(MWINDOWS)
-orxonox_SOURCES = orxonox.cc world.cc player.cc data_tank.cc world_entity.cc vector.cc camera.cc collision.cc command_node.cc ini_parser.cc keynames.cc track.cc base_entity.cc game_loader.cc campaign.cc story_entity.cc object.cc environment.cc array.cc material.cc list.cc
+orxonox_SOURCES = orxonox.cc world.cc player.cc data_tank.cc world_entity.cc vector.cc camera.cc collision.cc command_node.cc ini_parser.cc keynames.cc track.cc base_entity.cc game_loader.cc campaign.cc story_entity.cc object.cc environment.cc array.cc material.cc list.cc 
 noinst_HEADERS = ability.h data_tank.h npc.h stdincl.h ai.h environment.h orxonox.h synchronisable.h base_entity.h error.h player.h track.h camera.h ini_parser.h power_up.h vector.h collision.h keynames.h proto_class.h world.h command_node.h list.h shoot_laser.h world_entity.h coordinates.h message_structures.h shoot_rocket.h object.h array.h material.h list_template.h story_entity.h story_def.h game_loader.h campaign.h
 all: all-am
Index: orxonox/branches/dave/src/command_node.cc
===================================================================
--- orxonox/branches/dave/src/command_node.cc	(revision 3171)
+++ orxonox/branches/dave/src/command_node.cc	(revision 3172)
@@ -37,4 +37,5 @@
   netID = ID;
   bLocalInput = false;
+  
 }
 
@@ -172,4 +173,5 @@
   SDL_Event event;
   Command cmd;
+ 
   
   while( SDL_PollEvent (&event))
@@ -181,4 +183,6 @@
 	  strcpy (cmd.cmd, aliases->keys[event.key.keysym.sym]);
 	  cmd.bUp = false;
+	 
+	  
 	  if( strlen (cmd.cmd) > 0) relay (&cmd);
 	  break;
@@ -186,6 +190,6 @@
 	  strcpy( cmd.cmd, aliases->keys[event.key.keysym.sym]);
 	  cmd.bUp = true;
-	  cmd.tottime=0.0f;
 	  
+	 
 	  if( strlen (cmd.cmd) > 0) relay (&cmd);
 	  break;
Index: orxonox/branches/dave/src/message_structures.h
===================================================================
--- orxonox/branches/dave/src/message_structures.h	(revision 3171)
+++ orxonox/branches/dave/src/message_structures.h	(revision 3172)
@@ -12,4 +12,9 @@
 typedef struct
 {	float tottime;
+	float rottime;
+	float angle;
+	bool angleturn;
+	
+	
 	char cmd[CMD_LENGHT];	//!< the command delivered
 	bool bUp;	//!< false = command was activated / true = command was deactivated
Index: orxonox/branches/dave/src/player.cc
===================================================================
--- orxonox/branches/dave/src/player.cc	(revision 3171)
+++ orxonox/branches/dave/src/player.cc	(revision 3172)
@@ -29,4 +29,6 @@
   obj = new Object ("reaplow.obj");
   tottime=0.0f;
+  movfinishright=movfinishleft=movfinishup=movfinishdown=false;
+  angleturn=false;
  
   /*
@@ -93,5 +95,10 @@
 {
   //printf("Player|recieved command [%s]\n", cmd->cmd);
+ 
   tottime=cmd->tottime;
+  rottime=cmd->rottime;
+  angleturn=cmd->angleturn;
+  
+  
   if( !strcmp( cmd->cmd, "up")) bUp = !cmd->bUp;
   else if( !strcmp( cmd->cmd, "down")) bDown = !cmd->bUp;
@@ -106,11 +113,17 @@
   glLoadIdentity();
   float matrix[4][4];
-  
+  float a[3];
+  a[0]=.8f;
+  a[1]=.8f;
+  a[2]=.8f;
+  glMaterialfv(GL_FRONT,GL_DIFFUSE,a);
   glTranslatef(get_placement()->r.x,get_placement()->r.y,get_placement()->r.z);
   get_placement()->w.matrix (matrix);
   glMultMatrixf ((float*)matrix);
-  
+ 
   glMatrixMode (GL_MODELVIEW);
+  glRotatef (angle,0,0,1);
   glRotatef (-90, 0,1,0);
+  
   obj->draw();
   //  glCallList (objectList);
@@ -141,12 +154,68 @@
   Vector orthDirection(0.0, 0.0, 1.0);
   orthDirection = orthDirection.cross(direction);
+  
+  if(rottime<1.0f)
+	  rottime=rottime+2.5f*time;
+  else
+	  rottime=1.0f;
   if(tottime<1.5f)
 	  tottime=tottime+4.0f*time;
   else
 	  tottime=1.5f;
-  if( bUp) { accel = accel+(direction*acceleration*pow(tottime,2.0f)); }
-  if( bDown) { accel = accel-(direction*acceleration*pow(tottime,2.0f)); }
-  if( bLeft ) { accel = accel + (orthDirection*acceleration*pow(tottime,2.0f)); }
-  if( bRight ) { accel = accel - (orthDirection*acceleration*pow(tottime,2.0f));}
+  
+  //Langsam zurückdrehen    ->anlgeturn ist für das Zurückdrehen verantwortlich!
+  if((angleturn||bLeft&&bRight)&&angle<=0.0f){
+	  if(!bLeft)
+	  angle=angle+rottime*10.0f;
+	  if(angle>0.0f){
+		  
+		  angleturn=false;
+		  angle=0.0f;}
+	  }
+  
+  if((angleturn||bLeft&&bRight)&&angle>=0.0f){
+	  if(!bRight)
+	  angle=angle-rottime*10.0f;
+	  if(angle<0.0f){
+		  angleturn=false;
+		  angle=0.0f;}
+		}
+  //Bewegung lansam abbremsen    **************
+  if(movfinishleft&&!bLeft){
+	  accel=accel+(orthDirection*acceleration*(tottimecopy-pow(tottime,1.5f)+.5f));
+	  if(tottime>tottimecopy)
+		  movfinishleft=false;
+  }
+  if(movfinishright&&!bRight){
+	accel=accel-(orthDirection*acceleration*(tottimecopy-pow(tottime,1.5f)+.5f));
+	if(tottime>tottimecopy)
+		movfinishright=false;
+  }
+  if(movfinishup&&!bUp){
+	accel=accel+(direction*acceleration*(tottimecopy-pow(tottime,1.5f)+.5f));
+	if(tottime>tottimecopy)
+		movfinishup=false;
+  }
+  
+  if(movfinishdown&&!bDown){
+	accel=accel-(direction*acceleration*(tottimecopy-pow(tottime,1.5f)+.5f));
+	if(tottime>tottimecopy)
+		movfinishdown=false;
+  }  
+  //                            **************
+  
+  if( bUp) { accel = accel+(direction*acceleration*pow(tottime,2.0f));movfinishup=true;tottimecopy=tottime;}
+  if( bDown) { accel = accel-(direction*acceleration*pow(tottime,2.0f));movfinishdown=true;tottimecopy=tottime; }
+  if( bLeft ) { accel = accel + (orthDirection*acceleration*pow(tottime,2.0f));
+	if(angle>-40.0f){
+	  angle=angle-rottime*40.0f;}
+	movfinishleft=true;
+	tottimecopy=tottime;}
+  if( bRight ) { accel = accel - (orthDirection*acceleration*pow(tottime,2.0f));
+	if(angle<40.0f){
+	  angle=angle+rottime*40.0f;}
+	  movfinishright=true;
+	  tottimecopy=tottime;
+  }
   if( bAscend ) { /* not yet implemented but just: (0,0,1)*acceleration */}
   if( bDescend) {/* FIXME */}
Index: orxonox/branches/dave/src/player.h
===================================================================
--- orxonox/branches/dave/src/player.h	(revision 3171)
+++ orxonox/branches/dave/src/player.h	(revision 3172)
@@ -41,4 +41,11 @@
   Object* obj;
   float tottime;
+  float tottimecopy;
+  float rottime;
+  float angle;
+  bool angleturn;
+  bool movfinishright,movfinishleft,movfinishup,movfinishdown;
+
+
   
   void move (float time);
