[Top][All Lists]
[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 )
{
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [netPanzer-CVS] netpanzer/src ChangeLog Makefile NetPanzer/Clas...,
Matthias Braun <=