Index: trunk/src/lib/graphics/effects/lense_flare.cc
===================================================================
--- trunk/src/lib/graphics/effects/lense_flare.cc	(revision 7315)
+++ trunk/src/lib/graphics/effects/lense_flare.cc	(revision 7316)
@@ -212,9 +212,8 @@
 
   // always update the screen center, it could be, that the window is resized
-  this->screenCenter = Vector(State::getResX()/2.0f, State::getResY()/2.0f, 0.0f);
+  this->screenCenter = Vector2D(State::getResX()/2.0f, State::getResY()/2.0f);
 
   // flare vector is the direction from the center to the light source
   this->flareVector = this->flares[0]->getAbsCoor2D() - this->screenCenter;
-  this->flareVector.z = 0.0f;
   this->distance = this->flareVector.len();
   this->flareVector.normalize();
Index: trunk/src/lib/graphics/effects/lense_flare.h
===================================================================
--- trunk/src/lib/graphics/effects/lense_flare.h	(revision 7315)
+++ trunk/src/lib/graphics/effects/lense_flare.h	(revision 7316)
@@ -11,5 +11,5 @@
 #include <vector>
 
-#include "vector.h"
+#include "vector2D.h"
 #include "plane.h"
 
@@ -52,7 +52,7 @@
     std::vector<Billboard*>  flares;             //!< the flares array
 
-    Vector                   flareVector;        //!< the axis to draw the flares on
+    Vector2D                 flareVector;        //!< the axis to draw the flares on
     float                    distance;           //!< distance from center to source
-    Vector                   screenCenter;       //!< the vector marking the center of the screen
+    Vector2D                 screenCenter;       //!< the vector marking the center of the screen
 
     float*                   flareMatrix;
Index: trunk/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.cc	(revision 7315)
+++ trunk/src/lib/graphics/render2D/element_2d.cc	(revision 7316)
@@ -246,5 +246,5 @@
  * @param relCoord the relative coordinate to the parent
  */
-void Element2D::setRelCoor2D (const Vector& relCoord)
+void Element2D::setRelCoor2D (const Vector2D& relCoord)
 {
   if (this->toCoordinate!= NULL)
@@ -261,9 +261,8 @@
  * @param x the x coordinate
  * @param y the y coordinate
- * @param z the z coordinate
- */
-void Element2D::setRelCoor2D (float x, float y, float z)
-{
-  this->setRelCoor2D(Vector(x,y,z));
+ */
+void Element2D::setRelCoor2D (float x, float y)
+{
+  this->setRelCoor2D(Vector2D(x,y));
 }
 
@@ -275,8 +274,6 @@
 void Element2D::setRelCoor2Dpx (int x, int y)
 {
-  this->setRelCoor2D(Vector((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
-                     (float)y/(float)GraphicsEngine::getInstance()->getResolutionY(),
-                     0
-                           ));
+  this->setRelCoor2D(Vector2D((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
+                     (float)y/(float)GraphicsEngine::getInstance()->getResolutionY()));
 }
 
@@ -286,8 +283,8 @@
  * @param bias how fast to iterate to this position
  */
-void Element2D::setRelCoorSoft2D(const Vector& relCoordSoft, float bias)
+void Element2D::setRelCoorSoft2D(const Vector2D& relCoordSoft, float bias)
 {
   if (likely(this->toCoordinate == NULL))
-    this->toCoordinate = new Vector();
+    this->toCoordinate = new Vector2D();
 
   *this->toCoordinate = relCoordSoft;
@@ -303,7 +300,6 @@
 void Element2D::setRelCoorSoft2Dpx (int x, int y, float bias)
 {
-  this->setRelCoorSoft2D(Vector((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
-                         (float)y/(float)GraphicsEngine::getInstance()->getResolutionY(),
-                         0),
+  this->setRelCoorSoft2D(Vector2D((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
+                         (float)y/(float)GraphicsEngine::getInstance()->getResolutionY()),
                          bias);
 }
@@ -314,9 +310,9 @@
  * @param y y-relative coordinates to its parent
  * @param z z-relative coordinates to its parent
- * @see  void PNode::setRelCoorSoft (const Vector&, float)
- */
-void Element2D::setRelCoorSoft2D(float x, float y, float depth, float bias)
-{
-  this->setRelCoorSoft2D(Vector(x, y, depth), bias);
+ * @see  void PNode::setRelCoorSoft (const Vector2D&, float)
+ */
+void Element2D::setRelCoorSoft2D(float x, float y, float bias)
+{
+  this->setRelCoorSoft2D(Vector2D(x, y), bias);
 }
 
@@ -324,5 +320,5 @@
  * @param absCoord set absolute coordinate
  */
-void Element2D::setAbsCoor2D (const Vector& absCoord)
+void Element2D::setAbsCoor2D (const Vector2D& absCoord)
 {
   if (this->toCoordinate!= NULL)
@@ -355,9 +351,9 @@
  * @param y y-coordinate.
  * @param z z-coordinate.
- * @see void PNode::setAbsCoor (const Vector& absCoord)
- */
-void Element2D::setAbsCoor2D (float x, float y, float depth)
-{
-  this->setAbsCoor2D(Vector(x, y, depth));
+ * @see void PNode::setAbsCoor (const Vector2D& absCoord)
+ */
+void Element2D::setAbsCoor2D (float x, float y)
+{
+  this->setAbsCoor2D(Vector2D(x, y));
 }
 
@@ -365,12 +361,10 @@
  * @param x x-coordinate in Pixels
  * @param y y-coordinate in Pixels
- * @see void PNode::setAbsCoor (const Vector& absCoord)
+ * @see void PNode::setAbsCoor (const Vector2D& absCoord)
  */
 void Element2D::setAbsCoor2Dpx (int x, int y)
 {
-  this->setAbsCoor2D(Vector((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
-                     (float)y/(float)GraphicsEngine::getInstance()->getResolutionY(),
-                     0
-                           ));
+  this->setAbsCoor2D(Vector2D((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
+                     (float)y/(float)GraphicsEngine::getInstance()->getResolutionY()));
 }
 
@@ -379,8 +373,8 @@
  * @param bias how fast to iterato to the new Coordinate
  */
-void Element2D::setAbsCoorSoft2D (const Vector& absCoordSoft, float bias)
+void Element2D::setAbsCoorSoft2D (const Vector2D& absCoordSoft, float bias)
 {
   if (this->toCoordinate == NULL)
-    this->toCoordinate = new Vector();
+    this->toCoordinate = new Vector2D();
 
   if( likely(this->parentMode & E2D_PARENT_MOVEMENT))
@@ -407,9 +401,9 @@
  * @param y y-coordinate.
  * @param z z-coordinate.
- * @see void PNode::setAbsCoor (const Vector& absCoord)
- */
-void Element2D::setAbsCoorSoft2D (float x, float y, float depth, float bias)
-{
-  this->setAbsCoorSoft2D(Vector(x, y, depth), bias);
+ * @see void PNode::setAbsCoor (const Vector2D& absCoord)
+ */
+void Element2D::setAbsCoorSoft2D (float x, float y, float bias)
+{
+  this->setAbsCoorSoft2D(Vector2D(x, y), bias);
 }
 
@@ -418,7 +412,7 @@
  * @param shift shift vector
  *
- * This simply adds the shift-Vector to the relative Coordinate
- */
-void Element2D::shiftCoor2D (const Vector& shift)
+ * This simply adds the shift-Vector2D to the relative Coordinate
+ */
+void Element2D::shiftCoor2D (const Vector2D& shift)
 {
   this->relCoordinate += shift;
@@ -434,7 +428,6 @@
 void Element2D::shiftCoor2Dpx (int x, int y)
 {
-  this->shiftCoor2D(Vector((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
-                    (float)y/(float)GraphicsEngine::getInstance()->getResolutionY(),
-                     0));
+  this->shiftCoor2D(Vector2D((float)x/(float)GraphicsEngine::getInstance()->getResolutionX(),
+                    (float)y/(float)GraphicsEngine::getInstance()->getResolutionY()));
 }
 
@@ -673,5 +666,5 @@
   if (likely(this->toCoordinate == NULL))
   {
-    this->toCoordinate = new Vector();
+    this->toCoordinate = new Vector2D();
     *this->toCoordinate = this->getRelCoor2D();
   }
@@ -684,5 +677,5 @@
 
 
-  Vector tmpV = this->getAbsCoor2D();
+  Vector2D tmpV = this->getAbsCoor2D();
   float tmpQ = this->getAbsDir2D();
 
@@ -779,5 +772,5 @@
     if (unlikely(this->toCoordinate != NULL))
     {
-      Vector moveVect = (*this->toCoordinate - this->relCoordinate) *fabsf(dt)*bias;
+      Vector2D moveVect = (*this->toCoordinate - this->relCoordinate) *fabsf(dt)*bias;
 
       if (likely(moveVect.len() >= .001))//PNODE_ITERATION_DELTA))
@@ -787,5 +780,5 @@
       else
       {
-        Vector tmp = *this->toCoordinate;
+        Vector2D tmp = *this->toCoordinate;
         this->setRelCoor2D(tmp);
         PRINTF(5)("SmoothMove of %s finished\n", this->getName());
@@ -825,5 +818,5 @@
     this->lastAbsCoordinate = this->absCoordinate;
 
-    PRINTF(5)("Element2D::update - %s - (%f, %f, %f)\n", this->getName(), this->absCoordinate.x, this->absCoordinate.y, this->absCoordinate.z);
+    PRINTF(5)("Element2D::update - %s - (%f, %f)\n", this->getName(), this->absCoordinate.x, this->absCoordinate.y);
 
 
@@ -841,5 +834,4 @@
       this->absCoordinate.x = .5 + this->relCoordinate.x;
       this->absCoordinate.y = .5 + this->relCoordinate.y;
-      this->absCoordinate.z = 0.0;
     }
     else if (unlikely(this->bindNode != NULL))
@@ -864,5 +856,4 @@
       this->prevRelCoordinate.x = this->absCoordinate.x = projectPos[0] /* /(float)GraphicsEngine::getInstance()->getResolutionX() */ + this->relCoordinate.x;
       this->prevRelCoordinate.y = this->absCoordinate.y = (float)GraphicsEngine::getInstance()->getResolutionY() -  projectPos[1] + this->relCoordinate.y;
-      this->prevRelCoordinate.z = this->absCoordinate.z = projectPos[2] + this->relCoordinate.z;
       this->bRelCoorChanged = true;
     }
@@ -893,5 +884,5 @@
   else
   {
-    PRINTF(5)("Element2D::update - (%f, %f, %f)\n", this->absCoordinate.x, this->absCoordinate.y, this->absCoordinate.z);
+    PRINTF(5)("Element2D::update - (%f, %f)\n", this->absCoordinate.x, this->absCoordinate.y);
     if (this->bRelCoorChanged)
     {
Index: trunk/src/lib/graphics/render2D/element_2d.h
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.h	(revision 7315)
+++ trunk/src/lib/graphics/render2D/element_2d.h	(revision 7316)
@@ -139,25 +139,25 @@
     // LIKE PNODE
   public:
-    void setRelCoor2D (const Vector& relCoord);
-    void setRelCoor2D (float x, float y, float dontCare = 1.0);
+    void setRelCoor2D (const Vector2D& relCoord);
+    void setRelCoor2D (float x, float y);
     void setRelCoor2Dpx (int x, int y);
-    void setRelCoorSoft2D (const Vector& relCoordSoft, float bias = 1.0);
-    void setRelCoorSoft2D (float x, float y, float dontCare = 1.0, float bias = 1.0);
+    void setRelCoorSoft2D (const Vector2D& relCoordSoft, float bias = 1.0);
+    void setRelCoorSoft2D (float x, float y, float bias = 1.0);
     void setRelCoorSoft2Dpx (int x, int y, float bias = 1.0);
     /** @returns the relative position */
-    inline const Vector& getRelCoor2D () const { return this->prevRelCoordinate; };
+    inline const Vector2D& getRelCoor2D () const { return this->prevRelCoordinate; };
     /** @returns the Relative Coordinate Destination */
-    inline const Vector& getRelCoorSoft2D() const { return (this->toCoordinate)?*this->toCoordinate:this->relCoordinate; };
-    const Vector& getRelCoor2Dpx() const;
-    void setAbsCoor2D (const Vector& absCoord);
-    void setAbsCoor2D (float x, float y, float depth = 1.0);
+    inline const Vector2D& getRelCoorSoft2D() const { return (this->toCoordinate)?*this->toCoordinate:this->relCoordinate; };
+    const Vector2D& getRelCoor2Dpx() const;
+    void setAbsCoor2D (const Vector2D& absCoord);
+    void setAbsCoor2D (float x, float y);
     void setAbsCoor2Dpx (int x, int y);
-    void setAbsCoorSoft2D (const Vector& absCoordSoft, float bias = 1.0);
-    void setAbsCoorSoft2D (float x, float y, float depth = 1.0, float bias = 1.0);
+    void setAbsCoorSoft2D (const Vector2D& absCoordSoft, float bias = 1.0);
+    void setAbsCoorSoft2D (float x, float y, float bias = 1.0);
     /** @returns the absolute position */
-    inline const Vector& getAbsCoor2D () const { return this->absCoordinate; };
-    const Vector& getAbsCoor2Dpx () const;
-
-    void shiftCoor2D (const Vector& shift);
+    inline const Vector2D& getAbsCoor2D () const { return this->absCoordinate; };
+    const Vector2D& getAbsCoor2Dpx () const;
+
+    void shiftCoor2D (const Vector2D& shift);
     void shiftCoor2Dpx (int x, int y);
 
@@ -177,5 +177,5 @@
     inline float getSpeed() const { return 0; };
     /** @returns the Velocity of the Node */
-    inline const Vector& getVelocity() const { return this->velocity; };
+    inline const Vector2D& getVelocity() const { return this->velocity; };
 
 
@@ -225,5 +225,5 @@
     inline void parentDirChanged2D () { this->bRelDirChanged = true; }
     /** @returns the last calculated coordinate */
-    inline Vector getLastAbsCoor2D() { return this->lastAbsCoordinate; }
+    inline Vector2D getLastAbsCoor2D() { return this->lastAbsCoordinate; }
 
     void reparent2D();
@@ -247,16 +247,16 @@
     bool                    bRelDirChanged;     //!< If Relative Direction has changed since last time we checked
 
-    Vector                  relCoordinate;      //!< coordinates relative to the parent
-    Vector                  absCoordinate;      //!< absolute coordinates in the world ( from (0,0,0) )
+    Vector2D                relCoordinate;      //!< coordinates relative to the parent
+    Vector2D                absCoordinate;      //!< absolute coordinates in the world ( from (0,0,0) )
     float                   relDirection;       //!< direction relative to the parent
     float                   absDirection;       //!< absolute diretion in the world ( from (0,0,1) )
 
-    Vector                  prevRelCoordinate;  //!< The last Relative Coordinate from the last update-Cycle.
-    Vector                  lastAbsCoordinate;  //!< this is used for speedcalculation, it stores the last coordinate
+    Vector2D                prevRelCoordinate;  //!< The last Relative Coordinate from the last update-Cycle.
+    Vector2D                lastAbsCoordinate;  //!< this is used for speedcalculation, it stores the last coordinate
     float                   prevRelDirection;   //!< The last Relative Direciton from the last update-Cycle.
 
-    Vector                  velocity;           //!< Saves the velocity.
-
-    Vector*                 toCoordinate;       //!< a position to which to iterate. (This is used in conjunction with setParentSoft.and set*CoorSoft)
+    Vector2D                velocity;           //!< Saves the velocity.
+
+    Vector2D*               toCoordinate;       //!< a position to which to iterate. (This is used in conjunction with setParentSoft.and set*CoorSoft)
     float*                  toDirection;        //!< a direction to which to iterate. (This is used in conjunction with setParentSoft and set*DirSoft)
     float                   bias;               //!< how fast to iterate to the given position (default is 1)
Index: trunk/src/lib/shell/shell.cc
===================================================================
--- trunk/src/lib/shell/shell.cc	(revision 7315)
+++ trunk/src/lib/shell/shell.cc	(revision 7316)
@@ -128,5 +128,5 @@
   EventHandler::getInstance()->withUNICODE(true);
 
-  this->setRelCoorSoft2D(0, 0, 1, 5);
+  this->setRelCoorSoft2D(0, 0, 5);
 
   list<std::string>::const_iterator textLine = --ShellBuffer::getInstance()->getBuffer().end();
@@ -157,5 +157,5 @@
   EventHandler::getInstance()->popState();
 
-  this->setRelCoorSoft2D(0, -(int)this->shellHeight, 1, 5);
+  this->setRelCoorSoft2D(0, -(int)this->shellHeight, 5);
 
   list<std::string>::const_iterator textLine = --ShellBuffer::getInstance()->getBuffer().end();
@@ -370,5 +370,5 @@
     lastText->setRelDir2D(-90);
     lastText->setRelDirSoft2D(0, 20);
-    lastText->setRelCoor2D(this->calculateLinePosition(0)- Vector(-1000,0,0));
+    lastText->setRelCoor2D(this->calculateLinePosition(0)- Vector2D(-1000,0));
     lastText->setRelCoorSoft2D(this->calculateLinePosition(0),10);
 
@@ -493,17 +493,17 @@
 
 /**
- * calculates the position of a Buffer-Display Line
+ * @brief calculates the position of a Buffer-Display Line
  * @param lineNumber the lineNumber from the bottom to calculate the position from
  * @returns the Position of the Line.
  */
-Vector Shell::calculateLinePosition(unsigned int lineNumber)
-{
-  return Vector(5, (this->textSize + this->lineSpacing)*(this->bufferDisplaySize - lineNumber - 2) + this->textSize, 0);
-}
-
-
-
-/**
- * displays some nice output from the Shell
+Vector2D Shell::calculateLinePosition(unsigned int lineNumber)
+{
+  return Vector2D(5, (this->textSize + this->lineSpacing)*(this->bufferDisplaySize - lineNumber - 2) + this->textSize);
+}
+
+
+
+/**
+ * @brief displays some nice output from the Shell
  */
 void Shell::debug() const
Index: trunk/src/lib/shell/shell.h
===================================================================
--- trunk/src/lib/shell/shell.h	(revision 7315)
+++ trunk/src/lib/shell/shell.h	(revision 7316)
@@ -80,5 +80,5 @@
   private:
     // helpers //
-    Vector calculateLinePosition(unsigned int lineNumber);
+    Vector2D calculateLinePosition(unsigned int lineNumber);
 
     //     void testI (int i);
Index: trunk/src/lib/shell/shell_buffer.cc
===================================================================
--- trunk/src/lib/shell/shell_buffer.cc	(revision 7315)
+++ trunk/src/lib/shell/shell_buffer.cc	(revision 7316)
@@ -26,5 +26,5 @@
 
 /**
- * standard constructor
+ * @brief standard constructor
  */
 ShellBuffer::ShellBuffer ()
@@ -45,5 +45,5 @@
 
 /**
- * standard deconstructor
+ * @brief standard deconstructor
  */
 ShellBuffer::~ShellBuffer ()
@@ -62,5 +62,5 @@
 
 /**
- * registers the Shell to the Buffer
+ * @brief registers the Shell to the Buffer
  * @param shell the Shell to register.
  */
@@ -74,5 +74,5 @@
 
 /**
- * unregisters the Shell from the Buffer
+ * @brief unregisters the Shell from the Buffer
  * @param shell the Shell to unregister.
  */
@@ -86,5 +86,5 @@
 
 /**
- * deletes all the Buffers
+ * @brief deletes all the Buffers
  */
 void ShellBuffer::flush()
@@ -94,5 +94,5 @@
 
 /**
- * adds a new Line to the List of Buffers
+ * @brief adds a new Line to the List of Buffers
  * @param line the Line as in the first argument in printf
  */
@@ -121,5 +121,5 @@
 
 /**
- * add a Line to the List of Buffers
+ * @brief add a Line to the List of Buffers
  * @param line
  * @param arguments
Index: trunk/src/story_entities/simple_game_menu.cc
===================================================================
--- trunk/src/story_entities/simple_game_menu.cc	(revision 7315)
+++ trunk/src/story_entities/simple_game_menu.cc	(revision 7316)
@@ -181,6 +181,5 @@
       this->menuStartGame->setBindNode((const PNode*)NULL);
       this->menuStartGame->setRelCoor2D(State::getResX() / 2.0f,
-                                        State::getResY() / 2.0f - 60.0f,
-                                        0.0f);
+                                        State::getResY() / 2.0f - 60.0f);
       this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
 
@@ -191,6 +190,5 @@
       this->menuStartMultiplayerGame->setBindNode((const PNode*)NULL);
       this->menuStartMultiplayerGame->setRelCoor2D(State::getResX() / 2.0f,
-                                                   State::getResY() / 2.0f + ((this->menuLayers[0].menuList.size() -1 ) * 60.0f),
-                                                   0.0f);
+                                                   State::getResY() / 2.0f + ((this->menuLayers[0].menuList.size() -1 ) * 60.0f));
       this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
     }
@@ -200,6 +198,5 @@
       this->menuQuitGame->setBindNode((const PNode*)NULL);
       this->menuQuitGame->setRelCoor2D(State::getResX() / 2.0f,
-                                       State::getResY() / 2.0f + ((this->menuLayers[0].menuList.size() -1 )* 60.0f),
-                                       0.0f);
+                                       State::getResY() / 2.0f + ((this->menuLayers[0].menuList.size() -1 )* 60.0f));
       this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
     }
@@ -225,5 +222,5 @@
       te->setVisibility(false);
       te->setText(se->getName());
-      te->setRelCoor2D(State::getResX() / 2.0f - 200.0f, State::getResY() / 2.0f + ((this->menuLayers[1].menuList.size() - 2.0f) * 60.0f), 0.0f);
+      te->setRelCoor2D(State::getResX() / 2.0f - 200.0f, State::getResY() / 2.0f + ((this->menuLayers[1].menuList.size() - 2.0f) * 60.0f));
       this->menuLayers[1].menuList.push_back(te);
 
@@ -233,5 +230,5 @@
       ie->setBindNode((const PNode*)NULL);
       ie->setTexture(se->getMenuScreenshoot());
-      ie->setRelCoor2D(State::getResX() / 2.0f + 250.0f, State::getResY() / 2.0f, 0.0f);
+      ie->setRelCoor2D(State::getResX() / 2.0f + 250.0f, State::getResY() / 2.0f);
       ie->setSize2D(140.0f, 105.0f);
       this->menuLayers[1].screenshootList.push_back(ie);
@@ -453,10 +450,10 @@
   if (bias > 0.0)
   {
-    this->menuSelector->setAbsCoorSoft2D(element->getAbsCoor2D() + Vector(0, element->getSizeY2D() *.5,0), bias);
+    this->menuSelector->setAbsCoorSoft2D(element->getAbsCoor2D() + Vector2D(0, element->getSizeY2D() *.5), bias);
     this->menuSelector->setSizeSoft2D(element->getSizeX2D(), element->getSizeY2D(), bias);
   }
   else
   {
-    this->menuSelector->setAbsCoor2D(element->getAbsCoor2D() + Vector(0, element->getSizeY2D() *.5,0));
+    this->menuSelector->setAbsCoor2D(element->getAbsCoor2D() + Vector2D(0, element->getSizeY2D() *.5));
     this->menuSelector->setSize2D(element->getSizeX2D(), element->getSizeY2D());
   }
