Fixed disable Screensaver option.
This commit is contained in:
@@ -148,7 +148,7 @@ EXTSYM MovieVideoMode, MovieAudioMode
|
||||
%ifdef __UNIXSDL__
|
||||
EXTSYM numlockptr
|
||||
%elifdef __WIN32__
|
||||
EXTSYM initDirectDraw,reInitSound
|
||||
EXTSYM initDirectDraw,reInitSound,CheckAlwaysOnTop,CheckPriority,CheckScreenSaver
|
||||
%elifdef __MSDOS__
|
||||
EXTSYM dssel,SetInputDevice209,initvideo2
|
||||
%endif
|
||||
|
||||
@@ -770,6 +770,9 @@ GUIOptionKeys:
|
||||
GUIKeyCheckbox SidewinderFix,'I'
|
||||
%elifdef __WIN32__
|
||||
GUIKeyCheckbox HighPriority,'H'
|
||||
pushad
|
||||
call CheckPriority
|
||||
popad
|
||||
%endif
|
||||
GUIKeyCheckbox FPSAtStart,'F'
|
||||
GUIKeyCheckbox Turbo30hz,'E'
|
||||
@@ -785,6 +788,9 @@ GUIOptionKeys:
|
||||
%endif
|
||||
%ifdef __WIN32__
|
||||
GUIKeyCheckbox DisableScreenSaver,'I'
|
||||
pushad
|
||||
call CheckScreenSaver
|
||||
popad
|
||||
%endif
|
||||
ret
|
||||
|
||||
|
||||
@@ -20,8 +20,6 @@
|
||||
|
||||
|
||||
%ifdef __WIN32__
|
||||
EXTSYM CheckPriority
|
||||
EXTSYM CheckAlwaysOnTop
|
||||
EXTSYM MinimizeWindow
|
||||
%endif
|
||||
|
||||
@@ -1357,24 +1355,6 @@ GUIWinClicked:
|
||||
%%noclick
|
||||
%endmacro
|
||||
|
||||
%macro GUIClickCButtonW 3
|
||||
cmp eax,%1+1
|
||||
jl %%noclick
|
||||
cmp edx,%2+3
|
||||
jl %%noclick
|
||||
cmp eax,%1+6
|
||||
jg %%noclick
|
||||
cmp edx,%2+8
|
||||
jg %%noclick
|
||||
xor %3,1
|
||||
%%noclick
|
||||
%ifdef __WIN32__
|
||||
pushad
|
||||
call CheckPriority
|
||||
popad
|
||||
%endif
|
||||
%endmacro
|
||||
|
||||
%macro GUIClickCButtonI 3
|
||||
cmp eax,%1+1
|
||||
jl %%noclick
|
||||
@@ -2343,9 +2323,11 @@ DisplayGUIOptionClick:
|
||||
GUIClickCButtonM 11,50,byte[pl12s34]
|
||||
%ifdef __MSDOS__
|
||||
GUIClickCButton 11,60,byte[SidewinderFix]
|
||||
%endif
|
||||
%ifdef __WIN32__
|
||||
GUIClickCButtonW 11,60,byte[HighPriority]
|
||||
%elifdef __WIN32__
|
||||
GUIClickCButton 11,60,byte[HighPriority]
|
||||
pushad
|
||||
call CheckPriority
|
||||
popad
|
||||
%endif
|
||||
GUIClickCButton 11,70,byte[FPSAtStart]
|
||||
GUIClickCButton 11,80,byte[Turbo30hz]
|
||||
@@ -2360,7 +2342,10 @@ DisplayGUIOptionClick:
|
||||
GUIClickCButton 11,160,byte[PauseFocusChange]
|
||||
%endif
|
||||
%ifdef __WIN32__
|
||||
GUIClickCButtonW 11,170,byte[DisableScreenSaver]
|
||||
GUIClickCButton 11,170,byte[DisableScreenSaver]
|
||||
pushad
|
||||
call CheckScreenSaver
|
||||
popad
|
||||
%endif
|
||||
ret
|
||||
|
||||
|
||||
@@ -456,6 +456,12 @@ extern "C" void CheckAlwaysOnTop()
|
||||
else SetWindowPos(hMainWindow, HWND_NOTOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
|
||||
}
|
||||
|
||||
extern "C" void CheckScreenSaver()
|
||||
{
|
||||
if (DisableScreenSaver == 1 && IsActivated == 1) SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, FALSE, 0, SPIF_SENDCHANGE);
|
||||
else SystemParametersInfo(SPI_SETSCREENSAVEACTIVE, TRUE, 0, SPIF_SENDCHANGE);
|
||||
}
|
||||
|
||||
extern "C" void MinimizeWindow()
|
||||
{
|
||||
ShowWindow(hMainWindow, SW_MINIMIZE);
|
||||
@@ -544,6 +550,7 @@ void ExitFunction()
|
||||
if (debugWindow) FreeConsole();
|
||||
|
||||
IsActivated = 0;
|
||||
CheckScreenSaver();
|
||||
ReleaseDirectInput();
|
||||
ReleaseDirectSound();
|
||||
ReleaseDirectDraw();
|
||||
@@ -667,6 +674,7 @@ LRESULT CALLBACK Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
if (FirstActivate == 1) FirstActivate = 0;
|
||||
if (FullScreen == 1) Clear2xSaIBuffer();
|
||||
CheckPriority();
|
||||
CheckScreenSaver();
|
||||
}
|
||||
if (LOWORD(wParam) == WA_INACTIVE)
|
||||
{
|
||||
@@ -674,32 +682,25 @@ LRESULT CALLBACK Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
if (PauseFocusChange) EMUPause = 1;
|
||||
InputDeAcquire();
|
||||
if (GUIOn || GUIOn2 || EMUPause) SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
|
||||
CheckScreenSaver();
|
||||
}
|
||||
break;
|
||||
case WM_SETFOCUS:
|
||||
if (FullScreen == 0) ShowWindow(hMainWindow, SW_SHOWNORMAL);
|
||||
CheckPriority();
|
||||
CheckScreenSaver();
|
||||
InputAcquire();
|
||||
break;
|
||||
case WM_KILLFOCUS:
|
||||
InputDeAcquire();
|
||||
IsActivated = 0;
|
||||
if (GUIOn || GUIOn2 || EMUPause) SetPriorityClass(GetCurrentProcess(), IDLE_PRIORITY_CLASS);
|
||||
CheckScreenSaver();
|
||||
break;
|
||||
case WM_DESTROY:
|
||||
break;
|
||||
case WM_CLOSE:
|
||||
break;
|
||||
case WM_SYSCOMMAND:
|
||||
if (DisableScreenSaver)
|
||||
{
|
||||
switch (wParam)
|
||||
{
|
||||
case SC_MONITORPOWER:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
return DefWindowProc(hWnd,uMsg,wParam,lParam);;
|
||||
}
|
||||
@@ -2097,6 +2098,7 @@ void initwinvideo(void)
|
||||
|
||||
CheckPriority();
|
||||
CheckAlwaysOnTop();
|
||||
CheckScreenSaver();
|
||||
|
||||
if (!hMainWindow)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user