Difference between revisions of "Random Numbers"
From ASSS Wiki
Mine GO BOOM (talk | contribs) m (Spelling and link) |
|||
| Line 1: | Line 1: | ||
| − | SubSpace uses random numbers primarily in its encryption, generating [[prize]]s, and controlling [[door]]s. | + | [[SubSpace]] uses random numbers primarily in its encryption, generating [[prize]]s, and controlling [[door]]s. |
| − | The following code is used in generating the encrypted | + | The following code is used in generating the encrypted keystream, prizes, and doors: |
<pre> | <pre> | ||
DWORD SS_RNG(DWORD seed) | DWORD SS_RNG(DWORD seed) | ||
Revision as of 22:15, 24 March 2005
SubSpace uses random numbers primarily in its encryption, generating prizes, and controlling doors.
The following code is used in generating the encrypted keystream, prizes, and doors:
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;
}