Index: branches/proxy/src/lib/Makefile.am
===================================================================
--- branches/proxy/src/lib/Makefile.am	(revision 9368)
+++ branches/proxy/src/lib/Makefile.am	(revision 9369)
@@ -31,7 +31,7 @@
 	collision_detection \
 	collision_reaction \
+	gui \
 	network \
 	parser \
 	shell \
-	script_engine \
-	gui
+	script_engine
Index: branches/proxy/src/lib/gui/gl/glgui_button.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_button.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_button.cc	(revision 9369)
@@ -79,10 +79,10 @@
   {
     GLGuiWidget::clicking(pos);
-    emit(clicked());
+    clicked.emit();
   }
   void GLGuiButton::releasing(const Vector2D& pos, bool focused)
   {
     GLGuiWidget::releasing(pos, focused);
-    emit(released());
+    released.emit();
   }
 
@@ -103,7 +103,7 @@
     {
       if (event.bPressed)
-        emit(pushed());
+        clicked.emit();
       else
-        emit(released());
+        released.emit();
       return true;
     }
Index: branches/proxy/src/lib/gui/gl/glgui_button.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_button.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_button.h	(revision 9369)
@@ -42,6 +42,6 @@
       virtual bool processEvent(const Event& event);
 
-      DeclareSignal0(clicked);
-      DeclareSignal0(released);
+      sigslot::signal0<> clicked;
+      sigslot::signal0<> released;
 
 
Index: branches/proxy/src/lib/gui/gl/glgui_checkbutton.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_checkbutton.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_checkbutton.cc	(revision 9369)
@@ -55,5 +55,5 @@
   {
     this->bActive = bActive;
-    emit(this->toggled(this->bActive));
+    this->toggled.emit(this->bActive);
   }
 
Index: branches/proxy/src/lib/gui/gl/glgui_checkbutton.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_checkbutton.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_checkbutton.h	(revision 9369)
@@ -34,5 +34,5 @@
     virtual void update() {};
 
-    DeclareSignal1(toggled, bool);
+    sigslot::signal1<bool> toggled;
 
   protected:
Index: branches/proxy/src/lib/gui/gl/glgui_image.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_image.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_image.h	(revision 9369)
@@ -34,5 +34,5 @@
     virtual void draw() const;
 
-    DeclareSignal0(imageChanged);
+    sigslot::signal0<> imageChanged;
 
   protected:
Index: branches/proxy/src/lib/gui/gl/glgui_inputline.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_inputline.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_inputline.cc	(revision 9369)
@@ -124,5 +124,5 @@
     this->resize();
     this->setFrontColor(Color(1,1,1,1), true);
-    emit(this->textChanged(this->_text.text()));
+    this->textChanged.emit(this->_text.text());
   }
 
@@ -146,5 +146,5 @@
   void GLGuiInputLine::pushEnter()
   {
-    emit(this->enterPushed(this->_text.text()));
+    this->enterPushed.emit(this->_text.text());
     if (this->_clearOnEnter)
       this->clear();
Index: branches/proxy/src/lib/gui/gl/glgui_inputline.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_inputline.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_inputline.h	(revision 9369)
@@ -49,6 +49,6 @@
     virtual bool processEvent(const Event& event);
 
-    DeclareSignal1(textChanged, const std::string&);
-    DeclareSignal1(enterPushed, const std::string&);
+    sigslot::signal1<const std::string&> textChanged;
+    sigslot::signal1<const std::string&> enterPushed;
 
   protected:
Index: branches/proxy/src/lib/gui/gl/glgui_slider.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_slider.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_slider.cc	(revision 9369)
@@ -77,5 +77,5 @@
     this->_handle.setCenter(this->sliderPosition(), borderTop() + (this->getSizeY2D() - borderTop() - borderBottom()) / 2.0);
 
-    emit(valueChanged(this->_value));
+    valueChanged.emit(this->_value);
   }
 
@@ -90,5 +90,5 @@
     {
       this->_minValue = minimum;
-      emit(rangeChanged(this->_minValue, this->_maxValue));
+      rangeChanged.emit(this->_minValue, this->_maxValue);
     }
     if (this->value() < this->min())
@@ -107,5 +107,5 @@
     {
       this->_maxValue = maximum;
-      emit(rangeChanged(this->_minValue, this->_maxValue));
+      rangeChanged.emit(this->_minValue, this->_maxValue);
     }
     if (this->value() > this->max())
@@ -126,5 +126,5 @@
       this->_minValue = minimum;
       this->_maxValue = maximum;
-      emit(rangeChanged(this->_minValue, this->_maxValue));
+      rangeChanged.emit(this->_minValue, this->_maxValue);
     }
     if (this->value() < this->min())
Index: branches/proxy/src/lib/gui/gl/glgui_slider.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_slider.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_slider.h	(revision 9369)
@@ -51,6 +51,6 @@
     virtual void draw() const;
 
-    DeclareSignal1(valueChanged, float);
-    DeclareSignal2(rangeChanged, float, float);
+    sigslot::signal1<float> valueChanged;
+    sigslot::signal2<float, float> rangeChanged;
 
   protected:
Index: branches/proxy/src/lib/gui/gl/glgui_text.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_text.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_text.cc	(revision 9369)
@@ -113,5 +113,5 @@
     this->resize();
     this->setFrontColor(_changedTextColor, true);
-    emit(this->textChanged(this->_text.text()));
+    this->textChanged.emit(this->_text.text());
   }
 
Index: branches/proxy/src/lib/gui/gl/glgui_text.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_text.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_text.h	(revision 9369)
@@ -40,5 +40,5 @@
     virtual void draw() const;
 
-    DeclareSignal1(textChanged, const std::string&);
+    sigslot::signal1<const std::string&> textChanged;
 
   protected:
Index: branches/proxy/src/lib/gui/gl/glgui_textfield.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_textfield.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_textfield.cc	(revision 9369)
@@ -112,5 +112,5 @@
     this->resize();
     this->setFrontColor(_changedTextColor, true);
-    emit(this->textChanged(this->_text.text()));
+    this->textChanged.emit(this->_text.text());
   }
 
Index: branches/proxy/src/lib/gui/gl/glgui_textfield.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_textfield.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_textfield.h	(revision 9369)
@@ -38,5 +38,5 @@
     virtual void draw() const;
 
-    DeclareSignal1(textChanged, const std::string&);
+    sigslot::signal1<const std::string&> textChanged;
 
   protected:
Index: branches/proxy/src/lib/gui/gl/glgui_widget.cc
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_widget.cc	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_widget.cc	(revision 9369)
@@ -288,17 +288,4 @@
     this->setWidgetSize(Vector2D(x, y));
   }
-
-
-
-  void GLGuiWidget::connect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver, Slot executor)
-  {
-    sender->connect(signal, receiver, executor);
-  }
-
-  void GLGuiWidget::connect(Signal& signal, BaseObject* receiver, Slot executor)
-  {
-    signal.push_back(SignalConnector(receiver, executor));
-  }
-
 
   void GLGuiWidget::show()
Index: branches/proxy/src/lib/gui/gl/glgui_widget.h
===================================================================
--- branches/proxy/src/lib/gui/gl/glgui_widget.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/glgui_widget.h	(revision 9369)
@@ -17,5 +17,5 @@
 
 #include "event.h"
-#include "signal_connector.h"
+#include "sigslot/signal.h"
 
 namespace OrxGui
@@ -70,9 +70,4 @@
     void release(const Vector2D& pos);
     bool clickable() const { return this->_clickable; };
-
-    static void connect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver, Slot executor);
-    void connect(Signal& signal, BaseObject* receiver, Slot executor);
-
-    void disconnect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver);
 
     OrxGui::State state() const { return this->_state; };
Index: branches/proxy/src/lib/gui/gl/signal_connector.h
===================================================================
--- branches/proxy/src/lib/gui/gl/signal_connector.h	(revision 9368)
+++ branches/proxy/src/lib/gui/gl/signal_connector.h	(revision 9369)
@@ -12,5 +12,5 @@
 {
 
-  //////////////// TO BE IGNORED BY YOU /////
+//////////////// TO BE IGNORED BY YOU /////
 #define DeclareSignalBegin(SignalName) \
   public: \
Index: branches/proxy/src/lib/util/sigslot/signal.h
===================================================================
--- branches/proxy/src/lib/util/sigslot/signal.h	(revision 9368)
+++ branches/proxy/src/lib/util/sigslot/signal.h	(revision 9369)
@@ -1238,5 +1238,5 @@
     virtual _connection_base0<mt_policy>* duplicate(has_slots<mt_policy>* pnewdest)
     {
-      return new _connection0<dest_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      return new _connection0<dest_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1279,5 +1279,5 @@
     virtual _connection_base1<arg1_type, mt_policy>* duplicate(has_slots<mt_policy>* pnewdest)
     {
-      return new _connection1<dest_type, arg1_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      return new _connection1<dest_type, arg1_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1321,5 +1321,5 @@
     virtual _connection_base2<arg1_type, arg2_type, mt_policy>* duplicate(has_slots<mt_policy>* pnewdest)
     {
-      return new _connection2<dest_type, arg1_type, arg2_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      return new _connection2<dest_type, arg1_type, arg2_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1363,5 +1363,5 @@
     virtual _connection_base3<arg1_type, arg2_type, arg3_type, mt_policy>* duplicate(has_slots<mt_policy>* pnewdest)
     {
-      return new _connection3<dest_type, arg1_type, arg2_type, arg3_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      return new _connection3<dest_type, arg1_type, arg2_type, arg3_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1407,5 +1407,5 @@
     virtual _connection_base4<arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>* duplicate(has_slots<mt_policy>* pnewdest)
     {
-      return new _connection4<dest_type, arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      return new _connection4<dest_type, arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1457,5 +1457,5 @@
     {
       return new _connection5<dest_type, arg1_type, arg2_type, arg3_type, arg4_type,
-             arg5_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      arg5_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1507,5 +1507,5 @@
     {
       return new _connection6<dest_type, arg1_type, arg2_type, arg3_type, arg4_type,
-             arg5_type, arg6_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      arg5_type, arg6_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1557,5 +1557,5 @@
     {
       return new _connection7<dest_type, arg1_type, arg2_type, arg3_type, arg4_type,
-             arg5_type, arg6_type, arg7_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      arg5_type, arg6_type, arg7_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
@@ -1609,5 +1609,5 @@
     {
       return new _connection8<dest_type, arg1_type, arg2_type, arg3_type, arg4_type,
-             arg5_type, arg6_type, arg7_type, arg8_type, mt_policy>((dest_type *)pnewdest, m_pmemfun);
+      arg5_type, arg6_type, arg7_type, arg8_type, mt_policy>(dynamic_cast<dest_type*>(pnewdest), m_pmemfun);
     }
 
Index: branches/proxy/src/lib/util/sigslot/slot.h
===================================================================
--- branches/proxy/src/lib/util/sigslot/slot.h	(revision 9368)
+++ branches/proxy/src/lib/util/sigslot/slot.h	(revision 9369)
@@ -240,5 +240,5 @@
 
   template<class mt_policy = SIGSLOT_DEFAULT_MT_POLICY>
-  class has_slots : public mt_policy
+  class has_slots //: public mt_policy
   {
     private:
@@ -253,7 +253,7 @@
 
       has_slots(const has_slots& hs)
-          : mt_policy(hs)
-      {
-        lock_block<mt_policy> lock(this);
+//          : mt_policy(hs)
+      {
+        //lock_block<mt_policy> lock(this);
         const_iterator it = hs.m_senders.begin();
         const_iterator itEnd = hs.m_senders.end();
@@ -269,5 +269,5 @@
       void signal_connect(_signal_base<mt_policy>* sender)
       {
-        lock_block<mt_policy> lock(this);
+        //lock_block<mt_policy> lock(this);
         m_senders.insert(sender);
       }
@@ -275,5 +275,5 @@
       void signal_disconnect(_signal_base<mt_policy>* sender)
       {
-        lock_block<mt_policy> lock(this);
+        //lock_block<mt_policy> lock(this);
         m_senders.erase(sender);
       }
@@ -286,5 +286,5 @@
       void disconnect_all()
       {
-        lock_block<mt_policy> lock(this);
+        //lock_block<mt_policy> lock(this);
         const_iterator it = m_senders.begin();
         const_iterator itEnd = m_senders.end();
Index: branches/proxy/src/story_entities/menu/game_menu.cc
===================================================================
--- branches/proxy/src/story_entities/menu/game_menu.cc	(revision 9368)
+++ branches/proxy/src/story_entities/menu/game_menu.cc	(revision 9369)
@@ -152,14 +152,14 @@
     {
       OrxGui::GLGuiButton* startButton = new OrxGui::GLGuiPushButton("Play");
-      startButton->connect(SIGNAL(startButton, released), this, SLOT(GameMenu, showCampaigns));
+      startButton->released.connect(this, &GameMenu::showCampaigns);
       this->mainMenuBox->pack(startButton);
       startButton->select();
 
       OrxGui::GLGuiButton* networkButton = new OrxGui::GLGuiPushButton("MultiPlayer");
-      networkButton->connect(SIGNAL(networkButton, released), this, SLOT(GameMenu, showMultiPlayer));
+      networkButton->released.connect(this, &GameMenu::showMultiPlayer);
       this->mainMenuBox->pack(networkButton);
 
       OrxGui::GLGuiButton* optionsButton = new OrxGui::GLGuiPushButton("Options");
-      optionsButton->connect(SIGNAL(optionsButton, released), this, SLOT(GameMenu, showOptionsMenu));
+      optionsButton->released.connect(this, &GameMenu::showOptionsMenu);
       this->mainMenuBox->pack(optionsButton);
 
@@ -167,5 +167,5 @@
       OrxGui::GLGuiButton* quitButton = new OrxGui::GLGuiPushButton("Quit");
       this->mainMenuBox->pack(quitButton);
-      quitButton->connect(SIGNAL(quitButton, released), this, SLOT(GameMenu, quitMenu));
+      quitButton->released.connect(this, &GameMenu::quitMenu);
     }
   }
@@ -202,5 +202,5 @@
           printf("%s\n", se->getMenuScreenshoot().c_str());
           OrxGui::GLGuiImageButton* button = new OrxGui::GLGuiImageButton(se->getName(), se->getStoryID(), se->getMenuScreenshoot(), image);
-          button->connect(SIGNAL(button, startLevel), this, SLOT(GameMenu, startLevel));
+          button->startLevel.connect(this, &GameMenu::startLevel);
           labelBox->pack(button);
 
@@ -244,9 +244,9 @@
       OrxGui::GLGuiButton* clientButton = new OrxGui::GLGuiPushButton("Client");
       box->pack(clientButton);
-      clientButton->connect(SIGNAL(clientButton, released), this, SLOT(GameMenu, showClientMenu));
+      clientButton->released.connect(this, &GameMenu::showClientMenu);
 
       OrxGui::GLGuiButton* serverButton = new OrxGui::GLGuiPushButton("Server");
       box->pack(serverButton);
-      serverButton->connect(SIGNAL(serverButton, released), this, SLOT(GameMenu, showServerMenu));
+      serverButton->released.connect(this, &GameMenu::showServerMenu);
 
       networkBox->pack( box );
@@ -531,10 +531,10 @@
       this->ipInputLine->setText( Preferences::getInstance()->getString( "multiplayer", "lastVisitedServer", "localhost" ) );
       this->clientNetworkBox->pack( this->ipInputLine );
-      this->ipInputLine->connect(SIGNAL(ipInputLine, enterPushed), this, SLOT(GameMenu, connectToServer));
+      //this->ipInputLine->enterPushed.connect(this, &GameMenu::connectToServer); /// redo this.
       this->ipInputLine->select();
 
       OrxGui::GLGuiButton* connectButton = new OrxGui::GLGuiPushButton("Connect");
       clientNetworkBox->pack(connectButton);
-      connectButton->connect(SIGNAL(connectButton, released), this, SLOT(GameMenu, connectToServer));
+      connectButton->released.connect(this, &GameMenu::connectToServer);
     }
   }
@@ -574,5 +574,5 @@
       OrxGui::GLGuiButton* createButton = new OrxGui::GLGuiPushButton("Create Server");
       serverNetworkBox->pack(createButton);
-      createButton->connect(SIGNAL(createButton, released), this, SLOT(GameMenu, createServer));
+      createButton->released.connect(this, &GameMenu::createServer);
     }
   }
Index: branches/proxy/src/story_entities/menu/glgui_imagebutton.cc
===================================================================
--- branches/proxy/src/story_entities/menu/glgui_imagebutton.cc	(revision 9368)
+++ branches/proxy/src/story_entities/menu/glgui_imagebutton.cc	(revision 9369)
@@ -40,5 +40,5 @@
     GLGuiPushButton::releasing(pos, focused);
     if (focused)
-      this->emit(startLevel(this->levelID));
+      this->startLevel.emit(this->levelID);
   }
 
@@ -77,5 +77,5 @@
       {
 //        emit(released());
-        emit(startLevel(this->levelID));
+        startLevel.emit(this->levelID);
       }
       return true;
Index: branches/proxy/src/story_entities/menu/glgui_imagebutton.h
===================================================================
--- branches/proxy/src/story_entities/menu/glgui_imagebutton.h	(revision 9368)
+++ branches/proxy/src/story_entities/menu/glgui_imagebutton.h	(revision 9369)
@@ -25,5 +25,5 @@
     void release();
 
-    DeclareSignal1(startLevel, int);
+    sigslot::signal1<int> startLevel;
 
   protected:
Index: branches/proxy/src/util/multiplayer_team_deathmatch.cc
===================================================================
--- branches/proxy/src/util/multiplayer_team_deathmatch.cc	(revision 9368)
+++ branches/proxy/src/util/multiplayer_team_deathmatch.cc	(revision 9369)
@@ -87,5 +87,5 @@
   this->input = new OrxGui::GLGuiInputLine();
   this->input->setAbsCoor2D(180, 5);
-  this->input->connect(SIGNAL(input, enterPushed), this, SLOT(MultiplayerTeamDeathmatch, onInputEnter));
+  this->input->enterPushed.connect(this, &MultiplayerTeamDeathmatch::onInputEnter);
 }
 
@@ -154,17 +154,17 @@
       OrxGui::GLGuiPushButton * buttonSpectator = new OrxGui::GLGuiPushButton("Spectator");
       box->pack( buttonSpectator );
-      buttonSpectator->connect(SIGNAL(buttonSpectator, released), this, SLOT(MultiplayerTeamDeathmatch, onButtonSpectator));
+      buttonSpectator->released.connect(this, &MultiplayerTeamDeathmatch::onButtonSpectator);
 
       OrxGui::GLGuiPushButton * buttonRandom = new OrxGui::GLGuiPushButton("Random");
       box->pack( buttonRandom );
-      buttonRandom->connect(SIGNAL(buttonRandom, released), this, SLOT(MultiplayerTeamDeathmatch, onButtonRandom));
+      buttonRandom->released.connect(this, &MultiplayerTeamDeathmatch::onButtonRandom);
 
       OrxGui::GLGuiPushButton * buttonTeam0 = new OrxGui::GLGuiPushButton("Blue Team");
       box->pack( buttonTeam0 );
-      buttonTeam0->connect(SIGNAL(buttonTeam0, released), this, SLOT(MultiplayerTeamDeathmatch, onButtonTeam0));
+      buttonTeam0->released.connect(this, &MultiplayerTeamDeathmatch::onButtonTeam0);
 
       OrxGui::GLGuiPushButton * buttonTeam1 = new OrxGui::GLGuiPushButton("Red Team");
       box->pack( buttonTeam1 );
-      buttonTeam1->connect(SIGNAL(buttonTeam1, released), this, SLOT(MultiplayerTeamDeathmatch, onButtonTeam1));
+      buttonTeam1->released.connect(this, &MultiplayerTeamDeathmatch::onButtonTeam1);
 
       if ( bShowTeamChange )
@@ -172,10 +172,10 @@
         OrxGui::GLGuiPushButton * buttonCancel = new OrxGui::GLGuiPushButton("Cancel");
         box->pack( buttonCancel );
-        buttonCancel->connect(SIGNAL(buttonCancel, released), this, SLOT(MultiplayerTeamDeathmatch, onButtonCancel));
+        buttonCancel->released.connect(this, &MultiplayerTeamDeathmatch::onButtonCancel);
       }
 
       OrxGui::GLGuiPushButton * buttonExit = new OrxGui::GLGuiPushButton("Exit");
       box->pack( buttonExit );
-      buttonExit->connect(SIGNAL(buttonExit, released), this, SLOT(MultiplayerTeamDeathmatch, onButtonExit));
+      buttonExit->released.connect(this, &MultiplayerTeamDeathmatch::onButtonExit);
 
       box->showAll();
Index: branches/proxy/src/util/network_stats_widget.cc
===================================================================
--- branches/proxy/src/util/network_stats_widget.cc	(revision 9368)
+++ branches/proxy/src/util/network_stats_widget.cc	(revision 9369)
@@ -17,4 +17,6 @@
 
 #include "network_stats_widget.h"
+
+#include "multi_type.h"
 
 namespace OrxGui
Index: branches/proxy/src/world_entities/elements/glgui_energywidget.cc
===================================================================
--- branches/proxy/src/world_entities/elements/glgui_energywidget.cc	(revision 9368)
+++ branches/proxy/src/world_entities/elements/glgui_energywidget.cc	(revision 9369)
@@ -17,4 +17,6 @@
 
 #include "glgui_energywidget.h"
+
+#include "multi_type.h"
 
 namespace OrxGui
Index: branches/proxy/src/world_entities/environments/mapped_water.cc
===================================================================
--- branches/proxy/src/world_entities/environments/mapped_water.cc	(revision 9368)
+++ branches/proxy/src/world_entities/environments/mapped_water.cc	(revision 9369)
@@ -374,5 +374,5 @@
         waterColorR->setValue(this->waterColor.x);
         waterColorR->setStep(0.1f);
-        waterColorR->connect(SIGNAL(waterColorR, valueChanged), this, SLOT(MappedWater, resetWaterColorR));
+        waterColorR->valueChanged.connect(this, &MappedWater::resetWaterColorR);
         waterColorBox->pack(waterColorR);
 
@@ -381,5 +381,5 @@
         waterColorG->setStep(0.1f);
         waterColorG->setValue(this->waterColor.y);
-        waterColorG->connect(SIGNAL(waterColorG, valueChanged), this, SLOT(MappedWater, resetWaterColorG));
+        waterColorG->valueChanged.connect(this, &MappedWater::resetWaterColorG);
         waterColorBox->pack(waterColorG);
 
@@ -388,5 +388,5 @@
         waterColorB->setStep(0.1f);
         waterColorB->setValue(this->waterColor.z);
-        waterColorB->connect(SIGNAL(waterColorB, valueChanged), this, SLOT(MappedWater, resetWaterColorB));
+        waterColorB->valueChanged.connect(this, &MappedWater::resetWaterColorB);
         waterColorBox->pack(waterColorB);
       }
@@ -403,5 +403,5 @@
         waterUV->setValue(this->waterUV);
         waterUV->setStep(1);
-        waterUV->connect(SIGNAL(waterUV, valueChanged), this, SLOT(MappedWater, setWaterUV));
+        waterUV->valueChanged.connect(this, &MappedWater::setWaterUV);
         waterUVBox->pack(waterUV);
       }
@@ -418,5 +418,5 @@
         waterFlow->setValue(this->waterFlow);
         waterFlow->setStep(0.02f);
-        waterFlow->connect(SIGNAL(waterFlow, valueChanged), this, SLOT(MappedWater, setWaterFlow));
+        waterFlow->valueChanged.connect(this, &MappedWater::setWaterFlow);
         waterFlowBox->pack(waterFlow);
       }
@@ -433,5 +433,5 @@
         shineSize->setValue(this->shineSize);
         shineSize->setStep(1);
-        shineSize->connect(SIGNAL(shineSize, valueChanged), this, SLOT(MappedWater, resetShineSize));
+        shineSize->valueChanged.connect(this, &MappedWater::resetShineSize);
         shineSizeBox->pack(shineSize);
       }
@@ -448,5 +448,5 @@
         shineStrength->setValue(this->shineStrength);
         shineStrength->setStep(0.1f);
-        shineStrength->connect(SIGNAL(shineStrength, valueChanged), this, SLOT(MappedWater, resetShineStrength));
+        shineStrength->valueChanged.connect(this, &MappedWater::resetShineStrength);
         shineStrengthBox->pack(shineStrength);
       }
@@ -463,5 +463,5 @@
         reflStrength->setValue(this->reflStrength);
         reflStrength->setStep(0.1f);
-        reflStrength->connect(SIGNAL(reflStrength, valueChanged), this, SLOT(MappedWater, resetReflStrength));
+        reflStrength->valueChanged.connect(this, &MappedWater::resetReflStrength);
         reflStrengthBox->pack(reflStrength);
       }
@@ -478,5 +478,5 @@
         refraction->setValue(this->refraction);
         refraction->setStep(0.004f);
-        refraction->connect(SIGNAL(refraction, valueChanged), this, SLOT(MappedWater, resetRefraction));
+        refraction->valueChanged.connect(this, &MappedWater::resetRefraction);
         refractionBox->pack(refraction);
       }
@@ -493,5 +493,5 @@
         lightPosX->setValue(this->lightPos.x);
         lightPosX->setStep(15);
-        lightPosX->connect(SIGNAL(lightPosX, valueChanged), this, SLOT(MappedWater, resetLightPosX));
+        lightPosX->valueChanged.connect(this, &MappedWater::resetLightPosX);
         lightPosBox->pack(lightPosX);
 
@@ -500,5 +500,5 @@
         lightPosY->setStep(15);
         lightPosY->setValue(this->lightPos.y);
-        lightPosY->connect(SIGNAL(lightPosY, valueChanged), this, SLOT(MappedWater, resetLightPosY));
+        lightPosY->valueChanged.connect(this, &MappedWater::resetLightPosY);
         lightPosBox->pack(lightPosY);
 
@@ -507,5 +507,5 @@
         lightPosZ->setStep(15);
         lightPosZ->setValue(this->lightPos.z);
-        lightPosZ->connect(SIGNAL(lightPosZ, valueChanged), this, SLOT(MappedWater, resetLightPosZ));
+        lightPosZ->valueChanged.connect(this, &MappedWater::resetLightPosZ);
         lightPosBox->pack(lightPosZ);
       }
@@ -522,5 +522,5 @@
         waterHeight->setValue(this->waterHeight);
         waterHeight->setStep(4);
-        waterHeight->connect(SIGNAL(waterHeight, valueChanged), this, SLOT(MappedWater, setWaterHeight));
+        waterHeight->valueChanged.connect(this, &MappedWater::setWaterHeight);
         waterHeightBox->pack(waterHeight);
       }
