From e12753d2ec9db83ec08bb9db63902a82fb245cdd Mon Sep 17 00:00:00 2001 From: "Tomas Chvatal (scarabeus)" Date: Wed, 22 Oct 2008 22:50:54 +0200 Subject: X --- src/base/net_multiplayer.c~ | 139 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) create mode 100644 src/base/net_multiplayer.c~ (limited to 'src/base/net_multiplayer.c~') diff --git a/src/base/net_multiplayer.c~ b/src/base/net_multiplayer.c~ new file mode 100644 index 0000000..f7d54eb --- /dev/null +++ b/src/base/net_multiplayer.c~ @@ -0,0 +1,139 @@ +#include +#include +#include +#include +#include + +#include "main.h" +#include "list.h" +#include "tux.h" +#include "item.h" +#include "arenaFile.h" +#include "net_multiplayer.h" +#include "server.h" + +#include "udp.h" + +#ifndef PUBLIC_SERVER +#include "screen_setting.h" +#include "screen_choiceArena.h" + +#include "screen.h" +#include "client.h" +#endif + +static int netGameType; + +int getNetTypeGame() +{ + return netGameType; +} + +int initNetMuliplayerForGameServer(char *ip4, int port4, char *ip6, int port6) +{ + int ret; + + ret = initServer(ip4, port4, ip6, port6); + + if( ret > 0 ) + { + netGameType = NET_GAME_TYPE_SERVER; + } + + return ret; +} + +int initNetMuliplayer(int type, char *ip, int port, int proto) +{ + netGameType = type; + + switch( netGameType ) + { + case NET_GAME_TYPE_NONE : + break; + + case NET_GAME_TYPE_SERVER : + switch( proto ) + { + case PROTO_UDPv4 : + if( initServer(ip, port, NULL, 0) != 1 ) + { + fprintf(stderr, _("Unable to inicialize network game as server!\n")); + netGameType = NET_GAME_TYPE_NONE; + return -1; + } + break; + case PROTO_UDPv6 : + if( initServer(NULL, 0, ip, port) != 1 ) + { + fprintf(stderr, _("Unable to inicialize network game as server!\n")); + netGameType = NET_GAME_TYPE_NONE; + return -1; + } + break; + } + break; + +#ifndef PUBLIC_SERVER + case NET_GAME_TYPE_CLIENT : + if( initClient(ip, port, proto) != 0 ) + { + fprintf(stderr, _("Unable to inicialize network game as client!\n")); + netGameType = NET_GAME_TYPE_NONE; + return -1; + } + break; +#endif + default : + assert( ! _("Variable netGameType has a really wierd value!") ); + break; + } + + return 0; +} + +void eventNetMultiplayer() +{ + switch( netGameType ) + { + case NET_GAME_TYPE_NONE : + break; + + case NET_GAME_TYPE_SERVER : + eventServer(); + break; + +#ifndef PUBLIC_SERVER + case NET_GAME_TYPE_CLIENT : + eventClient(); + break; +#endif + default : + assert( ! _("Variable netGameType has a really wierd value!") ); + break; + } +} + +void quitNetMultiplayer() +{ + switch( netGameType ) + { + case NET_GAME_TYPE_NONE : + break; + + case NET_GAME_TYPE_SERVER : + quitServer(); + break; + +#ifndef PUBLIC_SERVER + case NET_GAME_TYPE_CLIENT : + quitClient(); + break; +#endif + default : + assert( ! _("Variable netGameType has a really wierd value!") ); + break; + } + + netGameType = NET_GAME_TYPE_NONE; +} -- cgit v1.2.3