Index: /trunk/src/lib/graphics/importer/texture_sequence.h
===================================================================
--- /trunk/src/lib/graphics/importer/texture_sequence.h	(revision 7194)
+++ /trunk/src/lib/graphics/importer/texture_sequence.h	(revision 7195)
@@ -9,11 +9,7 @@
 #include "texture.h"
 
-#include "glincl.h"
-
 #include <vector>
 #include <stdarg.h>
 
-/* Forward Declaration */
-struct SDL_Surface;
 
 //! A Class, that reads in Textures from different fileformats.
Index: /trunk/src/lib/graphics/shader.h
===================================================================
--- /trunk/src/lib/graphics/shader.h	(revision 7194)
+++ /trunk/src/lib/graphics/shader.h	(revision 7195)
@@ -42,5 +42,5 @@
   static bool checkShaderAbility();
 
-  inline static bool shaderActive() { return (Shader::storedShader != NULL)?true:false; };
+  inline static bool shaderActive() { return (Shader::storedShader != NULL)? true : false; };
   inline static Shader* getActiveShader() { return Shader::storedShader; };
   inline static void suspendShader() { Shader* currShader = storedShader; if (storedShader!= NULL) { Shader::deactivateShader(); Shader::storedShader = currShader;} };
Index: /trunk/src/lib/util/color.cc
===================================================================
--- /trunk/src/lib/util/color.cc	(revision 7194)
+++ /trunk/src/lib/util/color.cc	(revision 7195)
@@ -17,19 +17,27 @@
 
 #include "color.h"
-#include "vector.h"
+#include <stdio.h>
 
 using namespace std;
 
 
-
-
-#include <stdio.h>
-
 /**
- * transforms from RGB to HSVtoRGB
- * @param RGB the RGB-color [0-1]
+ * @brief transforms from RGB to HSVtoRGB
+ * @param RGB: the RGB-color [0-1]
  * @returns HSV: with values (h[0-360(degree)],s[0,1],v[0,1])
  */
 Vector Color::RGBtoHSV(const Vector& RGB)
+{
+  Vector HSV;
+  RGBtoHSV(RGB, HSV);
+  return HSV;
+}
+
+/**
+ * @brief transforms from RGB to HSVtoRGB
+ * @param RGB: the RGB-color [0-1]
+ * @param HSV: with values (h[0-360(degree)],s[0,1],v[0,1])
+ */
+void Color::RGBtoHSV(const Vector& RGB, Vector& HSV)
 {
   float r = RGB.x;
@@ -70,13 +78,25 @@
       h += 360.0;
   }
-  return Vector(h, s, v);
+  HSV = Vector(h, s, v);
 }
 
 /**
- * converts a Color from HSV to RGBtoHSV
+ * @brief converts a Color from HSV to RGBtoHSV
  * @param HSV: Vector with values (h[0-360(degree)],s[0,1],v[0,1])
  * @returns RGB: Vector [0-1]
  */
 Vector Color::HSVtoRGB(const Vector& HSV)
+{
+  Vector RGB;
+  HSVtoRGB(HSV, RGB);
+  return RGB;
+}
+
+/**
+ * @brief converts a Color from HSV to RGBtoHSV
+ * @param HSV: Vector with values (h[0-360(degree)],s[0,1],v[0,1])
+ * @param RGB: Vector [0-1]
+ */
+void Color::HSVtoRGB(const Vector& HSV, Vector& RGB)
 {
   float h = HSV.x;
@@ -141,5 +161,5 @@
     }
   }
-  return Vector(r,g,b);
+  RGB = Vector(r,g,b);
 }
 
Index: /trunk/src/lib/util/color.h
===================================================================
--- /trunk/src/lib/util/color.h	(revision 7194)
+++ /trunk/src/lib/util/color.h	(revision 7195)
@@ -10,14 +10,16 @@
 #define _COLOR_H
 
-//#include "vector.h"
-class Vector;
+#include "vector.h"
 
 //! a very abstract Class that helps transforming Colors into different Systems
 class Color
 {
-  public:
+public:
   static Vector RGBtoHSV (const Vector& RGB);
+  static void RGBtoHSV (const Vector& RGB, Vector& HSV);
   static Vector HSVtoRGB (const Vector& HSV);
+  static void HSVtoRGB (const Vector& HSV, Vector& RGB);
 
+private:
   static float minrgb(float r, float g, float b);
   static float maxrgb(float r, float g, float b);
Index: /trunk/src/lib/util/loading/resource.cc
===================================================================
--- /trunk/src/lib/util/loading/resource.cc	(revision 7194)
+++ /trunk/src/lib/util/loading/resource.cc	(revision 7195)
@@ -10,9 +10,9 @@
 
    ### File Specific:
-   main-programmer: ...
+   main-programmer: Benjamin Grauer
    co-programmer: ...
 */
 
-//#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_LOADING
 
 #include "resource.h"
@@ -23,26 +23,14 @@
 /**
  * standard constructor
- * @todo this constructor is not jet implemented - do it
 */
-Resource::Resource ()
+Resource::Resource (const std::string& fileName)
 {
    this->setClassID(CL_RESOURCE, "Resource");
 
-   /* If you make a new class, what is most probably the case when you write this file
-      don't forget to:
-       1. Add the new file new_class.cc to the ./src/Makefile.am
-       2. Add the class identifier to ./src/class_id.h eg. CL_NEW_CLASS
-
-      Advanced Topics:
-      - if you want to let your object be managed via the ObjectManager make sure to read
-        the object_manager.h header comments. You will use this most certanly only if you
-        make many objects of your class, like a weapon bullet.
-   */
 }
-
 
 /**
  * standard deconstructor
-*/
+ */
 Resource::~Resource ()
 {
Index: /trunk/src/lib/util/loading/resource.h
===================================================================
--- /trunk/src/lib/util/loading/resource.h	(revision 7194)
+++ /trunk/src/lib/util/loading/resource.h	(revision 7195)
@@ -1,5 +1,5 @@
 /*!
  * @file resource.h
- * @brief Definition of ...
+ * @brief Definition of a Resource.
 */
 
@@ -9,5 +9,5 @@
 #include "base_object.h"
 #include "multi_type.h"
-
+#include <string>
 
 // FORWARD DECLARATION
@@ -15,17 +15,43 @@
 
 
-//! A class for ...
+//! An enumerator for different (UN)LOAD-types.
+/**
+ * RP_NO:        will be unloaded on request
+ * RP_LEVEL:     will be unloaded at the end of a Level
+ * RP_CAMPAIGN:  will be unloaded at the end of a Campaign
+ * RP_GAME:      will be unloaded at the end of the whole Game (when closing orxonox)
+ */
+typedef enum ResourcePriority
+{
+  RP_NO        =   0,
+  RP_LEVEL     =   1,
+  RP_CAMPAIGN  =   2,
+  RP_GAME      =   3
+};
+
+
+
+//! A Resource is an Object, that can be loaded from Disk
+/**
+ *
+ */
 class Resource : virtual public BaseObject {
 
  public:
-  Resource();
+   Resource(const std::string& fileName);
   virtual ~Resource();
 
-  virtual bool load(const char* fileName, const MultiType& param1, const MultiType& param2);
+  virtual bool load(std::string& fileName, const MultiType& param1, const MultiType& param2);
   virtual bool reload();
   virtual bool unload();
 
  private:
+   std::string       fileName;
 
+   unsigned int      referenceCount;    //!< How many times this Resource has been loaded.
+/// TODO REMOVE THIS:   ResourceType      type;              //!< ResourceType of this Resource.
+   ResourcePriority  prio;              //!< The Priority of this resource. (can only be increased, so noone else will delete this)
+
+   MultiType         param[3];          //!< The Parameters given to this Resource.
 };
 
