#include "random.h" // When run at startup gets a random number based on the changing CTA long randseed() { long random = 1; int rand, prevnum = 0, count = 1; while (count < 30000) //repeat through many times to make more random and to allow the CTA value to change multiple times { rand = VIP_REGS[CTA]; //CTA = (*(BYTE*)(0x0005F830)); if (random == 0) random = 1; //prevent % by zero random += ((rand*count) + (count%random)); //just randomly doing stuff to the number if (rand == prevnum) //if the CTA value doesnt change then count up count++; else count = 0; //if the number does change then restart the counter prevnum = rand; //keep track of the last number } return random; //returns the random seed } // Returns a random number in the requested range from the random seed int randnum(long seed, int randnums) { return (seed%randnums); }