(svn r23695) -Fix/Feature [FS#4916]: make a distinction between fully zoomed in and default zoomed in screenshots

replace/41b28d7194a279bdc17475d4fbe2ea6ec885a466
rubidium 13 years ago
parent 20931c5af8
commit 8b223f0274

@ -446,7 +446,8 @@ STR_ABOUT_MENU_SEPARATOR :
STR_ABOUT_MENU_TOGGLE_CONSOLE :Toggle console
STR_ABOUT_MENU_AI_DEBUG :AI / GameScript debug
STR_ABOUT_MENU_SCREENSHOT :Screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Zoomed in screenshot
STR_ABOUT_MENU_ZOOMIN_SCREENSHOT :Fully zoomed in screenshot
STR_ABOUT_MENU_DEFAULTZOOM_SCREENSHOT :Default zoom screenshot
STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot
STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD'
STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner

@ -729,12 +729,12 @@ static bool MakeSmallScreenshot()
}
/** Make a zoomed-in screenshot of the currently visible area. */
static bool MakeZoomedInScreenshot()
static bool MakeZoomedInScreenshot(ZoomLevel zl)
{
Window *w = FindWindowById(WC_MAIN_WINDOW, 0);
ViewPort vp;
vp.zoom = _settings_client.gui.zoom_min;
vp.zoom = zl;
vp.left = w->viewport->left;
vp.top = w->viewport->top;
vp.virtual_left = w->viewport->virtual_left;
@ -845,7 +845,11 @@ bool MakeScreenshot(ScreenshotType t, const char *name)
break;
case SC_ZOOMEDIN:
ret = MakeZoomedInScreenshot();
ret = MakeZoomedInScreenshot(_settings_client.gui.zoom_min);
break;
case SC_DEFAULTZOOM:
ret = MakeZoomedInScreenshot(ZOOM_LVL_VIEWPORT);
break;
case SC_WORLD:

@ -20,11 +20,12 @@ const char *GetCurrentScreenshotExtension();
/** Type of requested screenshot */
enum ScreenshotType {
SC_VIEWPORT, ///< Screenshot of viewport.
SC_RAW, ///< Raw screenshot from blitter buffer.
SC_ZOOMEDIN, ///< Zoomed in screenshot of the visible area.
SC_WORLD, ///< World screenshot.
SC_HEIGHTMAP, ///< Heightmap of the world.
SC_VIEWPORT, ///< Screenshot of viewport.
SC_RAW, ///< Raw screenshot from blitter buffer.
SC_ZOOMEDIN, ///< Fully zoomed in screenshot of the visible area.
SC_DEFAULTZOOM, ///< Zoomed to default zoom level screenshot of the visible area.
SC_WORLD, ///< World screenshot.
SC_HEIGHTMAP, ///< Heightmap of the world.
};
bool MakeHeightmapScreenshot(const char *filename);

@ -953,7 +953,7 @@ static CallBackFunction PlaceLandBlockInfo()
static CallBackFunction ToolbarHelpClick(Window *w)
{
PopupMainToolbMenu(w, WID_TN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 10 : 8);
PopupMainToolbMenu(w, WID_TN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 11 : 9);
return CBF_NONE;
}
@ -967,6 +967,11 @@ static void MenuClickZoomedInScreenshot()
MakeScreenshot(SC_ZOOMEDIN, NULL);
}
static void MenuClickDefaultZoomScreenshot()
{
MakeScreenshot(SC_DEFAULTZOOM, NULL);
}
static void MenuClickWorldScreenshot()
{
MakeScreenshot(SC_WORLD, NULL);
@ -997,15 +1002,16 @@ void ToggleBoundingBoxes()
static CallBackFunction MenuClickHelp(int index)
{
switch (index) {
case 0: return PlaceLandBlockInfo();
case 2: IConsoleSwitch(); break;
case 3: ShowAIDebugWindow(); break;
case 4: MenuClickSmallScreenshot(); break;
case 5: MenuClickZoomedInScreenshot(); break;
case 6: MenuClickWorldScreenshot(); break;
case 7: ShowAboutWindow(); break;
case 8: ShowSpriteAlignerWindow(); break;
case 9: ToggleBoundingBoxes(); break;
case 0: return PlaceLandBlockInfo();
case 2: IConsoleSwitch(); break;
case 3: ShowAIDebugWindow(); break;
case 4: MenuClickSmallScreenshot(); break;
case 5: MenuClickDefaultZoomScreenshot(); break;
case 6: MenuClickZoomedInScreenshot(); break;
case 7: MenuClickWorldScreenshot(); break;
case 8: ShowAboutWindow(); break;
case 9: ShowSpriteAlignerWindow(); break;
case 10: ToggleBoundingBoxes(); break;
}
return CBF_NONE;
}
@ -1497,6 +1503,7 @@ enum MainToolbarHotkeys {
MTHK_AI_DEBUG,
MTHK_SMALL_SCREENSHOT,
MTHK_ZOOMEDIN_SCREENSHOT,
MTHK_DEFAULTZOOM_SCREENSHOT,
MTHK_GIANT_SCREENSHOT,
MTHK_CHEATS,
MTHK_TERRAFORM,
@ -1579,6 +1586,7 @@ struct MainToolbarWindow : Window {
case MTHK_AI_DEBUG: ShowAIDebugWindow(); break;
case MTHK_SMALL_SCREENSHOT: MenuClickSmallScreenshot(); break;
case MTHK_ZOOMEDIN_SCREENSHOT: MenuClickZoomedInScreenshot(); break;
case MTHK_DEFAULTZOOM_SCREENSHOT: MenuClickDefaultZoomScreenshot(); break;
case MTHK_GIANT_SCREENSHOT: MenuClickWorldScreenshot(); break;
case MTHK_CHEATS: if (!_networking) ShowCheatWindow(); break;
case MTHK_TERRAFORM: ShowTerraformToolbar(); break;
@ -1681,6 +1689,7 @@ Hotkey<MainToolbarWindow> MainToolbarWindow::maintoolbar_hotkeys[] = {
Hotkey<MainToolbarWindow>((uint16)0, "ai_debug", MTHK_AI_DEBUG),
Hotkey<MainToolbarWindow>(WKC_CTRL | 'S', "small_screenshot", MTHK_SMALL_SCREENSHOT),
Hotkey<MainToolbarWindow>(WKC_CTRL | 'P', "zoomedin_screenshot", MTHK_ZOOMEDIN_SCREENSHOT),
Hotkey<MainToolbarWindow>(WKC_CTRL | 'D', "defaultzoom_screenshot", MTHK_DEFAULTZOOM_SCREENSHOT),
Hotkey<MainToolbarWindow>((uint16)0, "giant_screenshot", MTHK_GIANT_SCREENSHOT),
Hotkey<MainToolbarWindow>(WKC_CTRL | WKC_ALT | 'C', "cheats", MTHK_CHEATS),
Hotkey<MainToolbarWindow>('L', "terraform", MTHK_TERRAFORM),
@ -1800,6 +1809,7 @@ enum MainToolbarEditorHotkeys {
MTEHK_LANDINFO,
MTEHK_SMALL_SCREENSHOT,
MTEHK_ZOOMEDIN_SCREENSHOT,
MTEHK_DEFAULTZOOM_SCREENSHOT,
MTEHK_GIANT_SCREENSHOT,
MTEHK_ZOOM_IN,
MTEHK_ZOOM_OUT,
@ -1886,27 +1896,28 @@ struct ScenarioEditorToolbarWindow : Window {
{
CallBackFunction cbf = CBF_NONE;
switch (CheckHotkeyMatch(scenedit_maintoolbar_hotkeys, keycode, this)) {
case MTEHK_PAUSE: ToolbarPauseClick(this); break;
case MTEHK_FASTFORWARD: ToolbarFastForwardClick(this); break;
case MTEHK_SETTINGS: ShowGameOptions(); break;
case MTEHK_SAVEGAME: MenuClickSaveLoad(); break;
case MTEHK_GENLAND: ToolbarScenGenLand(this); break;
case MTEHK_GENTOWN: ToolbarScenGenTown(this); break;
case MTEHK_GENINDUSTRY: ToolbarScenGenIndustry(this); break;
case MTEHK_BUILD_ROAD: ToolbarScenBuildRoad(this); break;
case MTEHK_BUILD_DOCKS: ToolbarScenBuildDocks(this); break;
case MTEHK_BUILD_TREES: ToolbarScenPlantTrees(this); break;
case MTEHK_SIGN: cbf = ToolbarScenPlaceSign(this); break;
case MTEHK_MUSIC: ShowMusicWindow(); break;
case MTEHK_LANDINFO: cbf = PlaceLandBlockInfo(); break;
case MTEHK_SMALL_SCREENSHOT: MenuClickSmallScreenshot(); break;
case MTEHK_ZOOMEDIN_SCREENSHOT: MenuClickZoomedInScreenshot(); break;
case MTEHK_GIANT_SCREENSHOT: MenuClickWorldScreenshot(); break;
case MTEHK_ZOOM_IN: ToolbarZoomInClick(this); break;
case MTEHK_ZOOM_OUT: ToolbarZoomOutClick(this); break;
case MTEHK_TERRAFORM: ShowEditorTerraformToolbar(); break;
case MTEHK_SMALLMAP: ShowSmallMap(); break;
case MTEHK_EXTRA_VIEWPORT: ShowExtraViewPortWindowForTileUnderCursor(); break;
case MTEHK_PAUSE: ToolbarPauseClick(this); break;
case MTEHK_FASTFORWARD: ToolbarFastForwardClick(this); break;
case MTEHK_SETTINGS: ShowGameOptions(); break;
case MTEHK_SAVEGAME: MenuClickSaveLoad(); break;
case MTEHK_GENLAND: ToolbarScenGenLand(this); break;
case MTEHK_GENTOWN: ToolbarScenGenTown(this); break;
case MTEHK_GENINDUSTRY: ToolbarScenGenIndustry(this); break;
case MTEHK_BUILD_ROAD: ToolbarScenBuildRoad(this); break;
case MTEHK_BUILD_DOCKS: ToolbarScenBuildDocks(this); break;
case MTEHK_BUILD_TREES: ToolbarScenPlantTrees(this); break;
case MTEHK_SIGN: cbf = ToolbarScenPlaceSign(this); break;
case MTEHK_MUSIC: ShowMusicWindow(); break;
case MTEHK_LANDINFO: cbf = PlaceLandBlockInfo(); break;
case MTEHK_SMALL_SCREENSHOT: MenuClickSmallScreenshot(); break;
case MTEHK_ZOOMEDIN_SCREENSHOT: MenuClickZoomedInScreenshot(); break;
case MTEHK_DEFAULTZOOM_SCREENSHOT: MenuClickDefaultZoomScreenshot(); break;
case MTEHK_GIANT_SCREENSHOT: MenuClickWorldScreenshot(); break;
case MTEHK_ZOOM_IN: ToolbarZoomInClick(this); break;
case MTEHK_ZOOM_OUT: ToolbarZoomOutClick(this); break;
case MTEHK_TERRAFORM: ShowEditorTerraformToolbar(); break;
case MTEHK_SMALLMAP: ShowSmallMap(); break;
case MTEHK_EXTRA_VIEWPORT: ShowExtraViewPortWindowForTileUnderCursor(); break;
default: return ES_NOT_HANDLED;
}
if (cbf != CBF_NONE) this->last_started_action = cbf;
@ -1996,6 +2007,7 @@ Hotkey<ScenarioEditorToolbarWindow> ScenarioEditorToolbarWindow::scenedit_mainto
Hotkey<ScenarioEditorToolbarWindow>(WKC_F12, "land_info", MTEHK_LANDINFO),
Hotkey<ScenarioEditorToolbarWindow>(WKC_CTRL | 'S', "small_screenshot", MTEHK_SMALL_SCREENSHOT),
Hotkey<ScenarioEditorToolbarWindow>(WKC_CTRL | 'P', "zoomedin_screenshot", MTEHK_ZOOMEDIN_SCREENSHOT),
Hotkey<ScenarioEditorToolbarWindow>(WKC_CTRL | 'D', "defaultzoom_screenshot", MTEHK_DEFAULTZOOM_SCREENSHOT),
Hotkey<ScenarioEditorToolbarWindow>((uint16)0, "giant_screenshot", MTEHK_GIANT_SCREENSHOT),
Hotkey<ScenarioEditorToolbarWindow>(_maintoolbar_zoomin_keys, "zoomin", MTEHK_ZOOM_IN),
Hotkey<ScenarioEditorToolbarWindow>(_maintoolbar_zoomout_keys, "zoomout", MTEHK_ZOOM_OUT),

Loading…
Cancel
Save