From 2c72f6da7b7595d2e180937f05f902c510ef1c14 Mon Sep 17 00:00:00 2001 From: Diego Martinez Date: Mon, 7 Mar 2016 19:09:07 -0300 Subject: Add options for screenshot format and quality --- src/client.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/client.cpp') 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 << "'"; -- cgit v1.2.3