Index: branches/network/src/lib/network/network_game_manager.cc
===================================================================
--- branches/network/src/lib/network/network_game_manager.cc	(revision 6666)
+++ branches/network/src/lib/network/network_game_manager.cc	(revision 6667)
@@ -93,4 +93,10 @@
       {
         if ( !handleRequestRemove( i, data, length, sender ) )
+          return i;
+        continue;
+      }
+      if ( b == NET_REQUEST_PNODE_PATH )
+      {
+        if ( !handleRequestPNodePath( i, data, length, sender ) )
           return i;
         continue;
@@ -862,4 +868,9 @@
 }
 
+
+bool NetworkGameManager::handleRequestPNodePath(int& i, const byte* data, int length, int sender)
+{}
+
+
 bool NetworkGameManager::writeToClientBuffer( clientBuffer & cb, byte b )
 {
Index: branches/network/src/lib/network/network_game_manager.h
===================================================================
--- branches/network/src/lib/network/network_game_manager.h	(revision 6666)
+++ branches/network/src/lib/network/network_game_manager.h	(revision 6667)
@@ -15,4 +15,5 @@
 
 class TiXmlElement;
+class PNode;
 
 /**
@@ -92,19 +93,38 @@
     void sendEntityList(int userID);
 
+
   private:
     NetworkGameManager();
 
+
+    /* some network signal handlers */
+    bool handleRequestCreate( int& i, const byte* data, int length, int sender );
+    bool handleRequestRemove( int& i, const byte* data, int length, int sender );
+    bool handleCreateEntity( int& i, const byte* data, int length, int sender );
+    bool handleRemoveEntity( int& i, const byte* data, int length, int sender );
+    bool handleCreateEntityList( int& i, const byte* data, int length, int sender );
+    bool handleRemoveEntityList( int& i, const byte* data, int length, int sender );
+    bool handleYouAreEntity( int& i, const byte* data, int length, int sender );
+    bool handleRequestSync( int& i, const byte* data, int length, int sender );
+    bool handleRequestPNodePath(int& i, const byte* data, int length, int sender);
+
+
+    /* some network handlers helper functions */
     void requestCreateEntity(ClassID classID);
     int executeCreateEntity(ClassID classID, int uniqueID = 0, int owner = 0);
+    BaseObject* doCreateEntity(ClassID classID, int uniqueID, int owner);
 
     void requestRemoveEntity(int uniqueID);
     void executeRemoveEntity(int uniqueID);
+    void doRemoveEntity(int uniqueID);
 
     void executeRequestSync( int uniqueID, int user );
+    void doRequestSync(int uniqueID, int userID);
 
-    BaseObject* doCreateEntity(ClassID classID, int uniqueID, int owner);
-    void doRemoveEntity(int uniqueID);
-    void doRequestSync(int uniqueID, int userID);
     void doYouAre( int uniqueID );
+
+    void requestPNodePath(const PNode* node1, const PNode* node2);
+    void executePNodePath(const PNode* node2, const PNode* node2);
+    void doRequestPNodePath(const PNode* node1, const PNode* node2);
 
     bool canCreateEntity(ClassID classID);
@@ -114,18 +134,10 @@
     void resizeBufferVector(int n);
 
-    inline bool writeToClientBuffer( clientBuffer &cb, byte*data, int length );
-    inline bool writeToClientBuffer( clientBuffer &cb, byte b );
-    inline bool writeToClientBuffer( clientBuffer &cb, int i );
-    inline bool readFromClientBuffer( clientBuffer &cb, byte*data, int length );
+    bool writeToClientBuffer( clientBuffer &cb, byte*data, int length );
+    bool writeToClientBuffer( clientBuffer &cb, byte b );
+    bool writeToClientBuffer( clientBuffer &cb, int i );
+    bool readFromClientBuffer( clientBuffer &cb, byte*data, int length );
 
-    //helper functions for writeBytes
-    inline bool handleRequestCreate( int& i, const byte* data, int length, int sender );
-    inline bool handleRequestRemove( int& i, const byte* data, int length, int sender );
-    inline bool handleCreateEntity( int& i, const byte* data, int length, int sender );
-    inline bool handleRemoveEntity( int& i, const byte* data, int length, int sender );
-    inline bool handleCreateEntityList( int& i, const byte* data, int length, int sender );
-    inline bool handleRemoveEntityList( int& i, const byte* data, int length, int sender );
-    inline bool handleYouAreEntity( int& i, const byte* data, int length, int sender );
-    inline bool handleRequestSync( int& i, const byte* data, int length, int sender );
+
 
   private:
Index: branches/network/src/lib/network/network_socket.cc
===================================================================
--- branches/network/src/lib/network/network_socket.cc	(revision 6666)
+++ branches/network/src/lib/network/network_socket.cc	(revision 6667)
@@ -97,4 +97,5 @@
 /**
  * Default destructor
+ * dont use this from outside: use destroy() instead!!
  */
 NetworkSocket::~NetworkSocket( )
Index: branches/network/src/lib/network/network_socket.h
===================================================================
--- branches/network/src/lib/network/network_socket.h	(revision 6666)
+++ branches/network/src/lib/network/network_socket.h	(revision 6667)
@@ -81,10 +81,8 @@
   void init();
 
-  //dont make this public use destroy() instead
-  ~NetworkSocket();
-
 public:
 
   NetworkSocket();
+  ~NetworkSocket();
   NetworkSocket(IPaddress ip);
   NetworkSocket(TCPsocket sock);
