diff options
author | peter1138 <peter1138@openttd.org> | 2007-04-05 07:49:04 +0000 |
---|---|---|
committer | peter1138 <peter1138@openttd.org> | 2007-04-05 07:49:04 +0000 |
commit | a2cec54c9d880243617b16972528e305d743014d (patch) | |
tree | 56e95f5fe598d9097484013307aecd3c2c9821d0 /src/main_gui.cpp | |
parent | abf88b687ccbc7e344b3eacf8a84c1f71cac73a3 (diff) | |
download | openttd-a2cec54c9d880243617b16972528e305d743014d.tar.xz |
(svn r9563) -Feature: Add more finer control to transparency options, including a new toolbar, accessible from the map menu or Ctrl X. Patch by Wolf01.
Diffstat (limited to 'src/main_gui.cpp')
-rw-r--r-- | src/main_gui.cpp | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/src/main_gui.cpp b/src/main_gui.cpp index 6f3be6341..eb039bb95 100644 --- a/src/main_gui.cpp +++ b/src/main_gui.cpp @@ -37,6 +37,7 @@ #include "settings.h" #include "date.h" #include "vehicle_gui.h" +#include "transparency_gui.h" #include "newgrf_config.h" #include "network/network_data.h" @@ -160,8 +161,8 @@ static void MenuClickSettings(int index) case 8: _display_opt ^= DO_WAYPOINTS; break; case 9: _display_opt ^= DO_FULL_ANIMATION; break; case 10: _display_opt ^= DO_FULL_DETAIL; break; - case 11: _display_opt ^= DO_TRANS_BUILDINGS; break; - case 12: _display_opt ^= DO_TRANS_SIGNS; break; + case 11: TOGGLEBIT(_transparent_opt, TO_BUILDINGS); break; + case 12: TOGGLEBIT(_transparent_opt, TO_SIGNS); break; } MarkWholeScreenDirty(); } @@ -192,6 +193,7 @@ static void MenuClickMap(int index) case 0: ShowSmallMap(); break; case 1: ShowExtraViewPortWindow(); break; case 2: ShowSignList(); break; + case 3: ShowTransparencyToolbar(); break; } } @@ -206,7 +208,8 @@ static void MenuClickScenMap(int index) case 0: ShowSmallMap(); break; case 1: ShowExtraViewPortWindow(); break; case 2: ShowSignList(); break; - case 3: ShowTownDirectory(); break; + case 3: ShowTransparencyToolbar(); break; + case 4: ShowTownDirectory(); break; } } @@ -762,7 +765,7 @@ static void ToolbarSaveClick(Window *w) static void ToolbarMapClick(Window *w) { - PopupMainToolbMenu(w, 4, STR_02DE_MAP_OF_WORLD, 3, 0); + PopupMainToolbMenu(w, 4, STR_02DE_MAP_OF_WORLD, 4, 0); } static void ToolbarTownClick(Window *w) @@ -961,8 +964,8 @@ static void ToolbarOptionsClick(Window *w) if (_display_opt & DO_WAYPOINTS) SETBIT(x, 8); if (_display_opt & DO_FULL_ANIMATION) SETBIT(x, 9); if (_display_opt & DO_FULL_DETAIL) SETBIT(x, 10); - if (_display_opt & DO_TRANS_BUILDINGS) SETBIT(x, 11); - if (_display_opt & DO_TRANS_SIGNS) SETBIT(x, 12); + if (HASBIT(_transparent_opt, TO_BUILDINGS)) SETBIT(x, 11); + if (HASBIT(_transparent_opt, TO_SIGNS)) SETBIT(x, 12); WP(w,menu_d).checked_items = x; } @@ -1001,7 +1004,7 @@ static void ToolbarScenDateForward(Window *w) static void ToolbarScenMapTownDir(Window *w) { /* Scenario editor button, *hack*hack* use different button to activate */ - PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 4, 0); + PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 5, 0); } static void ToolbarScenZoomIn(Window *w) @@ -2330,11 +2333,34 @@ static void MainWindowWndProc(Window *w, WindowEvent *e) break; #endif - case 'X': - _display_opt ^= DO_TRANS_BUILDINGS; + case '1' | WKC_CTRL: + case '2' | WKC_CTRL: + case '3' | WKC_CTRL: + case '4' | WKC_CTRL: + case '5' | WKC_CTRL: + case '6' | WKC_CTRL: + case '7' | WKC_CTRL: + /* Transparency toggle hot keys */ + TOGGLEBIT(_transparent_opt, e->we.keypress.key - '1'); MarkWholeScreenDirty(); break; + case 'X' | WKC_CTRL: + ShowTransparencyToolbar(); + break; + + case 'X': { + static byte trans_opt = ~0; + if (_transparent_opt == 0) { + _transparent_opt = trans_opt; + } else { + trans_opt = _transparent_opt; + _transparent_opt = 0; + } + MarkWholeScreenDirty(); + break; + } + #ifdef ENABLE_NETWORK case WKC_RETURN: case 'T': // smart chat; send to team if any, otherwise to all if (_networking) { |