Index: branches/network/src/lib/graphics/Makefile.am
===================================================================
--- trunk/src/lib/graphics/Makefile.am	(revision 6738)
+++ branches/network/src/lib/graphics/Makefile.am	(revision 6755)
@@ -11,5 +11,7 @@
 			   text_engine/text_engine.cc \
 			   text_engine/text.cc \
-			   text_engine/font.cc
+			   text_engine/font.cc \
+			   effects/graphics_effect.cc \
+			   effects/fog_effect.cc
 
 noinst_HEADERS = graphics_engine.h \
@@ -20,5 +22,7 @@
 		 text_engine/text_engine.h \
 		 text_engine/text.h \
-		 text_engine/font.h
+		 text_engine/font.h \
+		 effects/graphics_effect.h \
+		 effects/fog_effect.h
 
 
Index: branches/network/src/lib/graphics/effects/fog_effect.cc
===================================================================
--- branches/network/src/lib/graphics/effects/fog_effect.cc	(revision 6755)
+++ branches/network/src/lib/graphics/effects/fog_effect.cc	(revision 6755)
@@ -0,0 +1,92 @@
+
+
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   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, or (at your option)
+   any later version.
+
+### File Specific:
+   main-programmer: Patrick Boenzli
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_GRAPHICS
+
+#include "fog_effect.h"
+
+#include "load_param.h"
+#include "factory.h"
+
+
+using namespace std;
+
+CREATE_FACTORY(FogEffect, CL_LIGHT);
+
+
+
+/**
+ *  default constructor
+ * @param root The XML-element to load the FogEffect from
+ */
+ FogEffect::FogEffect(const TiXmlElement* root)
+{
+
+  if (root != NULL)
+    this->loadParams(root);
+}
+
+
+/**
+ *  destroys a FogEffect
+ */
+FogEffect::~FogEffect()
+{}
+
+
+/**
+ * @param root The XML-element to load the FogEffect from
+ */
+void FogEffect::loadParams(const TiXmlElement* root)
+{
+  GraphicsEffect::loadParams(root);
+
+//   LoadParam(root, "diffuse-color", this, FogEffect, setDiffuseColor)
+//       .describe("sets the diffuse color of the FogEffect (red [0-1], green [0-1], blue [0-1])");
+}
+
+
+/**
+ * initializes the fog effect
+ */
+bool FogEffect::init()
+{}
+
+
+/**
+ * activates the fog effect
+ */
+bool FogEffect::activate()
+{
+/*  glEnable(GL_FOG);
+  {
+    GLfloat fogColor[4] = {0.5, 0.5, 1.0};
+
+    GLint fogMode = GL_EXP;
+    glFogi(GL_FOG_MODE, fogMode);
+    glFogfv(GL_FOG_COLOR, fogColor);
+    gfFogf(GL_FOG_DENSITY, 0.35f);
+
+
+  }*/
+}
+
+
+/**
+ * deactivates the fog effect
+ */
+bool FogEffect::deactivate()
+{}
Index: branches/network/src/lib/graphics/effects/fog_effect.h
===================================================================
--- branches/network/src/lib/graphics/effects/fog_effect.h	(revision 6755)
+++ branches/network/src/lib/graphics/effects/fog_effect.h	(revision 6755)
@@ -0,0 +1,29 @@
+/**
+ * @file fog_effect.h
+ *  atmospheric fog
+ */
+
+#ifndef _FOG_EFFECT
+#define _FOG_EFFECT
+
+#include "graphics_effect.h"
+
+class TiXmlElement;
+
+//! A class that handles FogEffects. The FogEffectManager operates on this.
+class FogEffect : public GraphicsEffect
+{
+  public:
+    FogEffect(const TiXmlElement* root = NULL);
+    virtual ~FogEffect();
+
+    virtual void loadParams(const TiXmlElement* root);
+
+    virtual bool init();
+
+    virtual bool activate();
+    virtual bool deactivate();
+};
+
+
+#endif /* _FOG_EFFECT */
Index: branches/network/src/lib/graphics/effects/graphics_effect.cc
===================================================================
--- branches/network/src/lib/graphics/effects/graphics_effect.cc	(revision 6755)
+++ branches/network/src/lib/graphics/effects/graphics_effect.cc	(revision 6755)
@@ -0,0 +1,67 @@
+
+
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   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, or (at your option)
+   any later version.
+
+### File Specific:
+   main-programmer: Patrick Boenzli
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_GRAPHICS
+
+
+#include "graphics_effect.h"
+
+#include "load_param.h"
+
+
+using namespace std;
+
+
+
+/**
+ * @param root The XML-element to load the GraphicsEffect from
+
+  @todo what to do, if no GraphicsEffect-Slots are open anymore ???
+ */
+GraphicsEffect::GraphicsEffect(const TiXmlElement* root)
+{
+
+  if (root != NULL)
+    this->loadParams(root);
+}
+
+
+/**
+ *  destroys a GraphicsEffect
+ */
+GraphicsEffect::~GraphicsEffect()
+{}
+
+
+/**
+ * @param root The XML-element to load the GraphicsEffect from
+ */
+void GraphicsEffect::loadParams(const TiXmlElement* root)
+{
+  BaseObject::loadParams(root);
+
+//   LoadParam(root, "diffuse-color", this, GraphicsEffect, setDiffuseColor)
+//       .describe("sets the diffuse color of the GraphicsEffect (red [0-1], green [0-1], blue [0-1])");
+
+}
+
+
+/**
+ *  initializes the graphics effect
+ */
+bool GraphicsEffect::init()
+{}
Index: branches/network/src/lib/graphics/effects/graphics_effect.h
===================================================================
--- branches/network/src/lib/graphics/effects/graphics_effect.h	(revision 6755)
+++ branches/network/src/lib/graphics/effects/graphics_effect.h	(revision 6755)
@@ -0,0 +1,29 @@
+/**
+ * @file graphics_effect.h
+ *  abstract type of graphical effects
+ */
+
+#ifndef _GRAPHICS_EFFECT
+#define _GRAPHICS_EFFECT
+
+#include "base_object.h"
+
+class TiXmlElement;
+
+//! A class that handles GraphicsEffects. The GraphicsEffectManager operates on this.
+class GraphicsEffect : public BaseObject
+{
+  public:
+    GraphicsEffect(const TiXmlElement* root = NULL);
+    virtual ~GraphicsEffect();
+
+    virtual void loadParams(const TiXmlElement* root);
+
+    virtual bool init();
+
+    virtual bool activate() = 0;
+    virtual bool deactivate() = 0;
+};
+
+
+#endif /* _GRAPHICS_EFFECT */
Index: branches/network/src/lib/graphics/graphics_engine.cc
===================================================================
--- trunk/src/lib/graphics/graphics_engine.cc	(revision 6738)
+++ branches/network/src/lib/graphics/graphics_engine.cc	(revision 6755)
@@ -35,4 +35,6 @@
 #include "globals.h"
 #include "texture.h"
+
+#include "effects/graphics_effect.h"
 
 #include "shell_command.h"
@@ -653,4 +655,41 @@
       break;
   }
-
-}
+}
+
+
+/**
+ * loads a GraphicsEffect into the engine
+ * @param effect the GraphicsEffect to add
+ */
+bool GraphicsEngine::loadGraphicsEffect(GraphicsEffect* effect)
+{
+  list<GraphicsEffect*>::iterator it;
+  for (it = this->graphicsEffects.begin(); it != this->graphicsEffects.end(); it++)
+    if( (*it) == effect)
+      return false;
+
+  this->graphicsEffects.push_back(effect);
+
+  return true;
+}
+
+
+/**
+ * unloads a GraphicsEffect from the engine
+ * @param effect the GraphicsEffect to remove
+ */
+bool GraphicsEngine::unloadGraphicsEffect(GraphicsEffect* effect)
+{
+  list<GraphicsEffect*>::iterator it;
+  for (it = this->graphicsEffects.begin(); it != this->graphicsEffects.end(); it++)
+  {
+    if( (*it) == effect)
+    {
+      this->graphicsEffects.erase(it);
+      return true;
+    }
+  }
+
+  return false;
+}
+
Index: branches/network/src/lib/graphics/graphics_engine.h
===================================================================
--- trunk/src/lib/graphics/graphics_engine.h	(revision 6738)
+++ branches/network/src/lib/graphics/graphics_engine.h	(revision 6755)
@@ -22,4 +22,5 @@
 class SubString;
 class WorldEntity;
+class GraphicsEffect;
 
 //! class to handle graphics
@@ -82,4 +83,9 @@
     void process(const Event  &event);
 
+    bool loadGraphicsEffect(GraphicsEffect* effect);
+    bool unloadGraphicsEffect(GraphicsEffect* effect);
+
+
+
   private:
     GraphicsEngine();
@@ -91,36 +97,39 @@
 
   private:
-    static GraphicsEngine*  singletonRef;       //!< Pointer to the only instance of this Class
-    bool                    isInit;             //!< if the GraphicsEngine is initialized.
+    static GraphicsEngine*     singletonRef;       //!< Pointer to the only instance of this Class
+    bool                       isInit;             //!< if the GraphicsEngine is initialized.
 
     // state.
-    SDL_Surface*            screen;             //!< the screen we draw to
-    int                     resolutionX;        //!< the X-resoultion of the screen
-    int                     resolutionY;        //!< the Y-resolution of the screen
-    int                     bitsPerPixel;       //!< the bits per pixels of the screen
-    Uint32                  fullscreenFlag;     //!< if we are in fullscreen mode
-    Uint32                  videoFlags;         //!< flags for video
-    SDL_Rect**              videoModes;         //!< list of resolutions
+    SDL_Surface*               screen;             //!< the screen we draw to
+    int                        resolutionX;        //!< the X-resoultion of the screen
+    int                        resolutionY;        //!< the Y-resolution of the screen
+    int                        bitsPerPixel;       //!< the bits per pixels of the screen
+    Uint32                     fullscreenFlag;     //!< if we are in fullscreen mode
+    Uint32                     videoFlags;         //!< flags for video
+    SDL_Rect**                 videoModes;         //!< list of resolutions
 
-    bool                    fogEnabled;         //!< If Fog should be enabled.
-    bool                    shadowsEnabled;     //!< If Shadows should be enabled.
-    bool                    particlesEnabled;   //!< If particles should be enabled.
-    int                     particlesValue;     //!< How many particles
-    int                     textureQuality;     //!< the quality of Textures
-    int                     filteringMethod;    //!< The filtering Method of textures.
-    int                     modelQuality;       //!< The quality of the Models loaded.
-    int                     antialiasingDepth;  //!< the Depth of the AntiAlias-Filter.
+    bool                       fogEnabled;         //!< If Fog should be enabled.
+    bool                       shadowsEnabled;     //!< If Shadows should be enabled.
+    bool                       particlesEnabled;   //!< If particles should be enabled.
+    int                        particlesValue;     //!< How many particles
+    int                        textureQuality;     //!< the quality of Textures
+    int                        filteringMethod;    //!< The filtering Method of textures.
+    int                        modelQuality;       //!< The quality of the Models loaded.
+    int                        antialiasingDepth;  //!< the Depth of the AntiAlias-Filter.
 
     // HARDWARE-Settings:
-    char*                   hwRenderer;         //!< HW-renderer-string
-    char*                   hwVendor;           //!< HW-vendor-string
-    char*                   hwVersion;          //!< HW-version-string
-    SubString*              hwExtensions;       //!< All suported Extensions.
+    char*                      hwRenderer;         //!< HW-renderer-string
+    char*                      hwVendor;           //!< HW-vendor-string
+    char*                      hwVersion;          //!< HW-version-string
+    SubString*                 hwExtensions;       //!< All suported Extensions.
 
     // FPS-related
-    bool                    bDisplayFPS;        //!< is true if the fps should be displayed
-    float                   currentFPS;         //!< the current frame rate: frames per seconds
-    float                   maxFPS;             //!< maximal frame rate we ever got since start of the game
-    float                   minFPS;             //!< minimal frame rate we ever got since start.
+    bool                       bDisplayFPS;        //!< is true if the fps should be displayed
+    float                      currentFPS;         //!< the current frame rate: frames per seconds
+    float                      maxFPS;             //!< maximal frame rate we ever got since start of the game
+    float                      minFPS;             //!< minimal frame rate we ever got since start.
+
+    std::list<GraphicsEffect*> graphicsEffects;    //!< list of graphics effects
+
 
 #ifndef NO_TEXT
Index: branches/network/src/lib/network/converter.cc
===================================================================
--- trunk/src/lib/network/converter.cc	(revision 6738)
+++ branches/network/src/lib/network/converter.cc	(revision 6755)
@@ -200,136 +200,4 @@
 
 /*!
- * Converts a float value into a byte-array
- * @param x: The float which is to convert
- * @return: A byte-array which accords the given float
- */
-byte* Converter::floatToByteArray(float x)
-{
-  byte* result = new byte[4];
-  floatToByteArray(x, result, 4);
-  return result;
-  /*
-  int mantisse = 0;
-  int exponent = 128;
-
-  int sgn;
-  if (x < 0)
-  {
-    x = -x;
-    sgn = -1;
-  }
-  else
-    sgn = 1;
-
-  if (x == 0)
-  {
-    exponent = 255;
-    mantisse = 0;
-  }
-  else
-  {
-    //if (x < getDenormConst())
-    //  printf("Denormalisiert!\n");
-    //printf("DenormConst = %e", getDenormConst());
-
-    float sub = 1;
-    while (sub < x)
-    {
-      sub *= 2;
-      exponent++;
-    }
-
-    while (x > 0)
-    {
-      if (x >= sub)
-      {
-        mantisse += 1;
-        x -= sub;
-      }
-
-      mantisse *= 2;
-      exponent--;
-      sub /= 2;
-    }
-    exponent++;
-    mantisse /= 2;
-
-    printf("Conv:        mantisse = %i exponent = %i \n", mantisse, exponent);
-
-
-    if (mantisse != 0)
-    {
-      while (mantisse < expmult)
-      {
-        mantisse *= 2;
-        exponent--;
-      }
-
-      mantisse -= expmult;
-    }
-  }
-
-  printf("Conv: mantisse = %i exponent = %i \n", mantisse, exponent);
-
-
-  int hx = mantisse + expmult * exponent;
-  byte* result = intToByteArray(hx);
-  if (sgn == -1)
-    result[3] += sgnadd;
-
-  return result;
-  */
-}
-
-
-/*!
- * Converts a byte-array into a float value
- * @param a: The byte-array which is to convert
- * @return: A float value which accords the given byte-array
- */
-float Converter::byteArrayToFloat(byte* a)
-{
-  byte* h = new byte[4];
-  float result = 0.0f;
-  byteArrayToFloat(a, &result);
-  return result;
-  /*
-  int hexp = a[2] + a[3] * 256;
-  int exponent = (hexp / 128) % 256;
-
-  int hmant = a[0] + a[1] * 256 + a[2] * 65536;
-  int mantisse = hmant % expmult;
-  if (mantisse == 0 && exponent == 255)
-    return 0;
-
-  mantisse += expmult;
-  exponent -= 128;
-
-
-  int sgn;
-  if (a[3] >= sgnadd)
-    sgn = -1;
-  else
-    sgn = 1;
-
-  printf("ReConv: mantisse = %i exponent = %i \n", mantisse, exponent);
-
-  float emult = 1;
-  if (exponent > 0)
-    for (int i = 0; i < exponent; i++)
-      emult *= 2;
-  else if (exponent < 0)
-    for (int i = 0; i > exponent; i--)
-      emult /= 2;
-
-  float result = mantisse * emult;
-  if (sgn == -1)
-    result = -result;
-
-  return result;
-  */
-}
-
-/*!
  * Converts a float value into a byte-array and stores the result into a given byte-array
  * @param x: The float which is to convert
@@ -338,5 +206,5 @@
  * @return: The number of written bytes
  */
-int Converter::floatToByteArray(float x, byte* a, int length)
+int Converter::_floatToByteArray(float x, byte* a, int length)
 {
   if (length < FLOATSIZE)
@@ -452,5 +320,5 @@
  * @return: The number of read bytes
  */
-int Converter::byteArrayToFloat(const byte* a, float* x)
+int Converter::_byteArrayToFloat(const byte* a, float* x)
 {
     //handle 0
@@ -527,5 +395,5 @@
  * @return: The number of written bytes
  */
-int Converter::_floatToByteArray(float x, byte* a, int length)
+int Converter::floatToByteArray(float x, byte* a, int length)
 {
   if ( length< FLOATSIZE )
@@ -538,5 +406,5 @@
   for (int i = 0; i < 4; i++)
     a[i] = p[i];
-  
+
   return FLOATSIZE;
 }
@@ -549,5 +417,5 @@
  * @return: The number of read bytes
  */
-int Converter::_byteArrayToFloat(const byte* a, float* x)
+int Converter::byteArrayToFloat(const byte* a, float* x)
 {
   *x = *((float*)a);
@@ -651,16 +519,16 @@
   printf("To Convert: %e\n", x);
 
-  byte* res = floatToByteArray(x);
-  for (int i = 0; i < 4; i++)
-    printf("%i ", res[i]);
-  printf("\n");
-
-  float y = byteArrayToFloat(res);
-  printf("ReConvert: %e\n", y);
-
-  if (x == y)
-    printf("equal\n");
-  else
-    printf("different\n");
+//  byte* res = floatToByteArray(x);
+//   for (int i = 0; i < 4; i++)
+//     printf("%i ", res[i]);
+//   printf("\n");
+
+//  float y = byteArrayToFloat(res);
+//   printf("ReConvert: %e\n", y);
+
+//   if (x == y)
+//     printf("equal\n");
+//   else
+//     printf("different\n");
 }
 
@@ -702,6 +570,6 @@
   //floatTest(-0.0f);
   //floatTest(-5.67e-29f);
-  
-  
+
+
   //floatTest(-45.7e-32f);
   //floatTest(45.7e-33f);
Index: branches/network/src/lib/network/converter.h
===================================================================
--- trunk/src/lib/network/converter.h	(revision 6738)
+++ branches/network/src/lib/network/converter.h	(revision 6755)
@@ -31,7 +31,4 @@
     static int byteArrayToInt(const byte* a, int* x);
 
-    static int floatToByteArray(float x, byte* a, int length);
-    static int byteArrayToFloat(const byte* a, float* x);
-
     static int stringToByteArray(const char* s, byte* a, int length, int maxLength);
     static int byteArrayToString(const byte* a, char* s, int maxLength);
@@ -41,9 +38,13 @@
     static char* floatToBinString(float x);
 
-    static byte* floatToByteArray(float x);
-    static float byteArrayToFloat(byte* a);
+//     static byte* floatToByteArray(float x);
+//     static float byteArrayToFloat(byte* a);
+
+    static int floatToByteArray(float x, byte* a, int length);
+    static int byteArrayToFloat(const byte* a, float* x);
 
     static int _floatToByteArray(float x, byte* a, int length);
     static int _byteArrayToFloat(const byte* a, float* x);
+
 
 
Index: branches/network/src/lib/network/handshake.cc
===================================================================
--- trunk/src/lib/network/handshake.cc	(revision 6738)
+++ branches/network/src/lib/network/handshake.cc	(revision 6755)
@@ -21,4 +21,6 @@
 
 #include "handshake.h"
+
+#include <cassert>
 
 Handshake::Handshake( bool server, int clientId, int networkGameManagerId )
Index: branches/network/src/lib/network/synchronizeable.cc
===================================================================
--- trunk/src/lib/network/synchronizeable.cc	(revision 6738)
+++ branches/network/src/lib/network/synchronizeable.cc	(revision 6755)
@@ -23,5 +23,5 @@
 #include "state.h"
 
-#include "assert.h"
+#include <cassert>
 
 #include "synchronizeable.h"
@@ -35,5 +35,5 @@
 {
   this->setClassID(CL_SYNCHRONIZEABLE, "Synchronizeable");
-  this->owner = 0;
+  this->owner = -1;
   this->state = 0;
   this->hostID = SharedNetworkData::getInstance()->getHostID();
Index: branches/network/src/lib/network/synchronizeable.h
===================================================================
--- trunk/src/lib/network/synchronizeable.h	(revision 6738)
+++ branches/network/src/lib/network/synchronizeable.h	(revision 6755)
@@ -62,4 +62,5 @@
 #define SYNCHELP_WRITE_INT(i) { __synchelp_write_n = \
                                 Converter::intToByteArray( i, data+__synchelp_write_i, maxLength-__synchelp_write_i ); \
+                                assert( __synchelp_write_n == INTSIZE ); \
                                 if ( __synchelp_write_n <= 0) \
 { \
@@ -71,4 +72,5 @@
 #define SYNCHELP_WRITE_FLOAT(f) { __synchelp_write_n = \
                                 Converter::floatToByteArray( f, data+__synchelp_write_i, maxLength-__synchelp_write_i ); \
+                                assert( __synchelp_write_n == FLOATSIZE ); \
                                 if ( __synchelp_write_n <= 0) \
 { \
@@ -87,10 +89,12 @@
                                 __synchelp_write_i++; \
 }
-#define SYNCHELP_WRITE_STRING(s) { if (s!=NULL) \
+#define SYNCHELP_WRITE_STRING(s) { if (s!=NULL) {\
                                 __synchelp_write_n = \
                                 Converter::stringToByteArray( s, data+__synchelp_write_i, strlen(s), maxLength-__synchelp_write_i ); \
-                                else \
+                                assert( __synchelp_write_n == strlen(s)+INTSIZE ); \
+                                } else {\
                                 __synchelp_write_n = \
                                 Converter::stringToByteArray( "", data+__synchelp_write_i, strlen(""), maxLength-__synchelp_write_i ); \
+                                assert( __synchelp_write_n == strlen("")+INTSIZE ); } \
                                 if ( __synchelp_write_n <= 0) \
 { \
@@ -116,5 +120,7 @@
                                       return 0; \
 } \
-                                    __synchelp_read_i += Converter::byteArrayToInt( data+__synchelp_read_i, &i );  \
+                                    __synchelp_read_n = Converter::byteArrayToInt( data+__synchelp_read_i, &i );  \
+                                    assert( __synchelp_read_n == INTSIZE ); \
+                                    __synchelp_read_i += __synchelp_read_n; \
 }
 #define SYNCHELP_READ_FLOAT(f)    { \
@@ -124,8 +130,11 @@
                                       return 0; \
 } \
-                                    __synchelp_read_i += Converter::byteArrayToFloat( data+__synchelp_read_i, &f );  \
+                                    __synchelp_read_n = Converter::byteArrayToFloat( data+__synchelp_read_i, &f );  \
+                                    assert( __synchelp_read_n == FLOATSIZE ) ;\
+                                    __synchelp_read_i += __synchelp_read_n; \
 }
 #define SYNCHELP_READ_STRING(s,l)    { \
                                     __synchelp_read_n = Converter::byteArrayToString( data+__synchelp_read_i, s, l );  \
+                                    assert( __synchelp_read_n == strlen(s)+INTSIZE ) ;\
                                     if ( __synchelp_read_n <0 )  \
 { \
@@ -137,4 +146,5 @@
 #define SYNCHELP_READ_STRINGM(s)    { \
                                     __synchelp_read_n = Converter::byteArrayToStringM( data+__synchelp_read_i, s );  \
+                                    assert( __synchelp_read_n == strlen(s)+INTSIZE ) ;\
                                     if ( __synchelp_read_n <0 )  \
 { \
Index: branches/network/src/world_entities/projectiles/laser.cc
===================================================================
--- trunk/src/world_entities/projectiles/laser.cc	(revision 6738)
+++ branches/network/src/world_entities/projectiles/laser.cc	(revision 6755)
@@ -30,5 +30,5 @@
 #include <cassert>
 
-#include "assert.h"
+#include <cassert>
 
 
Index: branches/network/src/world_entities/space_ships/space_ship.cc
===================================================================
--- trunk/src/world_entities/space_ships/space_ship.cc	(revision 6738)
+++ branches/network/src/world_entities/space_ships/space_ship.cc	(revision 6755)
@@ -289,5 +289,5 @@
   this->weaponAction();
 
-  if( ( xMouse != 0 || yMouse != 0 ) && this->getOwner()==this->getHostID() )
+  if( ( xMouse != 0 || yMouse != 0 ) && this->getOwner() == this->getHostID() )
    {
     if (xMouse > controlVelocityX) xMouse = controlVelocityX;
@@ -555,13 +555,13 @@
       SYNCHELP_READ_INT( flags );
 
-      //bUp = (flags & MASK_bUp) != 0;
-      //bDown = (flags & MASK_bDown) != 0;
-      //bLeft = (flags & MASK_bLeft) != 0;
-      //bRight = (flags & MASK_bRight) != 0;
-      //bAscend = (flags & MASK_bAscend) != 0;
-      //bDescend = (flags & MASK_bDescend) != 0;
-      //bFire = (flags & MASK_bFire) != 0;
-      //bRollL = (flags & MASK_bRollL) != 0;
-      //bRollR = (flags & MASK_bRollR) != 0;
+      bUp = (flags & MASK_bUp) != 0;
+      bDown = (flags & MASK_bDown) != 0;
+      bLeft = (flags & MASK_bLeft) != 0;
+      bRight = (flags & MASK_bRight) != 0;
+      bAscend = (flags & MASK_bAscend) != 0;
+      bDescend = (flags & MASK_bDescend) != 0;
+      bFire = (flags & MASK_bFire) != 0;
+      bRollL = (flags & MASK_bRollL) != 0;
+      bRollR = (flags & MASK_bRollR) != 0;
 
     }
@@ -570,13 +570,8 @@
     if ( b == DATA_mouse /*&& this->getHostID()!=this->getOwner()*/ )
     {
-      float asdf;
-      SYNCHELP_READ_FLOAT( asdf );
-      SYNCHELP_READ_FLOAT( asdf );
-      SYNCHELP_READ_FLOAT( asdf );
-      SYNCHELP_READ_FLOAT( asdf );
-      //SYNCHELP_READ_FLOAT( mouseDir.w );
-      //SYNCHELP_READ_FLOAT( mouseDir.v.x );
-      //SYNCHELP_READ_FLOAT( mouseDir.v.y );
-      //SYNCHELP_READ_FLOAT( mouseDir.v.z );
+      SYNCHELP_READ_FLOAT( mouseDir.w );
+      SYNCHELP_READ_FLOAT( mouseDir.v.x );
+      SYNCHELP_READ_FLOAT( mouseDir.v.y );
+      SYNCHELP_READ_FLOAT( mouseDir.v.z );
     }
   } while( b != 0 );
Index: branches/network/src/world_entities/weapons/weapon_manager.cc
===================================================================
--- trunk/src/world_entities/weapons/weapon_manager.cc	(revision 6738)
+++ branches/network/src/world_entities/weapons/weapon_manager.cc	(revision 6755)
@@ -217,5 +217,5 @@
 bool WeaponManager::addWeapon(Weapon* weapon, int configID, int slotID)
 {
-  //if ( weapon == NULL )
+  if ( weapon == NULL )
     return false;
 
