View Issue Details

IDProjectCategoryView StatusLast Update
0000973FSSCPgraphicspublic2006-09-20 03:52
ReporterARSPR Assigned Totaylor  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
PlatformP4 2.8 HT - 1.5GB - 7800GSOSWindows XPOS VersionSP2
Product Version3.6.9 
Summary0000973: Windows turns off monitor while playing.
DescriptionWindows goes to a blank screen while playing if the specified time for turning off monitor is reached from the last key pressing, (I suppose from last mouse movement too ...). [Display Properties > Screensaver Tab > Energy button]

So Windows doesn't detect you are playing and using a joystick. If you don't press any keyboard key, it thinks your system is idle.

Of course, FS2 keeps running fine and if you press any key you get your screen back.

It happens when Turn off monitor time is reached, not with Screensaver time.
Additional InformationI've said blank screen rather than turn off the monitor because in my system Windows just does that, my monitor keeps on. (It works in this way since I swaped from my previous ATI 9800 Pro).

TagsNo tags attached.

Activities

taylor

2006-07-06 16:12

administrator   ~0006053

I think that this is just a basic Windows problem. There may be a way to help prevent it in code, without totally rewriting the joystick code, but I'm not familiar enough with WinAPI to have even a wild guess at how.

Goober5000

2006-07-06 17:13

administrator   ~0006057

Umm... you never press any keyboard keys? Not Escape, F4, C-3-1 or C-3-8 or C-5, Tab, H or Alt-H, M or Alt-M, S, \, or [Backspace]? Those are all commonly used keys.

How long is it set to before your computer shuts off the monitor? If it's anything near 1 minute, you might want to bump it up to 15 minutes or longer.

I'm inclined to close this as not worth fixing. :)

ARSPR

2006-07-06 19:46

reporter   ~0006058

Well I noticed it while testing Derelict "The Enemy of my Enemy". After destroying the first wing of Rapier I order my wing mates to cover Vigilant an then I don't press any other key as my joystick has 12 buttons plus hat. The mission is quite long and I had set 10 minutes before shuting off.

But just don't worry about it and close it. It's not a big trouble and it has a easy solution rising Monitor turn off time.

Just keep in your mind if someone says "Hey FS2 is going to a black screen after playing for a while".

RoniXt

2006-07-06 20:56

reporter   ~0006059

It may be a bit trivial, but I'd like the game to prevent the monitor from turning off as well. I've found a pretty good forum posting that deals with this.

http://forums.indiegamer.com/archive/index.php/t-2938.html

I'm not an experienced coder by any means, but it looks like a SetThreadExecutionState will prevent Power-Saver functions from kicking in.

I could see how this would inconveninece people who have lots of gamepad/joystick buttons, or any future modders who plan to put long cut-scenes in their mods.

taylor

2006-07-06 21:43

administrator   ~0006062

Last edited: 2006-07-06 21:43

SetThreadExecutionState should work, assuming that we finally dump support for anything below Windows 98 (if we haven't already?). Adding the call to joy_process() in code/io/joy.cpp, with an appropriate timeout or something to prevent calling to much, should prevent the display from going to sleep when using a keyboard. But I'm not willing to make that change in CVS without at least a build test though, and that's something I can't do right now.

The MSDN page is here btw: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/power/base/setthreadexecutionstate.asp

edited on: 07-06-06 17:43

WMCoolmon

2006-09-09 07:41

developer   ~0006577

Unless OpenGL will still work on Windows 95, I'd say that we pretty much have dumped support for Windows 95. Dumb question, but I've never had to figure it out. Are the 'support' listings on Microsoft for compile-time, or runtime? In the latter case, why not just detect the Windows version and use the function if Win95+ is supported? (Or just make a note about it being a 'known bug', depending on how gracefully the function fails)

taylor

2006-09-09 08:44

administrator   ~0006578

It would be compile time, the functions/headers/dlls aren't supported under anything below Win98. This means that all support for Win95 would be totally dropped since we would have to maintain two builds otherwise. I'm all for dropping everything below Win98 at this point. This isn't the first time this has been an issue and I've had to make the choice of how to support something for the Windows build because Win95 didn't have it.

I'll try and code this fix up later today, and fire off an e-mail to Goober to make sure we agree to drop Win95 for 3.6.9+, and then we'll see where we stand on this bug (I don't have the ability to test it since I don't have a joystick setup on my Windows box).

taylor

2006-09-17 11:51

administrator   ~0006641

Try using this build and see if it's working now: http://icculus.org/~taylor/fso/willrobinson/gamma_test.rar

(NOTE: that build has multiple new bits of code for testing and includes both normal and FRED builds, in general it should be safe for standard use though)

taylor

2006-09-19 06:05

administrator   ~0006651

* BUMP *

Has anyone had a chance to try this out yet?

I don't have a joystick on my Windows computer, so I can't test it myself, but I think that the code is sound. Unless someone tells me that it doesn't work I'll commit the changes tomorrow.

taylor

2006-09-20 03:52

administrator   ~0006654

Fixered.

Issue History

Date Modified Username Field Change
2006-07-06 15:26 ARSPR New Issue
2006-07-06 16:12 taylor Note Added: 0006053
2006-07-06 17:13 Goober5000 Note Added: 0006057
2006-07-06 19:46 ARSPR Note Added: 0006058
2006-07-06 20:56 RoniXt Note Added: 0006059
2006-07-06 21:43 taylor Note Added: 0006062
2006-07-06 21:43 taylor Note Edited: 0006062
2006-09-09 07:41 WMCoolmon Note Added: 0006577
2006-09-09 08:44 taylor Note Added: 0006578
2006-09-13 02:35 taylor Status new => assigned
2006-09-13 02:35 taylor Assigned To => taylor
2006-09-17 11:51 taylor Note Added: 0006641
2006-09-19 06:05 taylor Note Added: 0006651
2006-09-20 03:52 taylor Status assigned => resolved
2006-09-20 03:52 taylor Resolution open => fixed
2006-09-20 03:52 taylor Note Added: 0006654