- if Filename = '' then
- begin
- t := Now;
- DateTimeToString(date, 'yyyy-mm-dd-hh-nn-ss', t);
- Filename := 'screenshot-' + date;
- end;
-
- name := e_CatPath(dir, Filename + '.png');
- s := createDiskFile(name);
- try
- e_MakeScreenshot(s, gWinSizeX, gWinSizeY);
- s.Free;
- g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [name]))
- except
- g_Console_Add(Format(_lc[I_CONSOLE_ERROR_WRITE], [name]));
- s.Free;
- DeleteFile(name)
- end
- except
- g_Console_Add('oh shit, i can''t create screenshot!')
- end
+ dir := e_GetWriteableDir(ScreenshotDirs);
+ if Filename = '' then
+ begin
+ t := Now;
+ DateTimeToString(date, 'yyyy-mm-dd-hh-nn-ss', t);
+ Filename := 'screenshot-' + date;
+ end;
+
+ name := e_CatPath(dir, Filename + '.png');
+ if r_Render_WriteScreenShot(name) then
+ g_Console_Add(Format(_lc[I_CONSOLE_SCREENSHOT], [name]))
+ else
+ g_Console_Add(Format(_lc[I_CONSOLE_ERROR_WRITE], [name]));