summaryrefslogtreecommitdiff
path: root/src/client.cpp
diff options
context:
space:
mode:
authorDiego Martinez <kaeza@users.sf.net>2016-03-07 19:09:07 -0300
committerShadowNinja <shadowninja@minetest.net>2016-03-12 17:12:43 -0500
commit2c72f6da7b7595d2e180937f05f902c510ef1c14 (patch)
treed35836c6f3b45fc33eb978d66b77c9f10a2aa335 /src/client.cpp
parent37b4f0d34c73de58e0f5d153b7e699dc7430e23d (diff)
downloadminetest-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.cpp7
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 << "'";