diff --git a/src/m_random.c b/src/m_random.c index 5fde12535..129a3b288 100644 --- a/src/m_random.c +++ b/src/m_random.c @@ -151,7 +151,7 @@ INT32 P_RandomKeyD(const char *rfile, INT32 rline, INT32 a) { CONS_Printf("P_RandomKey() at: %sp %d\n", rfile, rline); #endif - return (INT32)((__internal_prng__() * a) >> FRACBITS); + return (INT32)(((INT64)__internal_prng__() * a) >> FRACBITS); } /** Provides a random integer in a given range. @@ -171,7 +171,7 @@ INT32 P_RandomRangeD(const char *rfile, INT32 rline, INT32 a, INT32 b) { CONS_Printf("P_RandomRange() at: %sp %d\n", rfile, rline); #endif - return (INT32)((__internal_prng__() * (b-a+1)) >> FRACBITS) + a; + return (INT32)(((INT64)__internal_prng__() * (b-a+1)) >> FRACBITS) + a; }