diff options
author | Diego Martinez <kaeza@users.sf.net> | 2016-03-07 19:09:07 -0300 |
---|---|---|
committer | ShadowNinja <shadowninja@minetest.net> | 2016-03-12 17:12:43 -0500 |
commit | 2c72f6da7b7595d2e180937f05f902c510ef1c14 (patch) | |
tree | d35836c6f3b45fc33eb978d66b77c9f10a2aa335 /src/client.cpp | |
parent | 37b4f0d34c73de58e0f5d153b7e699dc7430e23d (diff) | |
download | minetest-2c72f6da7b7595d2e180937f05f902c510ef1c14.tar.gz minetest-2c72f6da7b7595d2e180937f05f902c510ef1c14.tar.bz2 minetest-2c72f6da7b7595d2e180937f05f902c510ef1c14.zip |
Add options for screenshot format and quality
Diffstat (limited to 'src/client.cpp')
-rw-r--r-- | src/client.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/client.cpp b/src/client.cpp index f27f031c5..e13344ec2 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1813,9 +1813,12 @@ void Client::makeScreenshot(IrrlichtDevice *device) + DIR_DELIM + std::string("screenshot_") + std::string(timetstamp_c); - std::string filename_ext = ".png"; + std::string filename_ext = "." + g_settings->get("screenshot_format"); std::string filename; + u32 quality = (u32)g_settings->getS32("screenshot_quality"); + quality = MYMIN(MYMAX(quality, 0), 100) / 100.0 * 255; + // Try to find a unique filename unsigned serial = 0; @@ -1837,7 +1840,7 @@ void Client::makeScreenshot(IrrlichtDevice *device) raw_image->copyTo(image); std::ostringstream sstr; - if (driver->writeImageToFile(image, filename.c_str())) { + if (driver->writeImageToFile(image, filename.c_str(), quality)) { sstr << "Saved screenshot to '" << filename << "'"; } else { sstr << "Failed to save screenshot '" << filename << "'"; |