added screenshot key F12 (from spongie)

This commit is contained in:
Perttu Ahola 2011-06-26 19:33:40 +03:00
parent 5e3deed672
commit 7e59938c54
2 changed files with 21 additions and 0 deletions

@ -43,6 +43,7 @@ void set_default_settings()
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");
@ -71,6 +72,7 @@ void set_default_settings()
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");

@ -1246,6 +1246,25 @@ void the_game(
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
{