Random Numbers
From ASSS Wiki
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:
#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; }