1
0
mirror of https://github.com/FunkyFr3sh/cnc-ddraw.git synced 2025-03-24 17:49:52 +01:00

#133 add option to save screenshots in a different directory

This commit is contained in:
FunkyFr3sh 2021-12-17 03:16:08 +01:00
parent b8fd6d1f81
commit c36522d377
3 changed files with 8 additions and 1 deletions

View File

@ -62,6 +62,7 @@ typedef struct CNCDDRAW
DEVMODE mode; DEVMODE mode;
struct IDirectDrawSurfaceImpl* primary; struct IDirectDrawSurfaceImpl* primary;
char title[128]; char title[128];
char screenshot_dir[MAX_PATH];
CRITICAL_SECTION cs; CRITICAL_SECTION cs;
/* real export from system32\ddraw.dll */ /* real export from system32\ddraw.dll */

View File

@ -45,6 +45,7 @@ void cfg_load()
g_ddraw->d3d9linear = cfg_get_bool("d3d9linear", TRUE); g_ddraw->d3d9linear = cfg_get_bool("d3d9linear", TRUE);
g_ddraw->gdilinear = cfg_get_bool("gdilinear", FALSE); g_ddraw->gdilinear = cfg_get_bool("gdilinear", FALSE);
g_ddraw->resolutions = cfg_get_int("resolutions", RESLIST_NORMAL); g_ddraw->resolutions = cfg_get_int("resolutions", RESLIST_NORMAL);
cfg_get_string("screenshotdir", ".\\Screenshots\\", g_ddraw->screenshot_dir, sizeof(g_ddraw->screenshot_dir));
if (g_ddraw->locktopleft) if (g_ddraw->locktopleft)
g_ddraw->adjmouse = FALSE; g_ddraw->adjmouse = FALSE;
@ -291,6 +292,9 @@ static void cfg_create_ini()
"; cnc-ddraw config program language, possible values: auto, english, chinese, german, spanish, russian, hungarian, french\n" "; cnc-ddraw config program language, possible values: auto, english, chinese, german, spanish, russian, hungarian, french\n"
"configlang=auto\n" "configlang=auto\n"
"\n" "\n"
"; Where should screenshots be saved\n"
"screenshotdir=.\\Screenshots\\\n"
"\n"
"\n" "\n"
"\n" "\n"
"; ### Compatibility settings ###\n" "; ### Compatibility settings ###\n"

View File

@ -132,8 +132,10 @@ BOOL ss_take_screenshot(IDirectDrawSurfaceImpl* src)
} }
} }
CreateDirectoryA(g_ddraw->screenshot_dir, NULL);
strftime(str_time, sizeof(str_time), "%Y-%m-%d-%H_%M_%S", localtime(&t)); strftime(str_time, sizeof(str_time), "%Y-%m-%d-%H_%M_%S", localtime(&t));
_snprintf(filename, sizeof(filename), "%s-%s.png", title, str_time); _snprintf(filename, sizeof(filename), "%s%s-%s.png", g_ddraw->screenshot_dir, title, str_time);
if (src->bpp == 8 && src->palette) if (src->bpp == 8 && src->palette)
{ {