Index: /code/branches/network3/src/orxonox/Orxonox.cc
===================================================================
--- /code/branches/network3/src/orxonox/Orxonox.cc	(revision 1173)
+++ /code/branches/network3/src/orxonox/Orxonox.cc	(revision 1174)
Index: /code/branches/network3/src/orxonox/objects/Ambient.cc
===================================================================
--- /code/branches/network3/src/orxonox/objects/Ambient.cc	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/Ambient.cc	(revision 1174)
@@ -57,4 +57,5 @@
         RegisterObject(Ambient);
         Ambient::instance_s = this;
+        registerAllVariables();
     }
 
@@ -63,4 +64,14 @@
     }
 
+    bool Ambient::create(){
+      GraphicsEngine::getSingleton().getSceneManager()->setAmbientLight(ambientLight_);
+      return true;
+    }
+    
+    void Ambient::registerAllVariables(){
+      registerVar(&ambientLight_, sizeof(ColourValue), network::DATA);
+      
+    }
+    
     void Ambient::loadParams(TiXmlElement* xmlElem)
     {
@@ -83,4 +94,5 @@
    {
     	GraphicsEngine::getSingleton().getSceneManager()->setAmbientLight(colour);
+      ambientLight_=colour;	
    }
 
@@ -96,4 +108,5 @@
 
         XMLPortParamLoadOnly(Ambient, "colourvalue", setAmbientLight, xmlelement, mode);
+        create();
     }
 }
Index: /code/branches/network3/src/orxonox/objects/Ambient.h
===================================================================
--- /code/branches/network3/src/orxonox/objects/Ambient.h	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/Ambient.h	(revision 1174)
@@ -34,8 +34,9 @@
 #include "util/Math.h"
 #include "core/BaseObject.h"
+#include "network/Synchronisable.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport Ambient : public BaseObject
+    class _OrxonoxExport Ambient : public BaseObject, network::Synchronisable
     {
         public:
@@ -46,4 +47,6 @@
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             void setAmbientLight(const ColourValue& colour);
+            bool create();
+            void registerAllVariables();
 
             static void setAmbientLightTest(const ColourValue& colour)
@@ -52,4 +55,5 @@
         private:
             static Ambient* instance_s;
+            ColourValue ambientLight_;
 
     };
Index: /code/branches/network3/src/orxonox/objects/Model.cc
===================================================================
--- /code/branches/network3/src/orxonox/objects/Model.cc	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/Model.cc	(revision 1174)
@@ -82,10 +82,11 @@
 
     bool Model::create(){
-      WorldEntity::create();
+      if(!WorldEntity::create())
+        return false;
       if ((this->meshSrc_ != "") && (this->meshSrc_.size() > 0))
       {
         this->mesh_.setMesh(meshSrc_);
         this->attachObject(this->mesh_.getEntity());
-        COUT(4) << "Loader: Created model" << std::endl;
+        COUT(4) << "Loader (Model.cc): Created model" << std::endl;
       }
       return true;
@@ -93,5 +94,6 @@
 
     void Model::registerAllVariables(){
-      WorldEntity::registerAllVariables();
+//       WorldEntity::registerAllVariables();
+      COUT(5) << "Model.cc:registering new meshsrc with size: " << meshSrc_.length()+1 << " this: " << this << std::endl;
       registerVar(&meshSrc_, meshSrc_.length() + 1, network::STRING);
     }
Index: /code/branches/network3/src/orxonox/objects/NPC.cc
===================================================================
--- /code/branches/network3/src/orxonox/objects/NPC.cc	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/NPC.cc	(revision 1174)
@@ -40,4 +40,5 @@
     RegisterObject(NPC);
     movable_ = true;
+    registerAllVariables();
   }
 
@@ -59,4 +60,14 @@
     this->translate(location);
     movable_ = movable;
+  }
+  
+  void NPC::registerAllVariables(){
+    Model::registerAllVariables();
+    registerVar(&movable_, sizeof(movable_), network::DATA);
+  }
+  
+  bool NPC::create(){
+    Model::create();
+    return true;
   }
 
Index: /code/branches/network3/src/orxonox/objects/NPC.h
===================================================================
--- /code/branches/network3/src/orxonox/objects/NPC.h	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/NPC.h	(revision 1174)
@@ -52,4 +52,6 @@
       void update();
       void setValues(Vector3 location, Vector3 speed, Vector3 acceleration, bool movable);
+      void registerAllVariables();
+      bool create();
 
     private:
Index: /code/branches/network3/src/orxonox/objects/Skybox.cc
===================================================================
--- /code/branches/network3/src/orxonox/objects/Skybox.cc	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/Skybox.cc	(revision 1174)
@@ -47,4 +47,5 @@
     {
         RegisterObject(Skybox);
+        registerAllVariables();
     }
 
@@ -57,8 +58,8 @@
     	if (xmlElem->Attribute("src"))
     	{
-    		std::string skyboxSrc = xmlElem->Attribute("src");
-	    	this->setSkybox(skyboxSrc);
+    		skyboxSrc_ = xmlElem->Attribute("src");
+        this->create();
 
-	    	COUT(4) << "Loader: Set skybox: "<< skyboxSrc << std::endl << std::endl;
+	    	COUT(4) << "Loader: Set skybox: "<< skyboxSrc_ << std::endl << std::endl;
     	}
    }
@@ -69,4 +70,8 @@
    }
 
+   void Skybox::setSkyboxSrc(std::string src){
+     skyboxSrc_ = src;
+   }
+   
     /**
         @brief XML loading and saving.
@@ -80,4 +85,15 @@
 
         XMLPortParamLoadOnly(Skybox, "src", setSkybox, xmlelement, mode);
+        create();
     }
+    
+    bool Skybox::create(){
+      this->setSkybox(skyboxSrc_);
+      return true;
+    }
+    
+    void Skybox::registerAllVariables(){
+      registerVar(&skyboxSrc_, skyboxSrc_.length()+1 ,network::STRING);
+    }
+    
 }
Index: /code/branches/network3/src/orxonox/objects/Skybox.h
===================================================================
--- /code/branches/network3/src/orxonox/objects/Skybox.h	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/Skybox.h	(revision 1174)
@@ -33,8 +33,9 @@
 
 #include "core/BaseObject.h"
+#include "network/Synchronisable.h"
 
 namespace orxonox
 {
-    class _OrxonoxExport Skybox : public BaseObject
+    class _OrxonoxExport Skybox : public BaseObject, public network::Synchronisable
     {
         public:
@@ -45,6 +46,11 @@
             virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
             void setSkybox(const std::string& skyboxname);
+            
+            bool create();
+            void registerAllVariables();
+            void setSkyboxSrc(std::string src);
 
         private:
+            std::string skyboxSrc_;
 
 
Index: /code/branches/network3/src/orxonox/objects/WorldEntity.cc
===================================================================
--- /code/branches/network3/src/orxonox/objects/WorldEntity.cc	(revision 1173)
+++ /code/branches/network3/src/orxonox/objects/WorldEntity.cc	(revision 1174)
@@ -72,4 +72,5 @@
         }
     }
+    
 
     WorldEntity::~WorldEntity()
@@ -162,4 +163,5 @@
 */
     }
+    
 
     void WorldEntity::setYawPitchRoll(const Degree& yaw, const Degree& pitch, const Degree& roll)
@@ -188,4 +190,6 @@
 
         XMLPortObject(WorldEntity, WorldEntity, "attached", attachWorldEntity, getAttachedWorldEntity, xmlelement, mode, false, true);
+        
+        //create();
     }
 
