g_settings.setDefault("keymap_freemove", "KEY_KEY_K");
g_settings.setDefault("keymap_fastmove", "KEY_KEY_J");
g_settings.setDefault("keymap_frametime_graph", "KEY_F1");
+ g_settings.setDefault("keymap_screenshot", "KEY_F12");
// Some (temporary) keys for debugging
g_settings.setDefault("keymap_special1", "KEY_KEY_E");
g_settings.setDefault("keymap_print_debug_stacks", "KEY_KEY_P");
g_settings.setDefault("enable_farmesh", "false");
g_settings.setDefault("enable_clouds", "true");
g_settings.setDefault("invisible_stone", "false");
+ g_settings.setDefault("screenshot_path", ".");
// Server stuff
g_settings.setDefault("enable_experimental", "false");
chat_lines.push_back(ChatLine(L"frametime_graph enabled"));
}
}
+ else if(input->wasKeyDown(getKeySetting("keymap_screenshot")))
+ {
+ irr::video::IImage* const image = driver->createScreenShot();
+ if (image) {
+ irr::c8 filename[256];
+ snprintf(filename, 256, "%s/screenshot_%u.png",
+ g_settings.get("screenshot_path").c_str(),
+ device->getTimer()->getRealTime());
+ if (driver->writeImageToFile(image, filename)) {
+ std::wstringstream sstr;
+ sstr<<"Saved screenshot to '"<<filename<<"'";
+ dstream<<"Saved screenshot to '"<<filename<<"'"<<std::endl;
+ chat_lines.push_back(ChatLine(sstr.str()));
+ } else{
+ dstream<<"Failed to save screenshot '"<<filename<<"'"<<std::endl;
+ }
+ image->drop();
+ }
+ }
// Item selection with mouse wheel
{