Full Screen Mode and GUIs
by J.C. Smith · in Torque Game Engine Advanced · 07/04/2007 (1:52 am) · 15 replies
This bug has been around ever since I can remember but it's getting annoying on a current project. Basically if you run the game in full screen mode, but you have a GUI that is near the bottom of the screen and you try to click on it, it finds something behind the window or something and boots you into windows (loses focus and goes to windows). You can alt tab back in, but you won't be able to move your mouse down to that portion of the screen. Anyone know a fix for this?
#2
07/04/2007 (6:57 am)
A bit more information, this definitely isn't video card related, not sure what it is. But I've had the same problem on four different computers with video cards ranging from a Radeon 9600 to an Nvidia 8800.
#3
08/10/2007 (8:36 am)
More information on this... The window itself doesn't even allow you to move the mouse past a certain point. It's as though the window size is smaller than the screen size. But here's whats really odd. If you go to the right hand side... while in full screen mode and click and drag the mouse you can actually expand the window size to extend to the full side of the screen... while your in full screen mode.
#4
Edit: Please :)
08/10/2007 (9:09 am)
I have experienced this many times as well and would like it to be be addressed.Edit: Please :)
#5
08/10/2007 (9:35 am)
I have as well.
#6
08/10/2007 (10:30 am)
Also have reports of this from testers... GG?
#7
Sigh. TGEA is still not a useable game engine. This should be a high priority bug. This is pretty basic functionality that does not work.
Steps to reproduce:
1) Clean TGEA 1.0.2 install
2) cd \Torque\TGEA_1_0_2\example
3) run TGEA.exe
4) set options to full screen 1280x1024, all other options remain default
5) Cannot click on bottom menu items after screen becomes fullscreen.
My system: Vista 32bit, NVidia 162.22 drivers. 8600GTS video card
08/13/2007 (7:59 pm)
I still have this problem in 1.0.2 dispite this listed fix:Quote:- fix for user not being able to use any of the options on the bottom yellow bar in the demo after full screen alt+tab
Sigh. TGEA is still not a useable game engine. This should be a high priority bug. This is pretty basic functionality that does not work.
Steps to reproduce:
1) Clean TGEA 1.0.2 install
2) cd \Torque\TGEA_1_0_2\example
3) run TGEA.exe
4) set options to full screen 1280x1024, all other options remain default
5) Cannot click on bottom menu items after screen becomes fullscreen.
My system: Vista 32bit, NVidia 162.22 drivers. 8600GTS video card
#8
08/14/2007 (12:17 am)
Yep still get it too unfortunately. =(
#9
08/14/2007 (12:38 am)
Do you have auto hiding windows taskbar? because that was what caused the issue to me, with fixed taskbar the problem is off (just as a hint to those potentially trying to fix the issue)
#10
08/14/2007 (1:55 am)
Just wanted to say that I can't produce this bug on my end.
#11
Now there's a few things I have noticed. One is that in the demo if you can change the options (which you can't by default because the options menu is too far down on the screen for you to access it, even if your in windowed mode, it still don't let you go down to that part of the screen) to full screen by rigging the options menu to a button and then manually clicking the button then it fixes it afterwards. However, just setting the fullscreen to being true in the prefs.cs doesn't fix it. You have to undo the options and redo every time for it to fix. Or optionally you can grab the right hand side of the screen while in full screen mode (which you shouldn't be able to do) and then manually drag it to the right and then it fixes it. I've tried changing the ws_ etc settings in C++ also but those didn't resolve the issue either.
More Info: I am not using an auto-hiding taskbar but am using an nvidia card, am not using hte nvidia control panel though.
08/14/2007 (2:03 am)
My taskbar is not auto-hiding. I am using Vista and an NVidia 8800 currently. I haven't tested 1.02 on the older box, but previous to 1.02 I had this same problem on four different systems, with cards ranging from an NVidia 6600 to an ATI 9600, to Nvidia 8800 on both XP and Vista. Now there's a few things I have noticed. One is that in the demo if you can change the options (which you can't by default because the options menu is too far down on the screen for you to access it, even if your in windowed mode, it still don't let you go down to that part of the screen) to full screen by rigging the options menu to a button and then manually clicking the button then it fixes it afterwards. However, just setting the fullscreen to being true in the prefs.cs doesn't fix it. You have to undo the options and redo every time for it to fix. Or optionally you can grab the right hand side of the screen while in full screen mode (which you shouldn't be able to do) and then manually drag it to the right and then it fixes it. I've tried changing the ws_ etc settings in C++ also but those didn't resolve the issue either.
More Info: I am not using an auto-hiding taskbar but am using an nvidia card, am not using hte nvidia control panel though.
#12
10/09/2007 (8:53 am)
Bump: Anyone figure this out?
#13
You have to change the dwStyle and dwStyleEx flags in the initialisation to make it go fullscreen.
I've altered the code to take the current style flags for windowed mode but to use correct flags for fullscreen.
in win32WinMgr.cpp, replace the create function with this one:
10/09/2007 (11:53 pm)
Yes, its the window initialisation that is bugged. They initialize it to an application window which will never work for a fullscreen window.You have to change the dwStyle and dwStyleEx flags in the initialisation to make it go fullscreen.
I've altered the code to take the current style flags for windowed mode but to use correct flags for fullscreen.
in win32WinMgr.cpp, replace the create function with this one:
void Win32WinMgr::createWindow( const char *windowTitle, const U32 x, const U32 y, const U32 width, const U32 height, const U32 frequency, bool fullscreen )
{
destroyWindow();
RectI newRect = getCenteredWindowRect( width, height, fullscreen );
DWORD dwExStyle;
DWORD dwStyle;
if( fullscreen)
{
dwExStyle = WS_EX_TOPMOST;
dwStyle = WS_POPUP;
}
else
{
dwExStyle = WS_EX_APPWINDOW | WS_EX_WINDOWEDGE;
dwStyle = WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_OVERLAPPED | WS_THICKFRAME | WS_CAPTION;
}
#ifdef UNICODE
UTF16 winTitle[64];
convertUTF8toUTF16( (UTF8 *)windowTitle, winTitle, sizeof(winTitle) );
#else
const char *winTitle = windowTitle;
#endif
bool result = winState.appWindow = CreateWindowEx(
dwExStyle,
winState.wc.lpszClassName, //class name
winTitle, //window title
dwStyle, //style - need clip siblings/children for opengl
newRect.point.x,
newRect.point.y,
newRect.extent.x,
newRect.extent.y,
GetDesktopWindow(), //parent window //NULL,//
NULL, //menu? No.
winState.wc.hInstance, //the hInstance
NULL ); //no funky params
AssertFatal(result, "Could not create window");
ShowWindow( winState.appWindow, SW_SHOWDEFAULT );
UpdateWindow( winState.appWindow ); // Repaint for good measure
}
#14
10/10/2007 (12:35 am)
Thanks a lot Marc!
#15
10/10/2007 (6:25 pm)
Ahh thanks a ton. =)
Torque Owner Adam Beer
Ignition Games Inc.