Index: branches/network/src/story_entities/network_world.cc
===================================================================
--- branches/network/src/story_entities/network_world.cc	(revision 6068)
+++ branches/network/src/story_entities/network_world.cc	(revision 6069)
@@ -75,14 +75,14 @@
 
 
-SHELL_COMMAND(speed, World, setSpeed);
-SHELL_COMMAND(togglePNodeVisibility, World, togglePNodeVisibility);
-SHELL_COMMAND(toggleBVVisibility, World, toggleBVVisibility);
+SHELL_COMMAND(speed, NetworkWorld, setSpeed);
+SHELL_COMMAND(togglePNodeVisibility, NetworkWorld, togglePNodeVisibility);
+SHELL_COMMAND(toggleBVVisibility, NetworkWorld, toggleBVVisibility);
 
 using namespace std;
 
-//! This creates a Factory to fabricate a World
-CREATE_FACTORY(World, CL_WORLD);
-
-World::World(const TiXmlElement* root)
+//! This creates a Factory to fabricate a NetworkWorld
+CREATE_FACTORY(NetworkWorld, CL_WORLD);
+
+NetworkWorld::NetworkWorld(const TiXmlElement* root)
 {
   this->constuctorInit("", -1);
@@ -93,9 +93,9 @@
 
 /**
-  *  create a new World
+  *  create a new NetworkWorld
 
     This creates a new empty world!
 */
-World::World (const char* name)
+NetworkWorld::NetworkWorld (const char* name)
 {
   this->path = NULL;
@@ -104,8 +104,8 @@
 
 /**
- *  creates a new World...
+ *  creates a new NetworkWorld...
  * @param worldID with this ID
 */
-World::World (int worldID)
+NetworkWorld::NetworkWorld (int worldID)
 {
   this->path = NULL;
@@ -114,16 +114,16 @@
 
 /**
- *  remove the World from memory
+ *  remove the NetworkWorld from memory
 
     delete everything explicitly, that isn't contained in the parenting tree!
     things contained in the tree are deleted automaticaly
  */
-World::~World ()
+NetworkWorld::~NetworkWorld ()
 {
   delete this->shell;
-  PRINTF(3)("World::~World() - deleting current world\n");
-
-
-  // here everything that is alocated by the World is deleted
+  PRINTF(3)("NetworkWorld::~NetworkWorld() - deleting current world\n");
+
+
+  // here everything that is alocated by the NetworkWorld is deleted
   delete this->entities;
   State::setWorldEntityList(NULL);
@@ -165,10 +165,10 @@
  * NO LEVEL LOADING HERE - NEVER!
 */
-void World::constuctorInit(const char* name, int worldID)
-{
-  this->setClassID(CL_WORLD, "World");
+void NetworkWorld::constuctorInit(const char* name, int worldID)
+{
+  this->setClassID(CL_WORLD, "NetworkWorld");
 
   this->setName(name);
-  this->debugWorldNr = worldID;
+  this->debugNetworkWorldNr = worldID;
   this->gameTime = 0.0f;
   this->setSpeed(1.0);
@@ -184,19 +184,19 @@
 
 /**
- * loads the parameters of a World from an XML-element
+ * loads the parameters of a NetworkWorld from an XML-element
  * @param root the XML-element to load from
  */
-void World::loadParams(const TiXmlElement* root)
-{
-  PRINTF(4)("Creating a World\n");
-
-  LoadParam(root, "identifier", this, World, setStoryID)
+void NetworkWorld::loadParams(const TiXmlElement* root)
+{
+  PRINTF(4)("Creating a NetworkWorld\n");
+
+  LoadParam(root, "identifier", this, NetworkWorld, setStoryID)
     .describe("Sets the StoryID of this world");
 
-  LoadParam(root, "nextid", this, World, setNextStoryID)
+  LoadParam(root, "nextid", this, NetworkWorld, setNextStoryID)
     .describe("Sets the ID of the next world");
 
-  LoadParam(root, "path", this, World, setPath)
-    .describe("The Filename of this World (relative from the data-dir)");
+  LoadParam(root, "path", this, NetworkWorld, setPath)
+    .describe("The Filename of this NetworkWorld (relative from the data-dir)");
 }
 
@@ -207,5 +207,5 @@
  * before the load and after the proceeding storyentity has finished
 */
-ErrorMessage World::preLoad()
+ErrorMessage NetworkWorld::preLoad()
 {
   State::setWorldEntityList(this->entities = new tList<WorldEntity>());
@@ -223,5 +223,5 @@
 
   this->localCamera = new Camera();
-  this->localCamera->setName ("World-Camera");
+  this->localCamera->setName ("NetworkWorld-Camera");
 
   State::setCamera(this->localCamera, this->localCamera->getTarget());
@@ -234,7 +234,7 @@
 
 /**
- *  loads the World by initializing all resources, and set their default values.
-*/
-ErrorMessage World::load()
+ *  loads the NetworkWorld by initializing all resources, and set their default values.
+*/
+ErrorMessage NetworkWorld::load()
 {
   PRINTF(3)("> Loading world: '%s'\n", getPath());
@@ -244,7 +244,7 @@
   if( getPath() == NULL)
     {
-      PRINTF(1)("World has no path specified for loading");
-      this->loadDebugWorld(this->getStoryID());
-      return (ErrorMessage){213,"Path not specified","World::load()"};
+      PRINTF(1)("NetworkWorld has no path specified for loading");
+      this->loadDebugNetworkWorld(this->getStoryID());
+      return (ErrorMessage){213,"Path not specified","NetworkWorld::load()"};
     }
 
@@ -256,5 +256,5 @@
     PRINTF(1)("loading XML File: %s @ %s:l%d:c%d\n", XMLDoc->ErrorDesc(), this->getPath(), XMLDoc->ErrorRow(), XMLDoc->ErrorCol());
     delete XMLDoc;
-    return (ErrorMessage){213,"XML File parsing error","World::load()"};
+    return (ErrorMessage){213,"XML File parsing error","NetworkWorld::load()"};
   }
 
@@ -268,6 +268,7 @@
       PRINTF(1)("Specified XML File is not an orxonox world data file (WorldDataFile element missing)\n");
       delete XMLDoc;
-      return (ErrorMessage){213,"Path not a WorldDataFile","World::load()"};
-    }
+      return (ErrorMessage){213,"Path not a WorldDataFile","NetworkWorld::load()"};
+    }
+
 
   // load the parameters
@@ -283,4 +284,5 @@
       this->setName(string);
     }
+
 
   ////////////////
@@ -303,13 +305,54 @@
   this->glmis->draw();
 
+
+
+  ////////////////////////////
+  // Loading Spawning Point //
+  ////////////////////////////
+  element = root->FirstChildElement("SpawningPoints");
+  if( element == NULL)
+  {
+    PRINTF(1)("NetworkWorld is missing 'SpawningPoints'\n");
+  }
+  else
+  {
+    element = element->FirstChildElement();
+      // load Players/Objects/Whatever
+    PRINTF(4)("Loading Spawning Points\n");
+    while( element != NULL)
+    {
+      BaseObject* created = Factory::fabricate(element);
+      if( created != NULL )
+      {
+        if(created->isA(CL_WORLD_ENTITY))
+          this->spawn(dynamic_cast<WorldEntity*>(created));
+        printf("Created a Spawning Point %s: %s\n", created->getClassName(), created->getName());
+      }
+
+          // if we load a 'Player' we use it as localPlayer
+
+
+          //todo do this more elegant
+      if( element->Value() != NULL && !strcmp( element->Value(), "SkyBox"))
+        sky = dynamic_cast<SkyBox*>(created);
+      if( element->Value() != NULL && !strcmp( element->Value(), "Terrain"))
+      {
+        terrain = dynamic_cast<Terrain*>(created);
+        CDEngine::getInstance()->setTerrain(terrain);
+      }
+      element = element->NextSiblingElement();
+      glmis->step(); //! @todo temporary
+    }
+    PRINTF(4)("Done loading NetworkWorldEntities\n");
+  }
+
+
   ////////////////////////
   // find WorldEntities //
   ////////////////////////
-
   element = root->FirstChildElement("WorldEntities");
-
   if( element == NULL)
     {
-      PRINTF(1)("World is missing 'WorldEntities'\n");
+      PRINTF(1)("NetworkWorld is missing 'WorldEntities'\n");
     }
   else
@@ -317,5 +360,5 @@
       element = element->FirstChildElement();
       // load Players/Objects/Whatever
-      PRINTF(4)("Loading WorldEntities\n");
+      PRINTF(4)("Loading NetworkWorldEntities\n");
       while( element != NULL)
         {
@@ -342,5 +385,5 @@
           glmis->step(); //! @todo temporary
         }
-      PRINTF(4)("Done loading WorldEntities\n");
+      PRINTF(4)("Done loading NetworkWorldEntities\n");
     }
 
@@ -424,5 +467,5 @@
  * creates a debug world: only for experimental stuff
 */
-void World::loadDebugWorld(int worldID)
+void NetworkWorld::loadDebugNetworkWorld(int worldID)
 {
   /*monitor progress*/
@@ -435,5 +478,5 @@
   LightManager::getInstance()->debug();
 
-  switch(this->debugWorldNr)
+  switch(this->debugNetworkWorldNr)
     {
       /*
@@ -491,10 +534,10 @@
 
 /**
- *  initializes a new World shortly before start
+ *  initializes a new NetworkWorld shortly before start
  *
  * this is the function, that will be loaded shortly before the world is
  * started
 */
-ErrorMessage World::init()
+ErrorMessage NetworkWorld::init()
 {
   this->bPause = false;
@@ -508,9 +551,9 @@
 
 /**
- *  starts the World
-*/
-ErrorMessage World::start()
-{
-  PRINTF(3)("World::start() - starting current World: nr %i\n", this->debugWorldNr);
+ *  starts the NetworkWorld
+*/
+ErrorMessage NetworkWorld::start()
+{
+  PRINTF(3)("NetworkWorld::start() - starting current NetworkWorld: nr %i\n", this->debugNetworkWorldNr);
   this->bQuitOrxonox = false;
   this->bQuitCurrentGame = false;
@@ -523,7 +566,7 @@
    This happens, when the player decides to end the Level.
 */
-ErrorMessage World::stop()
-{
-  PRINTF(3)("World::stop() - got stop signal\n");
+ErrorMessage NetworkWorld::stop()
+{
+  PRINTF(3)("NetworkWorld::stop() - got stop signal\n");
   this->bQuitCurrentGame = true;
 }
@@ -532,5 +575,5 @@
  *  pauses the Game
 */
-ErrorMessage World::pause()
+ErrorMessage NetworkWorld::pause()
 {
   this->isPaused = true;
@@ -540,5 +583,5 @@
  *  ends the pause Phase
 */
-ErrorMessage World::resume()
+ErrorMessage NetworkWorld::resume()
 {
   this->isPaused = false;
@@ -546,7 +589,7 @@
 
 /**
- *  destroys the World
-*/
-ErrorMessage World::destroy()
+ *  destroys the NetworkWorld
+*/
+ErrorMessage NetworkWorld::destroy()
 {
 
@@ -556,7 +599,7 @@
  *  shows the loading screen
 */
-void World::displayLoadScreen ()
-{
-  PRINTF(3)("World::displayLoadScreen - start\n");
+void NetworkWorld::displayLoadScreen ()
+{
+  PRINTF(3)("NetworkWorld::displayLoadScreen - start\n");
 
   //GLMenuImageScreen*
@@ -564,5 +607,5 @@
   this->glmis->setMaximum(8);
 
-  PRINTF(3)("World::displayLoadScreen - end\n");
+  PRINTF(3)("NetworkWorld::displayLoadScreen - end\n");
 }
 
@@ -572,9 +615,9 @@
    @todo take out the delay
 */
-void World::releaseLoadScreen ()
-{
-  PRINTF(3)("World::releaseLoadScreen - start\n");
+void NetworkWorld::releaseLoadScreen ()
+{
+  PRINTF(3)("NetworkWorld::releaseLoadScreen - start\n");
   this->glmis->setValue(this->glmis->getMaximum());
-  PRINTF(3)("World::releaseLoadScreen - end\n");
+  PRINTF(3)("NetworkWorld::releaseLoadScreen - end\n");
   delete this->glmis;
 }
@@ -585,5 +628,5 @@
  * @returns entity list
 */
-tList<WorldEntity>* World::getEntities()
+tList<WorldEntity>* NetworkWorld::getEntities()
 {
   return this->entities;
@@ -595,5 +638,5 @@
  * @returns elapsed game time
 */
-double World::getGameTime()
+double NetworkWorld::getGameTime()
 {
   return this->gameTime;
@@ -605,7 +648,7 @@
    the current class/procedure
 */
-void World::debug()
-{
-  PRINTF(0)("Printing out the List of alive WorldEntities:\n");
+void NetworkWorld::debug()
+{
+  PRINTF(0)("Printing out the List of alive NetworkWorldEntities:\n");
   tIterator<WorldEntity>* iterator = this->entities->getIterator();
   WorldEntity* entity = iterator->firstElement();
@@ -626,13 +669,13 @@
   collisions drawing everything to the screen.
 */
-void World::mainLoop()
+void NetworkWorld::mainLoop()
 {
   this->lastFrame = SDL_GetTicks ();
-  PRINTF(3)("World::mainLoop() - Entering main loop\n");
+  PRINTF(3)("NetworkWorld::mainLoop() - Entering main loop\n");
 
   while( !this->bQuitOrxonox && !this->bQuitCurrentGame) /* @todo implement pause */
     {
       ++this->cycle;
-      PRINTF(4)("World::mainloop() - number of entities: %i\n", this->entities->getSize());
+      PRINTF(4)("NetworkWorld::mainloop() - number of entities: %i\n", this->entities->getSize());
       // Network
       this->synchronize ();
@@ -651,5 +694,5 @@
     }
 
-  PRINTF(3)("World::mainLoop() - Exiting the main loop\n");
+  PRINTF(3)("NetworkWorld::mainLoop() - Exiting the main loop\n");
 }
 
@@ -658,5 +701,5 @@
  *  synchronize local data with remote data
 */
-void World::synchronize ()
+void NetworkWorld::synchronize ()
 {
   // Get remote input
@@ -672,5 +715,5 @@
    sdl and has its own event-passing-queue.
 */
-void World::handleInput ()
+void NetworkWorld::handleInput ()
 {
   EventHandler::getInstance()->process();
@@ -687,5 +730,5 @@
    a heart-beat.
 */
-void World::tick ()
+void NetworkWorld::tick ()
 {
   Uint32 currentFrame = SDL_GetTicks();
@@ -755,5 +798,5 @@
    state to the whole system.
 */
-void World::update()
+void NetworkWorld::update()
 {
   GarbageCollector::getInstance()->update();
@@ -766,5 +809,5 @@
 
 
-void World::collide()
+void NetworkWorld::collide()
 {
   CDEngine::getInstance()->checkCollisions();
@@ -776,5 +819,5 @@
    clear all buffers and draw the world
 */
-void World::display ()
+void NetworkWorld::display ()
 {
   // clear buffer
@@ -796,5 +839,5 @@
  *  runs through all entities calling their draw() methods
  */
-void World::draw ()
+void NetworkWorld::draw ()
 {
   /* draw entities */
@@ -826,5 +869,5 @@
  * @param entity to be added
 */
-void World::spawn(WorldEntity* entity)
+void NetworkWorld::spawn(WorldEntity* entity)
 {
   this->entities->add (entity);
@@ -839,5 +882,5 @@
  * @param absDir In which direction should it look.
 */
-void World::spawn(WorldEntity* entity, Vector* absCoor, Quaternion* absDir)
+void NetworkWorld::spawn(WorldEntity* entity, Vector* absCoor, Quaternion* absDir)
 {
   this->entities->add (entity);
@@ -857,5 +900,5 @@
  * @param In which relative direction should it look.
 */
-void World::spawn(WorldEntity* entity, PNode* parentNode,
+void NetworkWorld::spawn(WorldEntity* entity, PNode* parentNode,
                   Vector* relCoor, Quaternion* relDir)
 {
@@ -873,5 +916,5 @@
 }
 
-void World::setPath( const char* name)
+void NetworkWorld::setPath( const char* name)
 {
   if (this->path)
@@ -889,5 +932,5 @@
 }
 
-const char* World::getPath( void)
+const char* NetworkWorld::getPath( void)
 {
   return path;
Index: branches/network/src/story_entities/network_world.h
===================================================================
--- branches/network/src/story_entities/network_world.h	(revision 6068)
+++ branches/network/src/story_entities/network_world.h	(revision 6069)
@@ -12,5 +12,5 @@
 #include "p_node.h"
 
-class World;
+class NetworkWorld;
 class WorldEntity;
 class Camera;
@@ -30,11 +30,11 @@
    it is the main driving factor during gameplay.
 */
-class World : public StoryEntity {
+class NetworkWorld : public StoryEntity {
 
  public:
-  World (const char* name);
-  World (int worldID);
-  World (const TiXmlElement* root = NULL);
-  virtual ~World ();
+  NetworkWorld (const char* name);
+  NetworkWorld (int worldID);
+  NetworkWorld (const TiXmlElement* root = NULL);
+  virtual ~NetworkWorld ();
 
   void loadParams(const TiXmlElement* root);
@@ -52,5 +52,5 @@
   virtual ErrorMessage destroy ();
 
-  void loadDebugWorld(int worldID);
+  void loadDebugNetworkWorld(int worldID);
 
   virtual void displayLoadScreen();
@@ -105,5 +105,5 @@
     GLMenuImageScreen* glmis;           //!< The Level-Loader Display
 
-    int debugWorldNr;                   //!< The Debug Nr. needed, if something goes wrong
+    int debugNetworkWorldNr;                   //!< The Debug Nr. needed, if something goes wrong
     char* path;                         //!< The file from which this world is loaded
 
@@ -114,5 +114,5 @@
     Camera* localCamera;                //!< The current Camera
     WorldEntity* sky;                   //!< The Environmental Heaven of orxonox @todo insert this to environment insted
-    Terrain* terrain;                   //!< The Terrain of the World.
+    Terrain* terrain;                   //!< The Terrain of the NetworkWorld.
 
     GLuint objectList;                  //!< temporary: @todo this will be ereased soon
Index: branches/network/src/world_entities/camera.h
===================================================================
--- branches/network/src/world_entities/camera.h	(revision 6068)
+++ branches/network/src/world_entities/camera.h	(revision 6069)
@@ -8,5 +8,4 @@
 
 #include "p_node.h"
-#include "vector.h"
 #include "event_listener.h"
 
