--- a/src/main_gui.cpp Thu Apr 19 14:48:10 2007 +0000
+++ b/src/main_gui.cpp Tue Jun 12 11:56:35 2007 +0000
@@ -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 @@
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 @@
case 0: ShowSmallMap(); break;
case 1: ShowExtraViewPortWindow(); break;
case 2: ShowSignList(); break;
+ case 3: ShowTransparencyToolbar(); break;
}
}
@@ -206,7 +208,8 @@
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 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 @@
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 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,35 @@
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.keycode - ('1' | WKC_CTRL));
MarkWholeScreenDirty();
break;
+ case 'X' | WKC_CTRL:
+ ShowTransparencyToolbar();
+ break;
+
+ case 'X': {
+ /* Toggle all transparency options except for signs */
+ static byte trans_opt = ~0;
+ if (GB(_transparent_opt, 1, 7) == 0) {
+ SB(_transparent_opt, 1, 7, GB(trans_opt, 1, 7));
+ } else {
+ trans_opt = _transparent_opt;
+ SB(_transparent_opt, 1, 7, 0);
+ }
+ MarkWholeScreenDirty();
+ break;
+ }
+
#ifdef ENABLE_NETWORK
case WKC_RETURN: case 'T': // smart chat; send to team if any, otherwise to all
if (_networking) {