Index: code/trunk/src/orxonox/OrxonoxStableHeaders.h
===================================================================
--- code/trunk/src/orxonox/OrxonoxStableHeaders.h	(revision 1780)
+++ code/trunk/src/orxonox/OrxonoxStableHeaders.h	(revision 1781)
@@ -37,5 +37,5 @@
 #include "util/OrxonoxPlatform.h"
 
-#if ORXONOX_COMPILER == ORXONOX_COMPILER_MSVC && !defined(ORXONOX_DISABLE_PCH)
+#if ORXONOX_COMPILER == ORXONOX_COMPILER_MSVC && !defined(ORXONOX_DISABLE_PCH) && 0
 
 // including std headers here is useless since they're already precompiled
@@ -55,4 +55,13 @@
 #include "tinyxml/tinyxml.h"
 
+//Get around Windows hackery (windows.h is included by Ogre)
+#if ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32 
+#  ifdef max
+#    undef max
+#  endif
+#  ifdef min
+#    undef min
+#  endif
+#endif
 
 //----------- Our files ----------
Index: code/trunk/src/orxonox/objects/SpaceShip.cc
===================================================================
--- code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1780)
+++ code/trunk/src/orxonox/objects/SpaceShip.cc	(revision 1781)
@@ -169,33 +169,36 @@
     }
 
-    bool SpaceShip::create(){
-      if(!myShip_){
-        if(network::Host::running())
-//          COUT(3) << "this id: " << this->objectID << " myShipID: " << network::Host::getShipID() << std::endl;
-        if(network::Host::running() && objectID == network::Host::getShipID()){
-          if(!network::Host::isServer())
- 	    setObjectMode(0x3);
-          myShip_=true;
+    bool SpaceShip::create()
+    {
+        if (!myShip_)
+        {
+            if (network::Host::running())
+                //COUT(3) << "this id: " << this->objectID << " myShipID: " << network::Host::getShipID() << std::endl;
+                if (network::Host::running() && objectID == network::Host::getShipID())
+                {
+                    if (!network::Host::isServer())
+                        setObjectMode(0x3);
+                    myShip_ = true;
+                }
         }
         else
-          this->setRadarObjectColour(this->getProjectileColour());
-      }
-      assert(Model::create());
-      this->init();
-      return true;
-    }
-
-    void SpaceShip::registerAllVariables(){
-      registerVar( &camName_, camName_.length()+1, network::STRING, 0x1 );
-      registerVar( &maxSpeed_, sizeof(maxSpeed_), network::DATA, 0x1);
-      registerVar( &maxSideAndBackSpeed_, sizeof(maxSideAndBackSpeed_), network::DATA, 0x1);
-      registerVar( &maxRotation_, sizeof(maxRotation_), network::DATA, 0x1);
-      registerVar( &translationAcceleration_, sizeof(translationAcceleration_), network::DATA, 0x1);
-      registerVar( &rotationAcceleration_, sizeof(rotationAcceleration_), network::DATA, 0x1);
-      registerVar( &rotationAccelerationRadian_, sizeof(rotationAccelerationRadian_), network::DATA, 0x1);
-      registerVar( &translationDamping_, sizeof(translationDamping_), network::DATA, 0x1);
-      registerVar( &rotationDamping_, sizeof(rotationDamping_), network::DATA, 0x1);
-      registerVar( &rotationDampingRadian_, sizeof(rotationDampingRadian_), network::DATA, 0x1);
-
+            this->setRadarObjectColour(this->getProjectileColour());
+        assert(Model::create());
+        this->init();
+        return true;
+    }
+
+    void SpaceShip::registerAllVariables()
+    {
+        registerVar( &camName_, camName_.length()+1, network::STRING, 0x1 );
+        registerVar( &maxSpeed_, sizeof(maxSpeed_), network::DATA, 0x1);
+        registerVar( &maxSideAndBackSpeed_, sizeof(maxSideAndBackSpeed_), network::DATA, 0x1);
+        registerVar( &maxRotation_, sizeof(maxRotation_), network::DATA, 0x1);
+        registerVar( &translationAcceleration_, sizeof(translationAcceleration_), network::DATA, 0x1);
+        registerVar( &rotationAcceleration_, sizeof(rotationAcceleration_), network::DATA, 0x1);
+        registerVar( &rotationAccelerationRadian_, sizeof(rotationAccelerationRadian_), network::DATA, 0x1);
+        registerVar( &translationDamping_, sizeof(translationDamping_), network::DATA, 0x1);
+        registerVar( &rotationDamping_, sizeof(rotationDamping_), network::DATA, 0x1);
+        registerVar( &rotationDampingRadian_, sizeof(rotationDampingRadian_), network::DATA, 0x1);
     }
 
Index: code/trunk/src/util/Math.h
===================================================================
--- code/trunk/src/util/Math.h	(revision 1780)
+++ code/trunk/src/util/Math.h	(revision 1781)
@@ -66,4 +66,14 @@
 _UtilExport orxonox::Vector2 get2DViewcoordinates(const orxonox::Vector3& myposition, const orxonox::Vector3& mydirection, const orxonox::Vector3& myorthonormal, const orxonox::Vector3& otherposition);
 _UtilExport orxonox::Vector3 getPredictedPosition(const orxonox::Vector3& myposition, float projectilespeed, const orxonox::Vector3& targetposition, const orxonox::Vector3& targetvelocity);
+
+//Get around Windows hackery
+#if ORXONOX_PLATFORM == ORXONOX_PLATFORM_WIN32 
+#  ifdef max
+#    undef max
+#  endif
+#  ifdef min
+#    undef min
+#  endif
+#endif
 
 template <typename T>
