(svn r22508) -Codechange: Lift default screenshot filename out of MakeScreenshotName.

This commit is contained in:
alberth 2011-05-28 13:53:52 +00:00
parent b833c08459
commit 8eb1fba763

View File

@ -27,6 +27,7 @@
#include "table/strings.h" #include "table/strings.h"
static const char * const SCREENSHOT_NAME = "screenshot"; ///< Default filename of a saved screenshot.
char _screenshot_format_name[8]; ///< Extension of the current screenshot format (corresponds with #_cur_screenshot_format). char _screenshot_format_name[8]; ///< Extension of the current screenshot format (corresponds with #_cur_screenshot_format).
uint _num_screenshot_formats; ///< Number of available screenshot formats. uint _num_screenshot_formats; ///< Number of available screenshot formats.
@ -679,16 +680,17 @@ static void LargeWorldCallback(void *userdata, void *buf, uint y, uint pitch, ui
/** /**
* Construct a pathname for a screenshot file. * Construct a pathname for a screenshot file.
* @param ext Extension to use. * @param default_fn Default filename.
* @param ext Extension to use.
* @return Pathname for a screenshot file. * @return Pathname for a screenshot file.
*/ */
static const char *MakeScreenshotName(const char *ext) static const char *MakeScreenshotName(const char *default_fn, const char *ext)
{ {
bool generate = StrEmpty(_screenshot_name); bool generate = StrEmpty(_screenshot_name);
if (generate) { if (generate) {
if (_game_mode == GM_EDITOR || _game_mode == GM_MENU || _local_company == COMPANY_SPECTATOR) { if (_game_mode == GM_EDITOR || _game_mode == GM_MENU || _local_company == COMPANY_SPECTATOR) {
strecpy(_screenshot_name, "screenshot", lastof(_screenshot_name)); strecpy(_screenshot_name, default_fn, lastof(_screenshot_name));
} else { } else {
GenerateDefaultSaveName(_screenshot_name, lastof(_screenshot_name)); GenerateDefaultSaveName(_screenshot_name, lastof(_screenshot_name));
} }
@ -717,7 +719,8 @@ static const char *MakeScreenshotName(const char *ext)
static bool MakeSmallScreenshot() static bool MakeSmallScreenshot()
{ {
const ScreenshotFormat *sf = _screenshot_formats + _cur_screenshot_format; const ScreenshotFormat *sf = _screenshot_formats + _cur_screenshot_format;
return sf->proc(MakeScreenshotName(sf->extension), CurrentScreenCallback, NULL, _screen.width, _screen.height, BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth(), _cur_palette); return sf->proc(MakeScreenshotName(SCREENSHOT_NAME, sf->extension), CurrentScreenCallback, NULL, _screen.width, _screen.height,
BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth(), _cur_palette);
} }
/** Make a zoomed-in screenshot of the currently visible area. */ /** Make a zoomed-in screenshot of the currently visible area. */
@ -737,7 +740,8 @@ static bool MakeZoomedInScreenshot()
vp.height = vp.virtual_height; vp.height = vp.virtual_height;
const ScreenshotFormat *sf = _screenshot_formats + _cur_screenshot_format; const ScreenshotFormat *sf = _screenshot_formats + _cur_screenshot_format;
return sf->proc(MakeScreenshotName(sf->extension), LargeWorldCallback, &vp, vp.width, vp.height, BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth(), _cur_palette); return sf->proc(MakeScreenshotName(SCREENSHOT_NAME, sf->extension), LargeWorldCallback, &vp, vp.width, vp.height,
BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth(), _cur_palette);
} }
/** Make a screenshot of the whole map. */ /** Make a screenshot of the whole map. */
@ -762,7 +766,8 @@ static bool MakeWorldScreenshot()
vp.height = vp.virtual_height; vp.height = vp.virtual_height;
sf = _screenshot_formats + _cur_screenshot_format; sf = _screenshot_formats + _cur_screenshot_format;
return sf->proc(MakeScreenshotName(sf->extension), LargeWorldCallback, &vp, vp.width, vp.height, BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth(), _cur_palette); return sf->proc(MakeScreenshotName(SCREENSHOT_NAME, sf->extension), LargeWorldCallback, &vp, vp.width, vp.height,
BlitterFactoryBase::GetCurrentBlitter()->GetScreenDepth(), _cur_palette);
} }
/** /**