From c7fa610be3b6e072d3da4611f6de72390ebbf446 Mon Sep 17 00:00:00 2001 From: "mtilden@gmail.com" Date: Mon, 26 Dec 2011 09:09:47 +0000 Subject: - Linux compatible fixes including updated makefile - Mersenne Twister still says uint32 but it's now signed for compatibility with random uses needing negative values - Server seed is sent to clients, but needs to be able to be signed long long later on for authentic reasons - Protocol Version is required to match to ensure client compatibility, this should probably have a settings.ini check as well as store the value there git-svn-id: http://mc-server.googlecode.com/svn/trunk@121 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cBlockToPickup.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'source/cBlockToPickup.cpp') diff --git a/source/cBlockToPickup.cpp b/source/cBlockToPickup.cpp index fb7a898ae..531c9601e 100644 --- a/source/cBlockToPickup.cpp +++ b/source/cBlockToPickup.cpp @@ -2,9 +2,11 @@ #include "Defines.h" #include "BlockID.h" #include "stdlib.h" +#include "MersenneTwister.h" ENUM_ITEM_ID cBlockToPickup::ToPickup( unsigned char a_BlockID, ENUM_ITEM_ID a_UsedItemID ) { + MTRand r1; (void)a_UsedItemID; switch( a_BlockID ) @@ -28,7 +30,7 @@ ENUM_ITEM_ID cBlockToPickup::ToPickup( unsigned char a_BlockID, ENUM_ITEM_ID a_U if( a_UsedItemID == E_ITEM_SHEARS ) return E_ITEM_LEAVES; else - if(rand() % 5 == 0) return E_ITEM_SAPLING; + if(r1.randInt() % 5 == 0) return E_ITEM_SAPLING; return E_ITEM_EMPTY; case E_BLOCK_COAL_ORE: return E_ITEM_COAL; @@ -67,17 +69,18 @@ ENUM_ITEM_ID cBlockToPickup::ToPickup( unsigned char a_BlockID, ENUM_ITEM_ID a_U char cBlockToPickup::PickupCount(unsigned char a_BlockID) { + MTRand r1; switch(a_BlockID) { case E_BLOCK_REDSTONE_ORE_GLOWING: case E_BLOCK_REDSTONE_ORE: - return rand() % 2 + 4; + return r1.randInt() % 2 + 4; case E_BLOCK_GLOWSTONE: - return rand() % 3 + 2; + return r1.randInt() % 3 + 2; case E_BLOCK_MELON: - return rand() % 8 + 3; + return r1.randInt() % 8 + 3; case E_BLOCK_LAPIS_ORE: - return rand() % 5 + 4; + return r1.randInt() % 5 + 4; default: return 1; } -- cgit v1.2.3