Browse Source

Throw away the first 3 love.math.random results after seeding it (xorshift outputs less random results the first few times when the seed is very similar to a previous one)

Alex Szpakowski 11 years ago
parent
commit
fc77e8f9f0
3 changed files with 5 additions and 1 deletions
  1. 1 1
      src/libraries/enet/enet.cpp
  2. 1 0
      src/scripts/boot.lua
  3. 3 0
      src/scripts/boot.lua.h

+ 1 - 1
src/libraries/enet/enet.cpp

@@ -89,7 +89,7 @@ static void parse_address(lua_State *l, const char *addr_str, ENetAddress *addre
 /**
  * Find the index of a given peer for which we only have the pointer.
  */
-size_t find_peer_index (lua_State *l, ENetHost *enet_host, ENetPeer *peer) {
+static size_t find_peer_index(lua_State *l, ENetHost *enet_host, ENetPeer *peer) {
 	size_t peer_index;
 	for (peer_index = 0; peer_index < enet_host->peerCount; peer_index++) {
 		if (peer == &(enet_host->peers[peer_index]))

+ 1 - 0
src/scripts/boot.lua

@@ -468,6 +468,7 @@ function love.run()
 
 	if love.math then
 		love.math.setRandomSeed(os.time())
+		for i=1,3 do love.math.random() end
 	end
 
 	if love.event then

+ 3 - 0
src/scripts/boot.lua.h

@@ -836,6 +836,9 @@ const unsigned char boot_lua[] =
 	0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x0a,
 	0x09, 0x09, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x73, 0x65, 0x74, 0x52, 0x61, 0x6e, 
 	0x64, 0x6f, 0x6d, 0x53, 0x65, 0x65, 0x64, 0x28, 0x6f, 0x73, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x28, 0x29, 0x29, 0x0a,
+	0x09, 0x09, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x3d, 0x31, 0x2c, 0x33, 0x20, 0x64, 0x6f, 0x20, 0x6c, 0x6f, 0x76, 
+	0x65, 0x2e, 0x6d, 0x61, 0x74, 0x68, 0x2e, 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x28, 0x29, 0x20, 0x65, 0x6e, 
+	0x64, 0x0a,
 	0x09, 0x65, 0x6e, 0x64, 0x0a,
 	0x09, 0x69, 0x66, 0x20, 0x6c, 0x6f, 0x76, 0x65, 0x2e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 
 	0x6e, 0x0a,