Index: /trunk/src/story_entities/game_world.cc
===================================================================
--- /trunk/src/story_entities/game_world.cc	(revision 6838)
+++ /trunk/src/story_entities/game_world.cc	(revision 6839)
@@ -113,7 +113,4 @@
   LoadParam(root, "path", this, GameWorld, setPath)
       .describe("The Filename of this GameWorld (relative from the data-dir)");
-  LoadParam(root, "menu-entry", this, GameWorld, addToGameMenu)
-      .describe("If this entry is 1, the world is contained in the SimpleGameMenu");
-
 
 //   LoadParam(root, "soundtrack", this->dataTank, GameWorldData, setSoundTrack);
Index: /trunk/src/story_entities/game_world.h
===================================================================
--- /trunk/src/story_entities/game_world.h	(revision 6838)
+++ /trunk/src/story_entities/game_world.h	(revision 6839)
@@ -55,8 +55,5 @@
     void toggleBVVisibility() { this->showBV = !this->showBV; };
 
-    /** toggle the menu visibility: SimpleMenu specific */
-    inline void addToGameMenu(int toggle) { this->bMenuEntry = (bool)toggle; }
-    /** @returns true if the GameWorld should be contained in the SimpleMenu: SimpleMenu specific */
-    inline bool isContainedInMenu() { return this->bMenuEntry; }
+
 
 
@@ -98,6 +95,4 @@
     /* external modules interfaces */
     Shell*              shell;
-
-    bool                bMenuEntry;                   //!< If true, this GameWorld apears in the SimpleMenu: SimpleMenu specific
 };
 
Index: /trunk/src/story_entities/simple_game_menu.cc
===================================================================
--- /trunk/src/story_entities/simple_game_menu.cc	(revision 6838)
+++ /trunk/src/story_entities/simple_game_menu.cc	(revision 6839)
@@ -56,4 +56,5 @@
   this->cameraVector = Vector(50.0, 0.0, 0.0);
   this->menuLayer.push_back(new MenuLayer());
+  this->menuLayer.push_back(new MenuLayer());
   this->layerIndex = 0;
 
@@ -150,4 +151,18 @@
   this->menuSelected = this->menuLayer[0]->menuList[this->menuSelectedIndex];
   this->menuSelector->setAbsCoor(this->menuSelected->getAbsCoor());
+
+
+  // loading the storyentities submenu (singleplayer)
+  const std::list<BaseObject*>* storyEntities = ClassList::getList(CL_STORY_ENTITY);
+  std::list<BaseObject*>::const_iterator it;
+  for( it = storyEntities->begin(); it != storyEntities->end(); it++)
+  {
+    StoryEntity* se = dynamic_cast<StoryEntity*>(*it);
+    if( se->isContainedInMenu())
+    {
+      this->menuLayer[1]->storyList.push_back(se);
+      PRINTF(0)("Got a new menu entry |%s|\n", se->getName());
+    }
+  }
 }
 
@@ -217,4 +232,5 @@
 void SimpleGameMenu::process(const Event &event)
 {
+  /* ----------------- LAYER 1 ---------------*/
   if( this->layerIndex == 0)
   {
@@ -230,7 +246,7 @@
         //this->stop();
         // switch to first submenu
-        if( this->menuLayer[1] == NULL)
+        if( this->menuLayer[1]->menuList.size() == 0)
         {
-          PRINTF(1)("Haven't got any Story Entities to play!\n");
+          PRINTF(1)("Haven't got any StoryEntities to play!\n");
           return;
         }
@@ -257,5 +273,5 @@
       }
     }
-  }
+  }  /* ----------------- LAYER 2 ---------------*/
   else if( this->layerIndex == 1)
   {
Index: /trunk/src/story_entities/simple_game_menu.h
===================================================================
--- /trunk/src/story_entities/simple_game_menu.h	(revision 6838)
+++ /trunk/src/story_entities/simple_game_menu.h	(revision 6839)
@@ -30,4 +30,5 @@
   public:
     std::vector<ImageEntity*>         menuList;                        //!< the list of the menu items
+    std::vector<StoryEntity*>         storyList;                       //!< the list of the StoryEntities for the menu
 };
 
Index: /trunk/src/story_entities/story_entity.cc
===================================================================
--- /trunk/src/story_entities/story_entity.cc	(revision 6838)
+++ /trunk/src/story_entities/story_entity.cc	(revision 6839)
@@ -40,6 +40,7 @@
 
   this->storyID = -1;
-  this->name = NULL;
+  this->description = NULL;
   this->nextStoryID = WORLD_ID_GAMEEND;
+  this->bMenuEntry = false;
 }
 
@@ -66,10 +67,9 @@
       .describe("Sets the ID of the next StoryEntity");
 
-  LoadParam(root, "name", this, StoryEntity, setName)
-      .describe("Sets the name of this StoryEntity");
-
   LoadParam(root, "description", this, StoryEntity, setDescription)
       .describe("Sets the description of this StoryEntity");
 
+  LoadParam(root, "menu-entry", this, StoryEntity, addToGameMenu)
+      .describe("If this entry is 1, the world is contained in the SimpleGameMenu");
 
   PRINTF(4)("Loaded StoryEntity specific stuff\n");
Index: /trunk/src/story_entities/story_entity.h
===================================================================
--- /trunk/src/story_entities/story_entity.h	(revision 6838)
+++ /trunk/src/story_entities/story_entity.h	(revision 6839)
@@ -67,12 +67,12 @@
   /**  gets the story id of the current entity @returns story id */
   inline int getNextStoryID() { return this->nextStoryID; }
-  /** sets the name of this StoryEntity @param name name */
-  inline void setName(const char* name) { this->name = name; }
-  /** @returns the name of this StoryEntity */
-  inline const char* getName() { return this->name; }
   /** sets the descroption of this StoryEntity @param name name */
   inline void setDescription(const char* description) { this->description = description; }
   /** @returns the description of this StoryEntity */
   inline const char* getDescription() { return this->description; }
+  /** toggle the menu visibility: SimpleMenu specific */
+  inline void addToGameMenu(int toggle) { this->bMenuEntry = (bool)toggle; }
+  /** @returns true if the GameWorld should be contained in the SimpleMenu: SimpleMenu specific */
+  inline bool isContainedInMenu() { return this->bMenuEntry; }
 
 
@@ -86,6 +86,6 @@
     int storyID;            //!< this is the number of this entity, identifying it in a list/tree...
     int nextStoryID;        //!< if this entity has finished, this entity shall be called
-    const char* name;       //!< name of this StoryEntity
     const char* description;//!< the description of the StoryEntity
+    bool        bMenuEntry; //!< If true, this GameWorld apears in the SimpleMenu: SimpleMenu specific
 };
 
