diff options
author | Pala | 2017-03-24 22:25:46 +0100 |
---|---|---|
committer | Thierry Crozat | 2017-04-24 01:06:29 +0100 |
commit | 3849a3e90e6e679e35f8ec4517ce38d2a0c5d098 (patch) | |
tree | ea6630e9149d45031ec9a34358301d81d5858d9b /backends/graphics/openglsdl | |
parent | 28ab63136ad2b3b48b50279f9deb4b6c5a659795 (diff) | |
download | scummvm-rg350-3849a3e90e6e679e35f8ec4517ce38d2a0c5d098.tar.gz scummvm-rg350-3849a3e90e6e679e35f8ec4517ce38d2a0c5d098.tar.bz2 scummvm-rg350-3849a3e90e6e679e35f8ec4517ce38d2a0c5d098.zip |
WINDOWS: Change location where screenshot are saved
This fixes bug #9701: WINDOWS: Flow of taking screenshots
on Windows is broken
Diffstat (limited to 'backends/graphics/openglsdl')
-rw-r--r-- | backends/graphics/openglsdl/openglsdl-graphics.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/backends/graphics/openglsdl/openglsdl-graphics.cpp b/backends/graphics/openglsdl/openglsdl-graphics.cpp index 860173a3c6..9b25f43f39 100644 --- a/backends/graphics/openglsdl/openglsdl-graphics.cpp +++ b/backends/graphics/openglsdl/openglsdl-graphics.cpp @@ -22,6 +22,7 @@ #include "backends/graphics/openglsdl/openglsdl-graphics.h" #include "backends/events/sdl/sdl-events.h" +#include "backends/platform/sdl/sdl.h" #include "common/textconsole.h" #include "common/config-manager.h" @@ -620,25 +621,30 @@ bool OpenGLSdlGraphicsManager::notifyEvent(const Common::Event &event) { return true; } + // Alt-s creates a screenshot if (event.kbd.keycode == Common::KEYCODE_s) { - // Alt-s creates a screenshot Common::String filename; + Common::String screenshotsPath = ((OSystem_SDL *)g_system)->getScreenshotsPath(); + for (int n = 0;; n++) { SDL_RWops *file; filename = Common::String::format("scummvm%05d.bmp", n); - file = SDL_RWFromFile(filename.c_str(), "r"); + + file = SDL_RWFromFile((screenshotsPath + filename).c_str(), "r"); + if (!file) break; SDL_RWclose(file); } - saveScreenshot(filename.c_str()); + saveScreenshot((screenshotsPath + filename).c_str()); debug("Saved screenshot '%s'", filename.c_str()); return true; } + } else if (event.kbd.hasFlags(Common::KBD_CTRL | Common::KBD_ALT)) { if ( event.kbd.keycode == Common::KEYCODE_PLUS || event.kbd.keycode == Common::KEYCODE_MINUS || event.kbd.keycode == Common::KEYCODE_KP_PLUS || event.kbd.keycode == Common::KEYCODE_KP_MINUS) { |