Index: /branches/proxy/src/lib/graphics/effects/lightning_effect.cc
===================================================================
--- /branches/proxy/src/lib/graphics/effects/lightning_effect.cc	(revision 9353)
+++ /branches/proxy/src/lib/graphics/effects/lightning_effect.cc	(revision 9354)
@@ -130,6 +130,4 @@
 
     //load sound
-    if (this->thunderBuffer != NULL)
-        ResourceManager::getInstance()->unload(this->thunderBuffer);
     this->thunderBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/atmosphere/thunder.wav", WAV);
 
Index: /branches/proxy/src/story_entities/Makefile.am
===================================================================
--- /branches/proxy/src/story_entities/Makefile.am	(revision 9353)
+++ /branches/proxy/src/story_entities/Makefile.am	(revision 9354)
@@ -13,5 +13,4 @@
 		story_entities/multi_player_world_data.cc \
 		story_entities/movie_loader.cc \
-		story_entities/simple_game_menu.cc \
 		\
 		story_entities/menu/game_menu.cc \
@@ -30,5 +29,4 @@
 		story_entities/multi_player_world_data.h \
 		story_entities/movie_loader.h \
-		story_entities/simple_game_menu.h \
 		\
 		story_entities/menu/game_menu.h \
Index: /branches/proxy/src/story_entities/game_world_data.cc
===================================================================
--- /branches/proxy/src/story_entities/game_world_data.cc	(revision 9353)
+++ /branches/proxy/src/story_entities/game_world_data.cc	(revision 9354)
@@ -194,5 +194,8 @@
 ErrorMessage GameWorldData::loadWorldEntities(const TiXmlElement* root)
 {
+
   const TiXmlElement* element = root->FirstChildElement("WorldEntities");
+  bool mouseCaptured = EventHandler::getInstance()->grabbedEvents();
+  EventHandler::getInstance()->grabEvents(false);
 
   if( element == NULL)
@@ -262,4 +265,6 @@
   /* init the pnode tree */
   PNode::getNullParent()->init();
+
+  EventHandler::getInstance()->grabEvents(mouseCaptured);
 
   return ErrorMessage();
Index: anches/proxy/src/story_entities/simple_game_menu.cc
===================================================================
--- /branches/proxy/src/story_entities/simple_game_menu.cc	(revision 9353)
+++ 	(revision )
@@ -1,763 +1,0 @@
-/*
-   orxonox - the future of 3D-vertical-scrollers
-
-   Copyright (C) 2004 orx
-
-   This program is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 2, or (at your option)
-   any later version.
-
-### File Specific:
-   main-programmer: Patrick Boenzli
-
-*/
-
-#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD
-
-
-#include "simple_game_menu.h"
-
-#include "event_handler.h"
-
-#include "state.h"
-#include "class_list.h"
-
-#include "util/loading/load_param.h"
-#include "fast_factory.h"
-#include "util/loading/factory.h"
-#include "loading/resource_manager.h"
-
-#include "world_entity.h"
-#include "elements/image_entity.h"
-#include "terrain.h"
-#include "camera.h"
-
-#include "graphics_engine.h"
-#include "object_manager.h"
-#include "sound_engine.h"
-#include "sound_source.h"
-
-#include "cd_engine.h"
-
-#include "glgui.h"
-#include "gui/gl/specials/glgui_notifier.h"
-
-//! This creates a Factory to fabricate a SimpleGameMenu
-CREATE_FACTORY(SimpleGameMenu, CL_SIMPLE_GAME_MENU);
-
-
-
-SimpleGameMenu::SimpleGameMenu(const TiXmlElement* root)
-    : GameWorld()
-{
-  this->setClassID(CL_SIMPLE_GAME_MENU, "SimpleGameMenu");
-  this->setName("SimpleGameMenu uninitialized");
-
-  this->dataTank = new SimpleGameMenuData();
-
-  this->cameraVector = Vector(50.0, 0.0, 0.0);
-  this->menuLayers.push_back(MenuLayer());
-  this->menuLayers.push_back(MenuLayer());
-
-  this->layerIndex = 0;
-  this->menuSelectedIndex = 0;
-  this->selectorSource = NULL;
-
-
-  /// GUI
-  ///(this is as modular as it is possible).
-  OrxGui::GLGuiPushButton* pb = new OrxGui::GLGuiPushButton("PUSH ME");
-  //pb->connectSignal(OrxGui::Signal_release, this, createExecutor<SimpleGameMenu>(&SimpleGameMenu::enterGui));
-  pb->connect(SIGNAL(pb, released), this, SLOT(SimpleGameMenu, enterGui));
-  pb->show();
-  pb->setAbsCoor2D(50, 50);
-
-  OrxGui::GLGuiHandler::getInstance()->activateCursor();
-  OrxGui::GLGuiHandler::getInstance()->activate();
-  OrxGui::GLGuiHandler::getInstance()->cursor()->loadTextureSequence(ResourceManager::getInstance()->getDataDir() + "/" + "maps/reap_mouse/reap_mouse_##.png", 1, 49);
-  /////
-
-  if (root != NULL)
-    this->loadParams(root);
-
-  State::setMenuID(this->getNextStoryID());
-}
-
-/// HACK only for testing.
-void SimpleGameMenu::enterGui()
-{
-
-  OrxGui::GLGuiNotifier* notifier = new OrxGui::GLGuiNotifier();
-  notifier->show();
-  notifier->setAbsCoor2D(300, 300);
-
-
-
-  OrxGui::GLGuiBox* box = new OrxGui::GLGuiBox();
-  {
-    ///
-    OrxGui::GLGuiButton* dnpb = new OrxGui::GLGuiCheckButton("Push the button");
-
-    box->pack(dnpb);
-
-    OrxGui::GLGuiPushButton* rdnpb = new OrxGui::GLGuiPushButton("Quit ORXONOX!!");
-    rdnpb->connect(SIGNAL(rdnpb, released), this, SLOT(SimpleGameMenu, quitMenu));
-
-    box->pack(rdnpb);
-
-    OrxGui::GLGuiCheckButton* fullscreen = new OrxGui::GLGuiCheckButton("Fullscreen");
-    fullscreen->connect(SIGNAL(fullscreen, toggled), GraphicsEngine::getInstance(), SLOT(GraphicsEngine, setFullscreen));
-
-    box->pack(fullscreen);
-
-    OrxGui::GLGuiInputLine* input = new OrxGui::GLGuiInputLine();
-    input->setText("input some text here");
-    input->connect(SIGNAL(input, textChanged), notifier, SLOT(OrxGui::GLGuiNotifier, pushNotifyMessage));
-
-    box->pack(input);
-
-    OrxGui::GLGuiSlider* slider = new OrxGui::GLGuiSlider();
-    slider->connect(SIGNAL(slider, valueChanged), this, SLOT(SimpleGameMenu, TEST));
-    slider->setRange(0, 1);
-    slider->setValue(slider->min());
-    box->pack(slider);
-
-
-    OrxGui::GLGuiTable* table = new OrxGui::GLGuiTable(3, 3);
-    std::vector<std::string> headers;
-    headers.push_back("1");
-    headers.push_back("2");
-    headers.push_back("3");
-    table->setHeader(headers);
-    table->setEntry(1, 2, "Test");
-    table->setEntry(2, 1, "MultiLine SuperTest to see how it works");
-
-
-    box->pack(table);
-  }
-  box->setAbsCoor2D(50, 200);
-
-  box->showAll();
-
-
-  OrxGui::GLGuiBox* imageSelector = new OrxGui::GLGuiBox();
-  {
-    image = new OrxGui::GLGuiImage();
-    image->setWidgetSize(300, 300);
-    image->setAbsCoor2D(300, 300);
-    imageSelector->pack(image);
-
-    imageName = new OrxGui::GLGuiInputLine();
-    imageSelector->pack(imageName);
-
-    OrxGui::GLGuiSlider* slider = new OrxGui::GLGuiSlider();
-    slider->setWidgetSize(200, 30);
-    slider->setRange(0, 100);
-    slider->setStep(1);
-    slider->setValue(slider->min());
-    slider->connect(SIGNAL(slider, valueChanged), this, SLOT(SimpleGameMenu, setImage));
-
-    imageSelector->pack(slider);
-    slider->setValue(0);
-  }
-  imageSelector->showAll();
-  imageSelector->setAbsCoor2D(400, 30);
-
-
-  /////
-}
-
-
-#include "class_list.h"
-void SimpleGameMenu::setImage(int i)
-{
-  const std::list<BaseObject*>* textures = ClassList::getList(CL_TEXTURE);
-
-  if(textures)
-  {
-    std::list<BaseObject*>::const_iterator test = textures->begin();
-    std::list<BaseObject*>::const_iterator lastOK = textures->begin();
-    while (true)
-    {
-      if (--i == 0 || test == textures->end())
-        break;
-      if (dynamic_cast<Texture*>(*test)->getTexture() != 0)
-        lastOK = test;
-      test++;
-    }
-    this->image->loadImageFromTexture(*dynamic_cast<Texture*>(*lastOK));
-    this->imageName->setText((*lastOK)->getName());
-  }
-}
-
-
-#include "threading.h"
-void SimpleGameMenu::execURL() const
-{
-  std::string URL = "http://www.orxonox.net";
-  SDL_CreateThread(startURL, (void*)&URL);
-}
-
-#ifdef __OSX__
-#include <ApplicationServices/ApplicationServices.h>
-#elif defined __WIN32__
-//#include <shellapi.h>
-#endif
-
-int SimpleGameMenu::startURL(void* url)
-{
-  std::string URL = *(std::string*)url;
-#ifdef __linux__
-  system ((std::string("firefox ") + URL).c_str());
-#elif defined __OSX__
-  CFURLRef url_handle = CFURLCreateWithBytes (NULL, (UInt8 *)URL.c_str(), URL.size(),
-                        kCFStringEncodingASCII, NULL);
-  LSOpenCFURLRef (url_handle, NULL);
-  CFRelease (url_handle);
-#elif defined __WIN32__
-  /*  ShellExecute(GetActiveWindow(),
-               "open", URL.c_str(), NULL, NULL, SW_SHOWNORMAL);
-	       }*/
-#endif
-  PRINTF(3)("loaded external webpage %s\n", URL.c_str());
-}
-
-/**
-*  @brief remove the SimpleGameMenu from memory
-*
-*  delete everything explicitly, that isn't contained in the parenting tree!
-*  things contained in the tree are deleted automaticaly
-*/
-SimpleGameMenu::~SimpleGameMenu ()
-{
-  PRINTF(3)("SimpleGameMenu::~SimpleGameMenu() - deleting current world\n");
-
-  if( this->dataTank)
-    delete this->dataTank;
-  delete OrxGui::GLGuiHandler::getInstance( );
-}
-
-
-/**
-* @brief loads the parameters of a SimpleGameMenu from an XML-element
-* @param root the XML-element to load from
-*/
-void SimpleGameMenu::loadParams(const TiXmlElement* root)
-{
-  /* skip the GameWorld, since it does not define any useful loadParams for this class */
-  //static_cast<GameWorld*>(this)->loadParams(root);
-  GameWorld::loadParams(root);
-
-  PRINTF(4)("Loaded SimpleGameMenu specific stuff\n");
-}
-
-
-/**
-* @brief this is executed just before load
-*
-* since the load function sometimes needs data, that has been initialized
-* before the load and after the proceeding storyentity has finished
-*/
-ErrorMessage SimpleGameMenu::init()
-{
-  /* call underlying init funciton */
-  GameWorld::init();
-
-  this->subscribeEvent(ES_MENU, SDLK_UP);
-  this->subscribeEvent(ES_MENU, SDLK_DOWN);
-  this->subscribeEvent(ES_MENU, SDLK_RETURN);
-  this->subscribeEvent(ES_MENU, SDLK_SPACE);
-  this->subscribeEvent(ES_MENU, SDLK_ESCAPE);
-
-  this->dataTank->localCamera->setRelCoor(this->cameraVector);
-
-  GraphicsEngine::getInstance()->displayFPS(false);
-
-  this->layerIndex = 0;
-  this->menuSelectedIndex = 0;
-}
-
-
-/**
-* @brief load the data
-*/
-ErrorMessage SimpleGameMenu::loadData()
-{
-  GameWorld::loadData();
-
-  if (this->dataXML != NULL)
-  {
-    LoadParam(dataXML, "selector-sound", this, SimpleGameMenu, setSelectorSound);
-
-    TiXmlElement* element = this->dataXML->FirstChildElement("Elements");
-
-
-    if( element == NULL)
-    {
-      PRINTF(1)("SimpleGameMenu is missing 'Elements'\n");
-    }
-    else
-    {
-      element = element->FirstChildElement();
-      // load Players/Objects/Whatever
-      PRINTF(4)("Loading Elements\n");
-      while( element != NULL)
-      {
-        BaseObject* created = Factory::fabricate(element);
-        if( created != NULL )
-        {
-          PRINTF(4)("Created a %s::%s\n", created->getClassName(), created->getName());
-          if (!created->isA(CL_ELEMENT_2D))
-            PRINTF(2)("Error the Created Entity is not an Element2D but an %s::%s\n", created->getClassName(), created->getName());
-        }
-        element = element->NextSiblingElement();
-      }
-      PRINTF(4)("Done loading Elements\n");
-    }
-  }
-
-  /* get the menu list */
-  const std::list<BaseObject*>* imageEntityList = ClassList::getList(CL_IMAGE_ENTITY);
-  std::list<BaseObject*>::const_iterator entity;
-  for (entity = imageEntityList->begin(); entity != imageEntityList->end(); entity++)
-  {
-
-    if( !strcmp("Selector_Menu", (*entity)->getName()))
-    {
-      this->menuSelector = dynamic_cast<ImageEntity*>(*entity);
-      this->menuSelector->setBindNode((const PNode*)NULL);
-    }
-  }
-
-  imageEntityList = ClassList::getList(CL_TEXT_ELEMENT);
-  for (entity = imageEntityList->begin(); entity != imageEntityList->end(); entity++)
-  {
-    if( !strcmp( "StartGame_Menu", (*entity)->getName()))
-    {
-      this->menuStartGame = dynamic_cast<TextElement*>(*entity);
-      this->menuStartGame->setBindNode((const PNode*)NULL);
-      this->menuStartGame->setRelCoor2D(State::getResX() / 2.0f,
-                                        State::getResY() / 2.0f - 60.0f);
-      this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
-
-    }
-    else if( !strcmp( "Multiplayer_Menu", (*entity)->getName()))
-    {
-      this->menuStartMultiplayerGame = dynamic_cast<TextElement*>(*entity);
-      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));
-      this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
-    }
-    else if( !strcmp( "Quit_Menu", (*entity)->getName()))
-    {
-      this->menuQuitGame = dynamic_cast<TextElement*>(*entity);
-      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));
-      this->menuLayers[0].menuList.push_back(dynamic_cast<TextElement*>(*entity));
-    }
-  }
-  this->menuSelected->getNullElement()->update2D(0.1f);
-  this->menuSelectedIndex = 0;
-  this->menuSelected = this->menuLayers[0].menuList[this->menuSelectedIndex];
-  this->sliderTo(this->menuSelected, 0.0f);
-
-
-  // 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->menuLayers[1].storyList.push_back(se);
-
-      // generating menu item
-      TextElement* te = new TextElement();
-      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));
-      this->menuLayers[1].menuList.push_back(te);
-
-      // generating screenshoot item
-      ImageEntity* ie = new ImageEntity();
-      ie->setVisibility(false);
-      ie->setBindNode((const PNode*)NULL);
-      ie->setTexture(se->getMenuScreenshoot());
-      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);
-    }
-  }
-}
-
-/**
-* @brief set the Sound to play when switching menu entry.
-* @param selectorSound the sound to load.
-*/
-void SimpleGameMenu::setSelectorSound(const std::string& selectorSound)
-{
-  this->selectorSource = OrxSound::SoundEngine::getInstance()->createSource(selectorSound, NULL);
-}
-
-ErrorMessage SimpleGameMenu::unloadData()
-{
-  this->unsubscribeEvents(ES_MENU);
-
-  std::vector<MenuLayer>::iterator mit;
-  for(mit = this->menuLayers.begin(); mit != this->menuLayers.end(); mit++)
-  {
-    while(!(*mit).menuList.empty())
-    {
-      delete (*mit).menuList.back();
-      (*mit).menuList.pop_back();
-    }
-
-    (*mit).menuList.clear();
-    (*mit).storyList.clear();
-    (*mit).screenshootList.clear();
-  }
-
-  // delete the SoundSource.
-  if (this->selectorSource != NULL)
-    delete this->selectorSource;
-  this->selectorSource = NULL;
-
-  GameWorld::unloadData();
-}
-
-
-/**
-* @brief start the menu
-*/
-bool SimpleGameMenu::start()
-{
-  EventHandler::getInstance()->pushState(ES_MENU);
-
-  /* now call the underlying*/
-  GameWorld::start();
-}
-
-
-
-/**
-* stop the menu
-*/
-bool SimpleGameMenu::stop()
-{
-  EventHandler::getInstance()->popState();
-
-  /* now call the underlying*/
-  GameWorld::stop();
-}
-
-
-/**
-*  override the standard tick for more functionality
-*/
-void SimpleGameMenu::tick()
-{
-  GameWorld::tick();
-
-  // Make the GLGui tick.
-  OrxGui::GLGuiHandler::getInstance()->tick(this->dtS);
-
-  this->animateScene(this->dtS);
-}
-
-
-/**
-* @brief no collision detection in the menu
-*/
-void SimpleGameMenu::collide()
-{
-  //   this->dataTank->localCamera->
-}
-
-
-/**
-* @brief animate the scene
-*/
-void SimpleGameMenu::animateScene(float dt)
-{
-  Quaternion q(/*0.00005*/ dt * .1, Vector(0.0, 1.0, 0.0));
-  this->cameraVector = q.apply(this->cameraVector);
-  this->dataTank->localCamera->setRelCoor(this->cameraVector);
-  this->dataTank->localCamera->getTarget()->setRelCoorSoft(0,0,0);
-}
-
-void SimpleGameMenu::quitMenu()
-{
-  this->setNextStoryID(WORLD_ID_GAMEEND);
-  this->stop();
-}
-
-
-/**
-* @brief event dispatcher funciton
-* @param event the incoming event
-*/
-void SimpleGameMenu::process(const Event &event)
-{
-  /* ----------------- LAYER 1 ---------------*/
-  if( this->layerIndex == 0)
-  {
-    if( event.type == SDLK_RETURN && event.bPressed == true)
-    {
-      if( this->menuSelected == this->menuQuitGame)
-      {
-        this->setNextStoryID(WORLD_ID_GAMEEND);
-        this->stop();
-      }
-      if( this->menuSelected == this->menuStartGame)
-      {
-        // switch to first submenu
-        if( this->menuLayers[1].menuList.size() == 0)
-        {
-          PRINTF(1)("Haven't got any StoryEntities to play!\n");
-          return;
-        }
-
-        this->switchMenuLayer(this->layerIndex, 1);
-      }
-    }
-    if( event.type == SDLK_ESCAPE && event.bPressed == true)
-    {
-      this->setNextStoryID(WORLD_ID_GAMEEND);
-      this->stop();
-    }
-  }  /* ----------------- LAYER 2 ---------------*/
-  else if( this->layerIndex == 1)
-  {
-    if( event.type == SDLK_RETURN && event.bPressed == true)
-    {
-      this->setNextStoryID( this->menuLayers[1].storyList[this->menuSelectedIndex]->getStoryID());
-      this->stop();
-    }
-    if( event.type == SDLK_ESCAPE && event.bPressed == true)
-    {
-      this->switchMenuLayer(this->layerIndex, 0);
-    }
-  }
-
-
-
-  // The menu selction cursor
-  if( event.type == SDLK_DOWN && event.bPressed == true)
-  {
-    if(this->menuSelectedIndex < (this->menuLayers[this->layerIndex].menuList.size() - 1))
-    {
-      this->menuSelected = this->menuLayers[this->layerIndex].menuList[++this->menuSelectedIndex];
-      this->sliderTo(this->menuSelected, 5.0f);
-      if (this->selectorSource != NULL)
-        this->selectorSource->play();
-
-      if( this->layerIndex == 1)
-      {
-        this->menuLayers[1].screenshootList[this->menuSelectedIndex]->setVisibility(true);
-        this->menuLayers[1].screenshootList[this->menuSelectedIndex-1]->setVisibility(false);
-      }
-    }
-  }
-  else if( event.type == SDLK_UP && event.bPressed == true)
-  {
-    if(this->menuSelectedIndex > 0)
-    {
-      this->menuSelected = this->menuLayers[this->layerIndex].menuList[--this->menuSelectedIndex];
-      this->sliderTo(this->menuSelected, 5.0f);
-      if (this->selectorSource != NULL)
-        this->selectorSource->play();
-
-      if( this->layerIndex == 1)
-      {
-        this->menuLayers[1].screenshootList[this->menuSelectedIndex]->setVisibility(true);
-        this->menuLayers[1].screenshootList[this->menuSelectedIndex+1]->setVisibility(false);
-      }
-    }
-  }
-}
-
-
-/**
-* @brief switches to from one meny layer to an other
-* @param layer1 from layer
-* @param layer2 to layer
-*/
-void SimpleGameMenu::switchMenuLayer(int layer1, int layer2)
-{
-  // wrong sizes
-  if(layer1 >= this->menuLayers.size() || layer2 >= this->menuLayers.size())
-    return;
-
-
-  PRINTF(0)("Removing layer %i\n", layer1);
-  std::vector<TextElement*>::iterator te;
-  // fade old menu
-  for( te = this->menuLayers[layer1].menuList.begin(); te != this->menuLayers[layer1].menuList.end(); te++)
-  {
-    (*te)->setVisibility(false);
-  }
-
-  std::vector<ImageEntity*>::iterator it;
-
-  //also fade the screenshots if in level choosement mode
-  for( it = this->menuLayers[layer1].screenshootList.begin(); it != this->menuLayers[layer1].screenshootList.end(); it++)
-  {
-    (*it)->setVisibility(false);
-  }
-
-
-  PRINTF(0)("Showing layer %i\n", layer1);
-  // beam here the new menu
-  for( te = this->menuLayers[layer2].menuList.begin(); te != this->menuLayers[layer2].menuList.end(); te++ )
-  {
-    (*te)->setVisibility(true);
-  }
-
-
-  this->layerIndex = layer2;
-  this->menuSelected = this->menuLayers[layer2].menuList[0];
-  this->menuSelector->setAbsCoor2D(this->menuSelected->getAbsCoor2D() + Vector2D(0, this->menuSelected->getSizeY2D() *.5));
-  this->menuSelector->setSize2D(this->menuSelected->getSizeX2D()*.7, this->menuSelected->getSizeY2D());
-  this->menuSelectedIndex = 0;
-
-  if( layer2 == 1)
-    this->menuLayers[layer2].screenshootList[0]->setVisibility(true);
-}
-
-void SimpleGameMenu::sliderTo(const Element2D* element, float bias)
-{
-  if (bias > 0.0)
-  {
-    this->menuSelector->setAbsCoorSoft2D(element->getAbsCoor2D() + Vector2D(0, element->getSizeY2D() *.5), bias);
-    this->menuSelector->setSizeSoft2D(element->getSizeX2D()*.7, element->getSizeY2D(), bias);
-  }
-  else
-  {
-    this->menuSelector->setAbsCoor2D(element->getAbsCoor2D() + Vector2D(0, element->getSizeY2D() *.5));
-    this->menuSelector->setSize2D(element->getSizeX2D()*.7, element->getSizeY2D());
-  }
-}
-
-
-
-/**********************************************************************************************
-SimpleGameMenuData
-**********************************************************************************************/
-
-
-/**
-* SimpleGameMenuData constructor
-*/
-SimpleGameMenuData::SimpleGameMenuData()
-{}
-
-/**
-* SimpleGameMenuData decontructor
-*/
-SimpleGameMenuData::~SimpleGameMenuData()
-{}
-
-
-/**
-*  initialize the GameWorldDataData
-*/
-ErrorMessage SimpleGameMenuData::init()
-{
-  /* call underlying function */
-  GameWorldData::init();
-}
-
-
-/**
-*  loads the GUI data
-* @param root reference to the xml root element
-*/
-ErrorMessage SimpleGameMenuData::loadGUI(const TiXmlElement* root)
-{
-  /* call underlying function */
-  GameWorldData::loadGUI(root);
-}
-
-
-/**
-*  unloads the GUI data
-*/
-ErrorMessage SimpleGameMenuData::unloadGUI()
-{
-  /* call underlying function */
-  GameWorldData::unloadGUI();
-}
-
-
-/**
-*  overloads the GameWorld::loadWorldEntities(...) class since the menu WorldEntity loading is different (less loading stuff)
-* @param root reference to the xml root parameter
-*/
-ErrorMessage SimpleGameMenuData::loadWorldEntities(const TiXmlElement* root)
-{
-  GameWorldData::loadWorldEntities(root);
-  /*
-  const TiXmlElement* element = root->FirstChildElement("WorldEntities");
-
-  if( element != NULL)
-  {
-  element = element->FirstChildElement();
-  PRINTF(4)("Loading WorldEntities\n");
-  while(element != NULL)
-  {
-  BaseObject* created = Factory::fabricate(element);
-  if( created != NULL )
-  printf("Created a %s: %s\n", created->getClassName(), created->getName());
-
-  if( element->Value() == "SkyBox")
-  this->sky = dynamic_cast<WorldEntity*>(created);
-  if( element->Value() == "Terrain")
-  this->terrain = dynamic_cast<Terrain*>(created);
-  element = element->NextSiblingElement();
-  }
-
-  PRINTF(4)("Done loading WorldEntities\n");
-  }
-
-  // init the pnode tree
-  PNode::getNullParent()->init();
-  */
-}
-
-
-/**
-*  unloads the world entities from the xml file
-*/
-ErrorMessage SimpleGameMenuData::unloadWorldEntities()
-{
-  /* call underlying function */
-  GameWorldData::unloadWorldEntities();
-}
-
-
-/**
-*  loads the scene data
-* @param root reference to the xml root element
-*/
-ErrorMessage SimpleGameMenuData::loadScene(const TiXmlElement* root)
-{
-  /* call underlying function */
-  GameWorldData::loadScene(root);
-}
-
-
-/**
-*  unloads the scene data
-*/
-ErrorMessage SimpleGameMenuData::unloadScene()
-{
-  /* call underlying function */
-  GameWorldData::unloadScene();
-}
-
-
-
Index: anches/proxy/src/story_entities/simple_game_menu.h
===================================================================
--- /branches/proxy/src/story_entities/simple_game_menu.h	(revision 9353)
+++ 	(revision )
@@ -1,134 +1,0 @@
-/*!
- * @file simple_game_menu.h
- *  a StoryEntity that contains a simple game menu
- */
-
-#ifndef _SIMPLE_GAME_MENU_H
-#define _SIMPLE_GAME_MENU_H
-
-
-#include "game_world.h"
-#include "event_listener.h"
-#include "game_world_data.h"
-#include <vector>
-#include "vector.h"
-
-
-#include "elements/text_element.h"
-
-#include "glgui.h"
-
-class SimpleGameMenuData;
-class TiXmlElement;
-class ImageEntity;
-
-namespace OrxSound { class SoundSource; }
-
-class MenuLayer
-{
-  public:
-    MenuLayer() {}
-    virtual ~MenuLayer() {}
-
-
-  public:
-    std::vector<TextElement*>         menuList;                        //!< the list of the menu items
-    std::vector<StoryEntity*>         storyList;                       //!< the list of the StoryEntities for the menu
-    std::vector<ImageEntity*>         screenshootList;                 //!< list of the screen shoots FIXME: make a better structure for this stuff
-};
-
-
-//! a simple game menu based on a story entity
-/**
- * This is a simple menu, that is based on the StoryEntity. Therefore this menu is absolutly
- * loadable and is exchangeable very easely :D
- */
-class SimpleGameMenu : virtual public GameWorld, virtual public EventListener
-{
-
-  public:
-    SimpleGameMenu(const TiXmlElement* root = NULL);
-    virtual ~SimpleGameMenu();
-
-    /// TODO TAKE THIS OUT
-    void enterGui();
-    void execURL() const;
-    static int startURL(void* data);
-
-    void setImage(int i);
-    OrxGui::GLGuiImage* image;
-    OrxGui::GLGuiInputLine* imageName;
-    ///
-    virtual void loadParams(const TiXmlElement* root);
-
-    virtual ErrorMessage init();
-    virtual ErrorMessage loadData();
-    virtual ErrorMessage unloadData();
-
-    virtual bool start();
-    virtual bool stop();
-
-    virtual void process(const Event &event);
-
-
-    void startLevel(int level);
-    void quitMenu();
-
-    void TEST(int val) { printf("TEST %d\n", val); }
-
-  protected:
-    virtual void tick();
-    virtual void collide();
-
-
-  private:
-    void animateScene(float dt);
-    void switchMenuLayer(int layer1, int layer2);
-    void sliderTo(const Element2D* element, float bias = 0.0f);
-    void setSelectorSound(const std::string& selectorSound);
-
-
-  private:
-    std::vector<MenuLayer>            menuLayers;                      //!< the menu layer
-    MenuLayer*                        selectedLayer;                   //!< the selected menu layer
-    int                               layerIndex;
-
-    //std::vector<ImageEntity*>         menuList;                        //!< the list of the menu items
-    ImageEntity*                      menuSelector;                    //!< ref to the selector image
-    TextElement*                      menuSelected;                    //!< ref to the selected menu entity
-    TextElement*                      menuStartGame;
-    TextElement*                      menuStartMultiplayerGame;
-    TextElement*                      menuQuitGame;
-    int                               menuSelectedIndex;
-
-    Vector                            cameraVector;
-
-    OrxSound::SoundSource*            selectorSource;
-};
-
-
-
-//! the simple game menu data
-class SimpleGameMenuData : public GameWorldData
-{
-
-  public:
-    SimpleGameMenuData();
-    virtual ~SimpleGameMenuData();
-
-    virtual ErrorMessage init();
-
-
-  protected:
-    virtual ErrorMessage loadGUI(const TiXmlElement* root);
-    virtual ErrorMessage loadWorldEntities(const TiXmlElement* root);
-    virtual ErrorMessage loadScene(const TiXmlElement* root);
-
-    virtual ErrorMessage unloadGUI();
-    virtual ErrorMessage unloadWorldEntities();
-    virtual ErrorMessage unloadScene();
-
-};
-
-
-#endif /* _GAME_WORLD_H */
