1
0
forked from mirrors/0ad

Windows fixes.

Avoid Boost.Random since it adds a dependency on a new library.

This was SVN commit r7654.
This commit is contained in:
Ykkrosh
2010-06-30 23:40:51 +00:00
parent 1c0536bf08
commit 20c50d32d4
9 changed files with 67 additions and 11 deletions
+4 -8
View File
@@ -23,6 +23,7 @@
#include "NetSession.h"
#include "NetTurnManager.h"
#include "lib/sysdep/sysdep.h"
#include "ps/CConsole.h"
#include "ps/CLogger.h"
#include "ps/CStr.h"
@@ -30,9 +31,6 @@
#include "scriptinterface/ScriptInterface.h"
#include "simulation2/Simulation2.h"
#include <boost/nondet_random.hpp>
#include <boost/random.hpp>
CNetClient *g_NetClient = NULL;
CNetClient::CNetClient(CGame* game) :
@@ -378,15 +376,13 @@ CStr CNetClient::GenerateGUID()
// a host to masquerade as someone else.
// For now, just try to pick a very random number.
boost::random_device rng;
boost::uniform_int<u32> dist(0, std::numeric_limits<u32>::max());
boost::variate_generator<boost::random_device&, boost::uniform_int<u32> > gen(rng, dist);
CStr guid;
for (size_t i = 0; i < 2; ++i)
{
u32 r = 0;
sys_generate_random_bytes((u8*)&r, sizeof(r));
char buf[32];
sprintf_s(buf, ARRAY_SIZE(buf), "%08X", gen());
sprintf_s(buf, ARRAY_SIZE(buf), "%08X", r);
guid += buf;
}