Wednesday, October 20, 2010

Fair Warning

I'm making some changes to the video mode enumeration at startup. The reason for this is that some drivers weren't getting modes which they should get (like an 800 x 600 fullscreen mode was available but an 800 x 600 windowed mode wasn't) and some were getting modes which they shouldn't (like 2560 x 1780 on a screen that only went up to 1280 x 800).

Historically whenever I do this DirectQ goes berserk and everyone has to wipe their configs. This time I think I have a solution, which is to store a "VIDDRIVER_VERSION" in your config. If that stored isn't what the current verison of DirectQ expects (or if it isn't there at all) you'll just get a reasonably safe windowed mode instead.

The reason for that is that the value of vid_mode in your config may not be valid in the new modelist. And as I said, with the addition and removal of modes on some drivers, a new modelist can't be avoided. Having to go into the Video Options menu and set it back the way you want is a one-time only operation, and will only be needed whenever I make potentially breaking changes to the video startup code, which shouldn't be too often.

0 comments: