Index: orxonox/branches/md2_loader/src/Makefile.in
===================================================================
--- orxonox/branches/md2_loader/src/Makefile.in	(revision 4127)
+++ orxonox/branches/md2_loader/src/Makefile.in	(revision 4138)
@@ -73,9 +73,10 @@
 	track_manager.$(OBJEXT) track_node.$(OBJEXT) factory.$(OBJEXT) \
 	animation.$(OBJEXT) animation3d.$(OBJEXT) \
-	animation_player.$(OBJEXT) garbage_collector.$(OBJEXT) \
-	story_entity.$(OBJEXT) campaign.$(OBJEXT) world.$(OBJEXT) \
-	world_entity.$(OBJEXT) player.$(OBJEXT) environment.$(OBJEXT) \
-	skysphere.$(OBJEXT) skybox.$(OBJEXT) terrain.$(OBJEXT) \
-	weapon.$(OBJEXT) projectile.$(OBJEXT) satellite.$(OBJEXT) \
+	animation_player.$(OBJEXT) object_manager.$(OBJEXT) \
+	garbage_collector.$(OBJEXT) story_entity.$(OBJEXT) \
+	campaign.$(OBJEXT) world.$(OBJEXT) world_entity.$(OBJEXT) \
+	player.$(OBJEXT) environment.$(OBJEXT) skysphere.$(OBJEXT) \
+	skybox.$(OBJEXT) terrain.$(OBJEXT) weapon.$(OBJEXT) \
+	projectile.$(OBJEXT) satellite.$(OBJEXT) \
 	character_attributes.$(OBJEXT) test_gun.$(OBJEXT) \
 	test_bullet.$(OBJEXT) ai.$(OBJEXT) p_node.$(OBJEXT) \
@@ -124,6 +125,7 @@
 @AMDEP_TRUE@	./$(DEPDIR)/material.Po ./$(DEPDIR)/md2Model.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/model.Po ./$(DEPDIR)/null_parent.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/objModel.Po ./$(DEPDIR)/orxonox.Po \
-@AMDEP_TRUE@	./$(DEPDIR)/p_node.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/objModel.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/object_manager.Po \
+@AMDEP_TRUE@	./$(DEPDIR)/orxonox.Po ./$(DEPDIR)/p_node.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_emitter.Po \
 @AMDEP_TRUE@	./$(DEPDIR)/particle_engine.Po \
@@ -286,4 +288,5 @@
 		 util/animation/animation3d.cc \
 		 util/animation/animation_player.cc \
+		 util/object_manager.cc \
 		 garbage_collector.cc \
 		 story_entities/story_entity.cc \
@@ -347,4 +350,5 @@
 		 util/animation/animation3d.h \
 		 util/animation/animation_player.h \
+		 util/object_manager.h \
 		 garbage_collector.h \
 		 story_entities/story_entity.h \
@@ -550,4 +554,5 @@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/null_parent.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/objModel.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/object_manager.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/orxonox.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/p_node.Po@am__quote@
@@ -818,4 +823,20 @@
 @AMDEP_TRUE@@am__fastdepCXX_FALSE@	$(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
 @am__fastdepCXX_FALSE@	$(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o animation_player.obj `if test -f 'util/animation/animation_player.cc'; then $(CYGPATH_W) 'util/animation/animation_player.cc'; else $(CYGPATH_W) '$(srcdir)/util/animation/animation_player.cc'; fi`
+
+object_manager.o: util/object_manager.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT object_manager.o -MD -MP -MF "$(DEPDIR)/object_manager.Tpo" -c -o object_manager.o `test -f 'util/object_manager.cc' || echo '$(srcdir)/'`util/object_manager.cc; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/object_manager.Tpo" "$(DEPDIR)/object_manager.Po"; else rm -f "$(DEPDIR)/object_manager.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/object_manager.cc' object='object_manager.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/object_manager.Po' tmpdepfile='$(DEPDIR)/object_manager.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 object_manager.o `test -f 'util/object_manager.cc' || echo '$(srcdir)/'`util/object_manager.cc
+
+object_manager.obj: util/object_manager.cc
+@am__fastdepCXX_TRUE@	if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT object_manager.obj -MD -MP -MF "$(DEPDIR)/object_manager.Tpo" -c -o object_manager.obj `if test -f 'util/object_manager.cc'; then $(CYGPATH_W) 'util/object_manager.cc'; else $(CYGPATH_W) '$(srcdir)/util/object_manager.cc'; fi`; \
+@am__fastdepCXX_TRUE@	then mv -f "$(DEPDIR)/object_manager.Tpo" "$(DEPDIR)/object_manager.Po"; else rm -f "$(DEPDIR)/object_manager.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	source='util/object_manager.cc' object='object_manager.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@	depfile='$(DEPDIR)/object_manager.Po' tmpdepfile='$(DEPDIR)/object_manager.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 object_manager.obj `if test -f 'util/object_manager.cc'; then $(CYGPATH_W) 'util/object_manager.cc'; else $(CYGPATH_W) '$(srcdir)/util/object_manager.cc'; fi`
 
 story_entity.o: story_entities/story_entity.cc
Index: orxonox/branches/md2_loader/src/lib/graphics/importer/md2Model.cc
===================================================================
--- orxonox/branches/md2_loader/src/lib/graphics/importer/md2Model.cc	(revision 4127)
+++ orxonox/branches/md2_loader/src/lib/graphics/importer/md2Model.cc	(revision 4138)
@@ -49,4 +49,32 @@
 }
 
+/**
+  \brief draw function
+  
+  these function will take NO argument in the final version, just for testing
+*/
+void MD2Model::draw(t3DModel *pModel)
+{
+	if( pModel->objectList->getSize() <= 0) return;
+
+	t3DObject *pObject = pModel->objectList->firstElement();
+	glBegin(GL_TRIANGLES);
+		for(int j = 0; j < pObject->numOfFaces; j++)
+		{
+			for(int whichVertex = 0; whichVertex < 3; whichVertex++)
+			{
+				int index = pObject->pFaces[j].vertIndex[whichVertex];
+				int index2 = pObject->pFaces[j].coordIndex[whichVertex];
+				/* we invert the normals since the md2 file format uses different style */
+				glNormal3f(-pObject->pNormals[ index ].x, -pObject->pNormals[ index ].y, -pObject->pNormals[ index ].z);
+				if(pObject->pTexVerts) 
+				{
+					glTexCoord2f(pObject->pTexVerts[ index2 ].x, pObject->pTexVerts[ index2 ].y);
+				}
+				glVertex3f(pObject->pVerts[ index ].x, pObject->pVerts[ index ].y, pObject->pVerts[ index ].z);
+			}
+		}
+	glEnd();
+}
 
 /********************************************************************************
Index: orxonox/branches/md2_loader/src/lib/graphics/importer/md2Model.h
===================================================================
--- orxonox/branches/md2_loader/src/lib/graphics/importer/md2Model.h	(revision 4127)
+++ orxonox/branches/md2_loader/src/lib/graphics/importer/md2Model.h	(revision 4138)
@@ -118,4 +118,6 @@
   void drawFrame(int frame);
   
+  void draw(t3DModel *pModel);
+  
   void setAnim(int type);
   void scaleModel(float s);
Index: orxonox/branches/md2_loader/src/story_entities/world.cc
===================================================================
--- orxonox/branches/md2_loader/src/story_entities/world.cc	(revision 4127)
+++ orxonox/branches/md2_loader/src/story_entities/world.cc	(revision 4138)
@@ -50,4 +50,6 @@
 
 #include "substring.h"
+
+#include "md2Model.h"
 
 using namespace std;
@@ -473,4 +475,13 @@
   terrain->setRelCoor(Vector(0,-10,0));
   this->spawn(terrain);
+  
+  
+
+  //This is for md2 test purposes only! if this is seen in the trunk: hit me :)
+  MD2Loader* md2loader = new MD2Loader();
+  this->model = new t3DModel;
+  this->md2Model = new MD2Model();
+  
+  md2loader->importMD2(model, "test.md2", "test.bmp");
 
 }
@@ -931,4 +942,7 @@
     }
   delete iterator;
+
+  /* TESTGING TESTING TESTING */
+  this->md2Model->draw(this->model);
   
   glCallList (objectList);
Index: orxonox/branches/md2_loader/src/story_entities/world.h
===================================================================
--- orxonox/branches/md2_loader/src/story_entities/world.h	(revision 4127)
+++ orxonox/branches/md2_loader/src/story_entities/world.h	(revision 4138)
@@ -23,4 +23,8 @@
 class GarbageCollector;
 class Text;
+
+/* TESTING TESTING TESTING */
+struct t3DModel;
+class MD2Model;
 
 //! The game world Interface
@@ -118,4 +122,9 @@
   GarbageCollector* garbageCollector; //!< reference to the garbage  collector
 
+  /* TESTING TESTING TESTING */
+  t3DModel* model;
+  MD2Model* md2Model;
+
+
   /* function for main-loop */
   void mainLoop ();
