summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config.h2
-rw-r--r--src/base/myTimer.c38
-rw-r--r--src/base/net_multiplayer.c10
-rw-r--r--src/client/client.c2
-rw-r--r--src/net/udp.c18
-rw-r--r--src/screen/screen_browser.c6
6 files changed, 57 insertions, 19 deletions
diff --git a/config.h b/config.h
index ae53a00..49a9282 100644
--- a/config.h
+++ b/config.h
@@ -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);
}
-