Index: code/branches/merger/src/CMakeLists.txt
===================================================================
--- code/branches/merger/src/CMakeLists.txt	(revision 304)
+++ code/branches/merger/src/CMakeLists.txt	(revision 319)
@@ -6,2 +6,16 @@
 ADD_SUBDIRECTORY(class_hierarchy)
 
+# =======
+# PROJECT(Orxonox)
+#
+# # create a few variables to simplify life
+#
+# SET(SRC_FILES orxonox.cc loader/LevelLoader.cc xml/xmlParser.cc spaceship_steering.cc)
+# SET(INC_FILES loader/LevelLoader.h xml/xmlParser.h spaceship_steering.h )
+#
+# #Creates an executable
+# ADD_EXECUTABLE(../bin/main ${SRC_FILES} ${INC_FILES})
+# #Links the executable against OGRE and OIS
+# TARGET_LINK_LIBRARIES(../bin/main ${OGRE_LIBRARIES} ${OIS_LIBRARIES} ${CEGUI_LIBRARIES} ${CEGUI_OGRE_LIBRARIES})
+#
+# >>>>>>> .merge-right.r318
Index: code/branches/merger/src/loader/CMakeLists.txt
===================================================================
--- code/branches/merger/src/loader/CMakeLists.txt	(revision 304)
+++ code/branches/merger/src/loader/CMakeLists.txt	(revision 319)
@@ -3,5 +3,5 @@
 # TODO find a cleaner way to include xmlParser
 SET(SRC_FILES LevelLoader.cc ../xml/xmlParser.cc)
-SET(INC_FILES LevelLoader.h ../xml/xmlParser.h)
+# SET(INC_FILES LevelLoader.h ../xml/xmlParser.h)
 
 INCLUDE_DIRECTORIES(..)
Index: code/branches/merger/src/network/CMakeLists.txt
===================================================================
--- code/branches/merger/src/network/CMakeLists.txt	(revision 304)
+++ code/branches/merger/src/network/CMakeLists.txt	(revision 319)
@@ -2,5 +2,4 @@
 
 SET(SRC_FILES Client.cc ConnectionManager.cc PacketBuffer.cc PacketGenerator.cc Synchronisable.cc dummyclient2.cc ClientConnection.cc GameStateManager.cc PacketDecoder.cc Server.cc dummyclient.cc dummyserver.cc)
-SET(INC_FILES Client.h ClientConnection.h ConnectionManager.h GameStateManager.h PacketBuffer.h PacketManager.h Server.h Synchronisable.h)
 
-ADD_LIBRARY(network ${SRC_FILES} ${INC_FILES})
+ADD_LIBRARY(network ${SRC_FILES})
Index: code/branches/merger/src/orxonox/CMakeLists.txt
===================================================================
--- code/branches/merger/src/orxonox/CMakeLists.txt	(revision 304)
+++ code/branches/merger/src/orxonox/CMakeLists.txt	(revision 319)
@@ -2,7 +2,6 @@
 
 SET(SRC_FILES orxonox.cc)
-SET(INC_FILES)
 
-ADD_EXECUTABLE(../../bin/main ${SRC_FILES} ${INC_FILES})
+ADD_EXECUTABLE(../../bin/main ${SRC_FILES})
 
 TARGET_LINK_LIBRARIES(../../bin/main ${OGRE_LIBRARIES} ${OIS_LIBRARIES} loader )
Index: code/branches/merger/src/orxonox/core/CMakeLists.txt
===================================================================
--- code/branches/merger/src/orxonox/core/CMakeLists.txt	(revision 304)
+++ code/branches/merger/src/orxonox/core/CMakeLists.txt	(revision 319)
@@ -2,5 +2,4 @@
 
 SET(SRC_FILES IdentifierList.cc Identifier.cc MetaObjectList.cc Factory.cc OrxonoxClass.cc)
-SET(INC_FILES IdentifierIncludes.h Identifier.h Factory.h ClassFactory.h IdentifierList.h ObjectList.h MetaObjectList.h Iterator.h OrxonoxClass.h)
 
-ADD_LIBRARY(core ${SRC_FILES} ${INC_FILES})
+ADD_LIBRARY(core ${SRC_FILES})
Index: code/branches/merger/src/orxonox/hud/CMakeLists.txt
===================================================================
--- code/branches/merger/src/orxonox/hud/CMakeLists.txt	(revision 319)
+++ code/branches/merger/src/orxonox/hud/CMakeLists.txt	(revision 319)
@@ -0,0 +1,5 @@
+PROJECT(Orxonox)
+
+SET(SRC_FILES hud_overlay.cc test_overlay.cc)
+
+ADD_LIBRARY(objects ${SRC_FILES})
Index: code/branches/merger/src/orxonox/objects/CMakeLists.txt
===================================================================
--- code/branches/merger/src/orxonox/objects/CMakeLists.txt	(revision 304)
+++ code/branches/merger/src/orxonox/objects/CMakeLists.txt	(revision 319)
@@ -2,5 +2,4 @@
 
 SET(SRC_FILES BaseObject.cc test1.cc test2.cc test3.cc)
-SET(INC_FILES BaseObject.h Test.h test1.h test2.h test3.h)
 
-ADD_LIBRARY(objects ${SRC_FILES} ${INC_FILES})
+ADD_LIBRARY(objects ${SRC_FILES})
Index: code/branches/merger/src/spaceship_steering.cc
===================================================================
--- code/branches/merger/src/spaceship_steering.cc	(revision 319)
+++ code/branches/merger/src/spaceship_steering.cc	(revision 319)
@@ -0,0 +1,186 @@
+#include "Ogre.h"
+#include "spaceship_steering.h"
+using namespace Ogre;
+
+SpaceshipSteering::SpaceshipSteering(float maxSpeedForward, float
+maxSpeedRotateUpDown, float maxSpeedRotateRightLeft, float
+maxSpeedLoopRightLeft) {
+  moveForward_ = 0;
+  rotateUp_ = 0;
+  rotateDown_ = 0;
+  rotateRight_ = 0;
+  rotateLeft_ = 0;
+  loopRight_ = 0;
+  loopLeft_ = 0;
+  brakeForward_ = 0;
+  brakeRotate_ = 0;
+  brakeLoop_ = 0;
+  speedForward_ = 0;
+  speedRotateUpDown_ = 0;
+  speedRotateRightLeft_ = 0;
+  speedLoopRightLeft_ = 0;
+  maxSpeedForward_ = maxSpeedForward;
+  maxSpeedRotateUpDown_ = maxSpeedRotateUpDown;
+  maxSpeedRotateRightLeft_ = maxSpeedRotateRightLeft;
+  maxSpeedLoopRightLeft_ = maxSpeedLoopRightLeft;
+  accelerationForward_ = 0;
+  accelerationRotateUpDown_ = 0;
+  accelerationRotateRightLeft_ = 0;
+  accelerationLoopRightLeft_ = 0;
+}
+
+void SpaceshipSteering::tick(float time) {
+
+  if(moveForward_ > 0) {
+    accelerationForward_ = moveForward_;
+    if(speedForward_ < maxSpeedForward_)
+      speedForward_ += accelerationForward_*time;
+    if(speedForward_ > maxSpeedForward_)
+      speedForward_ = maxSpeedForward_;
+  }
+  if(moveForward_ <= 0) {
+    accelerationForward_ = brakeForward_;
+    if(speedForward_ > 0)
+      speedForward_ -= accelerationForward_*time;
+    if(speedForward_ < 0)
+      speedForward_ = 0;
+  }
+
+  if(rotateUp_ > 0) {
+    accelerationRotateUpDown_ = rotateUp_;
+    if(speedRotateUpDown_ < maxSpeedRotateUpDown_)
+      speedRotateUpDown_ += accelerationRotateUpDown_*time;
+    if(speedRotateUpDown_ > maxSpeedRotateUpDown_)
+      speedRotateUpDown_ = maxSpeedRotateUpDown_;
+  }
+  if(rotateDown_ > 0) {
+    accelerationRotateUpDown_ = rotateDown_;
+    if(speedRotateUpDown_ > -maxSpeedRotateUpDown_)
+      speedRotateUpDown_ -= accelerationRotateUpDown_*time;
+    if(speedRotateUpDown_ < -maxSpeedRotateUpDown_)
+      speedRotateUpDown_ = -maxSpeedRotateUpDown_;
+  }
+  if(rotateUp_ == 0 && rotateDown_ == 0) {
+    accelerationRotateUpDown_ = brakeRotate_;
+    if(speedRotateUpDown_ > 0)
+      speedRotateUpDown_ -= accelerationRotateUpDown_*time;
+    if(speedRotateUpDown_ < 0)
+      speedRotateUpDown_ += accelerationRotateUpDown_*time;
+  }
+
+  if(rotateRight_ > 0) {
+    accelerationRotateRightLeft_ = rotateRight_;
+    if(speedRotateRightLeft_ > -maxSpeedRotateRightLeft_)
+      speedRotateRightLeft_ -= accelerationRotateRightLeft_*time;
+    if(speedRotateRightLeft_ < -maxSpeedRotateRightLeft_)
+      speedRotateRightLeft_ = -maxSpeedRotateRightLeft_;
+  }
+  if(rotateLeft_ > 0) {
+    accelerationRotateRightLeft_ = rotateLeft_;
+    if(speedRotateRightLeft_ < maxSpeedRotateRightLeft_)
+      speedRotateRightLeft_ += accelerationRotateRightLeft_*time;
+    if(speedRotateRightLeft_ > maxSpeedRotateRightLeft_)
+      speedRotateRightLeft_ = maxSpeedRotateRightLeft_;
+  }
+  if(rotateRight_ == 0 && rotateLeft_ == 0) {
+    accelerationRotateRightLeft_ = brakeRotate_;
+    if(speedRotateRightLeft_ > 0)
+      speedRotateRightLeft_ -= accelerationRotateRightLeft_*time;
+    if(speedRotateRightLeft_ < 0)
+      speedRotateRightLeft_ += accelerationRotateRightLeft_*time;
+  }
+
+  if(loopRight_ > 0) {
+    accelerationLoopRightLeft_ = loopRight_;
+    if(speedLoopRightLeft_ < maxSpeedLoopRightLeft_)
+      speedLoopRightLeft_ += accelerationLoopRightLeft_*time;
+    if(speedLoopRightLeft_ > maxSpeedLoopRightLeft_)
+      speedLoopRightLeft_ = maxSpeedLoopRightLeft_;
+  }
+  if(loopLeft_ > 0) {
+    accelerationLoopRightLeft_ = loopLeft_;
+    if(speedLoopRightLeft_ > -maxSpeedLoopRightLeft_)
+      speedLoopRightLeft_ -= accelerationLoopRightLeft_*time;
+    if(speedLoopRightLeft_ < -maxSpeedLoopRightLeft_)
+      speedLoopRightLeft_ = -maxSpeedLoopRightLeft_;
+  }
+  if(loopLeft_ == 0 && loopRight_ == 0) {
+    accelerationLoopRightLeft_ = brakeLoop_;
+    if(speedLoopRightLeft_ > 0)
+      speedLoopRightLeft_ -= accelerationLoopRightLeft_*time;
+    if(speedLoopRightLeft_ < 0)
+      speedLoopRightLeft_ += accelerationLoopRightLeft_*time;
+  }
+
+  Vector3 transVector = Vector3::ZERO;
+  transVector.z = 1;
+  steeringNode_->translate(transVector*speedForward_*time,
+  Node::TS_LOCAL);
+  steeringNode_->pitch(Degree(speedRotateUpDown_*time),
+  Node::TS_LOCAL);
+  steeringNode_->yaw(Degree(speedRotateRightLeft_*time),
+  Node::TS_LOCAL);
+  steeringNode_->roll(Degree(speedLoopRightLeft_*time),
+  Node::TS_LOCAL);
+
+}
+
+void SpaceshipSteering::moveForward(float moveForward) {
+  moveForward_ = moveForward;
+}
+
+void SpaceshipSteering::rotateUp(float rotateUp) {
+  rotateUp_ = rotateUp;
+}
+
+void SpaceshipSteering::rotateDown(float rotateDown) {
+  rotateDown_ = rotateDown;
+}
+
+void SpaceshipSteering::rotateLeft(float rotateLeft) {
+  rotateLeft_ = rotateLeft;
+}
+
+void SpaceshipSteering::rotateRight(float rotateRight) {
+  rotateRight_ = rotateRight;
+}
+
+void SpaceshipSteering::loopLeft(float loopLeft) {
+  loopLeft_ = loopLeft;
+}
+
+void SpaceshipSteering::loopRight(float loopRight) {
+  loopRight_ = loopRight;
+}
+
+void SpaceshipSteering::brakeForward(float brakeForward) {
+  brakeForward_ = brakeForward;
+}
+
+void SpaceshipSteering::brakeRotate(float brakeRotate) {
+  brakeRotate_ = brakeRotate;
+}
+
+void SpaceshipSteering::brakeLoop(float brakeLoop) {
+  brakeLoop_ = brakeLoop;
+}
+
+void SpaceshipSteering::maxSpeedForward(float maxSpeedForward) {
+  maxSpeedForward_ = maxSpeedForward;
+}
+
+void SpaceshipSteering::maxSpeedRotateUpDown(float maxSpeedRotateUpDown) {
+  maxSpeedRotateUpDown_ = maxSpeedRotateUpDown;
+}
+
+void SpaceshipSteering::maxSpeedRotateRightLeft(float maxSpeedRotateRightLeft) {
+  maxSpeedRotateRightLeft_ = maxSpeedRotateRightLeft;
+}
+
+void SpaceshipSteering::maxSpeedLoopRightLeft(float maxSpeedLoopRightLeft) {
+  maxSpeedLoopRightLeft_ = maxSpeedLoopRightLeft;
+}
+
+void SpaceshipSteering::addNode(Ogre::SceneNode *steeringNode) {
+  steeringNode_ = steeringNode;
+}
Index: code/branches/merger/src/spaceship_steering.h
===================================================================
--- code/branches/merger/src/spaceship_steering.h	(revision 319)
+++ code/branches/merger/src/spaceship_steering.h	(revision 319)
@@ -0,0 +1,60 @@
+#ifndef SPACESHIP_STEERING_H
+#define SPACESHIP_STEERING_H
+
+#include "OgrePrerequisites.h"
+
+class SpaceshipSteering
+{
+  public:
+    SpaceshipSteering(float maxSpeedForward, float maxSpeedRotateUpDown,
+    float maxSpeedRotateRightLeft, float maxSpeedLoopRightLeft);
+    void tick(float time);
+    void moveForward(float moveForward);
+    void rotateUp(float rotateUp);
+    void rotateDown(float rotateDown);
+    void rotateRight(float rotateRight);
+    void rotateLeft(float rotateLeft);
+    void loopRight(float loopRight);
+    void loopLeft(float loopLeft);
+    void brakeForward(float brakeForward);
+    void brakeRotate(float brakeRotate);
+    void brakeLoop(float brakeLoop);
+    void maxSpeedForward(float maxSpeedForward);
+    void maxSpeedRotateUpDown(float maxSpeedRotateUpDown);
+    void maxSpeedRotateRightLeft(float maxSpeedRotateRightLeft);
+    void maxSpeedLoopRightLeft(float maxSpeedLoopRightLeft);
+    void addNode(Ogre::SceneNode *steeringNode);
+
+  protected:
+    Ogre::SceneNode *steeringNode_;
+
+  private:
+    float moveForward_;
+    float rotateUp_;
+    float rotateDown_;
+    float rotateRight_;
+    float rotateLeft_;
+    float loopRight_;
+    float loopLeft_;
+    float brakeForward_;
+    float brakeRotate_;
+    float brakeLoop_;
+
+    float speedForward_;
+    float speedRotateUpDown_;
+    float speedRotateRightLeft_;
+    float speedLoopRightLeft_;
+
+    float maxSpeedForward_;
+    float maxSpeedRotateUpDown_;
+    float maxSpeedRotateRightLeft_;
+    float maxSpeedLoopRightLeft_;
+
+    float accelerationForward_;
+    float accelerationRotateUpDown_;
+    float accelerationRotateRightLeft_;
+    float accelerationLoopRightLeft_;
+
+};
+
+#endif
