Game Development Community

TGEA 1.7.0 Beta 1 Bug - Doesn't load in Full Screen

by James Spellman · in Torque Game Engine Advanced · 03/20/2008 (9:47 am) · 10 replies

I ran several of the demos in Full Screen mode. Exited. Restarted and they lock up. Task Manager on second monitor was eventually able to close it, although difficult due to constant stealing of input events.

The console log revlealed:

Attempting to set resolution to "1280 1024 true 32 60 0"
Warning: The requested windowed resolution is equal to or larger than the current desktop resolution. Attempting to find a better resolution
Warning: Switching to " 600 32"

I'll investigate what it's actually doing later if I can find the time.

#1
03/20/2008 (10:01 am)
@James - I've experienced the same problem when trying to set my resolution equal to my desktop res. Is your desktop resolution 1280 x1024?
#2
03/20/2008 (10:43 am)
Yes it is.

I don't see why that is a bad thing. It's better than 0x600x32 any day!

Here's a little more log:

Attempting to set resolution to "1280 1024 true 32 60 0"
Warning: The requested windowed resolution is equal to or larger than the current desktop resolution. Attempting to find a better resolution
Warning: Switching to " 600 32"
Accepted Mode:
--Resolution : 600
--Full Screen : Yes
--Bits Per Pixel : 32
--Refresh Rate : 60
--FSAA Level 0
#3
03/20/2008 (2:41 pm)
I can duplicate this every time by firing up the build in windowed mode say 800x600, selecting the current desktop resolution (1680x1050 for me) and choosing fullscreen, hitting apply, (which works fine and displays normally.)...then closing the demo and reopening it.

Upon opening the second time when the engine attempts to go fullscreen at my native resolution, I get the infinite loop with the driver error you have listed above.

Logged !
#4
03/21/2008 (7:02 am)
Is there no workarount to set the resolution right from start to the desktop resolution?
#5
03/24/2008 (8:03 pm)
The problem appears to be in common\gameScripts\canvas line 58.

%fs = "true"

However,
if (%fs == 0 || %fs $= "false")
is evaluating as true due to the first expression.

In my case, I just simplified it to
if (%fs $= "false")
since the prefs seem to be using true and false and now it's happy as a clam.
#6
03/24/2008 (8:09 pm)
if (%fs $= "0" || %fs $= "false")
works too if the pref reads like this:

$pref::Video::mode = "1280 1024 0 32 75 0";

if that was the intent...
#7
03/25/2008 (10:35 am)
James has the right of it (fixed that over the weekend =).

Don't forget to change:

%resX = %testRexX;

to

%resX = %testResX;

a little further down in that function (silly TorqueScript typo bugs).

I also beefed up the mode setting code on the engine side to more gracefully handled bad resolutions.
#8
03/25/2008 (1:55 pm)
Took me a while to find the other one. Right after line 83: // This will work as our new resolution for those of you playing at home.
#9
03/31/2008 (10:42 am)
This should be fixed in Beta 2. Please retest if you get a chance. Thanks!
#10
03/31/2008 (10:57 am)
Matt,

pls see my post: http://www.garagegames.com/mg/forums/result.thread.php?qt=73729

I have tested in Beta 2