35 #include "screenshot.h" |
35 #include "screenshot.h" |
36 #include "genworld.h" |
36 #include "genworld.h" |
37 #include "settings.h" |
37 #include "settings.h" |
38 #include "date.h" |
38 #include "date.h" |
39 #include "vehicle_gui.h" |
39 #include "vehicle_gui.h" |
|
40 #include "transparency_gui.h" |
40 #include "newgrf_config.h" |
41 #include "newgrf_config.h" |
41 |
42 |
42 #include "network/network_data.h" |
43 #include "network/network_data.h" |
43 #include "network/network_client.h" |
44 #include "network/network_client.h" |
44 #include "network/network_server.h" |
45 #include "network/network_server.h" |
158 case 6: _display_opt ^= DO_SHOW_STATION_NAMES; break; |
159 case 6: _display_opt ^= DO_SHOW_STATION_NAMES; break; |
159 case 7: _display_opt ^= DO_SHOW_SIGNS; break; |
160 case 7: _display_opt ^= DO_SHOW_SIGNS; break; |
160 case 8: _display_opt ^= DO_WAYPOINTS; break; |
161 case 8: _display_opt ^= DO_WAYPOINTS; break; |
161 case 9: _display_opt ^= DO_FULL_ANIMATION; break; |
162 case 9: _display_opt ^= DO_FULL_ANIMATION; break; |
162 case 10: _display_opt ^= DO_FULL_DETAIL; break; |
163 case 10: _display_opt ^= DO_FULL_DETAIL; break; |
163 case 11: _display_opt ^= DO_TRANS_BUILDINGS; break; |
164 case 11: TOGGLEBIT(_transparent_opt, TO_BUILDINGS); break; |
164 case 12: _display_opt ^= DO_TRANS_SIGNS; break; |
165 case 12: TOGGLEBIT(_transparent_opt, TO_SIGNS); break; |
165 } |
166 } |
166 MarkWholeScreenDirty(); |
167 MarkWholeScreenDirty(); |
167 } |
168 } |
168 |
169 |
169 static void MenuClickSaveLoad(int index) |
170 static void MenuClickSaveLoad(int index) |
204 { |
206 { |
205 switch (index) { |
207 switch (index) { |
206 case 0: ShowSmallMap(); break; |
208 case 0: ShowSmallMap(); break; |
207 case 1: ShowExtraViewPortWindow(); break; |
209 case 1: ShowExtraViewPortWindow(); break; |
208 case 2: ShowSignList(); break; |
210 case 2: ShowSignList(); break; |
209 case 3: ShowTownDirectory(); break; |
211 case 3: ShowTransparencyToolbar(); break; |
|
212 case 4: ShowTownDirectory(); break; |
210 } |
213 } |
211 } |
214 } |
212 |
215 |
213 static void MenuClickSubsidies(int index) |
216 static void MenuClickSubsidies(int index) |
214 { |
217 { |
760 PopupMainToolbMenu(w, 3, STR_015C_SAVE_GAME, 4, 0); |
763 PopupMainToolbMenu(w, 3, STR_015C_SAVE_GAME, 4, 0); |
761 } |
764 } |
762 |
765 |
763 static void ToolbarMapClick(Window *w) |
766 static void ToolbarMapClick(Window *w) |
764 { |
767 { |
765 PopupMainToolbMenu(w, 4, STR_02DE_MAP_OF_WORLD, 3, 0); |
768 PopupMainToolbMenu(w, 4, STR_02DE_MAP_OF_WORLD, 4, 0); |
766 } |
769 } |
767 |
770 |
768 static void ToolbarTownClick(Window *w) |
771 static void ToolbarTownClick(Window *w) |
769 { |
772 { |
770 PopupMainToolbMenu(w, 5, STR_02BB_TOWN_DIRECTORY, 1, 0); |
773 PopupMainToolbMenu(w, 5, STR_02BB_TOWN_DIRECTORY, 1, 0); |
959 if (_display_opt & DO_SHOW_STATION_NAMES) SETBIT(x, 6); |
962 if (_display_opt & DO_SHOW_STATION_NAMES) SETBIT(x, 6); |
960 if (_display_opt & DO_SHOW_SIGNS) SETBIT(x, 7); |
963 if (_display_opt & DO_SHOW_SIGNS) SETBIT(x, 7); |
961 if (_display_opt & DO_WAYPOINTS) SETBIT(x, 8); |
964 if (_display_opt & DO_WAYPOINTS) SETBIT(x, 8); |
962 if (_display_opt & DO_FULL_ANIMATION) SETBIT(x, 9); |
965 if (_display_opt & DO_FULL_ANIMATION) SETBIT(x, 9); |
963 if (_display_opt & DO_FULL_DETAIL) SETBIT(x, 10); |
966 if (_display_opt & DO_FULL_DETAIL) SETBIT(x, 10); |
964 if (_display_opt & DO_TRANS_BUILDINGS) SETBIT(x, 11); |
967 if (HASBIT(_transparent_opt, TO_BUILDINGS)) SETBIT(x, 11); |
965 if (_display_opt & DO_TRANS_SIGNS) SETBIT(x, 12); |
968 if (HASBIT(_transparent_opt, TO_SIGNS)) SETBIT(x, 12); |
966 WP(w,menu_d).checked_items = x; |
969 WP(w,menu_d).checked_items = x; |
967 } |
970 } |
968 |
971 |
969 |
972 |
970 static void ToolbarScenSaveOrLoad(Window *w) |
973 static void ToolbarScenSaveOrLoad(Window *w) |
999 } |
1002 } |
1000 |
1003 |
1001 static void ToolbarScenMapTownDir(Window *w) |
1004 static void ToolbarScenMapTownDir(Window *w) |
1002 { |
1005 { |
1003 /* Scenario editor button, *hack*hack* use different button to activate */ |
1006 /* Scenario editor button, *hack*hack* use different button to activate */ |
1004 PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 4, 0); |
1007 PopupMainToolbMenu(w, 8 | (17 << 8), STR_02DE_MAP_OF_WORLD, 5, 0); |
1005 } |
1008 } |
1006 |
1009 |
1007 static void ToolbarScenZoomIn(Window *w) |
1010 static void ToolbarScenZoomIn(Window *w) |
1008 { |
1011 { |
1009 if (DoZoomInOutWindow(ZOOM_IN, FindWindowById(WC_MAIN_WINDOW, 0))) { |
1012 if (DoZoomInOutWindow(ZOOM_IN, FindWindowById(WC_MAIN_WINDOW, 0))) { |
2328 case '2' | WKC_ALT: // Update the coordinates of all station signs |
2331 case '2' | WKC_ALT: // Update the coordinates of all station signs |
2329 UpdateAllStationVirtCoord(); |
2332 UpdateAllStationVirtCoord(); |
2330 break; |
2333 break; |
2331 #endif |
2334 #endif |
2332 |
2335 |
2333 case 'X': |
2336 case '1' | WKC_CTRL: |
2334 _display_opt ^= DO_TRANS_BUILDINGS; |
2337 case '2' | WKC_CTRL: |
|
2338 case '3' | WKC_CTRL: |
|
2339 case '4' | WKC_CTRL: |
|
2340 case '5' | WKC_CTRL: |
|
2341 case '6' | WKC_CTRL: |
|
2342 case '7' | WKC_CTRL: |
|
2343 /* Transparency toggle hot keys */ |
|
2344 TOGGLEBIT(_transparent_opt, e->we.keypress.keycode - ('1' | WKC_CTRL)); |
2335 MarkWholeScreenDirty(); |
2345 MarkWholeScreenDirty(); |
2336 break; |
2346 break; |
|
2347 |
|
2348 case 'X' | WKC_CTRL: |
|
2349 ShowTransparencyToolbar(); |
|
2350 break; |
|
2351 |
|
2352 case 'X': { |
|
2353 /* Toggle all transparency options except for signs */ |
|
2354 static byte trans_opt = ~0; |
|
2355 if (GB(_transparent_opt, 1, 7) == 0) { |
|
2356 SB(_transparent_opt, 1, 7, GB(trans_opt, 1, 7)); |
|
2357 } else { |
|
2358 trans_opt = _transparent_opt; |
|
2359 SB(_transparent_opt, 1, 7, 0); |
|
2360 } |
|
2361 MarkWholeScreenDirty(); |
|
2362 break; |
|
2363 } |
2337 |
2364 |
2338 #ifdef ENABLE_NETWORK |
2365 #ifdef ENABLE_NETWORK |
2339 case WKC_RETURN: case 'T': // smart chat; send to team if any, otherwise to all |
2366 case WKC_RETURN: case 'T': // smart chat; send to team if any, otherwise to all |
2340 if (_networking) { |
2367 if (_networking) { |
2341 const NetworkClientInfo *cio = NetworkFindClientInfoFromIndex(_network_own_client_index); |
2368 const NetworkClientInfo *cio = NetworkFindClientInfoFromIndex(_network_own_client_index); |