- The resolutions available are different for windowed modes and for fullscreen modes, and the options list will switch when you select a different type. This is consistent with the way WinQuake works, and to be honest if I was to change it I would mess up everyone's configs.
- Colour depth (must change that to "color" for release) is either 16 or 32 and is not available in windowed modes. In a windowed mode you just get the same colour depth as your desktop. That's the way windowed modes work, at least in D3D.
- Refresh rate is likewise not available in windowed modes and for the same reason. It's also controlled by the "vid_refreshrate" cvar; this will default to the same refresh rate as your desktop. I allow up to 64 different refresh rates, but - danger - every single machine I've tested on so far has only one refresh rate available. If I can find one with more I'll verify that it works right, otherwise I guess I won't.
- Depth/Stencil format allows you to select the depth and stencil buffer formats you want. These are combined into a single format in D3D and so can't be separated.
- Due to the way D3D display modes work, and if you have any exotic or unusual hardware, it might be possible to set a combination of modes here that your hardware doesn't actually support. I'm likely going to need to add some extra validation when switching modes, like a CheckDeviceFormat call or similar. In general however this should only happen if you have cruddy old kit from the year 1473.
- I've enforced that the changes only happen one at a time with a full screen refresh inbetween them. This even applies if you change multiple options together before hitting that "Apply Video Mode Change" option. This should (hopefully) make it easier to recover from one of those invalid modes I mentioned above.
Tuesday, July 6, 2010
Posted by mhquake at 2:07 AM