use timeGetTime() for random seed instead of time() on windows

This commit is contained in:
Lee Salzman 2012-12-14 05:10:13 +02:00
parent 2c413b2353
commit 65f71f82b8

8
host.c
View file

@ -3,7 +3,6 @@
@brief ENet host management functions @brief ENet host management functions
*/ */
#define ENET_BUILDING_LIB 1 #define ENET_BUILDING_LIB 1
#define __MINGW_USE_VC2005_COMPAT 1
#include <string.h> #include <string.h>
#include <time.h> #include <time.h>
#include "enet/enet.h" #include "enet/enet.h"
@ -76,7 +75,12 @@ enet_host_create (const ENetAddress * address, size_t peerCount, size_t channelL
if (channelLimit < ENET_PROTOCOL_MINIMUM_CHANNEL_COUNT) if (channelLimit < ENET_PROTOCOL_MINIMUM_CHANNEL_COUNT)
channelLimit = ENET_PROTOCOL_MINIMUM_CHANNEL_COUNT; channelLimit = ENET_PROTOCOL_MINIMUM_CHANNEL_COUNT;
host -> randomSeed = (enet_uint32) time(NULL) + (enet_uint32) (size_t) host; host -> randomSeed = (enet_uint32) (size_t) host;
#ifdef WIN32
host -> randomSeed += (enet_uint32) timeGetTime();
#else
host -> randomSeed += (enet_uint32) time(NULL);
#endif
host -> randomSeed = (host -> randomSeed << 16) | (host -> randomSeed >> 16); host -> randomSeed = (host -> randomSeed << 16) | (host -> randomSeed >> 16);
host -> channelLimit = channelLimit; host -> channelLimit = channelLimit;
host -> incomingBandwidth = incomingBandwidth; host -> incomingBandwidth = incomingBandwidth;