# HG changeset patch # User alberth # Date 2011-05-28 13:53:52 # Node ID 966b51603ddfbefeb16adc214fe1e92eed265e37 # Parent b0ffe147807be8ffb4594c0e0064a72fa07a56dc (svn r22508) -Codechange: Lift default screenshot filename out of MakeScreenshotName. diff --git a/src/screenshot.cpp b/src/screenshot.cpp --- a/src/screenshot.cpp +++ b/src/screenshot.cpp @@ -27,6 +27,7 @@ #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). uint _num_screenshot_formats; ///< Number of available screenshot formats. @@ -679,16 +680,17 @@ static void LargeWorldCallback(void *use /** * 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. */ -static const char *MakeScreenshotName(const char *ext) +static const char *MakeScreenshotName(const char *default_fn, const char *ext) { bool generate = StrEmpty(_screenshot_name); if (generate) { 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 { GenerateDefaultSaveName(_screenshot_name, lastof(_screenshot_name)); } @@ -717,7 +719,8 @@ static const char *MakeScreenshotName(co static bool MakeSmallScreenshot() { 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. */ @@ -737,7 +740,8 @@ static bool MakeZoomedInScreenshot() vp.height = vp.virtual_height; 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. */ @@ -762,7 +766,8 @@ static bool MakeWorldScreenshot() vp.height = vp.virtual_height; 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); } /**