(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.

This commit is contained in:
2007-04-05 07:49:04 +00:00
parent abf88b687c
commit a2cec54c9d
23 changed files with 212 additions and 49 deletions

View File

@@ -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) {