Index: branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc
===================================================================
--- branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc	(revision 8581)
+++ branches/bsp_model/src/lib/graphics/importer/md3/md3_data.cc	(revision 8590)
@@ -374,5 +374,5 @@
     std::string path1(tex[i].fileName);
     std::string fullPath( path + path1);
-    this->meshes[mesh]->material[i].setDiffuseMap(/*tex[i].fileName*/ /*fullPath.c_str()*/ "maps/yuri.tga");
+    this->meshes[mesh]->material[i].setDiffuseMap(/*tex[i].fileName*/ /*fullPath.c_str()*/ "maps/creatures/gork/gorkup.tga");
     this->meshes[mesh]->material[i].setAmbient(1, 1, 1);
   }
Index: branches/bsp_model/src/lib/graphics/importer/md3/md3_model.cc
===================================================================
--- branches/bsp_model/src/lib/graphics/importer/md3/md3_model.cc	(revision 8581)
+++ branches/bsp_model/src/lib/graphics/importer/md3/md3_model.cc	(revision 8590)
@@ -27,4 +27,6 @@
 #include "quaternion.h"
 
+#include "loading/resource_manager.h"
+
 #include "debug.h"
 
@@ -37,5 +39,4 @@
   MD3Model::MD3Model(std::string filename, float scaling)
   {
-
     this->autoAssemblePlayerModel(filename, scaling);
 
@@ -74,9 +75,19 @@
   /**
    * auto assemples a player model
+   * @param filename is the name to the directory of the modelzzzzzz
    */
   void MD3Model::autoAssemblePlayerModel(std::string filename, float scaling)
   {
-    this->md3Data = new MD3Data(filename, filename, scaling);
+//     this->md3Data = new MD3Data(filename, filename, scaling);
 //     MD3AnimationCfg cfg("/home/boenzlip/tmp/q3/Downloads/MOH/q3mdl-alien3/models/players/alien3/animation.cfg");
+
+
+    //first load the torso
+    std::string name(filename + "/upper.md3");
+    PRINTF(0)("data dir: %s\n", ResourceManager::getInstance()->getFullName(name).c_str());
+
+//     this->md3Data = new MD3Data(name, name, scaling);
+    this->md3Data = (MD3Data*)ResourceManager::getInstance()->load(name, MD3, RP_GAME, name, scaling);
+
 
 
Index: branches/bsp_model/src/lib/util/loading/resource_manager.cc
===================================================================
--- branches/bsp_model/src/lib/util/loading/resource_manager.cc	(revision 8581)
+++ branches/bsp_model/src/lib/util/loading/resource_manager.cc	(revision 8590)
@@ -28,4 +28,5 @@
 #include "primitive_model.h"
 #include "md2/md2Model.h"
+#include "md3/md3_data.h"
 #endif /* NO_MODEL */
 #ifndef NO_TEXTURES
@@ -201,4 +202,6 @@
   else if (!strncmp(fileName.c_str()+(fileName.size()-4), ".md2", 4))
     tmpType = MD2;
+  else if (!strncmp(fileName.c_str()+(fileName.size()-4), ".md3", 4))
+    tmpType = MD3;
   else if (!strcasecmp(fileName.c_str(), "cube") ||
             !strcasecmp(fileName.c_str(), "sphere") ||
@@ -400,4 +403,13 @@
       }
       break;
+    case MD3:
+      if(File(fullName).isFile())
+      {
+        PRINTF(0)("md3 load\n");
+        tmpResource->param[0] = param0;
+        tmpResource->param[1] = param1;
+        tmpResource->pointer = new md3::MD3Data(fullName, tmpResource->param[0].getCString(), tmpResource->param[1].getFloat());
+      }
+      break;
 #endif /* NO_MODEL */
 #ifndef NO_TEXT
@@ -624,4 +636,11 @@
             match = true;
           break;
+        case MD3:
+          if (param0 == MT_NULL && ((*resource)->param[0] == "") && param1 == MT_NULL && ((*resource)->param[0] == 1.0f))
+            match = true;
+          else if ((*resource)->param[0] == ((MultiType)param0).getString() && (*resource)->param[1] == ((MultiType)param1).getFloat())
+            match = true;
+          break;
+
 #endif /* NO_MODEL */
 #ifndef NO_TEXT
@@ -863,4 +882,5 @@
     "PrimitiveModel",
     "MD2-Data",
+    "MD3-Data",
 #endif
 #ifndef NO_TEXT
Index: branches/bsp_model/src/lib/util/loading/resource_manager.h
===================================================================
--- branches/bsp_model/src/lib/util/loading/resource_manager.h	(revision 8581)
+++ branches/bsp_model/src/lib/util/loading/resource_manager.h	(revision 8590)
@@ -33,4 +33,5 @@
   PRIM,                 //!< loading primitive model
   MD2,                  //!< loading md2-file
+  MD3,                  //!< loading md3-file
 #endif /* NO_MODEL */
 #ifndef NO_TEXT
