// this function generates a "uniqueID" used to identify this game session

void Hash(int * buffer, int key)
{
  *buffer = key + (*buffer >> 31) + 2 * *buffer;
}

int ScenarioClass::GenerateUniqueSeed() {

  int UniqueSeed = timeGetTime(); // man winapi
  int InitialKey = GetAvailDiskSpace(); 

  Hash(&UniqueSeed, InitialKey);

  const char *path = getenv("PATH");
  if(path && strlen(path) > 1) {
    int idx = 0;
    do {
      Hash(&UniqueSeed, path[idx++]);
    } while (idx < strlen(path) - 1);
    this->UniqueID = UniqueSeed;
    return UniqueSeed;
  }

}