Index: branches/mount_points/src/lib/graphics/importer/model.h
===================================================================
--- branches/mount_points/src/lib/graphics/importer/model.h	(revision 10183)
+++ branches/mount_points/src/lib/graphics/importer/model.h	(revision 10184)
@@ -55,4 +55,5 @@
 typedef struct
 {
+  std::string      name;                 //!< the name of the mount point
   Vector           up;                   //!< the up vector
   Vector           forward;              //!< the forward vector
@@ -100,6 +101,6 @@
     inline const mpList& getMountPoints() const { return this->mountPoints; }
     /** adds a mounting point to the model @param up up vector @param forward forward vector @param center center vector */
-    inline void addMountPoint(Vector up, Vector forward, Vector center)
-    { mountPointSkeleton mps; mps.up = up; mps.forward = forward; mps.center = center; }
+    inline void addMountPoint(const Vector& up, const Vector& forward, const Vector& center, const std::string& name)
+    { mountPointSkeleton mps; mps.up = up; mps.forward = forward; mps.center = center; mps.name = name; }
 
 
Index: branches/mount_points/src/lib/graphics/importer/static_model.cc
===================================================================
--- branches/mount_points/src/lib/graphics/importer/static_model.cc	(revision 10183)
+++ branches/mount_points/src/lib/graphics/importer/static_model.cc	(revision 10184)
@@ -197,5 +197,5 @@
 
     // now add the mount point
-    this->addMountPoint( up, forward, center);
+    this->addMountPoint( up, forward, center, groupName);
   }
 }
Index: branches/mount_points/src/world_entities/mount_point.cc
===================================================================
--- branches/mount_points/src/world_entities/mount_point.cc	(revision 10183)
+++ branches/mount_points/src/world_entities/mount_point.cc	(revision 10184)
@@ -33,6 +33,11 @@
  * construct
  */
-MountPoint::MountPoint ()
+MountPoint::MountPoint (const Vector& up, const Vector& forward, const Vector& center, const std::string& name)
 {
+
+  this->name = name;
+  this->setAbsCoor( center);
+  this->setAbsDir( Quaternion(forward, up));
+
   this->init();
 }
Index: branches/mount_points/src/world_entities/mount_point.h
===================================================================
--- branches/mount_points/src/world_entities/mount_point.h	(revision 10183)
+++ branches/mount_points/src/world_entities/mount_point.h	(revision 10184)
@@ -12,5 +12,5 @@
 
   public:
-    MountPoint ();
+    MountPoint (const Vector& up, const Vector& forward, const Vector& center, const std::string& name);
     MountPoint(const TiXmlElement* root);
     virtual ~MountPoint ();
@@ -32,4 +32,5 @@
   private:
     WorldEntity*         _mount;       //!< the entity mounted at this mount point
+    std::string          _name;        //!< the name of the mount point
 
 };
Index: branches/mount_points/src/world_entities/world_entity.cc
===================================================================
--- branches/mount_points/src/world_entities/world_entity.cc	(revision 10183)
+++ branches/mount_points/src/world_entities/world_entity.cc	(revision 10184)
@@ -207,13 +207,13 @@
       {
         this->setModel(model, modelNumber);
-	if( modelNumber == 0 /* FIXME && !this->isA(CL_WEAPON) */)
+	if( modelNumber == 0)
 	  this->buildObbTree(obbTreeDepth);
+
+        // now get the object information file for this model, if any
+        std::string oifName = fileName.substr(0, fileName.length() - 4) + ".oif";
+        this->loadMountPoints( oifName);
       }
       else
         delete model;
-
-      // now get the object information file for this model, if any
-      std::string oifName = fileName.substr(0, fileName.length() - 4) + ".oif";
-      this->loadObjectInformationFile( oifName);
     }
     /// LOADING AN MD2-model
@@ -269,9 +269,25 @@
  * @param fileName the name of the file
  */
-void WorldEntity::loadObjectInformationFile(const std::string& fileName)
+void WorldEntity::loadMountPoints(const std::string& fileName)
 {
   PRINTF(4)("loading the oif File: %s\n", fileName.c_str());
 
+  // first get all mount points from the model
+  std::list<mountPointSkeleton> mpList = this->models[0]->getMountPoints();
+
+  // for each skeleton create a mounting point world entity
+  std::list<mountPointSkeleton>::const_iterator it = mpList.begin();
+  for( ; it != mpList.end(); it++)
+  {
+    MountPoint* mp = new MountPoint((*it).up, (*it).forward, (*it).center, (*it).name);
+
+    this->mountPoints.push_back(mp);
+  }
+
+  // now load the object information file
   this->oiFile = new ObjectInformationFile(fileName);
+
+
+
 }
 
Index: branches/mount_points/src/world_entities/world_entity.h
===================================================================
--- branches/mount_points/src/world_entities/world_entity.h	(revision 10183)
+++ branches/mount_points/src/world_entities/world_entity.h	(revision 10184)
@@ -53,5 +53,5 @@
   Model* getModel(unsigned int modelNumber = 0) const { return (this->models.size() > modelNumber)? this->models[modelNumber] : NULL; };
 
-  void loadObjectInformationFile(const std::string& fileName);
+  void loadMountPoints(const std::string& fileName);
   inline void loadMD2Texture(const std::string& fileName) { this->md2TextureFileName = fileName; }
 
