Index: /orxonox/branches/physics/src/subprojects/Makefile.am
===================================================================
--- /orxonox/branches/physics/src/subprojects/Makefile.am	(revision 4334)
+++ /orxonox/branches/physics/src/subprojects/Makefile.am	(revision 4335)
@@ -3,2 +3,7 @@
 	  gui \
 	  testmain
+
+noinst_HEADERS = framework.h
+
+
+EXTRA_DIST = framework.cc
Index: /orxonox/branches/physics/src/subprojects/Makefile.in
===================================================================
--- /orxonox/branches/physics/src/subprojects/Makefile.in	(revision 4334)
+++ /orxonox/branches/physics/src/subprojects/Makefile.in	(revision 4335)
@@ -14,4 +14,5 @@
 
 @SET_MAKE@
+
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -36,5 +37,6 @@
 host_triplet = @host@
 subdir = src/subprojects
-DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
+	$(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -52,4 +54,5 @@
 	pdf-recursive ps-recursive uninstall-info-recursive \
 	uninstall-recursive
+HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -169,4 +172,6 @@
 	  testmain
 
+noinst_HEADERS = framework.h
+EXTRA_DIST = framework.cc
 all: all-recursive
 
@@ -365,5 +370,5 @@
 check-am: all-am
 check: check-recursive
-all-am: Makefile
+all-am: Makefile $(HEADERS)
 installdirs: installdirs-recursive
 installdirs-am:
Index: /orxonox/branches/physics/src/subprojects/framework.cc
===================================================================
--- /orxonox/branches/physics/src/subprojects/framework.cc	(revision 4335)
+++ /orxonox/branches/physics/src/subprojects/framework.cc	(revision 4335)
@@ -0,0 +1,265 @@
+/* 
+   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: Benjamin Grauer
+   co-programmer: ...
+*/
+
+#include "framework.h"
+
+
+#include "p_node.h"
+#include "null_parent.h"
+#include "state.h"
+#include "debug.h"
+#include "graphics_engine.h"
+#include "light.h"
+#include "resource_manager.h"
+#include "camera.h"
+
+
+int verbose;
+
+void* Framework::mainLoop(void* tmp)
+{
+  Framework* framework = Framework::getInstance();
+  while(!framework->isFinished)
+    {
+      while(gtk_events_pending()) 
+	gtk_main_iteration();
+
+      // keyhandler returns false if sdl gets quit by some event
+      framework->eventHandler();
+
+      // tick the scene
+      float dt = framework->tick();
+
+      NullParent::getInstance()->update(dt);
+
+      // Draw the scene
+      framework->draw(dt);
+
+    }
+}
+
+bool Framework::draw(float dt)
+{
+  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
+  glLoadIdentity(); // Reset the view
+  
+  this->moduleDraw(dt);
+  
+  camera->apply();
+  
+  SDL_GL_SwapBuffers(); // Swap the buffers
+}
+
+
+float Framework::tick()
+{
+  currFrame = SDL_GetTicks();
+  float dt = (float)(currFrame - lastFrame) / 1000.0;
+  lastFrame = currFrame;
+
+  this->moduleTick(dt);
+
+  return dt;
+}
+
+
+bool Framework::eventHandler()
+{
+  // This is the main loop for the entire program and it will run until done==TRUE
+  {
+    // And poll for events
+    SDL_Event event;
+    while(SDL_PollEvent(&event))
+    {
+      moduleEventHandler(&event);
+
+      switch (event.type) {
+      case SDL_MOUSEMOTION:
+	{
+	  Vector view = camera->getTarget()->getAbsCoor() - camera->getAbsCoor();
+	  Vector up = Vector(0, 1, 0);
+	  up = camera->getAbsDir().apply(up);
+	  Vector h = up.cross(view);
+	  Vector v = h.cross(view);
+	  h.normalize();
+	  v.normalize();
+
+	  if (mouseDown[1])
+	    camera->setRelCoor(camera->getRelCoor()+ h * event.motion.xrel *.05 - v * event.motion.yrel * .05);
+	  if (mouseDown[3])
+	    camera->getTarget()->setRelCoor(camera->getTarget()->getRelCoor()+ h * event.motion.xrel *.05 - v * event.motion.yrel * .05);
+	    
+	}
+	break;
+      case SDL_MOUSEBUTTONDOWN:
+	switch (event.button.button)
+	  {
+	  case 4:
+	    PRINTF(4)("MouseWheel up\n");
+	    camera->setRelCoor(camera->getRelCoor() + (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
+	    break;
+	  case 5:
+	    PRINTF(4)("MouseWheel down\n");
+	    camera->setRelCoor(camera->getRelCoor() - (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
+	    break;
+	  case 1:
+	  case 2:
+	  case 3:
+	    mouseDown[event.button.button] = true;
+	    break;
+	  }
+	    
+	break;
+      case SDL_MOUSEBUTTONUP:
+	switch (event.button.button)
+	  {
+	  case 1:
+	  case 2:
+	  case 3:
+	    mouseDown[event.button.button] = false;
+	    break;
+	  }
+	break;
+      case SDL_VIDEORESIZE:
+	GraphicsEngine::getInstance()->resolutionChanged(&event.resize);
+	break;
+      case SDL_KEYDOWN:
+	switch (event.key.keysym.sym)
+	  {
+	  case SDLK_q:
+	  case SDLK_ESCAPE:
+	    quitGui(NULL, NULL);
+	    break;
+	  case SDLK_a:
+	    camera->setRelCoor(camera->getRelCoor() + (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
+	    break;
+	  case SDLK_z:
+	    camera->setRelCoor(camera->getRelCoor() - (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
+	    break;
+	  case SDLK_h:
+	    this->printHelp();
+	    break;
+	  }
+	break;
+	    
+        // If a quit event was recieved
+      case SDL_QUIT:
+	// then we're done and we'll end this program
+	quitGui(NULL, NULL);
+	break;
+      default:
+	break;
+      }
+
+    }
+
+    // Get the state of the keyboard keys
+    keys = SDL_GetKeyState(NULL);
+
+    // and check if ESCAPE has been pressed. If so then quit
+    if(keys[SDLK_ESCAPE]) return false;
+  }
+  return true;
+}
+
+void Framework::quit(void)
+{
+  this->isFinished = true;
+}
+
+Framework* Framework::singletonRef = NULL;
+
+Framework* Framework::getInstance(void)
+{
+  if (Framework::singletonRef == NULL)
+    Framework::singletonRef = new Framework();
+  return Framework::singletonRef;
+}
+
+Framework::Framework()
+{
+  this->isFinished = false;
+
+  this->lastFrame = 0;
+  // Create a new OpenGL window with the title "Cone3D Basecode" at
+  // 640x480x32, fullscreen and check for errors along the way
+  GraphicsEngine::getInstance();
+
+  LightManager::getInstance();
+  glEnable(GL_TEXTURE_2D);
+
+  // Build the font from a TGA image font.tga in the data directory
+  // Hide the mouse cursor
+  SDL_ShowCursor(2);
+
+  for (int i = 0; i <MOUSE_BUTTON_COUNT; i++)
+    mouseDown[i] = false;
+
+  ResourceManager::getInstance()->setDataDir(DATA_DIRECTORY);
+ 
+
+  moduleInit();
+
+  camera = new Camera();
+
+  State::getInstance()->setCamera(camera, camera->getTarget());
+
+  camera->setAbsCoor(Vector(10, 10, 0));
+}
+
+Framework::~Framework()
+{
+  delete GraphicsEngine::getInstance();
+
+}
+
+
+
+void Framework::printHelp(void) const
+{
+  PRINT(0)(" Help for the frameWork\n");
+  PRINT(0)("========================\n");
+  PRINT(0)("h - print thisHelp\n");
+
+  this->moduleHelp();
+
+}
+
+int quitGui(GtkWidget* widget, void* data)
+{
+#ifdef HAVE_GTK2
+  gtk_main_quit();
+  while(gtk_events_pending()) gtk_main_iteration();
+  Framework::getInstance()->quit();
+#endif /* HAVE_GTK2 */
+}
+
+
+int main(int argc, char *argv[])
+{
+  verbose = 3;
+  
+  Framework* framework = Framework::getInstance();
+
+  framework->moduleInitGui();
+  //  framework->mainloopGui(NULL);
+
+  framework->mainLoop(NULL);
+
+  delete framework;
+  // Kill the GL & SDL screens
+  // And quit
+  return 0;
+}
Index: /orxonox/branches/physics/src/subprojects/framework.h
===================================================================
--- /orxonox/branches/physics/src/subprojects/framework.h	(revision 4335)
+++ /orxonox/branches/physics/src/subprojects/framework.h	(revision 4335)
@@ -0,0 +1,63 @@
+#ifndef _FRAMEWORK_H
+#define _FRAMEWORK_H
+ 
+#include "vector.h"
+#include "glincl.h"
+#include "SDL_events.h"
+
+#include "gui_gtk.h"
+
+
+#define DATA_DIRECTORY "~/svn/data/"
+#define MOUSE_BUTTON_COUNT 8
+
+class Camera;
+
+class Framework {
+ private:
+  Framework();
+  static Framework* singletonRef;
+  
+  Camera* camera;
+  
+  bool isFinished;
+
+  int movement [4];
+  
+  Uint32 lastFrame;
+  Uint32 currFrame;
+    
+  Uint8* keys;        // This variable will be used in the keyboard routine
+  bool mouseDown[MOUSE_BUTTON_COUNT];
+
+ public:
+  ~Framework(); 
+  
+  static Framework* getInstance(void);
+
+
+  void moduleInit();
+  void moduleInitGui(void);
+  void moduleEventHandler(SDL_Event* event);
+  void moduleTick(float dt);
+  void moduleDraw(float dt);
+  
+  void moduleHelp(void) const;
+
+
+
+  static void* mainLoop(void* tmp);
+  bool draw(float dt);
+  float tick();
+  bool eventHandler();
+  void quit();
+
+  static void* mainloopGui(void* tmp);
+
+  void printHelp(void) const;
+};
+
+int quitGui(GtkWidget* widget, void* data);
+
+
+#endif /* _FRAMEWORK_H */
Index: /orxonox/branches/physics/src/subprojects/particles/Makefile.am
===================================================================
--- /orxonox/branches/physics/src/subprojects/particles/Makefile.am	(revision 4334)
+++ /orxonox/branches/physics/src/subprojects/particles/Makefile.am	(revision 4335)
@@ -38,5 +38,5 @@
 particles_CPPFLAGS = $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
 
-particles_SOURCES= framework.cc \
+particles_SOURCES= ../framework.cc \
 		   particle_fun.cc \
 		  $(MAINSRCDIR)/lib/graphics/particles/particle_engine.cc \
@@ -60,4 +60,2 @@
 		  $(MAINSRCDIR)/lib/coord/null_parent.cc \
 		  $(MAINSRCDIR)/lib/gui/gui/gui_gtk.cc
-
-noinst_HEADERS = framework.h
Index: /orxonox/branches/physics/src/subprojects/particles/Makefile.in
===================================================================
--- /orxonox/branches/physics/src/subprojects/particles/Makefile.in	(revision 4334)
+++ /orxonox/branches/physics/src/subprojects/particles/Makefile.in	(revision 4335)
@@ -14,5 +14,4 @@
 
 @SET_MAKE@
-
 
 SOURCES = $(particles_SOURCES)
@@ -41,6 +40,5 @@
 bin_PROGRAMS = particles$(EXEEXT)
 subdir = src/subprojects/particles
-DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
-	$(srcdir)/Makefile.in
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/configure.ac
@@ -103,5 +101,4 @@
 SOURCES = $(particles_SOURCES)
 DIST_SOURCES = $(particles_SOURCES)
-HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -222,5 +219,5 @@
 
 particles_CPPFLAGS = $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
-particles_SOURCES = framework.cc \
+particles_SOURCES = ../framework.cc \
 		   particle_fun.cc \
 		  $(MAINSRCDIR)/lib/graphics/particles/particle_engine.cc \
@@ -245,5 +242,4 @@
 		  $(MAINSRCDIR)/lib/gui/gui/gui_gtk.cc
 
-noinst_HEADERS = framework.h
 all: all-am
 
@@ -351,19 +347,19 @@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
 
-particles-framework.o: framework.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particles-framework.o -MD -MP -MF "$(DEPDIR)/particles-framework.Tpo" -c -o particles-framework.o `test -f 'framework.cc' || echo '$(srcdir)/'`framework.cc; \
+particles-framework.o: ../framework.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particles-framework.o -MD -MP -MF "$(DEPDIR)/particles-framework.Tpo" -c -o particles-framework.o `test -f '../framework.cc' || echo '$(srcdir)/'`../framework.cc; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/particles-framework.Tpo" "$(DEPDIR)/particles-framework.Po"; else rm -f "$(DEPDIR)/particles-framework.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='framework.cc' object='particles-framework.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../framework.cc' object='particles-framework.o' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/particles-framework.Po' tmpdepfile='$(DEPDIR)/particles-framework.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particles-framework.o `test -f 'framework.cc' || echo '$(srcdir)/'`framework.cc
-
-particles-framework.obj: framework.cc
-@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particles-framework.obj -MD -MP -MF "$(DEPDIR)/particles-framework.Tpo" -c -o particles-framework.obj `if test -f 'framework.cc'; then $(CYGPATH_W) 'framework.cc'; else $(CYGPATH_W) '$(srcdir)/framework.cc'; fi`; \
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particles-framework.o `test -f '../framework.cc' || echo '$(srcdir)/'`../framework.cc
+
+particles-framework.obj: ../framework.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT particles-framework.obj -MD -MP -MF "$(DEPDIR)/particles-framework.Tpo" -c -o particles-framework.obj `if test -f '../framework.cc'; then $(CYGPATH_W) '../framework.cc'; else $(CYGPATH_W) '$(srcdir)/../framework.cc'; fi`; \
 @am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/particles-framework.Tpo" "$(DEPDIR)/particles-framework.Po"; else rm -f "$(DEPDIR)/particles-framework.Tpo"; exit 1; fi
-@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='framework.cc' object='particles-framework.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../framework.cc' object='particles-framework.obj' libtool=no @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/particles-framework.Po' tmpdepfile='$(DEPDIR)/particles-framework.TPo' @AMDEPBACKSLASH@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
-@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particles-framework.obj `if test -f 'framework.cc'; then $(CYGPATH_W) 'framework.cc'; else $(CYGPATH_W) '$(srcdir)/framework.cc'; fi`
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(particles_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o particles-framework.obj `if test -f '../framework.cc'; then $(CYGPATH_W) '../framework.cc'; else $(CYGPATH_W) '$(srcdir)/../framework.cc'; fi`
 
 particles-particle_fun.o: particle_fun.cc
@@ -781,5 +777,5 @@
 check-am: all-am
 check: check-am
-all-am: Makefile $(PROGRAMS) $(HEADERS)
+all-am: Makefile $(PROGRAMS)
 installdirs:
 	for dir in "$(DESTDIR)$(bindir)"; do \
Index: xonox/branches/physics/src/subprojects/particles/framework.cc
===================================================================
--- /orxonox/branches/physics/src/subprojects/particles/framework.cc	(revision 4334)
+++ 	(revision )
@@ -1,265 +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: Benjamin Grauer
-   co-programmer: ...
-*/
-
-#include "framework.h"
-
-
-#include "p_node.h"
-#include "null_parent.h"
-#include "state.h"
-#include "debug.h"
-#include "graphics_engine.h"
-#include "light.h"
-#include "resource_manager.h"
-#include "camera.h"
-
-
-int verbose;
-
-void* Framework::mainLoop(void* tmp)
-{
-  Framework* framework = Framework::getInstance();
-  while(!framework->isFinished)
-    {
-      while(gtk_events_pending()) 
-	gtk_main_iteration();
-
-      // keyhandler returns false if sdl gets quit by some event
-      framework->eventHandler();
-
-      // tick the scene
-      float dt = framework->tick();
-
-      NullParent::getInstance()->update(dt);
-
-      // Draw the scene
-      framework->draw(dt);
-
-    }
-}
-
-bool Framework::draw(float dt)
-{
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
-  glLoadIdentity(); // Reset the view
-  
-  this->moduleDraw(dt);
-  
-  camera->apply();
-  
-  SDL_GL_SwapBuffers(); // Swap the buffers
-}
-
-
-float Framework::tick()
-{
-  currFrame = SDL_GetTicks();
-  float dt = (float)(currFrame - lastFrame) / 1000.0;
-  lastFrame = currFrame;
-
-  this->moduleTick(dt);
-
-  return dt;
-}
-
-
-bool Framework::eventHandler()
-{
-  // This is the main loop for the entire program and it will run until done==TRUE
-  {
-    // And poll for events
-    SDL_Event event;
-    while(SDL_PollEvent(&event))
-    {
-      moduleEventHandler(&event);
-
-      switch (event.type) {
-      case SDL_MOUSEMOTION:
-	{
-	  Vector view = camera->getTarget()->getAbsCoor() - camera->getAbsCoor();
-	  Vector up = Vector(0, 1, 0);
-	  up = camera->getAbsDir().apply(up);
-	  Vector h = up.cross(view);
-	  Vector v = h.cross(view);
-	  h.normalize();
-	  v.normalize();
-
-	  if (mouseDown[1])
-	    camera->setRelCoor(camera->getRelCoor()+ h * event.motion.xrel *.05 - v * event.motion.yrel * .05);
-	  if (mouseDown[3])
-	    camera->getTarget()->setRelCoor(camera->getTarget()->getRelCoor()+ h * event.motion.xrel *.05 - v * event.motion.yrel * .05);
-	    
-	}
-	break;
-      case SDL_MOUSEBUTTONDOWN:
-	switch (event.button.button)
-	  {
-	  case 4:
-	    PRINTF(4)("MouseWheel up\n");
-	    camera->setRelCoor(camera->getRelCoor() + (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
-	    break;
-	  case 5:
-	    PRINTF(4)("MouseWheel down\n");
-	    camera->setRelCoor(camera->getRelCoor() - (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
-	    break;
-	  case 1:
-	  case 2:
-	  case 3:
-	    mouseDown[event.button.button] = true;
-	    break;
-	  }
-	    
-	break;
-      case SDL_MOUSEBUTTONUP:
-	switch (event.button.button)
-	  {
-	  case 1:
-	  case 2:
-	  case 3:
-	    mouseDown[event.button.button] = false;
-	    break;
-	  }
-	break;
-      case SDL_VIDEORESIZE:
-	GraphicsEngine::getInstance()->resolutionChanged(&event.resize);
-	break;
-      case SDL_KEYDOWN:
-	switch (event.key.keysym.sym)
-	  {
-	  case SDLK_q:
-	  case SDLK_ESCAPE:
-	    quitGui(NULL, NULL);
-	    break;
-	  case SDLK_a:
-	    camera->setRelCoor(camera->getRelCoor() + (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
-	    break;
-	  case SDLK_z:
-	    camera->setRelCoor(camera->getRelCoor() - (camera->getTarget()->getAbsCoor() - camera->getAbsCoor())*.1);
-	    break;
-	  case SDLK_h:
-	    this->printHelp();
-	    break;
-	  }
-	break;
-	    
-        // If a quit event was recieved
-      case SDL_QUIT:
-	// then we're done and we'll end this program
-	quitGui(NULL, NULL);
-	break;
-      default:
-	break;
-      }
-
-    }
-
-    // Get the state of the keyboard keys
-    keys = SDL_GetKeyState(NULL);
-
-    // and check if ESCAPE has been pressed. If so then quit
-    if(keys[SDLK_ESCAPE]) return false;
-  }
-  return true;
-}
-
-void Framework::quit(void)
-{
-  this->isFinished = true;
-}
-
-Framework* Framework::singletonRef = NULL;
-
-Framework* Framework::getInstance(void)
-{
-  if (Framework::singletonRef == NULL)
-    Framework::singletonRef = new Framework();
-  return Framework::singletonRef;
-}
-
-Framework::Framework()
-{
-  this->isFinished = false;
-
-  this->lastFrame = 0;
-  // Create a new OpenGL window with the title "Cone3D Basecode" at
-  // 640x480x32, fullscreen and check for errors along the way
-  GraphicsEngine::getInstance();
-
-  LightManager::getInstance();
-  glEnable(GL_TEXTURE_2D);
-
-  // Build the font from a TGA image font.tga in the data directory
-  // Hide the mouse cursor
-  SDL_ShowCursor(2);
-
-  for (int i = 0; i <MOUSE_BUTTON_COUNT; i++)
-    mouseDown[i] = false;
-
-  ResourceManager::getInstance()->setDataDir(DATA_DIRECTORY);
- 
-
-  moduleInit();
-
-  camera = new Camera();
-
-  State::getInstance()->setCamera(camera, camera->getTarget());
-
-  camera->setAbsCoor(Vector(10, 10, 0));
-}
-
-Framework::~Framework()
-{
-  delete GraphicsEngine::getInstance();
-
-}
-
-
-
-void Framework::printHelp(void) const
-{
-  PRINT(0)(" Help for the frameWork\n");
-  PRINT(0)("========================\n");
-  PRINT(0)("h - print thisHelp\n");
-
-  this->moduleHelp();
-
-}
-
-int quitGui(GtkWidget* widget, void* data)
-{
-#ifdef HAVE_GTK2
-  gtk_main_quit();
-  while(gtk_events_pending()) gtk_main_iteration();
-  Framework::getInstance()->quit();
-#endif /* HAVE_GTK2 */
-}
-
-
-int main(int argc, char *argv[])
-{
-  verbose = 3;
-  
-  Framework* framework = Framework::getInstance();
-
-  framework->moduleInitGui();
-  //  framework->mainloopGui(NULL);
-
-  framework->mainLoop(NULL);
-
-  delete framework;
-  // Kill the GL & SDL screens
-  // And quit
-  return 0;
-}
Index: xonox/branches/physics/src/subprojects/particles/framework.h
===================================================================
--- /orxonox/branches/physics/src/subprojects/particles/framework.h	(revision 4334)
+++ 	(revision )
@@ -1,63 +1,0 @@
-#ifndef _FRAMEWORK_H
-#define _FRAMEWORK_H
- 
-#include "vector.h"
-#include "glincl.h"
-#include "SDL_events.h"
-
-#include "gui_gtk.h"
-
-
-#define DATA_DIRECTORY "~/svn/data/"
-#define MOUSE_BUTTON_COUNT 8
-
-class Camera;
-
-class Framework {
- private:
-  Framework();
-  static Framework* singletonRef;
-  
-  Camera* camera;
-  
-  bool isFinished;
-
-  int movement [4];
-  
-  Uint32 lastFrame;
-  Uint32 currFrame;
-    
-  Uint8* keys;        // This variable will be used in the keyboard routine
-  bool mouseDown[MOUSE_BUTTON_COUNT];
-
- public:
-  ~Framework(); 
-  
-  static Framework* getInstance(void);
-
-
-  void moduleInit();
-  void moduleInitGui(void);
-  void moduleEventHandler(SDL_Event* event);
-  void moduleTick(float dt);
-  void moduleDraw(float dt);
-  
-  void moduleHelp(void) const;
-
-
-
-  static void* mainLoop(void* tmp);
-  bool draw(float dt);
-  float tick();
-  bool eventHandler();
-  void quit();
-
-  static void* mainloopGui(void* tmp);
-
-  void printHelp(void) const;
-};
-
-int quitGui(GtkWidget* widget, void* data);
-
-
-#endif /* _FRAMEWORK_H */
Index: /orxonox/branches/physics/src/subprojects/particles/particle_fun.cc
===================================================================
--- /orxonox/branches/physics/src/subprojects/particles/particle_fun.cc	(revision 4334)
+++ /orxonox/branches/physics/src/subprojects/particles/particle_fun.cc	(revision 4335)
@@ -66,10 +66,4 @@
 
 }
-
-
-
-
-
-
 
 int emitterChange(GtkWidget* nonInterest, void* widget)
