Index: code/branches/libraries2/src/modules/objects/Attacher.h
===================================================================
--- code/branches/libraries2/src/modules/objects/Attacher.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/Attacher.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _Attacher_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <list>
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport Attacher : public StaticEntity, public XMLNameListener
+    class _ObjectsExport Attacher : public StaticEntity, public XMLNameListener
     {
         public:
Index: code/branches/libraries2/src/modules/objects/CMakeLists.txt
===================================================================
--- code/branches/libraries2/src/modules/objects/CMakeLists.txt	(revision 5730)
+++ code/branches/libraries2/src/modules/objects/CMakeLists.txt	(revision 5730)
@@ -0,0 +1,19 @@
+SET_SOURCE_FILES(OBJECTS_SRC_FILES
+  Attacher.cc
+  ForceField.cc
+  Planet.cc
+  Script.cc
+)
+
+ADD_SUBDIRECTORY(collisionshapes)
+ADD_SUBDIRECTORY(eventsystem)
+ADD_SUBDIRECTORY(triggers)
+
+ORXONOX_ADD_LIBRARY(objects
+  MODULE
+  DEFINE_SYMBOL
+    "OBJECTS_SHARED_BUILD"
+  LINK_LIBRARIES
+    orxonox
+  SOURCE_FILES ${OBJECTS_SRC_FILES}
+)
Index: code/branches/libraries2/src/modules/objects/ForceField.h
===================================================================
--- code/branches/libraries2/src/modules/objects/ForceField.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/ForceField.h	(revision 5730)
@@ -31,12 +31,12 @@
 #define _ForceField_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include "tools/interfaces/Tickable.h"
-#include "StaticEntity.h"
+#include "objects/worldentities/StaticEntity.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport ForceField : public StaticEntity, public Tickable
+    class _ObjectsExport ForceField : public StaticEntity, public Tickable
     {
     public:
Index: code/branches/libraries2/src/modules/objects/ObjectsPrereqs.h
===================================================================
--- code/branches/libraries2/src/modules/objects/ObjectsPrereqs.h	(revision 5730)
+++ code/branches/libraries2/src/modules/objects/ObjectsPrereqs.h	(revision 5730)
@@ -0,0 +1,89 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Reto Grieder
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+/**
+  @file
+  @brief Contains all the necessary forward declarations for all classes and structs.
+*/
+
+#ifndef _ObjectsPrereqs_H__
+#define _ObjectsPrereqs_H__
+
+#include "OrxonoxConfig.h"
+
+#include "OrxonoxPrereqs.h"
+
+//-----------------------------------------------------------------------
+// Shared library settings
+//-----------------------------------------------------------------------
+#if defined(ORXONOX_PLATFORM_WINDOWS) && !defined(ORXONOX_STATIC_BUILD)
+#  ifdef OBJECTS_SHARED_BUILD
+#    define _ObjectsExport __declspec(dllexport)
+#  else
+#    if defined( __MINGW32__ )
+#      define _ObjectsExport
+#    else
+#      define _ObjectsExport __declspec(dllimport)
+#    endif
+#  endif
+#elif defined ( ORXONOX_GCC_VISIBILITY )
+#  define _ObjectsExport  __attribute__ ((visibility("default")))
+#else
+#  define _ObjectsExport
+#endif
+
+//-----------------------------------------------------------------------
+// Forward declarations
+//-----------------------------------------------------------------------
+
+namespace orxonox
+{
+    class Attacher;
+    class ForceField;
+    class Planet;
+    class Script;
+
+    // collisionshapes
+    class BoxCollisionShape;
+    class ConeCollisionShape;
+    class PlaneCollisionShape;
+    class SphereCollisionShape;
+
+    // eventsystem
+    class EventListener;
+    class EventDispatcher;
+    class EventTarget;
+
+    // triggers
+    class Trigger;
+    class DistanceTrigger;
+    class EventTrigger;
+    class CheckPoint;
+}
+
+#endif /* _ObjectsPrereqs_H__ */
Index: code/branches/libraries2/src/modules/objects/Planet.cc
===================================================================
--- code/branches/libraries2/src/modules/objects/Planet.cc	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/Planet.cc	(revision 5730)
@@ -37,10 +37,10 @@
 #include "core/XMLPort.h"
 #include "objects/Scene.h"
-#include "Camera.h"
+#include "objects/worldentities/Camera.h"
 #include "CameraManager.h"
 
 namespace orxonox
 {
-    CreateFactory(Planet);    
+    CreateFactory(Planet);
 
     /**
@@ -60,5 +60,5 @@
         if (this->isInitialized() && this->mesh_.getEntity())
             this->detachOgreObject(this->mesh_.getEntity());
-    }    
+    }
 
     void Planet::tick(float dt)
@@ -107,5 +107,5 @@
         billboard_.setBillboardSet(this->getScene()->getSceneManager(), this->atmosphere_, Vector3(0,0,0));
 
-        this->attachOgreObject(this->billboard_.getBillboardSet());    
+        this->attachOgreObject(this->billboard_.getBillboardSet());
         this->billboard_.getBillboardSet()->setUseAccurateFacing(true);
         this->setCastShadows(true);
@@ -148,6 +148,6 @@
         {
             XMLPortParam(Planet, "atmosphere", setAtmosphere, getAtmosphere, xmlelement, mode).defaultValues("planet/Atmosphere");
-            XMLPortParam(Planet, "atmospheresize", setAtmosphereSize, getAtmosphereSize, xmlelement,mode);     
-            XMLPortParam(Planet, "imagesize", setImageSize, getImageSize, xmlelement,mode);         
+            XMLPortParam(Planet, "atmospheresize", setAtmosphereSize, getAtmosphereSize, xmlelement,mode);
+            XMLPortParam(Planet, "imagesize", setImageSize, getImageSize, xmlelement,mode);
             XMLPortParam(Planet, "mesh", setMeshSource, getMeshSource, xmlelement, mode);
             XMLPortParam(Planet, "shadow", setCastShadows, getCastShadows, xmlelement, mode).defaultValues(true);
Index: code/branches/libraries2/src/modules/objects/Planet.h
===================================================================
--- code/branches/libraries2/src/modules/objects/Planet.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/Planet.h	(revision 5730)
@@ -30,30 +30,30 @@
 #define _Planet_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <string>
 #include "tools/BillboardSet.h"
 #include "tools/Mesh.h"
-#include "MovableEntity.h"
+#include "objects/worldentities/MovableEntity.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport Planet : public MovableEntity
+    class _ObjectsExport Planet : public MovableEntity
     {
         public:
             Planet(BaseObject* creator);
-            
+
             virtual ~Planet();
-            
+
             void init();
             virtual void tick(float dt);
-            
+
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
-            
+
             virtual void changedVisibility();
-            
+
             inline void setMeshSource(const std::string& meshname)
                 { this->meshSrc_ = meshname; this->changedMesh(); }
-                
+
             inline const std::string& getMeshSource() const
                 { return this->meshSrc_; }
@@ -61,32 +61,32 @@
             inline void setCastShadows(bool bCastShadows)
                 { this->bCastShadows_ = bCastShadows; this->changedShadows(); }
-                
+
             inline bool getCastShadows() const
-                { return this->bCastShadows_; }            
-            
+                { return this->bCastShadows_; }
+
             inline const std::string& getMesh() const{
                 return this->meshSrc_;
             }
-            
+
             inline void setAtmosphereSize(float size){
                 this->atmosphereSize = size;
             }
-            
+
             inline float getAtmosphereSize(){
                 return this->atmosphereSize;
             }
-            
+
             inline void setAtmosphere(const std::string& atmosphere){
                 this->atmosphere_ = atmosphere;
             }
-            
+
             inline const std::string& getAtmosphere(){
                 return this->atmosphere_;
             }
-            
+
             inline void setImageSize(float size){
                 this->imageSize = size;
             }
-            
+
             inline float getImageSize(){
                 return this->imageSize;
@@ -97,8 +97,8 @@
 
         private:
-        
+
             void changedMesh();
             void changedShadows();
-            
+
             std::string meshSrc_;
             std::string atmosphere_;
Index: code/branches/libraries2/src/modules/objects/Script.h
===================================================================
--- code/branches/libraries2/src/modules/objects/Script.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/Script.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _Script_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <string>
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport Script : public BaseObject
+    class _ObjectsExport Script : public BaseObject
     {
     public:
Index: code/branches/libraries2/src/modules/objects/collisionshapes/BoxCollisionShape.h
===================================================================
--- code/branches/libraries2/src/modules/objects/collisionshapes/BoxCollisionShape.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/collisionshapes/BoxCollisionShape.h	(revision 5730)
@@ -30,12 +30,12 @@
 #define _BoxCollisionShape_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include "util/Math.h"
-#include "CollisionShape.h"
+#include "objects/collisionshapes/CollisionShape.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport BoxCollisionShape : public CollisionShape
+    class _ObjectsExport BoxCollisionShape : public CollisionShape
     {
         public:
Index: code/branches/libraries2/src/modules/objects/collisionshapes/CMakeLists.txt
===================================================================
--- code/branches/libraries2/src/modules/objects/collisionshapes/CMakeLists.txt	(revision 5730)
+++ code/branches/libraries2/src/modules/objects/collisionshapes/CMakeLists.txt	(revision 5730)
@@ -0,0 +1,6 @@
+ADD_SOURCE_FILES(OBJECTS_SRC_FILES
+  BoxCollisionShape.cc
+  ConeCollisionShape.cc
+  PlaneCollisionShape.cc
+  SphereCollisionShape.cc
+)
Index: code/branches/libraries2/src/modules/objects/collisionshapes/ConeCollisionShape.h
===================================================================
--- code/branches/libraries2/src/modules/objects/collisionshapes/ConeCollisionShape.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/collisionshapes/ConeCollisionShape.h	(revision 5730)
@@ -30,10 +30,10 @@
 #define _ConeCollisionShape_H__
 
-#include "OrxonoxPrereqs.h"
-#include "CollisionShape.h"
+#include "objects/ObjectsPrereqs.h"
+#include "objects/collisionshapes/CollisionShape.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport ConeCollisionShape : public CollisionShape
+    class _ObjectsExport ConeCollisionShape : public CollisionShape
     {
         public:
Index: code/branches/libraries2/src/modules/objects/collisionshapes/PlaneCollisionShape.h
===================================================================
--- code/branches/libraries2/src/modules/objects/collisionshapes/PlaneCollisionShape.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/collisionshapes/PlaneCollisionShape.h	(revision 5730)
@@ -30,12 +30,12 @@
 #define _PlaneCollisionShape_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include "util/Math.h"
-#include "CollisionShape.h"
+#include "objects/collisionshapes/CollisionShape.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport PlaneCollisionShape : public CollisionShape
+    class _ObjectsExport PlaneCollisionShape : public CollisionShape
     {
         public:
Index: code/branches/libraries2/src/modules/objects/collisionshapes/SphereCollisionShape.h
===================================================================
--- code/branches/libraries2/src/modules/objects/collisionshapes/SphereCollisionShape.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/collisionshapes/SphereCollisionShape.h	(revision 5730)
@@ -30,10 +30,10 @@
 #define _SphereCollisionShape_H__
 
-#include "OrxonoxPrereqs.h"
-#include "CollisionShape.h"
+#include "objects/ObjectsPrereqs.h"
+#include "objects/collisionshapes/CollisionShape.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport SphereCollisionShape : public CollisionShape
+    class _ObjectsExport SphereCollisionShape : public CollisionShape
     {
         public:
Index: code/branches/libraries2/src/modules/objects/eventsystem/CMakeLists.txt
===================================================================
--- code/branches/libraries2/src/modules/objects/eventsystem/CMakeLists.txt	(revision 5730)
+++ code/branches/libraries2/src/modules/objects/eventsystem/CMakeLists.txt	(revision 5730)
@@ -0,0 +1,5 @@
+ADD_SOURCE_FILES(OBJECTS_SRC_FILES
+  EventDispatcher.cc
+  EventListener.cc
+  EventTarget.cc
+)
Index: code/branches/libraries2/src/modules/objects/eventsystem/EventDispatcher.h
===================================================================
--- code/branches/libraries2/src/modules/objects/eventsystem/EventDispatcher.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/eventsystem/EventDispatcher.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _EventDispatcher_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <list>
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport EventDispatcher : public BaseObject
+    class _ObjectsExport EventDispatcher : public BaseObject
     {
         public:
Index: code/branches/libraries2/src/modules/objects/eventsystem/EventListener.h
===================================================================
--- code/branches/libraries2/src/modules/objects/eventsystem/EventListener.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/eventsystem/EventListener.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _EventListener_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <string>
@@ -38,5 +38,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport EventListener : public BaseObject, public XMLNameListener
+    class _ObjectsExport EventListener : public BaseObject, public XMLNameListener
     {
         public:
Index: code/branches/libraries2/src/modules/objects/eventsystem/EventTarget.h
===================================================================
--- code/branches/libraries2/src/modules/objects/eventsystem/EventTarget.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/eventsystem/EventTarget.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _EventTarget_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include "core/BaseObject.h"
@@ -37,5 +37,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport EventTarget : public BaseObject, public XMLNameListener
+    class _ObjectsExport EventTarget : public BaseObject, public XMLNameListener
     {
         public:
Index: code/branches/libraries2/src/modules/objects/triggers/CMakeLists.txt
===================================================================
--- code/branches/libraries2/src/modules/objects/triggers/CMakeLists.txt	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/triggers/CMakeLists.txt	(revision 5730)
@@ -1,3 +1,3 @@
-ADD_SOURCE_FILES(ORXONOX_SRC_FILES
+ADD_SOURCE_FILES(OBJECTS_SRC_FILES
   Trigger.cc
   DistanceTrigger.cc
Index: code/branches/libraries2/src/modules/objects/triggers/CheckPoint.h
===================================================================
--- code/branches/libraries2/src/modules/objects/triggers/CheckPoint.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/triggers/CheckPoint.h	(revision 5730)
@@ -35,5 +35,5 @@
 #define _CheckPoint_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include "interfaces/RadarViewable.h"
@@ -42,5 +42,5 @@
 namespace orxonox
 {
-    class _OrxonoxExport CheckPoint : public DistanceTrigger, public RadarViewable
+    class _ObjectsExport CheckPoint : public DistanceTrigger, public RadarViewable
     {
     public:
Index: code/branches/libraries2/src/modules/objects/triggers/DistanceTrigger.h
===================================================================
--- code/branches/libraries2/src/modules/objects/triggers/DistanceTrigger.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/triggers/DistanceTrigger.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _DistanceTrigger_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <set>
@@ -39,5 +39,5 @@
 namespace orxonox
 {
-  class _OrxonoxExport DistanceTrigger : public Trigger, public PlayerTrigger
+  class _ObjectsExport DistanceTrigger : public Trigger, public PlayerTrigger
   {
     public:
Index: code/branches/libraries2/src/modules/objects/triggers/EventTrigger.h
===================================================================
--- code/branches/libraries2/src/modules/objects/triggers/EventTrigger.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/triggers/EventTrigger.h	(revision 5730)
@@ -30,10 +30,10 @@
 #define _EventTrigger_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 #include "Trigger.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport EventTrigger : public Trigger
+    class _ObjectsExport EventTrigger : public Trigger
     {
         public:
Index: code/branches/libraries2/src/modules/objects/triggers/Trigger.h
===================================================================
--- code/branches/libraries2/src/modules/objects/triggers/Trigger.h	(revision 5728)
+++ code/branches/libraries2/src/modules/objects/triggers/Trigger.h	(revision 5730)
@@ -30,5 +30,5 @@
 #define _Trigger_H__
 
-#include "OrxonoxPrereqs.h"
+#include "objects/ObjectsPrereqs.h"
 
 #include <set>
@@ -51,5 +51,5 @@
   }
 
-  class _OrxonoxExport Trigger : public StaticEntity, public Tickable
+  class _ObjectsExport Trigger : public StaticEntity, public Tickable
   {
     public:
