I propose the default values for r_width and r_height be set to zero. When these vars are zero, SDL_SetVideoMode will use the desktop resolution. In the age of LCD monitors, I imagine most people want their games running at native resolution, which is usually the same as the desktop resolution.
Q2W failed to load on my EeePC (yes, I'm crazy) because the current default of 1024x768 did not work with the 1024x600 screen.
If for some reason things failed to load, 1024x768 would still be the fallback since that is the value given to r_state at the very beginning.
I did not realize SDL_SetVideoMode would do that, cool! I'll try this out and, if it works as you describe, commit it soon.
Yep, SDL has some nice tricks up its sleeve.
The one thing I'm wondering about is how it works with multiple monitors. It works fine on Windows (I have two monitors), but I imagine it could get goofy on X11.