Index: code/branches/main_reto/include/CameraManager.h
===================================================================
--- code/branches/main_reto/include/CameraManager.h	(revision 126)
+++ code/branches/main_reto/include/CameraManager.h	(revision 126)
@@ -0,0 +1,22 @@
+#ifndef __CameraManager__
+#define __CameraManager__
+
+#include "Ogre.h"
+
+using namespace Ogre;
+
+class CameraManager
+{
+public:
+	CameraManager(SceneManager*);
+	~CameraManager();
+
+	bool setCameraPosition(int);
+
+protected:
+	SceneManager *mSceneMgr;
+	Camera *mCamera;
+};
+
+
+#endif
Index: code/branches/main_reto/include/OrxonoxShip.cpp
===================================================================
--- code/branches/main_reto/include/OrxonoxShip.cpp	(revision 126)
+++ code/branches/main_reto/include/OrxonoxShip.cpp	(revision 126)
@@ -0,0 +1,18 @@
+#include "OrxonoxShip.h"
+
+
+OrxonoxShip::OrxonoxShip(const Ogre::String name, Ogre::MeshPtr &mesh)
+	: Entity(name, mesh)
+{
+}
+
+
+OrxonoxShip::~OrxonoxShip()
+{
+}
+
+
+bool OrxonoxShip::initialise()
+{
+	return true;
+}
Index: code/branches/main_reto/include/OrxonoxShip.h
===================================================================
--- code/branches/main_reto/include/OrxonoxShip.h	(revision 126)
+++ code/branches/main_reto/include/OrxonoxShip.h	(revision 126)
@@ -0,0 +1,20 @@
+#ifndef __OrxonoxShip__
+#define __OrxonoxShip__
+
+#include "Ogre.h"
+
+using namespace Ogre;
+
+class OrxonoxShip : public Entity
+{
+public:
+	OrxonoxShip(const Ogre::String, Ogre::MeshPtr&);
+	virtual ~OrxonoxShip();
+
+	virtual bool initialise();
+
+protected:
+};
+
+
+#endif
Index: code/branches/main_reto/include/RunManager.h
===================================================================
--- code/branches/main_reto/include/RunManager.h	(revision 125)
+++ code/branches/main_reto/include/RunManager.h	(revision 126)
@@ -8,4 +8,6 @@
 #include "OgreControl.h"
 #include "OrxonoxScene.h"
+#include "OrxonoxShip.h"
+#include "SteerableNode.h"
 
 //Use this define to signify OIS will be used as a DLL
@@ -31,9 +33,11 @@
 	OgreControl  *mOgre;
 
-	// these objects are meant to be static in existance.
+	SceneManager *mSceneMgr;
+	RenderWindow* mWindow;
+
 	OrxonoxScene *mScene;
-	SceneManager *mSceneMgr;
 	Camera* mCamera;
-	RenderWindow* mWindow;
+	SteerableNode *mShipNode;
+	OrxonoxShip *mShip;
 
 	Vector3 mTranslateVector;
Index: code/branches/main_reto/include/SteerableNode.h
===================================================================
--- code/branches/main_reto/include/SteerableNode.h	(revision 126)
+++ code/branches/main_reto/include/SteerableNode.h	(revision 126)
@@ -0,0 +1,22 @@
+#ifndef __SteerableNode__
+#define __SteerableNode__
+
+#include "Ogre.h"
+
+using namespace Ogre;
+
+class SteerableNode : public SceneNode
+{
+public:
+	SteerableNode(SceneManager*, const Ogre::String&);
+	SteerableNode(SceneManager*);
+	virtual ~SteerableNode();
+
+	virtual bool initialise();
+
+protected:
+	SceneNode *mNode;
+};
+
+
+#endif
Index: code/branches/main_reto/src/CameraManager.cpp
===================================================================
--- code/branches/main_reto/src/CameraManager.cpp	(revision 126)
+++ code/branches/main_reto/src/CameraManager.cpp	(revision 126)
@@ -0,0 +1,17 @@
+#include "CameraManager.h"
+
+
+CameraManager::CameraManager(SceneManager *mScene) : mSceneMgr(mSceneMgr)
+{
+}
+
+
+CameraManager::~CameraManager()
+{
+}
+
+
+bool CameraManager::setCameraPosition(int n)
+{
+	return true;
+}
Index: code/branches/main_reto/src/RunManager.cpp
===================================================================
--- code/branches/main_reto/src/RunManager.cpp	(revision 125)
+++ code/branches/main_reto/src/RunManager.cpp	(revision 126)
@@ -11,13 +11,24 @@
 mInputManager(0), mMouse(0), mKeyboard(0), mJoy(0)
 {
-	// create new scene
+	// create new SceneManger
 	mSceneMgr = mOgre->getRoot()->createSceneManager(ST_GENERIC,"mScene");
+
+
+	// create various objects
+	// background scene
 	mScene = new OrxonoxScene(mSceneMgr);
-
 	// create camera and viewport
 	createCamera();
 	createViewports();
-
 	mScene->initialise();
+
+	// create a steerable SceneNode for the spaceship to be attached to
+	/*mShipNode = new SteerableNode(mSceneMgr, "shipNode");
+	mShipNode->setPosition(Vector3(20, 20, 20));
+	mSceneMgr->getRootSceneNode()->addChild(mShipNode);*/
+
+	// spaceship
+	/*mShip = static_cast<OrxonoxShip*>(mSceneMgr->createEntity("ship", "ninja.mesh"));
+	mShipNode->attachObject(mShip);*/
 
 
@@ -65,4 +76,10 @@
 	if (mScene)
 		delete mScene;
+
+	/*if (mShipNode)
+		delete mShipNode;
+
+	if (mShip)
+		delete mShip;*/
 }
 
Index: code/branches/main_reto/src/SteerableNode.cpp
===================================================================
--- code/branches/main_reto/src/SteerableNode.cpp	(revision 126)
+++ code/branches/main_reto/src/SteerableNode.cpp	(revision 126)
@@ -0,0 +1,24 @@
+#include "SteerableNode.h"
+
+
+SteerableNode::SteerableNode(SceneManager *creator, const Ogre::String &name) : SceneNode(creator, name)
+{
+
+}
+
+
+SteerableNode::SteerableNode(SceneManager *creator) : SceneNode(creator)
+{
+
+}
+
+
+SteerableNode::~SteerableNode()
+{
+}
+
+
+bool SteerableNode::initialise()
+{
+	return true;
+}
Index: code/branches/main_reto/weapon_framework/weapon_framework.vcproj
===================================================================
--- code/branches/main_reto/weapon_framework/weapon_framework.vcproj	(revision 125)
+++ code/branches/main_reto/weapon_framework/weapon_framework.vcproj	(revision 126)
@@ -184,4 +184,8 @@
 			>
 			<File
+				RelativePath="..\src\CameraManager.cpp"
+				>
+			</File>
+			<File
 				RelativePath="..\src\main.cpp"
 				>
@@ -200,5 +204,13 @@
 			</File>
 			<File
+				RelativePath="..\include\OrxonoxShip.cpp"
+				>
+			</File>
+			<File
 				RelativePath="..\src\RunManager.cpp"
+				>
+			</File>
+			<File
+				RelativePath="..\src\SteerableNode.cpp"
 				>
 			</File>
@@ -210,4 +222,8 @@
 			>
 			<File
+				RelativePath="..\include\CameraManager.h"
+				>
+			</File>
+			<File
 				RelativePath="..\include\OgreControl.h"
 				>
@@ -222,5 +238,13 @@
 			</File>
 			<File
+				RelativePath="..\include\OrxonoxShip.h"
+				>
+			</File>
+			<File
 				RelativePath="..\include\RunManager.h"
+				>
+			</File>
+			<File
+				RelativePath="..\include\SteerableNode.h"
 				>
 			</File>
