idTech4.idSystem.SetMachineSpec C# (CSharp) Method

SetMachineSpec() private method

private SetMachineSpec ( ) : void
return void
		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);
		}