From b4f8d3b7530710b65304c2d0fa7b0a00f635e0cd Mon Sep 17 00:00:00 2001 From: IntelOrca Date: Sun, 28 Jun 2015 13:57:50 +0100 Subject: [PATCH] add new shortcuts to shortcut window and fix bottom toolbar hiding in editor --- data/language/english_uk.txt | 4 +++ src/interface/keyboard_shortcut.c | 19 ++++++++----- src/localisation/string_ids.h | 39 +++++++++++++++++++++++++-- src/windows/shortcut_keys.c | 45 ++++++++++++++++++++++++++++--- 4 files changed, 95 insertions(+), 12 deletions(-) diff --git a/data/language/english_uk.txt b/data/language/english_uk.txt index 1c737b38e7..d15853dbb3 100644 --- a/data/language/english_uk.txt +++ b/data/language/english_uk.txt @@ -3782,3 +3782,7 @@ STR_5445 :Speed STR_5446 :Get STR_5447 :Type {STRINGID} STR_5448 :Ride / Vehicle {STRINGID} +STR_5449 :Reduce game speed +STR_5450 :Increase game speed +STR_5451 :Open cheats window +STR_5452 :Toggle visibility of toolbars diff --git a/src/interface/keyboard_shortcut.c b/src/interface/keyboard_shortcut.c index be2e210dcc..d0382709c7 100644 --- a/src/interface/keyboard_shortcut.c +++ b/src/interface/keyboard_shortcut.c @@ -230,15 +230,20 @@ static void shortcut_remove_vertical_land_toggle() static void shortcut_remove_top_bottom_toolbar_toggle() { - if (window_find_by_class(WC_TOP_TOOLBAR) != NULL) - { + if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) & SCREEN_FLAGS_TITLE_DEMO) + return; + + if (window_find_by_class(WC_TOP_TOOLBAR) != NULL) { window_close(window_find_by_class(WC_TOP_TOOLBAR)); window_close(window_find_by_class(WC_BOTTOM_TOOLBAR)); - } - else - { - window_top_toolbar_open(); - window_game_bottom_toolbar_open(); + } else { + if (RCT2_GLOBAL(RCT2_ADDRESS_SCREEN_FLAGS, uint8) == 0) { + window_top_toolbar_open(); + window_game_bottom_toolbar_open(); + } else { + window_top_toolbar_open(); + window_editor_bottom_toolbar_open(); + } } } diff --git a/src/localisation/string_ids.h b/src/localisation/string_ids.h index 910ee249d1..0621ba8706 100644 --- a/src/localisation/string_ids.h +++ b/src/localisation/string_ids.h @@ -1145,9 +1145,39 @@ enum { STR_REAL_NAME_TIP = 2488, STR_HOTKEY = 2489, - STR_SHORTCUT_DESCRIPTION_0 = 2493, + STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW = 2493, + STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS = 2494, + STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE = 2495, + STR_SHORTCUT_PAUSE_GAME = 2496, + STR_SHORTCUT_ZOOM_VIEW_OUT = 2497, + STR_SHORTCUT_ZOOM_VIEW_IN = 2498, + STR_SHORTCUT_ROTATE_VIEW = 2499, + STR_SHORTCUT_ROTATE_CONSTRUCTION_OBJECT = 2500, + STR_SHORTCUT_UNDERGROUND_VIEW_TOGGLE = 2501, + STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE = 2502, + STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE = 2503, + STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE = 2504, + STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE = 2505, + STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE = 2506, + STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE = 2507, + STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE = 2508, + STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE = 2509, + STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE = 2510, + STR_SHORTCUT_ADJUST_LAND = 2511, + STR_SHORTCUT_ADJUST_WATER = 2512, + STR_SHORTCUT_BUILD_SCENERY = 2513, + STR_SHORTCUT_BUILD_PATHS = 2514, + STR_SHORTCUT_BUILD_NEW_RIDE = 2515, + STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION = 2516, + STR_SHORTCUT_SHOW_RESEARCH_INFORMATION = 2517, + STR_SHORTCUT_SHOW_RIDES_LIST = 2518, + STR_SHORTCUT_SHOW_PARK_INFORMATION = 2519, + STR_SHORTCUT_SHOW_GUEST_LIST = 2520, + STR_SHORTCUT_SHOW_STAFF_LIST = 2521, + STR_SHORTCUT_SHOW_RECENT_MESSAGES = 2522, + STR_SHORTCUT_SHOW_MAP = 2523, + STR_SHORTCUT_SCREENSHOT = 2524, - STR_SHORTCUT_DESCRIPTION_31 = 2524, STR_INDIVIDUAL_KEYS_BASE = 2525, STR_GOLF_HOLE_A = 3049, @@ -1724,6 +1754,11 @@ enum { STR_OBJECTS_SORT_TYPE = 5447, STR_OBJECTS_SORT_RIDE = 5448, + STR_SHORTCUT_REDUCE_GAME_SPEED = 5449, + STR_SHORTCUT_INCREASE_GAME_SPEED = 5450, + STR_SHORTCUT_OPEN_CHEATS_WINDOW = 5451, + STR_SHORTCUT_TOGGLE_VISIBILITY_OF_TOOLBARS = 5452, + // Have to include resource strings (from scenarios and objects) for the time being now that language is partially working STR_COUNT = 32768 }; diff --git a/src/windows/shortcut_keys.c b/src/windows/shortcut_keys.c index 24e6db0dd9..1accbd0c51 100644 --- a/src/windows/shortcut_keys.c +++ b/src/windows/shortcut_keys.c @@ -88,6 +88,45 @@ static void* window_shortcut_events[] = { window_shortcut_scrollpaint }; +const rct_string_id ShortcutStringIds[] = { + STR_SHORTCUT_CLOSE_TOP_MOST_WINDOW, + STR_SHORTCUT_CLOSE_ALL_FLOATING_WINDOWS, + STR_SHORTCUT_CANCEL_CONSTRUCTION_MODE, + STR_SHORTCUT_PAUSE_GAME, + STR_SHORTCUT_ZOOM_VIEW_OUT, + STR_SHORTCUT_ZOOM_VIEW_IN, + STR_SHORTCUT_ROTATE_VIEW, + STR_SHORTCUT_ROTATE_CONSTRUCTION_OBJECT, + STR_SHORTCUT_UNDERGROUND_VIEW_TOGGLE, + STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE, + STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE, + STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE, + STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE, + STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, + STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE, + STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE, + STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE, + STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE, + STR_SHORTCUT_ADJUST_LAND, + STR_SHORTCUT_ADJUST_WATER, + STR_SHORTCUT_BUILD_SCENERY, + STR_SHORTCUT_BUILD_PATHS, + STR_SHORTCUT_BUILD_NEW_RIDE, + STR_SHORTCUT_SHOW_FINANCIAL_INFORMATION, + STR_SHORTCUT_SHOW_RESEARCH_INFORMATION, + STR_SHORTCUT_SHOW_RIDES_LIST, + STR_SHORTCUT_SHOW_PARK_INFORMATION, + STR_SHORTCUT_SHOW_GUEST_LIST, + STR_SHORTCUT_SHOW_STAFF_LIST, + STR_SHORTCUT_SHOW_RECENT_MESSAGES, + STR_SHORTCUT_SHOW_MAP, + STR_SHORTCUT_SCREENSHOT, + STR_SHORTCUT_REDUCE_GAME_SPEED, + STR_SHORTCUT_INCREASE_GAME_SPEED, + STR_SHORTCUT_OPEN_CHEATS_WINDOW, + STR_SHORTCUT_TOGGLE_VISIBILITY_OF_TOOLBARS, +}; + /** * * rct2: 0x006E3884 @@ -106,7 +145,7 @@ void window_shortcut_keys_open() w->enabled_widgets = (1 << WIDX_CLOSE) | (1 << WIDX_RESET); window_init_scroll_widgets(w); - w->no_list_items = 32; + w->no_list_items = SHORTCUT_COUNT; w->selected_list_item = -1; } @@ -176,7 +215,7 @@ static void window_shortcut_scrollgetsize() window_get_register(w); width = 0; - height = 32 * 10; + height = w->no_list_items * 10; window_scrollsize_set_registers(width, height); } @@ -244,7 +283,7 @@ static void window_shortcut_scrollpaint() gfx_fill_rect(dpi, 0, y, 800, y + 9, 0x2000031); } - RCT2_GLOBAL(0x13CE954, uint16) = i + STR_SHORTCUT_DESCRIPTION_0; + RCT2_GLOBAL(0x13CE954, uint16) = ShortcutStringIds[i]; RCT2_GLOBAL(0x13CE956, uint16) = 0; RCT2_GLOBAL(0x13CE958, uint16) = 0;