Difference between revisions of "Random Numbers"

From ASSS Wiki
Jump to: navigation, search
m (I supposed we should specify our constants...)
Line 1: Line 1:
[[SubSpace]] uses random numbers primarily in its encryption, generating [[prize]]s, and controlling [[door]]s.
+
apple cows
 
 
The following code is used in generating the encrypted keystream, prizes, and doors:
 
<pre>
 
#define MULT_C 0x834E0B5F
 
#define DIV_C 0x1F31D
 
 
 
DWORD SS_RNG(DWORD seed)
 
{
 
DWORD nseed, temp;
 
 
 
temp = (MULT_C * (unsigned __int64)seed) >> 32;
 
temp = (temp >> 16) + (temp >> 31); //aka the sign bit
 
 
 
nseed = (seed % DIV_C) * 16807;
 
nseed -= (temp * 2836);
 
nseed += 123;
 
 
 
if (!nseed || nseed > 0x7FFFFFFF)
 
nseed += 0x7FFFFFFF;
 
 
 
return nseed;
 
}
 
</pre>
 
 
 
[[Category:Game Intricacies]]
 

Revision as of 03:42, 30 November 2005

apple cows