Index: /trunk/src/lib/graphics/importer/texture_sequence.cc
===================================================================
--- /trunk/src/lib/graphics/importer/texture_sequence.cc	(revision 5864)
+++ /trunk/src/lib/graphics/importer/texture_sequence.cc	(revision 5865)
@@ -29,5 +29,5 @@
 /**
  *  Constructor for a Texture
-*/
+ */
 TextureSequence::TextureSequence(unsigned int count, ...)
 {
@@ -41,8 +41,8 @@
 
 /**
- *  Destructor of a TextureSequence
-
-   Frees Data, and deletes the textures from GL
-*/
+ * Destructor of a TextureSequence
+ *
+ * Frees Data, and deletes the textures from GL
+ */
 TextureSequence::~TextureSequence()
 {
@@ -54,4 +54,5 @@
   }
 
+  this->setTexture(0);
   // delete all textures.
   while(!this->textures.empty())
@@ -65,5 +66,5 @@
 
 /**
- * rebuilds all the textures from the Images stored in this FrameSequence
+ * @brief rebuilds all the textures from the Images stored in this FrameSequence
  */
 bool TextureSequence::rebuild()
@@ -85,5 +86,5 @@
 
 /**
- * loads an image Series
+ * @brief loads an image Sequence
  * @param count how many images to load to the TextureSequence
  * @param ... the names of the Images to load
@@ -99,5 +100,5 @@
 
 /**
- * loads an image Series
+ * @brief loads an image Sequence
  * @param count how many images to load to the TextureSequence
  * @param textures the names of the Images to load
@@ -115,5 +116,9 @@
 }
 
-
+/**
+ * @brief adds a new Frame to this Sequence (at the end)
+ * @param imageName the Name of the Image to add
+ * @returns true on success
+ */
 bool TextureSequence::addFrame(const char* imageName)
 {
@@ -129,5 +134,5 @@
 
 /**
- * adds a new Frame at the end of the Sequence.
+ * @brief adds a new Frame at the end of the Sequence.
  * @param surface the Surface to add at the end of the Sequence.
  */
@@ -144,3 +149,16 @@
   }
   this->setAlpha(hasAlpha);
+  return true;
 }
+
+
+
+/**
+ * moves to the n'th texture which can then be retrieved via the Texture function: this->getTexture()
+ * @param frameNumber the n-th frame
+ */
+void TextureSequence::gotoFrame(unsigned int frameNumber)
+{
+  if (this->textures.size() > frameNumber)
+    this->setTexture(this->textures[frameNumber]);
+}
Index: /trunk/src/lib/graphics/importer/texture_sequence.h
===================================================================
--- /trunk/src/lib/graphics/importer/texture_sequence.h	(revision 5864)
+++ /trunk/src/lib/graphics/importer/texture_sequence.h	(revision 5865)
@@ -32,8 +32,12 @@
     virtual bool rebuild();
 
+    /** @returns the count of frames in this sequence */
+    inline unsigned int getFrameCount() const { return this->textures.size(); };
+
+    void gotoFrame(unsigned int frameNumber);
     /** @returns The textureID of the Frame @param frameNumber the n-th frame this texture-series.  */
-    inline GLuint getFrameTexture(unsigned int frameNumber) const { return this->textures[frameNumber]; };
+    inline GLuint getFrameTexture(unsigned int frameNumber) const { return (this->textures.size()>frameNumber)?this->textures[frameNumber]:0; };
     /** @returns The SDL_Surface of the image at Frame @param frameNumber the n-th frame of this image-seriers */
-    const SDL_Surface* const getFrameImage(unsigned int frameNumber) const { return this->images[frameNumber]; };
+    const SDL_Surface* const getFrameImage(unsigned int frameNumber) const { return (this->images.size()>frameNumber)?this->images[frameNumber]:NULL; };
 
   private:
Index: /trunk/src/subprojects/importer/Makefile.am
===================================================================
--- /trunk/src/subprojects/importer/Makefile.am	(revision 5864)
+++ /trunk/src/subprojects/importer/Makefile.am	(revision 5865)
@@ -6,5 +6,6 @@
 importer_LDFLAGS = $(MWINDOWS)
 
-bin_PROGRAMS = importer
+bin_PROGRAMS = importer \
+               multitex
 
 importer_LDADD = $(MAINSRCDIR)/lib/event/libORXevent.a \
@@ -32,3 +33,32 @@
                   $(MAINSRCDIR)/lib/util/color.cc \
                   $(MAINSRCDIR)/lib/util/multi_type.cc \
+                  $(MAINSRCDIR)/lib/util/executor/executor.cc \
                   $(MAINSRCDIR)/util/loading/factory.cc
+
+
+multitex_LDADD = $(MAINSRCDIR)/lib/event/libORXevent.a \
+                 $(MAINSRCDIR)/lib/tinyxml/libtinyxml.a \
+                 $(MAINSRCDIR)/lib/graphics/libORXgraphics.a \
+                 $(MAINSRCDIR)/lib/shell/libORXshell.a \
+                 $(MAINSRCDIR)/lib/sound/libORXsound.a \
+                 $(MAINSRCDIR)/lib/graphics/importer/libORXimporter.a
+
+multitex_SOURCES= ../framework.cc \
+                  multitex.cc \
+                  $(MAINSRCDIR)/util/state.cc \
+                  $(MAINSRCDIR)/world_entities/camera.cc \
+                  $(MAINSRCDIR)/lib/lang/base_object.cc \
+                  $(MAINSRCDIR)/lib/lang/class_list.cc \
+                  $(MAINSRCDIR)/lib/math/vector.cc \
+                  $(MAINSRCDIR)/util/loading/resource_manager.cc \
+                  $(MAINSRCDIR)/lib/util/ini_parser.cc \
+                  $(MAINSRCDIR)/lib/coord/p_node.cc \
+                  $(MAINSRCDIR)/lib/coord/null_parent.cc \
+                  $(MAINSRCDIR)/util/loading/load_param.cc \
+                  $(MAINSRCDIR)/util/loading/load_param_description.cc \
+                  $(MAINSRCDIR)/lib/util/helper_functions.cc \
+                  $(MAINSRCDIR)/lib/util/substring.cc \
+                  $(MAINSRCDIR)/lib/util/color.cc \
+                  $(MAINSRCDIR)/lib/util/multi_type.cc \
+                  $(MAINSRCDIR)/lib/util/executor/executor.cc \
+                  $(MAINSRCDIR)/util/loading/factory.cc
Index: /trunk/src/subprojects/importer/multitex.cc
===================================================================
--- /trunk/src/subprojects/importer/multitex.cc	(revision 5865)
+++ /trunk/src/subprojects/importer/multitex.cc	(revision 5865)
@@ -0,0 +1,122 @@
+/*
+   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 "texture_sequence.h"
+#include "material.h"
+
+#include "objModel.h"
+
+#include "primitive_model.h"
+#include <stdlib.h>
+
+#include "resource_manager.h"
+
+Model* obj;
+TextureSequence* seq;
+Texture* test;
+float counter = 0;
+
+void Framework::moduleInit(int argc, char** argv)
+{
+  ResourceManager::getInstance()->addImageDir("./");
+
+  seq = new TextureSequence();
+  for (int i = 1; i < argc; i++)
+  {
+    seq->addFrame(argv[i]);
+    printf("%s\n", argv[i]);
+  }
+  test = new Texture(argv[1]);
+
+  ResourceManager::getInstance()->addImageDir("");
+
+
+  obj = new PrimitiveModel(PRIM_CYLINDER);
+
+  ResourceManager::getInstance()->debug();
+
+  LightManager* lightMan = LightManager::getInstance();
+  lightMan->setAmbientColor(.1,.1,.1);
+  (new Light())->setAbsCoor(5.0, 10.0, 40.0);
+  (new Light())->setAbsCoor(-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)
+{
+  counter+=dt;
+
+  seq->gotoFrame((unsigned int)counter);
+  if ((unsigned int)counter > seq->getFrameCount())
+    counter = 0;
+}
+
+void Framework::moduleDraw(void) const
+{
+  float diffuse[] = {1,1,1,1};
+  float ambient[] = {1,0,0,1};
+  float specular[] = {1,0,1,1};
+  // setting diffuse color
+  //  glColor3f (diffuse[0], diffuse[1], diffuse[2]);
+  glMaterialfv(GL_FRONT, GL_DIFFUSE, diffuse);
+
+  // setting ambient color
+  glMaterialfv(GL_FRONT, GL_AMBIENT, ambient);
+
+  // setting up Sprecular
+  glMaterialfv(GL_FRONT, GL_SPECULAR, specular);
+
+  // setting up Shininess
+  glMaterialf(GL_FRONT, GL_SHININESS, .4);
+  glShadeModel(GL_SMOOTH);
+
+  glEnable(GL_TEXTURE_2D);
+  glBindTexture(GL_TEXTURE_2D, seq->getTexture());
+//  printf("Number = %d\n", seq->getTexture());
+    /* This allows alpha blending of 2D textures with the scene */
+//     if (seq->hasAlpha())
+//     {
+//       glEnable(GL_BLEND);
+//       glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
+//     }
+
+  obj->draw();
+
+  LightManager::getInstance()->draw();
+}
+
+
+void Framework::moduleHelp(void) const
+{
+
+}
