DirectDraw screenshot routine now also outputs file name on error;
Another attempt to make the routine not fire too many times in a row.
This commit is contained in:
@@ -71,6 +71,8 @@ void SaveBitmap(char *szFilename,HBITMAP hBitmap)
|
|||||||
BITMAPINFO bmpInfo;
|
BITMAPINFO bmpInfo;
|
||||||
BITMAPFILEHEADER bmpFileHeader;
|
BITMAPFILEHEADER bmpFileHeader;
|
||||||
|
|
||||||
|
char *szMessage;
|
||||||
|
|
||||||
do{
|
do{
|
||||||
|
|
||||||
hdc=GetDC(NULL);
|
hdc=GetDC(NULL);
|
||||||
@@ -101,7 +103,8 @@ void SaveBitmap(char *szFilename,HBITMAP hBitmap)
|
|||||||
|
|
||||||
if((fp = fopen(szFilename,"wb"))==NULL)
|
if((fp = fopen(szFilename,"wb"))==NULL)
|
||||||
{
|
{
|
||||||
MessageBox( NULL, "Unable to Create Bitmap File", "Error", MB_OK|MB_ICONERROR);
|
sprintf(szMessage, "Unable to Create Bitmap File %s", szFilename);
|
||||||
|
MessageBox( NULL, szMessage, "Error", MB_OK|MB_ICONERROR);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
52
src/win.c
52
src/win.c
@@ -43,6 +43,13 @@
|
|||||||
#define MAPVK_VK_TO_VSC 0
|
#define MAPVK_VK_TO_VSC 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
static int do_screenshot = 0;
|
||||||
|
static int do_reset_cad = 0;
|
||||||
|
static int do_resethard = 0;
|
||||||
|
#ifndef RELEASE_BUILD
|
||||||
|
static int do_breakpoint = 0;
|
||||||
|
#endif
|
||||||
|
|
||||||
static int save_window_pos = 0;
|
static int save_window_pos = 0;
|
||||||
uint64_t timer_freq;
|
uint64_t timer_freq;
|
||||||
|
|
||||||
@@ -747,6 +754,37 @@ int WINAPI WinMain (HINSTANCE hThisInstance,
|
|||||||
TranslateMessage(&messages);
|
TranslateMessage(&messages);
|
||||||
DispatchMessage(&messages);
|
DispatchMessage(&messages);
|
||||||
// if ((pcem_key[KEY_LCONTROL] || pcem_key[KEY_RCONTROL]) && pcem_key[KEY_END] && mousecapture)
|
// if ((pcem_key[KEY_LCONTROL] || pcem_key[KEY_RCONTROL]) && pcem_key[KEY_END] && mousecapture)
|
||||||
|
if (pcem_key[0x58] && pcem_key[0x41] && do_screenshot)
|
||||||
|
{
|
||||||
|
take_screenshot();
|
||||||
|
do_screenshot = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pcem_key[0x58] && pcem_key[0x44] && do_reset_cad)
|
||||||
|
{
|
||||||
|
pause=1;
|
||||||
|
Sleep(100);
|
||||||
|
resetpc_cad();
|
||||||
|
pause=0;
|
||||||
|
do_reset_cad = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pcem_key[0x58] && pcem_key[0x43] && do_resethard)
|
||||||
|
{
|
||||||
|
pause=1;
|
||||||
|
Sleep(100);
|
||||||
|
resetpchard();
|
||||||
|
pause=0;
|
||||||
|
do_resethard = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#ifndef RELEASE_BUILD
|
||||||
|
if (pcem_key[0x57] && pcem_key[0x58] && do_breakpoint)
|
||||||
|
{
|
||||||
|
pclog("Log breakpoint\n");
|
||||||
|
do_breakpoint = 0;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
quited=1;
|
quited=1;
|
||||||
@@ -1297,29 +1335,23 @@ LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM
|
|||||||
|
|
||||||
if (pcem_key[0x58] && pcem_key[0x41])
|
if (pcem_key[0x58] && pcem_key[0x41])
|
||||||
{
|
{
|
||||||
take_screenshot();
|
do_screenshot = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pcem_key[0x58] && pcem_key[0x44])
|
if (pcem_key[0x58] && pcem_key[0x44])
|
||||||
{
|
{
|
||||||
pause=1;
|
do_reset_cad = 1;
|
||||||
Sleep(100);
|
|
||||||
resetpc_cad();
|
|
||||||
pause=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pcem_key[0x58] && pcem_key[0x43])
|
if (pcem_key[0x58] && pcem_key[0x43])
|
||||||
{
|
{
|
||||||
pause=1;
|
do_resethard = 1;
|
||||||
Sleep(100);
|
|
||||||
resetpchard();
|
|
||||||
pause=0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef RELEASE_BUILD
|
#ifndef RELEASE_BUILD
|
||||||
if (pcem_key[0x57] && pcem_key[0x58])
|
if (pcem_key[0x57] && pcem_key[0x58])
|
||||||
{
|
{
|
||||||
pclog("Log breakpoint\n");
|
do_breakpoint = 1;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user