Fixed sram saving when pressing ALT-F4
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user