netpanzer-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netPanzer-CVS] netpanzer/src ChangeLog Makefile NetPanzer/Clas...


From: Matthias Braun
Subject: [netPanzer-CVS] netpanzer/src ChangeLog Makefile NetPanzer/Clas...
Date: Sun, 07 Sep 2003 10:04:48 -0400

CVSROOT:        /cvsroot/netpanzer
Module name:    netpanzer
Branch:         
Changes by:     Matthias Braun <address@hidden> 03/09/07 10:04:48

Modified files:
        src            : ChangeLog Makefile 
        src/NetPanzer/Classes: PlayerID.hpp PlayerState.hpp 
        src/NetPanzer/Classes/Network: ClientServerNetMessage.hpp 
                                       NetPacket.hpp NetworkClient.cpp 
                                       NetworkClient.hpp 
                                       NetworkInterface.cpp 
                                       NetworkInterface.hpp 
                                       NetworkServer.cpp 
                                       NetworkServer.hpp 
                                       ServerConnectDaemon.cpp 
        src/NetPanzer/Core: NetworkGlobals.hpp netPanzerWinProc.cpp 
        src/NetPanzer/Interfaces: GameManager.cpp ObjectiveInterface.cpp 
        src/NetPanzer/Interfaces/unix: NetworkClientUnix.cpp 
                                       NetworkClientUnix.hpp 
                                       NetworkServerUnix.cpp 
                                       NetworkServerUnix.hpp 
        src/NetPanzer/Views/MainMenu/Multi: GetSessionView.cpp 
Added files:
        src/UILib/Network: Client.cpp Client.hpp ClientList.cpp 
                           ClientList.hpp ServerSocket.cpp 
                           ServerSocket.hpp SocketMessage.cpp 
                           SocketMessage.hpp 
Removed files:
        src/NetPanzer/Classes/Network: NetMessageLog.cpp 
                                       NetMessageLog.hpp 

Log message:
        -removed NetMessageLog class (because it only contained shit ;-)
        -slightly changed NetworkServer and NetworkClient interfaces
        -Added a SDL_Net version of the network code

Patches:
Index: netpanzer/src/ChangeLog
diff -u netpanzer/src/ChangeLog:1.6 netpanzer/src/ChangeLog:1.7
--- netpanzer/src/ChangeLog:1.6 Sat Sep  6 16:49:45 2003
+++ netpanzer/src/ChangeLog     Sun Sep  7 10:04:47 2003
@@ -1,3 +1,8 @@
+7-Sep-2003 by Matze Braun
+-removed NetMessageLog class (because it only contained shit ;-)
+-slightly changed NetworkServer and NetworkClient interfaces
+-Added a SDL_Net version of the network code
+
 6-Sep-2003 by Matze Braun
 -added a unix implementation of _findfirst, _findnext and _findclose
 -removed some getDrive functions, was never used and supporting drives in unix
@@ -16,6 +21,10 @@
 -fixed more small issues
 => the main menu is displayed now and the Exit and Options buttons work :)
 -added a unix verison of _splitpath
+-some code cleanups:
+ *removed JoystickInterface completely
+ *removed netPanzerGlobals.*
+ *removed netPanzerMain.*
 
 ------------
 prior changes (not complete)
Index: netpanzer/src/Makefile
diff -u netpanzer/src/Makefile:1.9 netpanzer/src/Makefile:1.10
--- netpanzer/src/Makefile:1.9  Sat Sep  6 14:59:05 2003
+++ netpanzer/src/Makefile      Sun Sep  7 10:04:47 2003
@@ -17,7 +17,7 @@
 CFLAGS += -Wall -g3 -O2 $(foreach dir, $(INCLUDEDIRS), -I$(dir))
 
 ifeq ($(SYSTEM),UNIX)
-DIRS += NetPanzer/Interfaces/unix Stub Win32/unix UILib/SDL \
+DIRS += NetPanzer/Interfaces/unix Stub UILib/SDL UILib/Network \
            NetPanzer/Core/unix
 GOAL = ../netpanzer
 LINKFLAGS += -g3 `sdl-config --libs` -lSDL_net
Index: netpanzer/src/NetPanzer/Classes/Network/ClientServerNetMessage.hpp
diff -u netpanzer/src/NetPanzer/Classes/Network/ClientServerNetMessage.hpp:1.2 
netpanzer/src/NetPanzer/Classes/Network/ClientServerNetMessage.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/Network/ClientServerNetMessage.hpp:1.2      
Mon Sep  1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/Network/ClientServerNetMessage.hpp  Sun Sep 
 7 10:04:47 2003
@@ -64,7 +64,7 @@
 class ClientMesgServerId : public NetMessage
 {
 public:
-       DPID server_DPID;
+       Client::ID server_id;
   
        ClientMesgServerId()
        {
Index: netpanzer/src/NetPanzer/Classes/Network/NetPacket.hpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetPacket.hpp:1.2 
netpanzer/src/NetPanzer/Classes/Network/NetPacket.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/Network/NetPacket.hpp:1.2   Mon Sep  1 
16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/Network/NetPacket.hpp       Sun Sep  7 
10:04:47 2003
@@ -18,9 +18,9 @@
 #ifndef _NETPACKET_HPP
 #define _NETPACKET_HPP
 
-#include "DirectPlay.h"
 #include "PObject.hpp"
 #include "NetMessageEnums.hpp"
+#include "UILib/Network/Client.hpp"
 
 #define _MAX_NET_PACKET_SIZE 512
 
@@ -30,8 +30,8 @@
 class NetPacket : public PObject 
 {
 public:
-       DPID toID;
-       DPID fromID;  
+       Client::ID toID;
+       Client::ID fromID;  
        unsigned short packet_size;
 
        unsigned char data[ _MAX_NET_PACKET_SIZE ];
Index: netpanzer/src/NetPanzer/Classes/Network/NetworkClient.cpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetworkClient.cpp:1.4 
netpanzer/src/NetPanzer/Classes/Network/NetworkClient.cpp:1.5
--- netpanzer/src/NetPanzer/Classes/Network/NetworkClient.cpp:1.4       Sat Sep 
 6 11:18:18 2003
+++ netpanzer/src/NetPanzer/Classes/Network/NetworkClient.cpp   Sun Sep  7 
10:04:47 2003
@@ -160,8 +160,9 @@
    }
  }
 
-int NetworkClient::openSession( int connection_type, int session_flags )
- {
-  non_guarantee_queue.reset();
-  return( true );
- }
+int NetworkClient::openSession()
+{
+       non_guarantee_queue.reset();
+       return( true );
+}
+
Index: netpanzer/src/NetPanzer/Classes/Network/NetworkClient.hpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetworkClient.hpp:1.2 
netpanzer/src/NetPanzer/Classes/Network/NetworkClient.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/Network/NetworkClient.hpp:1.2       Mon Sep 
 1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/Network/NetworkClient.hpp   Sun Sep  7 
10:04:47 2003
@@ -59,59 +59,55 @@
 #define _SERVER_PING_INTERVAL              (5)  // in seconds
 
 class NetworkClient : public NetworkInterface
- {
-  protected:
+{
+protected:
+       NetPacket net_packet;
 
-   NetPacket net_packet;
-
-   SessionList session_list;
-   
-   Timer   ping_timer;
+       SessionList session_list;
    
-   bool keep_alive_state;
-   Timer   keep_alive_emit_timer;
-   Timer   keep_alive_timer;
-   void updateKeepAliveState( void );
-
-   DWORD client_transport_id;
-
-   unsigned short connection_type;
-   unsigned short connection_status;
+       Timer   ping_timer;
    
-   void netMessageClientKeepAlive( NetMessage *message );
-   void netMessageClientSetKeepAliveState( NetMessage *message ); 
-   void netMessageClientPingAck( NetMessage *message ); 
-   void netMessageClientConnectAck( NetMessage *message ); 
+       bool keep_alive_state;
+       Timer   keep_alive_emit_timer;
+       Timer   keep_alive_timer;
+       void updateKeepAliveState( void );
 
-   void processNetMessage( NetMessage *message );
+       DWORD client_transport_id;
 
-  public:
+       unsigned short connection_type;
+       unsigned short connection_status;
    
-   NetworkClient ();
-   virtual ~NetworkClient ();
+       void netMessageClientKeepAlive( NetMessage *message );
+       void netMessageClientSetKeepAliveState( NetMessage *message ); 
+       void netMessageClientPingAck( NetMessage *message ); 
+       void netMessageClientConnectAck( NetMessage *message ); 
+
+       void processNetMessage( NetMessage *message );
+public:
+       NetworkClient ();
+       virtual ~NetworkClient ();
    
-   void activateKeepAlive( void ); 
-   void deactivateKeepAlive( void ); 
+       void activateKeepAlive( void ); 
+       void deactivateKeepAlive( void ); 
 
-   virtual int openSession( int connection_type, int session_flags );
+       virtual int openSession() = 0;
 
-   virtual int startEnumeration( ConnectionAddress address ) { assert(0); 
return( false ); }
-   virtual int startEnumeration( void ) { assert(0); return( false ); }
-   virtual int stopEnumeration( void ) { assert(0); return( false ); }
-   virtual int getSessionList( SessionList &list ) { assert(0); return( false 
); }
-
-   virtual int joinSession( void ) { assert(0); return( false ); }
-   virtual int joinSession( int session_index ) { assert(0); return( false ); }
-   virtual int joinSession( const char session_name ) { assert(0); return( 
false );  }
-   virtual int setJoinSession( const char *session_name ) { assert(0); return( 
false );  }
+       virtual int startEnumeration( ConnectionAddress address ) = 0;
+       virtual int startEnumeration( void ) = 0;
+       virtual int stopEnumeration( void ) = 0;
+       virtual int getSessionList( SessionList &list ) = 0;
+
+       virtual int joinSession( void ) = 0;
+       virtual int joinSession( int session_index ) = 0;
+       virtual int joinSession( const char session_name ) = 0;
+       virtual int setJoinSession( const char *session_name ) = 0;
       
-   virtual int closeSession( void ) {  assert(0); return( false ); }
-  
-   virtual int sendMessage( NetMessage *message, unsigned long size, int flags 
) { assert(0); return( false ); }
+       virtual int closeSession( void ) = 0;
+       
+       virtual int sendMessage( NetMessage *message, unsigned long size, int 
flags
+                       ) = 0;
  
-   virtual int getMessage( NetMessage *message ) { assert(0); return( false ); 
}
-
- };
-
+   virtual int getMessage( NetMessage *message ) = 0;
+};
 
 #endif // ** _NETWORK_CLIENT_HPP
Index: netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.cpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.cpp:1.4 
netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.cpp:1.5
--- netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.cpp:1.4    Sat Sep 
 6 11:18:18 2003
+++ netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.cpp        Sun Sep 
 7 10:04:47 2003
@@ -23,7 +23,8 @@
 
 NetPacket TEMP_PACKET;
 
-void EnqueueIncomingPacket( void *message, unsigned long message_size, DPID 
toID, DPID fromID )
+void EnqueueIncomingPacket(void *message, unsigned long message_size,
+                                                  Client::ID toID, Client::ID 
fromID )
  {
   TEMP_PACKET.toID = toID;
   TEMP_PACKET.fromID = fromID;
@@ -41,7 +42,8 @@
 
 NetPacket TEMP_PACKET2;
 
-void EnqueueUnreliablePacket( void *message, unsigned long message_size, DPID 
toID, DPID fromID )
+void EnqueueUnreliablePacket(void *message, unsigned long message_size,
+                                                        Client::ID toID, 
Client::ID fromID )
  {
   TEMP_PACKET2.toID = toID;
   TEMP_PACKET2.fromID = fromID;
Index: netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.hpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.hpp:1.1 
netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.hpp:1.2
--- netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.hpp:1.1    Sun Dec 
 1 12:51:50 2002
+++ netpanzer/src/NetPanzer/Classes/Network/NetworkInterface.hpp        Sun Sep 
 7 10:04:47 2003
@@ -20,9 +20,11 @@
 
 #include "NetPacketQueues.hpp"
 
-void EnqueueIncomingPacket( void *message, unsigned long message_size, DPID 
toID, DPID fromID );
+void EnqueueIncomingPacket( void *message, unsigned long message_size,
+                                                       Client::ID toID, 
Client::ID fromID );
 
-void EnqueueUnreliablePacket( void *message, unsigned long message_size, DPID 
toID, DPID fromID );
+void EnqueueUnreliablePacket( void *message, unsigned long message_size,
+                                                         Client::ID toID, 
Client::ID fromID );
 
 class NetworkInterface 
  {
Index: netpanzer/src/NetPanzer/Classes/Network/NetworkServer.cpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetworkServer.cpp:1.4 
netpanzer/src/NetPanzer/Classes/Network/NetworkServer.cpp:1.5
--- netpanzer/src/NetPanzer/Classes/Network/NetworkServer.cpp:1.4       Sat Sep 
 6 11:18:18 2003
+++ netpanzer/src/NetPanzer/Classes/Network/NetworkServer.cpp   Sun Sep  7 
10:04:47 2003
@@ -93,7 +93,7 @@
   
   while( client_data_ptr != 0 )
    {
-    if ( client_data_ptr->client_id.getDPID() == client_id->getDPID() ) 
+    if ( client_data_ptr->client_id.getNetworkID() == 
client_id->getNetworkID() ) 
      {
       (*client_id) = client_data_ptr->client_id;
       return( true );
Index: netpanzer/src/NetPanzer/Classes/Network/NetworkServer.hpp
diff -u netpanzer/src/NetPanzer/Classes/Network/NetworkServer.hpp:1.2 
netpanzer/src/NetPanzer/Classes/Network/NetworkServer.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/Network/NetworkServer.hpp:1.2       Mon Sep 
 1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/Network/NetworkServer.hpp   Sun Sep  7 
10:04:47 2003
@@ -25,109 +25,104 @@
 #include "PlayerID.hpp"
 #include "LinkListSingleTemplate.hpp"
 
-
 class ServerClientListData
- {
-  public:
-  PlayerID       client_id;
-  bool        keep_alive_state;
-  Timer          keep_alive_timer;  
-  unsigned char  no_guarantee_sequence_counter;
+{
+public:
+       PlayerID       client_id;
+       bool        keep_alive_state;
+       Timer          keep_alive_timer;  
+       unsigned char  no_guarantee_sequence_counter;
 
-  ServerClientListData *next;
- 
-  ServerClientListData()
-   {
-    no_guarantee_sequence_counter = 0;
-    keep_alive_state = false;
-    next = 0;
-   }
+       ServerClientListData *next;
  
- };
-
+       ServerClientListData()
+       {
+               no_guarantee_sequence_counter = 0;
+               keep_alive_state = false;
+               next = 0;
+       }
+};
 
 class ServerClientList : public LinkListSingleTemplate< ServerClientListData >
- {
-  public:
-  
-   ServerClientListData * getClientData( PlayerID client_id );
+{
+public:
+       ServerClientListData * getClientData( PlayerID client_id );
 
-   void addClient( ServerClientListData *client_data );
-  
-   bool removeClient( PlayerID client_id );
+       void addClient( ServerClientListData *client_data );
+   
+       bool removeClient( PlayerID client_id );
 
-   bool getFullClientID( PlayerID *client_id );
+       bool getFullClientID( PlayerID *client_id );
   
-   inline void resetIterator( ServerClientListData **iterator )
+       inline void resetIterator( ServerClientListData **iterator )
     {
-     (*iterator) = front;
-    }
+               (*iterator) = front;
+       }
     
-   inline ServerClientListData * incIteratorPtr( ServerClientListData 
**iterator )
-    { 
-        ServerClientListData *client_data;
-
-        if( (*iterator) != 0 )
-         {
-          client_data = (*iterator);
-          (*iterator) = (*iterator)->next;
-          return( client_data ); 
-         }
-     else
-         { return( 0 ); }
-    }
- 
- };
+       inline ServerClientListData * incIteratorPtr( ServerClientListData 
**iterator )
+       { 
+               ServerClientListData *client_data;
+
+               if( (*iterator) != 0 )
+               {
+                       client_data = (*iterator);
+                       (*iterator) = (*iterator)->next;
+                       return( client_data ); 
+               }
+               else
+               { return( 0 ); }
+       }
+};
 
 #define _CLIENT_KEEP_ALIVE_THRESHOLD     (60)  // in seconds
 #define _SERVER_KEEP_ALIVE_SEND_INTERVAL  (2)  // in seconds
 
 class NetworkServer : public NetworkInterface
- {
-  protected:
-   ServerClientList client_list;
+{
+protected:
+       ServerClientList client_list;
 
-   NetPacket net_packet;
+       NetPacket net_packet;
 
-   Timer keep_alive_emit_timer;
+       Timer keep_alive_emit_timer;
    
-   void updateKeepAliveState( void );
-   void resetClientList( void );
+       void updateKeepAliveState();
+       void resetClientList();
 
-   void netMessageClientKeepAlive( NetMessage *message );
-   void netMessageServerPingRequest( NetMessage *message );
-   void netMessageTransportClientAccept( NetMessage *message );
+       void netMessageClientKeepAlive( NetMessage *message );
+       void netMessageServerPingRequest( NetMessage *message );
+       void netMessageTransportClientAccept( NetMessage *message );
    
-   void processNetMessage( NetMessage *message );
+       void processNetMessage( NetMessage *message );
    
-   bool dontSendUDPHackFlag;
-  public:
-   
-   NetworkServer( void );
-   virtual ~NetworkServer();
+       bool dontSendUDPHackFlag;
+public:
+       NetworkServer();
+       virtual ~NetworkServer();
 
-   bool addClientToSendList( PlayerID &client_player_id );
-   bool removeClientFromSendList( PlayerID &client_player_id ); 
+       bool addClientToSendList(PlayerID &client_player_id );
+       bool removeClientFromSendList(PlayerID &client_player_id ); 
 
-   bool activateKeepAlive( PlayerID &client_player_id ); 
-   bool deactivateKeepAlive( PlayerID &client_player_id ); 
+       bool activateKeepAlive(PlayerID &client_player_id); 
+       bool deactivateKeepAlive(PlayerID &client_player_id); 
 
-   void lostPacketHack()
-    { dontSendUDPHackFlag = true; } 
+       void lostPacketHack()
+       { dontSendUDPHackFlag = true; } 
          
-   virtual int openSession( int connection_type, int session_flags ) { return( 
true ); }
-   virtual int hostSession( void ) { return( true ); }
-   virtual int closeSession( void ) { return( true ); }
-
-   virtual int sendMessage( NetMessage *message, unsigned long size, int flags 
) { return( true ); }
-   virtual int sendMessage( NetMessage *message, unsigned long size, const 
PlayerID &player_id, int flags ) { return( true ); } 
+       virtual void openSession() = 0;
+       virtual void hostSession() = 0;
+       virtual void closeSession() = 0;
 
-   virtual int getMessage( NetMessage *message ) { return( true ); }
+       virtual int sendMessage(NetMessage *message, size_t size, int flags) = 
0;
+       virtual int sendMessage(NetMessage *message, size_t size,
+                                                       const PlayerID 
&player_id, int flags) = 0;  
 
-   virtual void dropClient( PlayerID client_id );
-   virtual void shutdownClientTransport( PlayerID &client_id ) {  }
+       virtual int getMessage(NetMessage *message) = 0;
 
- };
+       virtual void dropClient(PlayerID client_id);
+       virtual void shutdownClientTransport(const PlayerID &client_id) = 0;
 
+       virtual void checkIncoming() = 0;
+};
 
 #endif // ** _NETWORKSERVER_HPP
Index: netpanzer/src/NetPanzer/Classes/Network/ServerConnectDaemon.cpp
diff -u netpanzer/src/NetPanzer/Classes/Network/ServerConnectDaemon.cpp:1.3 
netpanzer/src/NetPanzer/Classes/Network/ServerConnectDaemon.cpp:1.4
--- netpanzer/src/NetPanzer/Classes/Network/ServerConnectDaemon.cpp:1.3 Fri Sep 
 5 22:01:18 2003
+++ netpanzer/src/NetPanzer/Classes/Network/ServerConnectDaemon.cpp     Sun Sep 
 7 10:04:47 2003
@@ -113,14 +113,15 @@
   
   while( completed == false )
    {
-       if ( connect_request.new_player_id.getDPID() == new_player_id.getDPID() 
)
+       if ( connect_request.new_player_id.getNetworkID() == 
+                       new_player_id.getNetworkID() )
         { return( true ); }
 
     connect_request = connect_queue.incIterator( &iterator, &completed );      
    }
   
   if ( (connection_state != _connect_state_idle) &&
-       (connect_player_id.getDPID() == new_player_id.getDPID()  )
+       (connect_player_id.getNetworkID() == new_player_id.getNetworkID()  )
         )
    return( true );
   
@@ -403,7 +404,7 @@
       connect_player_state->unit_config.setUnitColor( 
client_setting->unit_color );
       connect_player_state->setFlag( client_setting->player_flag );
 
-      connect_player_state->setID( connect_player_id.getDPID() );
+      connect_player_state->setID( connect_player_id.getNetworkID() );
       connect_player_state->setStatus( _player_state_connecting );
       connect_player_id = connect_player_state->getPlayerID();
                           
Index: netpanzer/src/NetPanzer/Classes/PlayerID.hpp
diff -u netpanzer/src/NetPanzer/Classes/PlayerID.hpp:1.2 
netpanzer/src/NetPanzer/Classes/PlayerID.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/PlayerID.hpp:1.2    Mon Sep  1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/PlayerID.hpp        Sun Sep  7 10:04:47 2003
@@ -20,60 +20,48 @@
 
 #include <string.h>
 #include "PObject.hpp"
-#include "DirectPlay.h"
+#include "UILib/Network/Client.hpp"
 
 class PlayerID
- {
-  protected:
-   unsigned short index_id;
-   DPID direct_play_id;
-
-  public:
-
-  PlayerID( ) 
-   { 
-    index_id = 0xFFFF;
-    direct_play_id = 0xFFFFFFFF;
-   }
+{
+protected:
+       unsigned short index_id;
+       Client::ID networkid;
+
+public:
+       PlayerID( ) 
+               : index_id(0xFFFF), networkid(0xFFFFFFFF)
+       { }
   
-  PlayerID( unsigned short index, DPID dpID ) 
-   {
-    index_id = index;
-    direct_play_id = dpID;
-   }
+       PlayerID( unsigned short index, Client::ID newid ) 
+               : index_id(index), networkid(newid)
+       { }
      
-  inline void set( unsigned short index, DPID dpID ) 
-   {
-    index_id = index;
-    direct_play_id = dpID;
-   }
-
-  inline void setIndex( unsigned short index )
-   { index_id = index; }
+       inline void setIndex( unsigned short index )
+       { index_id = index; }
 
-  inline unsigned short getIndex() const
-   { return( index_id ); }
+       inline unsigned short getIndex() const
+       { return( index_id ); }
 
-  inline void setDPID( DPID dpID )
-   { direct_play_id = dpID; }
+       inline void setNetworkID(Client::ID newid)
+       { networkid = newid; }
   
-  inline DPID getDPID( ) const
-   { return( direct_play_id ); }
+       inline Client::ID getNetworkID() const
+       { return(networkid); }
 
-  inline void operator=( const PlayerID &rhs )
-   {
-    index_id = rhs.getIndex();
-    direct_play_id = rhs.getDPID();
-   }
+       inline void operator=(const PlayerID &rhs)
+       {
+               index_id = rhs.index_id;
+               networkid = rhs.networkid;
+       }
  
-  inline bool operator==( PlayerID &rhs )
-   {
-    if ( (index_id == rhs.getIndex()) && (direct_play_id = rhs.getDPID()) )
-        { return( true ); }
-
-    return( false );    
-   }
-
- };
+       inline bool operator==(const PlayerID &rhs) const
+       {
+               if ( (index_id == rhs.index_id) && (networkid == rhs.networkid) 
)
+                       return true;
+               
+               return false;
+       }
+};
 
 #endif // ** _PLAYERID_HPP
Index: netpanzer/src/NetPanzer/Classes/PlayerState.hpp
diff -u netpanzer/src/NetPanzer/Classes/PlayerState.hpp:1.2 
netpanzer/src/NetPanzer/Classes/PlayerState.hpp:1.3
--- netpanzer/src/NetPanzer/Classes/PlayerState.hpp:1.2 Mon Sep  1 16:24:20 2003
+++ netpanzer/src/NetPanzer/Classes/PlayerState.hpp     Sun Sep  7 10:04:47 2003
@@ -137,19 +137,20 @@
      objectives_held = objectives; 
     }
    
-   inline void setID( unsigned short index, DPID dpID  )
-     {
-      ID.set( index, dpID );
-     }
+   inline void setID( unsigned short index, Client::ID networkid  )
+   {
+      ID.setIndex(index);
+         ID.setNetworkID(networkid);
+   }
 
    inline void setID( unsigned short index )
     {
      ID.setIndex( index );
     }
   
-   inline void setID( DPID dpID )
+   inline void setID( Client::ID networkid )
     {
-     ID.setDPID( dpID );
+     ID.setNetworkID(networkid);
     }
 
    inline PlayerID getPlayerID( void )
Index: netpanzer/src/NetPanzer/Core/NetworkGlobals.hpp
diff -u netpanzer/src/NetPanzer/Core/NetworkGlobals.hpp:1.1 
netpanzer/src/NetPanzer/Core/NetworkGlobals.hpp:1.2
--- netpanzer/src/NetPanzer/Core/NetworkGlobals.hpp:1.1 Sun Dec  1 12:51:56 2002
+++ netpanzer/src/NetPanzer/Core/NetworkGlobals.hpp     Sun Sep  7 10:04:47 2003
@@ -18,6 +18,10 @@
 #ifndef _NETWORK_GLOBALS_HPP
 #define _NETWORK_GLOBALS_HPP
 
+#define _NETPANZER_DEFAULT_PORT_TCP            3030
+#define _NETPANZER_DEFAULT_PORT_UDP            3031
+#define _NETPANZER_DEFAULT_PORT_BROADCAST 3032
+
 #define _NETPANZER_CODEWORD          "netPanzerTest01"
 #define _NETPANZER_PROTOCOL_VERSION  1011
 
Index: netpanzer/src/NetPanzer/Core/netPanzerWinProc.cpp
diff -u netpanzer/src/NetPanzer/Core/netPanzerWinProc.cpp:1.6 
netpanzer/src/NetPanzer/Core/netPanzerWinProc.cpp:1.7
--- netpanzer/src/NetPanzer/Core/netPanzerWinProc.cpp:1.6       Sat Sep  6 
18:31:20 2003
+++ netpanzer/src/NetPanzer/Core/netPanzerWinProc.cpp   Sun Sep  7 10:04:47 2003
@@ -25,7 +25,6 @@
 #include "MouseInterface.hpp"
 #include "KeyboardInterface.hpp"
 #include "DirectDrawGlobals.hpp"
-#include "DirectPlay.h"
 #include "winsockglobals.h"
 #include "WinSockClientList.h"
 #include "WinsockServer.h"
Index: netpanzer/src/NetPanzer/Interfaces/GameManager.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.20 
netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.21
--- netpanzer/src/NetPanzer/Interfaces/GameManager.cpp:1.20     Sat Sep  6 
18:31:20 2003
+++ netpanzer/src/NetPanzer/Interfaces/GameManager.cpp  Sun Sep  7 10:04:47 2003
@@ -32,7 +32,6 @@
 // ** Direct X Includes
 #ifdef WIN32
 #include "DirectDrawGlobals.hpp"
-#include "DirectPlay.h"
 #include "DirectInput.hpp"
 #include "DSound.hpp"
 #endif
@@ -135,7 +134,6 @@
 #include "ResignView.hpp"
 #include "AreYouSureResignView.hpp"
 #include "AreYouSureExitView.hpp"
-#include "DirectPlayErrorExceptionView.hpp"
 #include "UnitSelectionView.hpp"
 #include "FlagSelectionView.hpp"
 #include "MiniMapOptionsView.hpp"
@@ -293,7 +291,7 @@
        Desktop::add(new ControlsView());
        Desktop::add(new VisualsView());
        Desktop::add(new InterfaceView());
-       Desktop::add(new DirectPlayErrorExceptionView());
+       //Desktop::add(new DirectPlayErrorExceptionView());
        //Desktop::add(new UnitSelectionView());
        Desktop::add(new FlagSelectionView());
        Desktop::add(new HostOptionsView());
@@ -547,7 +545,8 @@
        NetworkState::setNetworkStatus( _network_state_server );
        NetworkState::resetNetworkStats();
        
-       SetPacketFunction( EnqueueIncomingPacket );
+       // XXX do we need this?
+       //SetPacketFunction( EnqueueIncomingPacket );
 }
 
 // ******************************************************************
@@ -1546,22 +1545,22 @@
     //InitStreamServer(gapp.hwndApp);
 
     progressView.scrollAndUpdateDirect( "Launching Server ..." );
-    if ( SERVER->hostSession() == false )
-     {
-      progressView.scrollAndUpdateDirect( "SERVER LAUNCH FAILED" );
-      wait.changePeriod( 4 );    
-      while( !wait.count() );
+    try {
+               SERVER->hostSession();
+       } catch(Exception e) {
+               progressView.scrollAndUpdateDirect( "SERVER LAUNCH FAILED" );
+               wait.changePeriod( 4 );    
+               while( !wait.count() );
          
-      progressView.toggleMainMenu();      
-      return;
-     }
+               progressView.toggleMainMenu();      
+               return;
+       }
 
     progressView.updateDirect( "Launching Server ... (100%) " );
 
     game_state = _game_state_in_progress;
        NetworkState::setNetworkStatus( _network_state_server );
-       CLIENT->openSession( _connection_loop_back, 0 );
-
+       CLIENT->openSession();
 
     progressView.scrollAndUpdateDirect( "Loading Game Data ..." );
 
@@ -1810,8 +1809,8 @@
   //winsock hack
   //InitStreamServer(gapp.hwndApp);
   
-  SERVER->openSession( 0, 0 );
-  SERVER->hostSession( );
+  SERVER->openSession();
+  SERVER->hostSession();
        
   game_state = _game_state_in_progress;
 
@@ -1900,6 +1899,8 @@
 // ******************************************************************
 void GameManager::simLoop()
  {
+        // CLIENT->checkIncoming();
+        SERVER->checkIncoming();
   if ( NetworkState::status == _network_state_server )
    { ServerMessageRouter::routeMessages();  }
   else
@@ -2001,6 +2002,8 @@
 // ******************************************************************
 void GameManager::dedicatedSimLoop()
  {
+        // CLIENT->checkIncoming();
+        SERVER->checkIncoming();
   if ( NetworkState::status == _network_state_server )
    { ServerMessageRouter::routeMessages();  }
   else
Index: netpanzer/src/NetPanzer/Interfaces/ObjectiveInterface.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/ObjectiveInterface.cpp:1.3 
netpanzer/src/NetPanzer/Interfaces/ObjectiveInterface.cpp:1.4
--- netpanzer/src/NetPanzer/Interfaces/ObjectiveInterface.cpp:1.3       Fri Sep 
 5 22:01:19 2003
+++ netpanzer/src/NetPanzer/Interfaces/ObjectiveInterface.cpp   Sun Sep  7 
10:04:47 2003
@@ -71,7 +71,7 @@
   
   cleanUpObjectiveList();
 
-  fscanf( infile, "%s %d", comment, &objective_count );
+  fscanf( infile, "%s %ld", comment, &objective_count );
   objective_list.initialize( objective_count );
     
   unsigned long loc_x, loc_y;
@@ -82,7 +82,7 @@
     Objective *objective_obj;
 
     fscanf( infile, "%s %s", comment, name ); 
-    fscanf( infile, "%s %d %d", comment, &loc_x, &loc_y );
+    fscanf( infile, "%s %ld %ld", comment, &loc_x, &loc_y );
    
     MapInterface::mapXYtoPointXY( loc_x, loc_y, &world_x, &world_y );
 
Index: netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp:1.1 
netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp:1.2
--- netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp:1.1   Sat Sep 
 6 13:15:34 2003
+++ netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.cpp       Sun Sep 
 7 10:04:47 2003
@@ -36,7 +36,7 @@
 {
 }
 
-int NetworkClientUnix::openSession( int connection_type, int session_flags ) 
+int NetworkClientUnix::openSession() 
 {
 #if 0
   NetworkClient::openSession( connection_type, session_flags );
Index: netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.hpp
diff -u netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.hpp:1.1 
netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.hpp:1.2
--- netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.hpp:1.1   Sat Sep 
 6 13:15:34 2003
+++ netpanzer/src/NetPanzer/Interfaces/unix/NetworkClientUnix.hpp       Sun Sep 
 7 10:04:47 2003
@@ -26,7 +26,7 @@
    NetworkClientUnix( void );
    ~NetworkClientUnix();
 
-   virtual int openSession( int connection_type, int session_flags ); 
+   virtual int openSession(); 
    
    virtual int startEnumeration( ConnectionAddress address );   
    virtual int startEnumeration( void ); 
Index: netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.cpp
diff -u netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.cpp:1.2 
netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.cpp:1.3
--- netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.cpp:1.2   Sat Sep 
 6 13:15:34 2003
+++ netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.cpp       Sun Sep 
 7 10:04:47 2003
@@ -17,64 +17,80 @@
 */
 #include <config.h>
 
-// XXX stub implementation, mine still has bugs, but will come soon
-
-#include "NetworkServerUnix.hpp"
-#include "gapp.hpp"
-
-#include "NetMessageLog.hpp"
-
+#include <assert.h>
+#include "Log.hpp"
+#include "NetworkGlobals.hpp"
 #include "NetworkState.hpp"
-
-#include "ServerConnectDaemon.hpp"
+#include "Exception.hpp"
+#include "NetworkServerUnix.hpp"
 
 NetworkServerUnix::NetworkServerUnix()
-  : NetworkServer()
+  : NetworkServer(), serversocket(0)
 {
 }
 
 NetworkServerUnix::~NetworkServerUnix()
 {
+       delete serversocket;
 }
 
-void NetworkServerUnix::shutdownClientTransport( PlayerID &client_id )
+void NetworkServerUnix::shutdownClientTransport(const PlayerID &client_id)
 {
-       //DelClientByWinsockID( client_id.getDPID() );
+       assert(serversocket != 0);
+       serversocket->removeClient(client_id.getNetworkID());
 }
 
-int NetworkServerUnix::openSession( int connection_type, int session_flags )
+void NetworkServerUnix::openSession()
 {
-       return 0;
 }
 
-int NetworkServerUnix::hostSession( void )
+void NetworkServerUnix::hostSession()
 {
-#if 0
-       //winsock hack
-       if(InitStreamServer(gapp.hwndApp) == false) return false;
-
-       if(InitDGramServer(gapp.hwndApp)== false) return false;
-#endif
-  
-       return true;
+       delete serversocket;
+       serversocket = new ServerSocket(_NETPANZER_DEFAULT_PORT_TCP,    
+                                                                       
_NETPANZER_DEFAULT_PORT_UDP);
 }
 
-int NetworkServerUnix::closeSession( void )
+void NetworkServerUnix::closeSession()
 {
-       //ShutdownWinSockServer();
-       return true;
+       delete serversocket;
+       serversocket = 0;
 }
 
-int NetworkServerUnix::sendMessage( NetMessage *message, unsigned long size,
-                                                                       int 
flags )
+void NetworkServerUnix::sendMessage(ServerClientListData *client_data_ptr,
+                                                                       const 
PlayerID& player_id,
+                                                                       
NetMessage* message, int flags)
 {
-#if 0
-       int sock_ret_val;
-       int net_error_code;
+       if( flags & _network_send_no_guarantee )
+       {
+               if(client_data_ptr==0) {
+                       client_data_ptr = client_list.getClientData(player_id);
+                       assert(client_data_ptr != 0);
+               }
+               message->sequence = 
client_data_ptr->no_guarantee_sequence_counter;
+               client_data_ptr->no_guarantee_sequence_counter++;
+
+               serversocket->sendMessage(
+                               player_id.getNetworkID(),
+                               (char*) message, message->size, false);
+       }
+       else
+       {
+               serversocket->sendMessage(
+                               player_id.getNetworkID(),
+                               (char *) message, message->size, true);
+       }
+
+       NetworkState::incPacketsSent(message->size); 
+}
 
+int NetworkServerUnix::sendMessage(NetMessage *message, size_t size,
+                                                                  int flags)
+{
        message->size = size;
  
-       //LOG( ( "SEND >> Class: %s ID: %s", NetMessageClassToString( 
*message), NetMessageIDtoString( *message )  ) );
+       LOG( ( "SEND >> Class: %d ID: %d", message->message_class,
+                                                                          
message->message_id ) );
   
        ServerClientListData *iterator = 0;
        ServerClientListData *client_data_ptr = 0;
@@ -85,88 +101,43 @@
   
        while( client_data_ptr != 0 )
        {
-               //winsock hack
-               if( flags & _network_send_no_guarantee )
-               {
-                       if ( dontSendUDPHackFlag == false )
-                       {
-                               message->sequence = 
client_data_ptr->no_guarantee_sequence_counter;
-                               
client_data_ptr->no_guarantee_sequence_counter++;
-
-                               sock_ret_val = WSSend( 0, client_data_ptr -> 
client_id.getDPID(), (char *) message, (DWORD) size);
-                       }
-                       else
-                       {
-                               client_data_ptr->no_guarantee_sequence_counter 
+= 10;
-                               dontSendUDPHackFlag = false; 
-                       }
-               }
-               else
-               {
-                       sock_ret_val = WSSend( 1, client_data_ptr -> 
client_id.getDPID(), (char *) message, (DWORD) size);
-               }
-
-               if( sock_ret_val != WS_OK )
-               { 
-                       net_error_code = winsockErrorToNetworkError( 
sock_ret_val );
-      
-                       ServerConnectDaemon::startClientDropProcess( 
client_data_ptr->client_id );
+               try {
+                       sendMessage(client_data_ptr, client_data_ptr->client_id,
+                                               message, flags);
+               } catch(Exception e) {
+                       LOG( ("Error while sending network packet.") );
+                       //return -1;
                }
 
-               client_data_ptr = client_list.incIteratorPtr( &iterator );
+               client_data_ptr = client_list.incIteratorPtr(&iterator);
        }
-
-  
-       NetworkState::incPacketsSent( size ); 
-#endif
   
-       return true;
+       return 0;
 }
 
-int NetworkServerUnix::sendMessage( NetMessage *message, unsigned long size,
-                                                                       
PlayerID &player_id, int flags )
+int NetworkServerUnix::sendMessage( NetMessage *message, size_t size,
+                                                                       const 
PlayerID &player_id, int flags )
 {
-#if 0
-       ServerClientListData *client_data_ptr = 0;
-       int ret_val;
-
        message->size = size;
 
-       //LOG( ( "SEND >> Class: %s ID: %s", NetMessageClassToString( 
*message), NetMessageIDtoString( *message )  ) );
-  
-       //winsock hack
-       if( flags & _network_send_no_guarantee )
-       {
-               client_data_ptr = client_list.getClientData( player_id );
+       LOG( ( "SEND >> Class: %d ID: %d", message->message_class,
+                                                                          
message->message_id ) );
 
-               if( client_data_ptr == 0 )
-               { return( _network_failed ); }
-    
-               message->sequence = 
client_data_ptr->no_guarantee_sequence_counter;
-               client_data_ptr->no_guarantee_sequence_counter++;
-    
-               ret_val = WSSend( 0, player_id.getDPID(), (char *) message, 
(DWORD) size); 
-       }
-       else
-       {
-               ret_val = WSSend( 1, player_id.getDPID(), (char *) message, 
(DWORD) size);
+       try {
+               sendMessage(0, player_id, message, flags);
+       } catch(Exception e) {
+               LOG( ("Error while sending network packet.") );
+               //return -1;
        }
-
-       NetworkState::incPacketsSent( size ); 
-
-       if( ret_val != WS_OK )
-               return winsockErrorToNetworkError( ret_val );
-#endif
-
-       return _network_ok;
+  
+       return 0;
 }
 
-int NetworkServerUnix::getMessage( NetMessage *message )
+int NetworkServerUnix::getMessage(NetMessage *message)
 {
-#if 0
        updateKeepAliveState();
       
-       if ( loop_back_recv_queue.isReady() )
+       if (loop_back_recv_queue.isReady() )
        {
                loop_back_recv_queue.dequeue( &net_packet );
                memmove( (void *) message, net_packet.data, 
net_packet.packet_size );
@@ -182,7 +153,8 @@
                        memmove(  (void *) message, net_packet.data, 
net_packet.packet_size );
                        NetworkState::incPacketsReceived( 
net_packet.packet_size );
            
-                       //LOG( ( "RECV >> Class: %s ID: %s", 
NetMessageClassToString( *message), NetMessageIDtoString( *message )  ) );      
  
+                       LOG( ( "RECV >> Class: %d ID: %d", 
message->message_class,
+                                                                               
           message->message_id ) );
         
                        if ( message->message_class == 
_net_message_class_client_server )
                        { processNetMessage( message ); }
@@ -190,8 +162,12 @@
                        return true;
                }
        } // ** else 
-#endif
     
        return false;
 }
 
+void NetworkServerUnix::checkIncoming()
+{
+       if(serversocket)
+               serversocket->read();
+}
Index: netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.hpp
diff -u netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.hpp:1.2 
netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.hpp:1.3
--- netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.hpp:1.2   Sat Sep 
 6 13:15:34 2003
+++ netpanzer/src/NetPanzer/Interfaces/unix/NetworkServerUnix.hpp       Sun Sep 
 7 10:04:47 2003
@@ -19,6 +19,7 @@
 #define _NETWORK_SERVER_UNIX_HPP
 
 #include "NetworkServer.hpp"
+#include "UILib/Network/ServerSocket.hpp"
 
 /** This class implements a bsd/unix socket implementation of the
  * NetworkServer interface.
@@ -29,16 +30,26 @@
        NetworkServerUnix();
        virtual ~NetworkServerUnix();
    
-       virtual int openSession( int connection_type, int session_flags );
-       virtual int hostSession( void );
-       virtual int closeSession( void );
+       virtual void openSession();
+       virtual void hostSession();
+       virtual void closeSession();
 
-       virtual int sendMessage( NetMessage *message, unsigned long size, int 
flags );
-       virtual int sendMessage( NetMessage *message, unsigned long size, 
PlayerID &player_id, int flags );
+       virtual int sendMessage(NetMessage *message, size_t size,
+                                                       int flags);
+       virtual int sendMessage(NetMessage *message, size_t size,
+                                                       const PlayerID 
&player_id, int flags);
    
-       virtual int getMessage( NetMessage *message );
+       virtual int getMessage(NetMessage *message);
 
-       virtual void shutdownClientTransport( PlayerID &client_id );
+       virtual void shutdownClientTransport(const PlayerID &client_id);
+
+       virtual void checkIncoming();
+
+private:
+       void sendMessage(ServerClientListData *client_data_ptr,
+                                        const PlayerID& player_id,
+                                        NetMessage* message, int flags);
+       ServerSocket* serversocket;
 };
 
 #endif
Index: netpanzer/src/NetPanzer/Views/MainMenu/Multi/GetSessionView.cpp
diff -u netpanzer/src/NetPanzer/Views/MainMenu/Multi/GetSessionView.cpp:1.6 
netpanzer/src/NetPanzer/Views/MainMenu/Multi/GetSessionView.cpp:1.7
--- netpanzer/src/NetPanzer/Views/MainMenu/Multi/GetSessionView.cpp:1.6 Sat Sep 
 6 11:39:25 2003
+++ netpanzer/src/NetPanzer/Views/MainMenu/Multi/GetSessionView.cpp     Sun Sep 
 7 10:04:47 2003
@@ -81,11 +81,11 @@
      //DPlayReturnValue = InitializeDirectPlay( gapp.hwndApp);
      //ConnectTypeReturnValue = GameManager::initializeConnectionType();
 
-     SERVER->openSession( 0, 0 );     
+     SERVER->openSession();
     }
        else if (GameConfig::GetHostOrJoin() == _game_session_join)
        {
-     CLIENT->openSession( _connection_network, 0 );
+     CLIENT->openSession();
  
      if ( CLIENT->startEnumeration( ) == false )
       {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]