diff --git a/stepmania/src/RageUtil.cpp b/stepmania/src/RageUtil.cpp index 9db4118640..ea16a8bcb4 100644 --- a/stepmania/src/RageUtil.cpp +++ b/stepmania/src/RageUtil.cpp @@ -48,7 +48,10 @@ RandomGen::RandomGen( unsigned long seed_ ) int RandomGen::operator() ( int maximum ) { - return int(RandomFloat( seed ) * maximum); + float f = RandomFloat(seed) * (maximum+1); + int ans = int(f); + CLAMP( ans, 0, maximum ); + return ans; } diff --git a/stepmania/src/RageUtil.h b/stepmania/src/RageUtil.h index e9eb22a512..1da17f4837 100644 --- a/stepmania/src/RageUtil.h +++ b/stepmania/src/RageUtil.h @@ -160,7 +160,7 @@ inline uint16_t Swap16LE( uint16_t n ) { return Swap16( n ); } extern int randseed; -float RandomFloat( int &seed ); +float RandomFloat( int &seed ); // between 0.0f and 1.0f inline float RandomFloat() {