Index: branches/mount_points/src/lib/graphics/importer/Makefile.am
===================================================================
--- branches/mount_points/src/lib/graphics/importer/Makefile.am	(revision 10050)
+++ branches/mount_points/src/lib/graphics/importer/Makefile.am	(revision 10051)
@@ -27,4 +27,5 @@
 		\
 		oif/object_information_file.cc \
+		oif/resource_oif.cc \
 		\
 		bsp/bsp_manager.cc \
@@ -82,4 +83,5 @@
 		\
 		oif/object_information_file.h \
+		oif/resource_oif.h \
 		\
                 md2/md2Model.h \
Index: branches/mount_points/src/lib/graphics/importer/oif/object_information_file.cc
===================================================================
--- branches/mount_points/src/lib/graphics/importer/oif/object_information_file.cc	(revision 10050)
+++ branches/mount_points/src/lib/graphics/importer/oif/object_information_file.cc	(revision 10051)
@@ -18,5 +18,5 @@
 #include "object_information_file.h"
 
-
+#include "resource_oif.h"
 
 
@@ -25,6 +25,8 @@
  * @todo this constructor is not jet implemented - do it
 */
-ObjectInformationFile::ObjectInformationFile(float sizeX, float sizeY, unsigned int rows, unsigned int columns)
+ObjectInformationFile::ObjectInformationFile()
 {
+  this->data = ResourceOIF("adsf").data;
+
 }
 
Index: branches/mount_points/src/lib/graphics/importer/oif/object_information_file.h
===================================================================
--- branches/mount_points/src/lib/graphics/importer/oif/object_information_file.h	(revision 10050)
+++ branches/mount_points/src/lib/graphics/importer/oif/object_information_file.h	(revision 10051)
@@ -9,5 +9,22 @@
 #include "vertex_array_model.h"
 
+#include "count_pointer.h"
 
+
+//! A class for object informations
+class OIFData : BaseObject
+{
+public:
+  typedef CountPointer<OIFData>    Pointer;
+
+public:
+  OIFData();
+  virtual ~OIFData();
+
+
+
+private:
+
+};
 
 //! A class for object informations
@@ -22,4 +39,5 @@
 
 private:
+  CountPointer<OIFData>          data;                           //!< the oif data pointer
 
 };
Index: branches/mount_points/src/lib/graphics/importer/oif/resource_oif.cc
===================================================================
--- branches/mount_points/src/lib/graphics/importer/oif/resource_oif.cc	(revision 10051)
+++ branches/mount_points/src/lib/graphics/importer/oif/resource_oif.cc	(revision 10051)
@@ -0,0 +1,62 @@
+
+#include "resource_oif.h"
+
+#include "substring.h"
+#include "multi_type.h"
+#include "debug.h"
+
+
+ResourceOIF::ResourceOIF(const std::string& modelName, const Resources::KeepLevel& keepLevel)
+    : Resource(&ResourceOIF::type)
+{
+  Resources::StorePointer* ptr = this->acquireResource(loadString(modelName));
+
+  if (ptr)
+  {
+    PRINTF(0)("FOUND OIF: %s\n", modelName.c_str());
+    //this->acquireData(static_cast<ResourceOIF::OIFResourcePointer*>(ptr)->ptr());
+  }
+  else
+  {
+    PRINTF(0)("NOT FOUND OIF: %s\n", modelName.c_str());
+//     std::string modelFileName = this->Resource::locateFile(modelName);
+//     //std::string skinFileName = this->Resource::locateFile(skinName);
+//     this->MD2Model::load(modelFileName, skinName, scale);
+//     this->Resource::addResource(new ResourceOIF::OIFResourcePointer(loadString(modelName, skinName, scale), keepLevel, this->MD2Model::dataPointer()));
+  }
+
+}
+
+ResourceOIF ResourceOIF::createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel)
+{
+  SubString loadValues(loadString, ',');
+  std::string modelName;
+  std::string skinName;
+  float scale = 1.0f;
+  if (loadValues.size() > 0)
+    modelName = loadValues[0];
+  if (loadValues.size() > 1)
+    skinName = loadValues[1];
+  if (loadValues.size() > 2)
+    scale = MultiType(loadValues[2]).getFloat();
+
+  return ResourceOIF(modelName);
+}
+
+std::string ResourceOIF::loadString(const std::string& modelName)
+{
+  return modelName;
+}
+
+
+Resources::tType<ResourceOIF> ResourceOIF::type("OIF");
+
+
+
+
+
+ResourceOIF::OIFResourcePointer::OIFResourcePointer(const std::string& loadString, const Resources::KeepLevel& keepLevel, const OIFData::Pointer& data)
+    : Resources::StorePointer(loadString, keepLevel) , pointer(data)
+{}
+
+
Index: branches/mount_points/src/lib/graphics/importer/oif/resource_oif.h
===================================================================
--- branches/mount_points/src/lib/graphics/importer/oif/resource_oif.h	(revision 10051)
+++ branches/mount_points/src/lib/graphics/importer/oif/resource_oif.h	(revision 10051)
@@ -0,0 +1,38 @@
+/*!
+ * @file resource_oif.h
+ * @brief Contains the ResourceOIF class, that handles the Resource-specific loading part of the OIF.
+ *
+ */
+
+#ifndef _RESOURCE_OIF_H
+#define _RESOURCE_OIF_H
+
+#include "util/loading/resource.h"
+#include "object_information_file.h"
+
+
+class ResourceOIF : public ObjectInformationFile, public Resources::Resource
+{
+public:
+  ResourceOIF(const std::string& modelName,
+	      const Resources::KeepLevel& keepLevel = Resources::KeepLevel());
+  static ResourceOIF createFromString(const std::string& loadString, const Resources::KeepLevel& keepLevel = Resources::KeepLevel());
+  static std::string loadString(const std::string& modelName);
+
+private:
+class OIFResourcePointer : public Resources::StorePointer
+  {
+  public:
+    OIFResourcePointer(const std::string& loadString, const Resources::KeepLevel& keepLevel, const OIFData::Pointer& data);
+    inline const OIFData::Pointer& ptr() const { return pointer; }
+    virtual bool last() const { return pointer.count() == 1; }
+  private:
+    OIFData::Pointer pointer;
+  };
+
+private:
+  static Resources::tType<ResourceOIF> type;
+};
+
+
+#endif /* _RESOURCE_OIF_H */
