Index: /code/branches/FICN/src/orxonox/objects/Projectile.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/Projectile.cc	(revision 643)
+++ /code/branches/FICN/src/orxonox/objects/Projectile.cc	(revision 644)
@@ -24,4 +24,5 @@
             this->setOrientation(this->owner_->getOrientation());
             this->setPosition(this->owner_->getPosition());
+            this->translate(Vector3(55, 0, 0), Ogre::Node::TS_LOCAL);
             this->setVelocity(Vector3(1, 0, 0) * this->speed_);
         }
Index: /code/branches/FICN/src/orxonox/objects/SpaceShip.cc
===================================================================
--- /code/branches/FICN/src/orxonox/objects/SpaceShip.cc	(revision 643)
+++ /code/branches/FICN/src/orxonox/objects/SpaceShip.cc	(revision 644)
@@ -49,5 +49,8 @@
 
         this->setMouseEventCallback_ = false;
-        this->bMousePressed_ = false;
+        this->bLMousePressed_ = false;
+        this->bRMousePressed_ = false;
+
+        this->camNode_ = 0;
 
         this->tt_ = 0;
@@ -140,7 +143,7 @@
         this->greenBillboard_.setBillboardSet("Examples/Flare", ColourValue(0.0, 1.0, 0.0), 1);
 
-        this->redNode_ = this->getNode()->createChildSceneNode(this->getName() + "red", Vector3(0.1, 4.6, -0.3));
+        this->redNode_ = this->getNode()->createChildSceneNode(this->getName() + "red", Vector3(0.3, 4.7, -0.3));
         this->redNode_->setInheritScale(false);
-        this->greenNode_ = this->getNode()->createChildSceneNode(this->getName() + "green", Vector3(0.1, -4.6, -0.3));
+        this->greenNode_ = this->getNode()->createChildSceneNode(this->getName() + "green", Vector3(0.3, -4.7, -0.3));
         this->greenNode_->setInheritScale(false);
 
@@ -171,5 +174,5 @@
     	{
             Ogre::Camera *cam = Orxonox::getSingleton()->getSceneManager()->createCamera("ShipCam");
-            Ogre::SceneNode *node = this->getNode()->createChildSceneNode("CamNode");
+            this->camNode_ = this->getNode()->createChildSceneNode("CamNode");
 /*
 //            node->setInheritOrientation(false);
@@ -184,5 +187,5 @@
             cam->roll(Degree(-90));
 
-            node->attachObject(cam);
+            this->camNode_->attachObject(cam);
             Orxonox::getSingleton()->getOgrePointer()->getRoot()->getAutoCreatedWindow()->addViewport(cam);
     	}
@@ -203,4 +206,10 @@
         this->moved = true;
 
+        if (this->bRMousePressed_)
+        {
+            this->camNode_->roll(Degree(-e.state.X.rel * 0.10));
+            this->camNode_->yaw(Degree(e.state.Y.rel * 0.10));
+        }
+
         return true;
     }
@@ -208,5 +217,8 @@
     bool SpaceShip::mousePressed(const OIS::MouseEvent &e, OIS::MouseButtonID id)
     {
-        this->bMousePressed_ = true;
+        if (id == OIS::MB_Left)
+            this->bLMousePressed_ = true;
+        else if (id == OIS::MB_Right)
+            this->bRMousePressed_ = true;
 
         return true;
@@ -215,5 +227,13 @@
     bool SpaceShip::mouseReleased(const OIS::MouseEvent &e, OIS::MouseButtonID id)
     {
-        this->bMousePressed_ = false;
+        if (id == OIS::MB_Left)
+            this->bLMousePressed_ = false;
+        else if (id == OIS::MB_Right)
+        {
+            this->bRMousePressed_ = false;
+            this->camNode_->resetOrientation();
+        }
+
+        return true;
     }
 
@@ -245,5 +265,5 @@
             this->timeToReload_ = 0;
 
-        if (this->bMousePressed_ && this->timeToReload_ <= 0)
+        if (this->bLMousePressed_ && this->timeToReload_ <= 0)
         {
             Projectile* proj = new Projectile(this);
Index: /code/branches/FICN/src/orxonox/objects/SpaceShip.h
===================================================================
--- /code/branches/FICN/src/orxonox/objects/SpaceShip.h	(revision 643)
+++ /code/branches/FICN/src/orxonox/objects/SpaceShip.h	(revision 644)
@@ -43,5 +43,8 @@
             bool bInvertMouse_;
             bool setMouseEventCallback_;
-            bool bMousePressed_;
+            bool bLMousePressed_;
+            bool bRMousePressed_;
+
+            Ogre::SceneNode* camNode_;
 
             particle::ParticleInterface *tt_;
