From 2c2667afcc3715daa202b20fd0955f51ba6d345f Mon Sep 17 00:00:00 2001 From: Jonathan Gray Date: Tue, 23 Apr 2013 17:42:42 +1000 Subject: [PATCH] don't hardcode windows value of RAND_MAX and fix namespace issues --- code/game/q_shared.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/code/game/q_shared.h b/code/game/q_shared.h index 5730690..78db3d0 100644 --- a/code/game/q_shared.h +++ b/code/game/q_shared.h @@ -972,24 +972,20 @@ inline float Q_crandom( int *seed ) { // Returns a float min <= x < max (exclusive; will get max - 0.00001; but never max inline float Q_flrand(float min, float max) { - return ((rand() * (max - min)) / 32768.0F) + min; + return ((rand() * (max - min)) / (float)(RAND_MAX)) + min; } // Returns an integer min <= x <= max (ie inclusive) inline int Q_irand(int min, int max) { max++; //so it can round down - return ((rand() * (max - min)) >> 15) + min; + return ((rand() * (max - min)) / (RAND_MAX)) + min; } //returns a float between 0 and 1.0 -inline float random() { - return (rand() / ((float)0x7fff)); -} +#define random() ((rand () & 0x7fff) / ((float)0x7fff)) //returns a float between -1 and 1.0 -inline float crandom() { - return (2.0F * (random() - 0.5F)); -} +#define crandom() (2.0F * (random() - 0.5F)) float erandom( float mean );