Index: orxonox/trunk/src/subprojects/Makefile.in
===================================================================
--- orxonox/trunk/src/subprojects/Makefile.in	(revision 4342)
+++ orxonox/trunk/src/subprojects/Makefile.in	(revision 4343)
@@ -186,7 +186,7 @@
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/subprojects/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/subprojects/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/subprojects/Makefile
+	  $(AUTOMAKE) --gnu  src/subprojects/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
Index: orxonox/trunk/src/subprojects/framework.cc
===================================================================
--- orxonox/trunk/src/subprojects/framework.cc	(revision 4342)
+++ orxonox/trunk/src/subprojects/framework.cc	(revision 4343)
@@ -34,7 +34,8 @@
   while(!framework->isFinished)
     {
+#ifdef GUI_MODULE
       while(gtk_events_pending()) 
 	gtk_main_iteration();
-
+#endif
       // keyhandler returns false if sdl gets quit by some event
       framework->eventHandler();
@@ -141,5 +142,9 @@
 	  case SDLK_q:
 	  case SDLK_ESCAPE:
+#ifdef GUI_MODULE
 	    quitGui(NULL, NULL);
+#else
+	    this->quit();
+#endif
 	    break;
 	  case SDLK_a:
@@ -158,5 +163,9 @@
       case SDL_QUIT:
 	// then we're done and we'll end this program
-	quitGui(NULL, NULL);
+#ifdef GUI_MODULE
+	    quitGui(NULL, NULL);
+#else
+	    this->quit();
+#endif
 	break;
       default:
@@ -210,7 +219,4 @@
   ResourceManager::getInstance()->setDataDir(DATA_DIRECTORY);
  
-
-  moduleInit();
-
   camera = new Camera();
 
@@ -238,4 +244,5 @@
 }
 
+#ifdef GUI_MODULE
 int quitGui(GtkWidget* widget, void* data)
 {
@@ -245,5 +252,5 @@
 #endif /* HAVE_GTK2 */
 }
-
+#endif
 
 int main(int argc, char *argv[])
@@ -253,7 +260,8 @@
   Framework* framework = Framework::getInstance();
 
-  framework->moduleInitGui();
-  //  framework->mainloopGui(NULL);
-
+  framework->moduleInit(argc, argv);
+#ifdef GUI_MODULE
+  framework->moduleInitGui(argc, argv);
+#endif
   framework->mainLoop(NULL);
 
Index: orxonox/trunk/src/subprojects/framework.h
===================================================================
--- orxonox/trunk/src/subprojects/framework.h	(revision 4342)
+++ orxonox/trunk/src/subprojects/framework.h	(revision 4343)
@@ -5,7 +5,9 @@
 #include "glincl.h"
 #include "SDL_events.h"
+#include "debug.h"
 
+#ifdef GUI_MODULE
 #include "gui_gtk.h"
-
+#endif 
 
 #define DATA_DIRECTORY "~/svn/data/"
@@ -37,6 +39,8 @@
 
 
-  void moduleInit();
-  void moduleInitGui(void);
+  void moduleInit(int argc, char** argv);
+#ifdef GUI_MODULE
+  void moduleInitGui(int argc, char** argv);
+#endif
   void moduleEventHandler(SDL_Event* event);
   void moduleTick(float dt);
@@ -58,6 +62,7 @@
 };
 
+#ifdef GUI_MODULE
 int quitGui(GtkWidget* widget, void* data);
-
+#endif
 
 #endif /* _FRAMEWORK_H */
Index: orxonox/trunk/src/subprojects/gui/Makefile.in
===================================================================
--- orxonox/trunk/src/subprojects/gui/Makefile.in	(revision 4342)
+++ orxonox/trunk/src/subprojects/gui/Makefile.in	(revision 4343)
@@ -229,7 +229,7 @@
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/subprojects/gui/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/subprojects/gui/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/subprojects/gui/Makefile
+	  $(AUTOMAKE) --gnu  src/subprojects/gui/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
Index: orxonox/trunk/src/subprojects/importer/Makefile.am
===================================================================
--- orxonox/trunk/src/subprojects/importer/Makefile.am	(revision 4342)
+++ orxonox/trunk/src/subprojects/importer/Makefile.am	(revision 4343)
@@ -30,8 +30,12 @@
 AM_LDFLAGS=$(MWINDOWS)
 
-bin_PROGRAMS=importer
+bin_PROGRAMS = importer
 
 
-importer_SOURCES= framework.cc \
+importer_SOURCES= ../framework.cc \
+		  importer.cc \
+		  $(MAINSRCDIR)/lib/graphics/light.cc \
+		  $(MAINSRCDIR)/util/state.cc \
+		  $(MAINSRCDIR)/world_entities/camera.cc \
 	  	  $(MAINSRCDIR)/lib/graphics/importer/model.cc \
 		  $(MAINSRCDIR)/lib/graphics/importer/objModel.cc \
@@ -46,6 +50,3 @@
 		  $(MAINSRCDIR)/lib/graphics/text_engine.cc \
 		  $(MAINSRCDIR)/lib/coord/p_node.cc \
-		  $(MAINSRCDIR)/lib/coord/null_parent.cc
-
-noinst_HEADERS = framework.h
-
+		  $(MAINSRCDIR)/lib/coord/null_parent.cc 
Index: orxonox/trunk/src/subprojects/importer/Makefile.in
===================================================================
--- orxonox/trunk/src/subprojects/importer/Makefile.in	(revision 4342)
+++ orxonox/trunk/src/subprojects/importer/Makefile.in	(revision 4343)
@@ -14,5 +14,4 @@
 
 @SET_MAKE@
-
 
 SOURCES = $(importer_SOURCES)
@@ -41,6 +40,5 @@
 bin_PROGRAMS = importer$(EXEEXT)
 subdir = src/subprojects/importer
-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
@@ -53,10 +51,11 @@
 binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS)
-am_importer_OBJECTS = framework.$(OBJEXT) model.$(OBJEXT) \
-	objModel.$(OBJEXT) primitive_model.$(OBJEXT) array.$(OBJEXT) \
-	material.$(OBJEXT) texture.$(OBJEXT) graphics_engine.$(OBJEXT) \
-	base_object.$(OBJEXT) vector.$(OBJEXT) \
-	resource_manager.$(OBJEXT) text_engine.$(OBJEXT) \
-	p_node.$(OBJEXT) null_parent.$(OBJEXT)
+am_importer_OBJECTS = framework.$(OBJEXT) importer.$(OBJEXT) \
+	light.$(OBJEXT) state.$(OBJEXT) camera.$(OBJEXT) \
+	model.$(OBJEXT) objModel.$(OBJEXT) primitive_model.$(OBJEXT) \
+	array.$(OBJEXT) material.$(OBJEXT) texture.$(OBJEXT) \
+	graphics_engine.$(OBJEXT) base_object.$(OBJEXT) \
+	vector.$(OBJEXT) resource_manager.$(OBJEXT) \
+	text_engine.$(OBJEXT) p_node.$(OBJEXT) null_parent.$(OBJEXT)
 importer_OBJECTS = $(am_importer_OBJECTS)
 importer_LDADD = $(LDADD)
@@ -65,7 +64,8 @@
 am__depfiles_maybe = depfiles
 @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/array.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/base_object.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/base_object.Po ./$(DEPDIR)/camera.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/framework.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/graphics_engine.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/importer.Po ./$(DEPDIR)/light.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/material.Po ./$(DEPDIR)/model.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/null_parent.Po ./$(DEPDIR)/objModel.Po \
@@ -73,6 +73,6 @@
 @AMDEP_TRUE@	./$(DEPDIR)/primitive_model.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/resource_manager.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/text_engine.Po ./$(DEPDIR)/texture.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/vector.Po
+@AMDEP_TRUE@	./$(DEPDIR)/state.Po ./$(DEPDIR)/text_engine.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/texture.Po ./$(DEPDIR)/vector.Po
 CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
 	$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
@@ -82,5 +82,4 @@
 SOURCES = $(importer_SOURCES)
 DIST_SOURCES = $(importer_SOURCES)
-HEADERS = $(noinst_HEADERS)
 ETAGS = etags
 CTAGS = ctags
@@ -197,5 +196,9 @@
 AM_CXXFLAGS = -I$(MAINSRCDIR) -I$(MAINSRCDIR)/world_entities -I$(MAINSRCDIR)/story_entities -I$(MAINSRCDIR)/lib -I$(MAINSRCDIR)/lib/coord -I$(MAINSRCDIR)/lib/data -I$(MAINSRCDIR)/lib/graphics -I$(MAINSRCDIR)/lib/graphics/importer -I$(MAINSRCDIR)/lib/graphics/particles -I$(MAINSRCDIR)/lib/gui -I$(MAINSRCDIR)/lib/gui/gui -I$(MAINSRCDIR)/lib/lang -I$(MAINSRCDIR)/lib/util -I$(MAINSRCDIR)/lib/math -I$(MAINSRCDIR)/lib/tinyxml -I$(MAINSRCDIR)/defs -I$(MAINSRCDIR)/font -I$(MAINSRCDIR)/network -I$(MAINSRCDIR)/glmenu -I$(MAINSRCDIR)/ai -I$(MAINSRCDIR)/util -I$(MAINSRCDIR)/util/animation -I$(MAINSRCDIR)/util/common -I$(MAINSRCDIR)/util/loading -I$(MAINSRCDIR)/util/track -I$(MAINSRCDIR)/subprojects
 AM_LDFLAGS = $(MWINDOWS)
-importer_SOURCES = framework.cc \
+importer_SOURCES = ../framework.cc \
+		  importer.cc \
+		  $(MAINSRCDIR)/lib/graphics/light.cc \
+		  $(MAINSRCDIR)/util/state.cc \
+		  $(MAINSRCDIR)/world_entities/camera.cc \
 	  	  $(MAINSRCDIR)/lib/graphics/importer/model.cc \
 		  $(MAINSRCDIR)/lib/graphics/importer/objModel.cc \
@@ -210,7 +213,6 @@
 		  $(MAINSRCDIR)/lib/graphics/text_engine.cc \
 		  $(MAINSRCDIR)/lib/coord/p_node.cc \
-		  $(MAINSRCDIR)/lib/coord/null_parent.cc
-
-noinst_HEADERS = framework.h
+		  $(MAINSRCDIR)/lib/coord/null_parent.cc 
+
 all: all-am
 
@@ -226,7 +228,7 @@
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/subprojects/importer/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/subprojects/importer/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/subprojects/importer/Makefile
+	  $(AUTOMAKE) --gnu  src/subprojects/importer/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@@ -281,6 +283,9 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/array.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/base_object.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/camera.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/framework.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/graphics_engine.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/importer.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/light.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/material.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/model.Po@am__quote@
@@ -290,4 +295,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/primitive_model.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/resource_manager.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/state.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/text_engine.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/texture.Po@am__quote@
@@ -309,4 +315,68 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+framework.o: ../framework.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT framework.o -MD -MP -MF "$(DEPDIR)/framework.Tpo" -c -o framework.o `test -f '../framework.cc' || echo '$(srcdir)/'`../framework.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/framework.Tpo" "$(DEPDIR)/framework.Po"; else rm -f "$(DEPDIR)/framework.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../framework.cc' object='framework.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/framework.Po' tmpdepfile='$(DEPDIR)/framework.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o framework.o `test -f '../framework.cc' || echo '$(srcdir)/'`../framework.cc
+
+framework.obj: ../framework.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT framework.obj -MD -MP -MF "$(DEPDIR)/framework.Tpo" -c -o 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)/framework.Tpo" "$(DEPDIR)/framework.Po"; else rm -f "$(DEPDIR)/framework.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='../framework.cc' object='framework.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/framework.Po' tmpdepfile='$(DEPDIR)/framework.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o framework.obj `if test -f '../framework.cc'; then $(CYGPATH_W) '../framework.cc'; else $(CYGPATH_W) '$(srcdir)/../framework.cc'; fi`
+
+light.o: $(MAINSRCDIR)/lib/graphics/light.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT light.o -MD -MP -MF "$(DEPDIR)/light.Tpo" -c -o light.o `test -f '$(MAINSRCDIR)/lib/graphics/light.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/lib/graphics/light.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/light.Tpo" "$(DEPDIR)/light.Po"; else rm -f "$(DEPDIR)/light.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/lib/graphics/light.cc' object='light.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/light.Po' tmpdepfile='$(DEPDIR)/light.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o light.o `test -f '$(MAINSRCDIR)/lib/graphics/light.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/lib/graphics/light.cc
+
+light.obj: $(MAINSRCDIR)/lib/graphics/light.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT light.obj -MD -MP -MF "$(DEPDIR)/light.Tpo" -c -o light.obj `if test -f '$(MAINSRCDIR)/lib/graphics/light.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/lib/graphics/light.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/lib/graphics/light.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/light.Tpo" "$(DEPDIR)/light.Po"; else rm -f "$(DEPDIR)/light.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/lib/graphics/light.cc' object='light.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/light.Po' tmpdepfile='$(DEPDIR)/light.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o light.obj `if test -f '$(MAINSRCDIR)/lib/graphics/light.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/lib/graphics/light.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/lib/graphics/light.cc'; fi`
+
+state.o: $(MAINSRCDIR)/util/state.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT state.o -MD -MP -MF "$(DEPDIR)/state.Tpo" -c -o state.o `test -f '$(MAINSRCDIR)/util/state.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/util/state.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/state.Tpo" "$(DEPDIR)/state.Po"; else rm -f "$(DEPDIR)/state.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/util/state.cc' object='state.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/state.Po' tmpdepfile='$(DEPDIR)/state.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o state.o `test -f '$(MAINSRCDIR)/util/state.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/util/state.cc
+
+state.obj: $(MAINSRCDIR)/util/state.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT state.obj -MD -MP -MF "$(DEPDIR)/state.Tpo" -c -o state.obj `if test -f '$(MAINSRCDIR)/util/state.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/util/state.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/util/state.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/state.Tpo" "$(DEPDIR)/state.Po"; else rm -f "$(DEPDIR)/state.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/util/state.cc' object='state.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/state.Po' tmpdepfile='$(DEPDIR)/state.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o state.obj `if test -f '$(MAINSRCDIR)/util/state.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/util/state.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/util/state.cc'; fi`
+
+camera.o: $(MAINSRCDIR)/world_entities/camera.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT camera.o -MD -MP -MF "$(DEPDIR)/camera.Tpo" -c -o camera.o `test -f '$(MAINSRCDIR)/world_entities/camera.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/world_entities/camera.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/camera.Tpo" "$(DEPDIR)/camera.Po"; else rm -f "$(DEPDIR)/camera.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/world_entities/camera.cc' object='camera.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/camera.Po' tmpdepfile='$(DEPDIR)/camera.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o camera.o `test -f '$(MAINSRCDIR)/world_entities/camera.cc' || echo '$(srcdir)/'`$(MAINSRCDIR)/world_entities/camera.cc
+
+camera.obj: $(MAINSRCDIR)/world_entities/camera.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT camera.obj -MD -MP -MF "$(DEPDIR)/camera.Tpo" -c -o camera.obj `if test -f '$(MAINSRCDIR)/world_entities/camera.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/world_entities/camera.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/world_entities/camera.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/camera.Tpo" "$(DEPDIR)/camera.Po"; else rm -f "$(DEPDIR)/camera.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='$(MAINSRCDIR)/world_entities/camera.cc' object='camera.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/camera.Po' tmpdepfile='$(DEPDIR)/camera.TPo' @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o camera.obj `if test -f '$(MAINSRCDIR)/world_entities/camera.cc'; then $(CYGPATH_W) '$(MAINSRCDIR)/world_entities/camera.cc'; else $(CYGPATH_W) '$(srcdir)/$(MAINSRCDIR)/world_entities/camera.cc'; fi`
 
 model.o: $(MAINSRCDIR)/lib/graphics/importer/model.cc
@@ -596,5 +666,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: orxonox/trunk/src/subprojects/importer/framework.cc
===================================================================
--- orxonox/trunk/src/subprojects/importer/framework.cc	(revision 4342)
+++ 	(revision )
@@ -1,253 +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 "vector.h"
-
-#include "primitive_model.h"
-#include "debug.h"
-#include "graphics_engine.h"
-
-
-
-int verbose;
-void DrawGLScene()
-{
-  currFrame = SDL_GetTicks();
-  dt = currFrame - lastFrame; 
-  if (dt == 0)
-    dist += (zoomTo-dist)/500;
-  else 
-    dist += (zoomTo-dist)/500 *(float)dt;
-
-  rotatorP += rotatorV *(float)dt;
-  
-
-  glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
-  glLoadIdentity(); // Reset the view
-  
-  glMatrixMode(GL_PROJECTION);
-  glLoadIdentity();	
-  gluPerspective(45.0f,500/375,0.1f,dist * 5.0f);
-    gluLookAt (0, dist , dist, 0,0,0, up.x,up.y,up.z);
-
-  glMatrixMode(GL_MODELVIEW);
-  glPushMatrix();
-  //  glRotatef (180, dir.x, dir.y, dir.z);
-  glMultMatrixf (*matQ);
-  if (obj)
-    obj->draw();
-
-  glPopMatrix();
-
-  SDL_GL_SwapBuffers(); // Swap the buffers
-  lastFrame = currFrame;
-}
-
-
-int main(int argc, char *argv[])
-{
-  verbose = 3;
-
-  Uint8* keys; // This variable will be used in the keyboard routine
-  int done = false; // We aren't done yet, are we?
-
-  // Create a new OpenGL window with the title "Cone3D Basecode" at
-  // 640x480x32, fullscreen and check for errors along the way
-  GraphicsEngine::getInstance();
-
-  if (argc>=3)
-    obj = new OBJModel (argv[1], atof(argv[2]));
-  else if (argc>=2)
-    obj = new OBJModel(argv[1]);
-  else 
-    obj = new PrimitiveModel(CYLINDER);
-
-  M = Vector(GraphicsEngine::getInstance()->getResolutionY()/2, GraphicsEngine::getInstance()->getResolutionX()/2, 0); 
-  rotAxis = Vector (0.0,1.0,0.0);
-  rotAngle = 0;
-
-  matQ[0][0] = matQ[1][1] = matQ[2][2] = matQ[3][3] = 1;
-  rotQ = Quaternion (rotAngle, rotAxis);
-  rotQlast = rotQ;
-  dir = Vector (0.0, 0.0, 1.0);
-  up = Vector (0.0, 1.0, 0.0);
-
-  glEnable(GL_LIGHTING);
-  glEnable(GL_DEPTH_TEST);
-
-  GLfloat whiteLight[] = {1.0, 1.0, 1.0,1.0};
-  GLfloat light0Position[] = {10.0, 10.0, 10.0, 0.0};
-  GLfloat light1Position[] = {-10.0, -7.0, -6.0, 0.0};
-  GLfloat lmodelAmbient[] = {.1, .1, .1, 1.0};
-
-  glEnable(GL_LIGHT0);
-  glLightfv(GL_LIGHT0, GL_POSITION, light0Position);
-  glLightfv(GL_LIGHT0, GL_DIFFUSE, whiteLight);
-  glLightfv(GL_LIGHT0, GL_SPECULAR, whiteLight);
-  
-  glEnable(GL_LIGHT1);
-  glLightfv(GL_LIGHT1, GL_POSITION, light1Position);
-  glLightfv(GL_LIGHT1, GL_DIFFUSE, whiteLight);
-  glLightfv(GL_LIGHT1, GL_SPECULAR, whiteLight);
-  
-
-  glEnable(GL_TEXTURE_2D);
-  rotatorP = .0;
-  rotatorV = .0;
-  dist = 5.0;
-  zoomTo = dist;
-  // Build the font from a TGA image font.tga in the data directory
-  // Hide the mouse cursor
-    SDL_ShowCursor(2);
-    mouse1Down = false;
-
-  // This is the main loop for the entire program and it will run until done==TRUE
-  while(!done)
-  {
-    // Draw the scene
-    DrawGLScene();
-    // And poll for events
-    SDL_Event event;
-    while ( SDL_PollEvent(&event) ) {
-      switch (event.type) {
-      case SDL_MOUSEMOTION:
-	PRINTF(4)("Mouse motion about %d,%d Pixels to (%d,%d).\n", 
-		  event.motion.xrel, event.motion.yrel,
-		  event.motion.x, event.motion.y);
-	// TRACKBALL
-	if (mouse1Down)
-	  {
-	    int mX = event.button.x;
-	    int mY = event.button.y;
-	    int wH = GraphicsEngine::getInstance()->getResolutionY();
-	    int wW = GraphicsEngine::getInstance()->getResolutionX();
-	    Vector tmpV (mX, mY, sqrt ( (float) abs(wH * wH/4 - (wW/2-mX) * (wW/2-mX) - (wH/2-mY) * (wH/2-mY)) ));
-	    //	    PRINTF(0)("tmpV: %f, %f, %f\n", tmpV.x, tmpV.y, tmpV.z);
-	    p2 = tmpV-M;
-	    p2.y = -p2.y;
-	    rotAxis = p1.cross(p2);
-	    //  PRINTF(0)("rotAxis: %f, %f, %f\n", rotAxis.x, rotAxis.y, rotAxis.z);
-
-	    // in case that there is no rotation-axis defined
-	    if (rotAxis.x != 0 || rotAxis.y != 0 || rotAxis.z != 0)
-	      {
-		rotAxis.normalize();
-		//		PRINTF(0)("rotAxis: %f, %f, %f\n", rotAxis.x, rotAxis.y, rotAxis.z, rotAngle);
-				
-		rotAngle = angleRad (p1, p2);
-		rotQ = Quaternion (rotAngle, rotAxis);
-		rotQ = rotQ * rotQlast;
-		rotQ.matrix (matQ);
-		//	dir = rotQ.apply(dir);
-		//      dir.normalize();
-		//	PRINTF(0)("rotAxis: %f, %f, %f, %f\n", dir.x, dir.y, dir.z, rotAngle);
-	      }
-	    rotQlast = rotQ;
-	    p1 = p2;
-
-	  }
-	break;
-      case SDL_MOUSEBUTTONDOWN:
-	if (event.button.button == 4)
-	  {
-	    PRINTF(4)("MouseWheel up\n");
-	    zoomTo *= .5;
-	  }
-	else if (event.button.button == 5)
-	  {
-	    PRINTF(4)("MouseWheel down\n");
-	    zoomTo *= 2.0;
-	  }
-	else if (event.button.button == 1)
-	  {
-	    mouse1Down = true;
-	    int mX = event.button.x;
-	    int mY = event.button.y;
-	    int wH = GraphicsEngine::getInstance()->getResolutionY();
-	    int wW = GraphicsEngine::getInstance()->getResolutionX();
-	    Vector tmpV (mX, mY, sqrt ( (float) abs(wH * wH/4 - (wW/2-mX) * (wW/2-mX) - (wH/2-mY) * (wH/2-mY)) ));
-	    p1 = tmpV-M;
-	    p1.y = -p1.y;
-
-	  }
-	else
-	  {
-	    PRINTF(0)("MouseButton %d pressed at (%d,%d).\n",
-		   event.button.button, event.button.x, event.button.y);
-	    rotatorV = ( (float)GraphicsEngine::getInstance()->getResolutionY()/2 -event.button.x) / (float)GraphicsEngine::getInstance()->getResolutionY() / 100.0;
-	  }
-	    
-	break;
-      case SDL_MOUSEBUTTONUP:
-	if (event.button.button == 4);
-	else if (event.button.button == 5);
-	else if (event.button.button == 1)
-	  mouse1Down =false;
-	else 
-	    {
-	      PRINTF(4)("MouseButton %d released at (%d,%d).\n",
-			event.button.button, event.button.x, event.button.y);
-	    }
-	break;
-
-
-      case SDL_KEYDOWN:
-	switch (event.key.keysym.sym)
-	  {
-	  case SDLK_x:
-	    delete obj;
-	    obj = NULL;
-	    break;
-	  case SDLK_c:
-	    if (!obj)
-	      obj = new OBJModel(argv[1]);
-	    break;
-	  case SDLK_a:
-	    zoomTo /=2;
-	    break;
-	  case SDLK_z:
-	    zoomTo *=2;
-
-	  }
-	break;
-	    
-        // If a quit event was recieved
-      case SDL_QUIT:
-	// then we're done and we'll end this program
-          done=true;
-          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]) done=true;
-  }
-
-  // Kill the GL & SDL screens
-  if (obj)
-    delete obj;
-  delete GraphicsEngine::getInstance();
-  // And quit
-  return 0;
-}
Index: orxonox/trunk/src/subprojects/importer/framework.h
===================================================================
--- orxonox/trunk/src/subprojects/importer/framework.h	(revision 4342)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#ifndef _FRAMEWORK_H
-#define _FRAMEWORK_H
- 
-#include "objModel.h"
-#include "vector.h"
-
-float rotatorP;
-float rotatorV;
-
-float dist;
-float zoomTo;
-
-Uint32 lastFrame;
-Uint32 currFrame;
-Uint32 dt;
-
-
-Vector dir;
-Vector up;
-
-float matQ[4][4];
-
-Vector M;
-Vector p1;
-Vector p2;
-Vector rotAxis;
-float rotAngle;
-Quaternion rotQ;
-Quaternion rotQlast;
-
-bool mouse1Down;
-
-Model* obj;
-
-
-#endif /* _FRAMEWORK_H */
Index: orxonox/trunk/src/subprojects/importer/importer.cc
===================================================================
--- orxonox/trunk/src/subprojects/importer/importer.cc	(revision 4343)
+++ orxonox/trunk/src/subprojects/importer/importer.cc	(revision 4343)
@@ -0,0 +1,84 @@
+/* 
+   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: ...
+
+   this file extends the framework file, so it renders what i want.
+*/
+
+#include "framework.h"
+
+#include "light.h"
+
+#include "objModel.h"
+#include "primitive_model.h"
+#include <stdlib.h>
+
+
+Model* obj;
+
+void Framework::moduleInit(int argc, char** argv)
+{
+  if (argc>=3)
+    obj = new OBJModel (argv[1], atof(argv[2]));
+  else if (argc>=2)
+    obj = new OBJModel(argv[1]);
+  else 
+    obj = new PrimitiveModel(CYLINDER);
+
+  LightManager* lightMan = LightManager::getInstance();
+  lightMan->setAmbientColor(.1,.1,.1);
+  lightMan->addLight();
+  //  lightMan->setAttenuation(1.0, .01, 0.0);
+  //  lightMan->setDiffuseColor(1,1,1);
+  //  lightMan->addLight(1);
+  //  lightMan->setPosition(20, 10, -20);
+  //  lightMan->setDiffuseColor(0,0,0);
+  //  lightMan->debug();
+  lightMan->setPosition(5.0, 10.0, 40.0);
+  lightMan->addLight();
+  lightMan->setPosition(-10, -20, -100);
+}
+
+void Framework::moduleEventHandler(SDL_Event* event)
+{
+  switch (event->type)
+    {
+    case SDL_KEYDOWN:
+      switch (event->key.keysym.sym)
+	{
+	case SDLK_i:
+	  break;
+	}
+    }
+}
+
+void Framework::moduleTick(float dt)
+{
+  
+}
+
+void Framework::moduleDraw(float dt)
+{
+  obj->draw();
+
+  LightManager::getInstance()->draw();
+}
+
+
+void Framework::moduleHelp(void) const
+{
+  PRINT(0)("\n");
+  PRINT(0)("i ");
+  PRINT(0)("\n");
+
+}
Index: orxonox/trunk/src/subprojects/particles/Makefile.am
===================================================================
--- orxonox/trunk/src/subprojects/particles/Makefile.am	(revision 4342)
+++ orxonox/trunk/src/subprojects/particles/Makefile.am	(revision 4343)
@@ -36,5 +36,6 @@
 		  -lpthread
 
-particles_CPPFLAGS = $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
+particles_CPPFLAGS =  -DGUI_MODULE \
+		      $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
 
 particles_SOURCES= ../framework.cc \
Index: orxonox/trunk/src/subprojects/particles/Makefile.in
===================================================================
--- orxonox/trunk/src/subprojects/particles/Makefile.in	(revision 4342)
+++ orxonox/trunk/src/subprojects/particles/Makefile.in	(revision 4343)
@@ -218,5 +218,7 @@
 		  -lpthread
 
-particles_CPPFLAGS = $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
+particles_CPPFLAGS = -DGUI_MODULE \
+		      $(GTK2_CFLAGS) $(GTHREAD_CFLAGS) $(CURL_CFLAGS) $(MSBITFIELDS)
+
 particles_SOURCES = ../framework.cc \
 		   particle_fun.cc \
@@ -255,7 +257,7 @@
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/subprojects/particles/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/subprojects/particles/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/subprojects/particles/Makefile
+	  $(AUTOMAKE) --gnu  src/subprojects/particles/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
Index: orxonox/trunk/src/subprojects/particles/particle_fun.cc
===================================================================
--- orxonox/trunk/src/subprojects/particles/particle_fun.cc	(revision 4342)
+++ orxonox/trunk/src/subprojects/particles/particle_fun.cc	(revision 4343)
@@ -22,5 +22,5 @@
 
 
-void Framework::moduleInit()
+void Framework::moduleInit(int argc, char** argv)
 {
   // Creating a Test Particle System
@@ -174,5 +174,5 @@
 
 
-void Framework::moduleInitGui(void)
+void Framework::moduleInitGui(int argc, char** argv)
 {
   Window* guiMainWindow = NULL;
Index: orxonox/trunk/src/subprojects/testmain/Makefile.in
===================================================================
--- orxonox/trunk/src/subprojects/testmain/Makefile.in	(revision 4342)
+++ orxonox/trunk/src/subprojects/testmain/Makefile.in	(revision 4343)
@@ -197,7 +197,7 @@
 	  esac; \
 	done; \
-	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign  src/subprojects/testmain/Makefile'; \
+	echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu  src/subprojects/testmain/Makefile'; \
 	cd $(top_srcdir) && \
-	  $(AUTOMAKE) --foreign  src/subprojects/testmain/Makefile
+	  $(AUTOMAKE) --gnu  src/subprojects/testmain/Makefile
 .PRECIOUS: Makefile
 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
