private void SetMachineSpec()
{
bool oldCard = false;
bool nv10or20 = false;
uint physicalMemory = idE.Platform.TotalPhysicalMemory;
uint videoMemory = idE.Platform.TotalVideoMemory;
float clockSpeed = idE.Platform.ClockSpeed / 1000.0f;
// TODO: renderSystem->GetCardCaps( oldCard, nv10or20 );
idConsole.WriteLine("Detected:");
idConsole.WriteLine("\t{0:2} GHz CPU", clockSpeed);
idConsole.WriteLine("\t{0}MB of system memory", physicalMemory);
idConsole.WriteLine("\t{0}MB of video memory on {1}", videoMemory, (oldCard == true) ? "a less than optimal video architecture" : "an optimal video architecture");
if((clockSpeed >= 1.9f) && (videoMemory >= 512) && (physicalMemory >= 1024) && (oldCard == false))
{
idConsole.WriteLine("This system qualifies for Ultra quality!");
idE.CvarSystem.SetInteger("com_machineSpec", 3);
}
else if((clockSpeed >= 1.6f) && (videoMemory >= 256) && (physicalMemory >= 512) && (oldCard == false))
{
idConsole.WriteLine("This system qualifies for High quality!");
idE.CvarSystem.SetInteger("com_machineSpec", 2);
}
else if((clockSpeed >= 1.1f) && (videoMemory >= 128) && (physicalMemory >= 384))
{
idConsole.WriteLine("This system qualifies for Medium quality.");
idE.CvarSystem.SetInteger("com_machineSpec", 1);
}
else
{
idConsole.WriteLine("This system qualifies for Low quality.");
idE.CvarSystem.SetInteger("com_machineSpec", 0);
}
idE.CvarSystem.SetInteger("com_videoRam", (int) videoMemory);
}