Mercurial > hg > openttd
changeset 17879:9310e39c80ce draft
(svn r22675) -Change: Add a menu entry for the sprite bounding box debuging feature in the help menu and enable bounding boxes only in conjunction with the newgrf developer tools
author | planetmaker <planetmaker@openttd.org> |
---|---|
date | Wed, 20 Jul 2011 16:19:48 +0000 |
parents | 8e6c1879a8da |
children | c5182280506b |
files | src/lang/english.txt src/main_gui.cpp src/toolbar_gui.cpp src/toolbar_gui.h |
diffstat | 4 files changed, 27 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -448,6 +448,7 @@ STR_ABOUT_MENU_GIANT_SCREENSHOT :Whole map screenshot STR_ABOUT_MENU_ABOUT_OPENTTD :About 'OpenTTD' STR_ABOUT_MENU_SPRITE_ALIGNER :Sprite aligner +STR_ABOUT_MENU_TOGGLE_BOUNDING_BOXES :Toggle bounding boxes ############ range ends here ############ range for days starts (also used for the place in the highscore window)
--- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -301,9 +301,7 @@ return ES_HANDLED; case GHK_BOUNDING_BOXES: - extern bool _draw_bounding_boxes; - _draw_bounding_boxes = !_draw_bounding_boxes; - MarkWholeScreenDirty(); + ToggleBoundingBoxes(); return ES_HANDLED; }
--- a/src/toolbar_gui.cpp +++ b/src/toolbar_gui.cpp @@ -828,7 +828,7 @@ static CallBackFunction ToolbarHelpClick(Window *w) { - PopupMainToolbMenu(w, TBN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 9 : 8); + PopupMainToolbMenu(w, TBN_HELP, STR_ABOUT_MENU_LAND_BLOCK_INFO, _settings_client.gui.newgrf_developer_tools ? 10 : 8); return CBF_NONE; } @@ -847,6 +847,28 @@ MakeScreenshot(SC_WORLD, NULL); } +/** + * Toggle drawing of sprites' bounding boxes + * @note has only an effect when newgrf_developer_tools are active + * + * Function is found here and not in viewport.cpp in order to avoid + * importing the settings structs to there + */ +void ToggleBoundingBoxes() +{ + extern bool _draw_bounding_boxes; + /* Always allow to toggle them off */ + if (_settings_client.gui.newgrf_developer_tools || _draw_bounding_boxes) { + _draw_bounding_boxes = !_draw_bounding_boxes; + MarkWholeScreenDirty(); + } +} + +/** + * Choose the proper callback function for the main toolbar's help menu + * @param index The menu index which was selected + * @return CBF_NONE + */ static CallBackFunction MenuClickHelp(int index) { switch (index) { @@ -858,6 +880,7 @@ case 6: MenuClickWorldScreenshot(); break; case 7: ShowAboutWindow(); break; case 8: ShowSpriteAlignerWindow(); break; + case 9: ToggleBoundingBoxes(); break; } return CBF_NONE; }