Fixed sram saving when pressing ALT-F4

This commit is contained in:
pagefault
2001-08-14 22:02:53 +00:00
parent d16bd910aa
commit 4b7747b38d

View File

@@ -315,6 +315,7 @@ extern "C" {
unsigned char keyboardhit=0; unsigned char keyboardhit=0;
void initwinvideo(); void initwinvideo();
void DosExit(); void DosExit();
extern BYTE GUIOn2;
extern BYTE StereoSound; extern BYTE StereoSound;
extern DWORD SoundQuality; extern DWORD SoundQuality;
extern BYTE LargeSoundBuf; extern BYTE LargeSoundBuf;
@@ -421,15 +422,26 @@ aquireagain:;
return TRUE; return TRUE;
} }
extern "C" void SaveSramData();
void ExitFunction() void ExitFunction()
{ {
if (GUIOn2 == 0)
{
_asm
{
pushad
call SaveSramData
popad
}
}
IsActivated = 0; IsActivated = 0;
CheckScreenSaver(); CheckScreenSaver();
ReleaseDirectInput(); ReleaseDirectInput();
ReleaseDirectSound(); ReleaseDirectSound();
ReleaseDirectDraw(); ReleaseDirectDraw();
DestroyWindow(hMainWindow); DestroyWindow(hMainWindow);
} }
LRESULT CALLBACK Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) LRESULT CALLBACK Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
{ {
@@ -1839,8 +1851,6 @@ void CheckTimers(void)
} }
} }
extern BYTE GUIOn2;
void UpdateVFrame(void) void UpdateVFrame(void)
{ {
if (GUIOn2 == 1 && IsActivated == 0) WaitMessage(); if (GUIOn2 == 1 && IsActivated == 0) WaitMessage();
@@ -2384,7 +2394,7 @@ extern WORD vesa2_btrcl;
extern WORD vesa2_btrcla; extern WORD vesa2_btrcla;
extern WORD nojoystickpoll; extern WORD nojoystickpoll;
extern void SwitchFullScreen(void); extern void SwitchFullScreen();
void WinUpdateDevices() void WinUpdateDevices()
{ {
@@ -2408,10 +2418,11 @@ void WinUpdateDevices()
if (keys2[0x38] != 0 && keys2[0x3E] != 0) exit(0); if (keys2[0x38] != 0 && keys2[0x3E] != 0) exit(0);
if (keys2[0xB8] != 0 && keys2[0x1C] != 0 || keys2[0x38] != 0 && keys2[0x1C] != 0) if (keys2[0xB8] != 0 && keys2[0x1C] != 0 || keys2[0x38] != 0 && keys2[0x1C] != 0)
{ {
_asm{ _asm
pushad {
call SwitchFullScreen pushad
popad call SwitchFullScreen
popad
} }
return; return;
} }