From: Neil R. <no...@co...> - 2006-05-31 15:26:24
|
Michael L Wilson wrote: > Apologies if this problem has been discussed on the list before; I > couldn't find it in the archives, and it isn't in the FAQ. > > I just installed Allegro on my Windows XP system. I've encountered an > oddity which is almost certainly due to XP, not allegro, but I'd like to > find a way to work around it in allegro if possible. > > This is from Windows XP, using Allegro 4.2.0 and the minimal DirectX 7 > libraries as specified in the distribution (docs/build/mingw32.txt), and > compiled using CYGWIN with gcc 3.4.4. My default screen resolution is > 1024x768, running on an LCD display. > > When running most of the test programs included with Allegro, they > immediately try to set a graphics mode that's 640x480, fullscreen. E.g., > see the tests/digitest program, which calls > > set_gfx_mode(GFX_AUTODETECT, 640, 480, 0, 0) > > The call appears to succeed, and the program starts up with the new screen > resolution. Within a second or two of starting, the program is magically > iconified. For a brief moment (too short to read it), there's a windows > dialog box. I *think* it's warning about a change to the screen > resolution, asking if it's OK. Unfortunately, it goes away before I can > read it, to say nothing of clicking on it. > > If I try to bring the application back up (from the iconified state), it > pops up, runs for about one second, then iconifies again with the same > snapshot of the dialog. If I manually change my screen's resolution to > 640x480, everything works fine. > > Since tests/test.exe allows me to specify the screen resolution as > 1024x768, everything is fine. (If I pick 640x480, I get the same problem, > of course.) > > Since the set_gfx_mode() call is (apparently) succeeding, Allegro has no > way to know that anything is wrong. > > Anybody have any ideas how to deal with this? My Allegro projects are > intended for a fairly non-technical target audience, and I'd like to fix > everything transparently. What about a different minimum resolution? These days 800x600 is a more realistic minimum. The days of 640x480 are almost extinct. Do you get the same problem with 800x600? Have you tried writing your own test program and checking to see if set_screen_mode() fails by checking the return value? Make sure your drivers are up to date. Check the driver settings. What about using a windowed mode rather than fullscreen? There has to be a work around to this as plenty of other commercial software changes the resolution all the time without that headache so I still think something could be done in Allegro. -- Neil Roy "My general feeling is that computers are doing more harm than good." - Jay Miner (father of the Amiga) |