diff options
| author | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-24 21:52:47 +0000 |
|---|---|---|
| committer | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-24 21:52:47 +0000 |
| commit | 1cbcfe088fd1cb54a1e562a0ef872cf4b9c6e64c (patch) | |
| tree | b41060a58c0395aee1026f8a958e0590ccd020b0 | |
| parent | 5db4fc63dc273e8a4a57f63de3f73e43c2751747 (diff) | |
- uprava udp pro fungovani na win
- pridani fuknce na ziskani precizniho casu do mytimer.c
- uprava hlasek do EN
git-svn-id: http://opensvn.csie.org/tuxanci_ng@162 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
| -rw-r--r-- | config.h | 2 | ||||
| -rw-r--r-- | src/base/myTimer.c | 38 | ||||
| -rw-r--r-- | src/base/net_multiplayer.c | 10 | ||||
| -rw-r--r-- | src/client/client.c | 2 | ||||
| -rw-r--r-- | src/net/udp.c | 18 | ||||
| -rw-r--r-- | src/screen/screen_browser.c | 6 |
6 files changed, 57 insertions, 19 deletions
@@ -1 +1 @@ -#define TUXANCI_NG_VERSION "svn161" +#define TUXANCI_NG_VERSION "svn162" diff --git a/src/base/myTimer.c b/src/base/myTimer.c index 7bfb91a..114f9d7 100644 --- a/src/base/myTimer.c +++ b/src/base/myTimer.c @@ -14,6 +14,44 @@ #include "interface.h" #endif +#ifdef __WIN32__ +#include <windows.h> +#include <time.h> +#define DELTA_EPOCH_IN_MICROSECS 11644473600000000ULL +struct timezone +{ + int tz_minuteswest; + int tz_dsttime; +}; + +int gettimeofday(struct timeval *tv, struct timezone *tz) +{ + FILETIME ft; + unsigned __int64 tmpres = 0; + static int tzflag; + if (NULL != tv) { + GetSystemTimeAsFileTime(&ft); + tmpres |= ft.dwHighDateTime; + tmpres <<= 32; + tmpres |= ft.dwLowDateTime; + /*converting file time to unix epoch*/ + tmpres /= 10; /*convert into microseconds*/ + tmpres -= DELTA_EPOCH_IN_MICROSECS; + tv->tv_sec = (long)(tmpres / 1000000UL); + tv->tv_usec = (long)(tmpres % 1000000UL); + } + if (NULL != tz) { + if (!tzflag) { + _tzset(); + tzflag++; + } + tz->tz_minuteswest = _timezone / 60; + tz->tz_dsttime = _daylight; + } + return 0; +} +#endif + static struct timeval start = { .tv_sec = 0, .tv_usec = 0 }; list_t* newTimer() diff --git a/src/base/net_multiplayer.c b/src/base/net_multiplayer.c index 43a9508..3404581 100644 --- a/src/base/net_multiplayer.c +++ b/src/base/net_multiplayer.c @@ -16,10 +16,6 @@ #include "udp.h" #endif -#ifdef SUPPORT_NET_SDL_UDP -#include "sdl_udp.h" -#endif - #ifndef PUBLIC_SERVER #include "screen_setting.h" #include "screen_choiceArena.h" @@ -56,8 +52,8 @@ int initNetMuliplayer(int type, char *ip, int port, int proto) case NET_GAME_TYPE_SERVER : if( initUdpServer(ip, port, proto) != 0 ) { - fprintf(stderr, "Neomzem inicalizovat sietovu hru pre server !\n"); - netGameType = NET_GAME_TYPE_NONE; + fprintf(stderr, "Unable to inicialize network game as server!\n"); + netGameType = NET_GAME_TYPE_NONE; return -1; } break; @@ -66,7 +62,7 @@ int initNetMuliplayer(int type, char *ip, int port, int proto) case NET_GAME_TYPE_CLIENT : if( initUdpClient(ip, port, proto) != 0 ) { - fprintf(stderr, "Neomzem inicalizovat sietovu hru pre clienta !\n"); + fprintf(stderr, "Unable to inicialize network game as client!\n"); netGameType = NET_GAME_TYPE_NONE; return -1; } diff --git a/src/client/client.c b/src/client/client.c index 8ad0fd1..cba5248 100644 --- a/src/client/client.c +++ b/src/client/client.c @@ -176,7 +176,7 @@ static void selectClientUdpSocket() if( isServerAlive() == FALSE ) { - fprintf(stderr, "server neodpoveda !\n"); + fprintf(stderr, "Server does not respond!\n"); setMsgToAnalyze(getMyText("ERROR_SERVER_DONT_ALIVE")); setWorldEnd(); return; diff --git a/src/net/udp.c b/src/net/udp.c index 2507f2a..6ab3573 100644 --- a/src/net/udp.c +++ b/src/net/udp.c @@ -68,7 +68,7 @@ sock_udp_t* bindUdpSocket(char *address, int port, int proto) if( new->sock < 0 ) { - fprintf(stderr, "nemozem vytvorit socket !\n"); + fprintf(stderr, "Unable to create socket when binding!\n"); destroySockUdp(new); #ifdef __WIN32__ WSACleanup(); @@ -100,7 +100,7 @@ sock_udp_t* bindUdpSocket(char *address, int port, int proto) if( res < 0 ) { - fprintf(stderr, "nemozem nastavit sokcet %s %d !\n", address, port); + fprintf(stderr, "Unable to set socket %s %d!\n", address, port); destroySockUdp(new); #ifdef __WIN32__ WSACleanup(); @@ -136,7 +136,7 @@ sock_udp_t* connectUdpSocket(char *address, int port, int proto) if( new->sock < 0 ) { - fprintf(stderr, "nemozem vytvorit socket !\n"); + fprintf(stderr, "Unable to create socket when connecting!\n"); destroySockUdp(new); #ifdef __WIN32__ WSACleanup(); @@ -199,7 +199,7 @@ int readUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len) if( dst->proto == PROTO_UDPv4 ) { - addrlen = sizeof(src->sockAddr); + addrlen = sizeof(src->sockAddr); #ifndef __WIN32 size = recvfrom(src->sock, address, len, 0, (struct sockaddr *)&dst->sockAddr, (socklen_t *)&addrlen); @@ -211,10 +211,10 @@ int readUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len) #ifdef SUPPORT_IPv6 if( dst->proto == PROTO_UDPv6 ) { - addrlen = sizeof(src->sockAddr6); + addrlen = sizeof(src->sockAddr6); size = recvfrom(src->sock, address, len, 0, - (struct sockaddr *)&dst->sockAddr6, (socklen_t *)&addrlen); + (struct sockaddr *)&dst->sockAddr6, (socklen_t *)&addrlen); } #endif @@ -224,7 +224,7 @@ int readUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len) getSockUdpIp(dst, str_ip, STR_IP_SIZE); - fprintf(stderr, "nemozem zapisat zo socketu %d %s %d!\n", size, str_ip, getSockUdpPort(dst)); + fprintf(stderr, "Unable to read form socket %d %s %d!\n", size, str_ip, getSockUdpPort(dst)); #ifdef __WIN32__ WSACleanup(); #endif @@ -265,7 +265,7 @@ int writeUdpSocket(sock_udp_t *src, sock_udp_t *dst, void *address, int len) getSockUdpIp(dst, str_ip, STR_IP_SIZE); - fprintf(stderr, "nemozem zapisat na socket %d %s %d!\n", size, str_ip, getSockUdpPort(dst)); + fprintf(stderr, "Unable to write on socket %d %s %d!\n", size, str_ip, getSockUdpPort(dst)); #ifdef __WIN32__ WSACleanup(); #endif @@ -329,7 +329,7 @@ void closeUdpSocket(sock_udp_t *p) close(p->sock); #else closesocket(p->sock); - WSACleanup(); + //WSACleanup(); //kdyz ukoncime socket dobre neni treba cleanup #endif destroySockUdp(p); } diff --git a/src/screen/screen_browser.c b/src/screen/screen_browser.c index 3130dd4..5ec15b9 100644 --- a/src/screen/screen_browser.c +++ b/src/screen/screen_browser.c @@ -286,6 +286,7 @@ int server_getinfo (server_t *server) close (mySocket); #else closesocket (mySocket); + WSACleanup(); #endif return -2; } @@ -296,6 +297,7 @@ int server_getinfo (server_t *server) close (mySocket); #else closesocket (mySocket); + WSACleanup(); #endif return -2; } @@ -306,6 +308,7 @@ int server_getinfo (server_t *server) close (mySocket); #else closesocket (mySocket); + WSACleanup(); #endif return -1; } @@ -318,6 +321,7 @@ int server_getinfo (server_t *server) close (mySocket); #else closesocket (mySocket); + WSACleanup(); #endif server->ping = 1000 - (tv.tv_usec/1000); @@ -517,6 +521,7 @@ static int LoadServers () close (s); #else closesocket (s); + WSACleanup(); #endif #else @@ -718,4 +723,3 @@ void quitScreenBrowser() destroyWidgetSelect(select_server); } - |