2014-11-05 19:50:51 +01:00
|
|
|
/*****************************************************************************
|
2019-03-17 08:16:15 +01:00
|
|
|
* Copyright (c) 2014-2019 OpenRCT2 developers
|
2015-10-20 20:16:30 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* For a complete list of all authors, please refer to contributors.md
|
|
|
|
* Interested in contributing? Visit https://github.com/OpenRCT2/OpenRCT2
|
2015-10-20 20:16:30 +02:00
|
|
|
*
|
2018-06-15 14:07:34 +02:00
|
|
|
* OpenRCT2 is licensed under the GNU General Public License version 3.
|
2014-11-05 19:50:51 +01:00
|
|
|
*****************************************************************************/
|
|
|
|
|
2018-06-22 23:20:31 +02:00
|
|
|
#include "KeyboardShortcuts.h"
|
|
|
|
|
2018-11-21 23:16:04 +01:00
|
|
|
#include <iterator>
|
2018-06-22 23:20:31 +02:00
|
|
|
#include <openrct2-ui/interface/Viewport.h>
|
|
|
|
#include <openrct2-ui/interface/Widget.h>
|
|
|
|
#include <openrct2-ui/interface/Window.h>
|
2017-10-10 10:52:48 +02:00
|
|
|
#include <openrct2/Context.h>
|
|
|
|
#include <openrct2/Editor.h>
|
2018-06-22 23:20:31 +02:00
|
|
|
#include <openrct2/Game.h>
|
|
|
|
#include <openrct2/Input.h>
|
2017-10-10 10:52:48 +02:00
|
|
|
#include <openrct2/OpenRCT2.h>
|
2019-02-21 10:34:30 +01:00
|
|
|
#include <openrct2/actions/LoadOrQuitAction.hpp>
|
2017-06-11 13:30:00 +02:00
|
|
|
#include <openrct2/audio/audio.h>
|
|
|
|
#include <openrct2/config/Config.h>
|
2018-01-06 00:00:39 +01:00
|
|
|
#include <openrct2/interface/Chat.h>
|
2018-06-22 23:20:31 +02:00
|
|
|
#include <openrct2/interface/Screenshot.h>
|
2018-01-06 18:32:25 +01:00
|
|
|
#include <openrct2/localisation/Localisation.h>
|
2017-06-11 13:30:00 +02:00
|
|
|
#include <openrct2/network/network.h>
|
|
|
|
#include <openrct2/platform/platform.h>
|
2017-10-17 13:51:47 +02:00
|
|
|
#include <openrct2/ride/Track.h>
|
2018-01-10 00:00:09 +01:00
|
|
|
#include <openrct2/ride/TrackPaint.h>
|
2018-03-19 23:28:40 +01:00
|
|
|
#include <openrct2/scenario/Scenario.h>
|
2017-06-11 13:30:00 +02:00
|
|
|
#include <openrct2/title/TitleScreen.h>
|
2017-12-13 13:02:24 +01:00
|
|
|
#include <openrct2/util/Util.h>
|
2017-10-19 10:01:05 +02:00
|
|
|
#include <openrct2/windows/Intent.h>
|
2018-03-19 23:28:40 +01:00
|
|
|
#include <openrct2/world/Park.h>
|
2019-03-24 22:45:42 +01:00
|
|
|
#include <openrct2/world/Scenery.h>
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2020-02-13 21:24:37 +01:00
|
|
|
extern bool gWindowSceneryEyedropperEnabled;
|
|
|
|
|
2018-06-20 17:28:51 +02:00
|
|
|
uint8_t gKeyboardShortcutChangeId;
|
2016-09-05 22:04:22 +02:00
|
|
|
|
2018-02-14 09:42:26 +01:00
|
|
|
using shortcut_action = void (*)();
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
namespace
|
|
|
|
{
|
2017-10-11 10:42:57 +02:00
|
|
|
extern const shortcut_action shortcut_table[SHORTCUT_COUNT];
|
2017-10-10 10:51:03 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
|
|
|
|
/**
|
2015-10-20 20:16:30 +02:00
|
|
|
*
|
2014-11-05 19:50:51 +01:00
|
|
|
* rct2: 0x006E3E68
|
|
|
|
*/
|
2018-06-20 17:28:51 +02:00
|
|
|
void keyboard_shortcut_handle(int32_t key)
|
2014-11-05 19:50:51 +01:00
|
|
|
{
|
2018-06-20 17:28:51 +02:00
|
|
|
int32_t shortcut = keyboard_shortcuts_get_from_key(key);
|
2017-10-10 10:52:48 +02:00
|
|
|
if (shortcut != -1)
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
keyboard_shortcut_handle_command(shortcut);
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2018-06-20 17:28:51 +02:00
|
|
|
void keyboard_shortcut_handle_command(int32_t shortcutIndex)
|
2014-11-05 19:50:51 +01:00
|
|
|
{
|
2018-11-21 23:16:04 +01:00
|
|
|
if (shortcutIndex >= 0 && static_cast<uint32_t>(shortcutIndex) < std::size(shortcut_table))
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
shortcut_action action = shortcut_table[shortcutIndex];
|
2018-01-04 06:58:44 +01:00
|
|
|
if (action != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
action();
|
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#pragma region Shortcut Commands
|
|
|
|
|
2018-06-20 17:28:51 +02:00
|
|
|
static void toggle_view_flag(int32_t viewportFlag)
|
2014-11-05 19:50:51 +01:00
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window = window_get_main();
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window->viewport->flags ^= viewportFlag;
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_close_top_most_window()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_close_top();
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_close_all_floating_windows()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR))
|
|
|
|
window_close_all();
|
|
|
|
else if (gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
window_close_top();
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_cancel_construction_mode()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_ERROR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-06-06 23:24:18 +02:00
|
|
|
window_close(window);
|
|
|
|
else if (input_test_flag(INPUT_FLAG_TOOL_ACTIVE))
|
|
|
|
tool_cancel();
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_pause_game()
|
|
|
|
{
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_TOP_TOOLBAR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PAUSE);
|
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_zoom_view_out()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
main_window_zoom(false, false);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_zoom_view_in()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
main_window_zoom(true, false);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2015-07-09 14:50:33 +02:00
|
|
|
static void shortcut_rotate_view_clockwise()
|
2014-11-05 19:50:51 +01:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* w = window_get_main();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_rotate_camera(w, 1);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2015-07-09 14:50:33 +02:00
|
|
|
static void shortcut_rotate_view_anticlockwise()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* w = window_get_main();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_rotate_camera(w, -1);
|
2015-07-09 14:50:33 +02:00
|
|
|
}
|
|
|
|
|
2014-11-05 19:50:51 +01:00
|
|
|
static void shortcut_rotate_construction_object()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
|
|
|
|
|
|
|
// Rotate scenery
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* w = window_find_by_class(WC_SCENERY);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON)
|
|
|
|
&& w->widgets[WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON].type != WWT_EMPTY)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(w, WC_SCENERY__WIDX_SCENERY_ROTATE_OBJECTS_BUTTON);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Rotate construction track piece
|
|
|
|
w = window_find_by_class(WC_RIDE_CONSTRUCTION);
|
2018-06-22 23:20:31 +02:00
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE)
|
|
|
|
&& w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].type != WWT_EMPTY)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
// Check if building a maze...
|
2017-10-10 10:52:48 +02:00
|
|
|
if (w->widgets[WC_RIDE_CONSTRUCTION__WIDX_ROTATE].tooltip != STR_RIDE_CONSTRUCTION_BUILD_MAZE_IN_THIS_DIRECTION_TIP)
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(w, WC_RIDE_CONSTRUCTION__WIDX_ROTATE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Rotate track design preview
|
|
|
|
w = window_find_by_class(WC_TRACK_DESIGN_LIST);
|
2018-06-22 23:20:31 +02:00
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE)
|
|
|
|
&& w->widgets[WC_TRACK_DESIGN_LIST__WIDX_ROTATE].type != WWT_EMPTY)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(w, WC_TRACK_DESIGN_LIST__WIDX_ROTATE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Rotate track design placement
|
|
|
|
w = window_find_by_class(WC_TRACK_DESIGN_PLACE);
|
2018-06-22 23:20:31 +02:00
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE)
|
|
|
|
&& w->widgets[WC_TRACK_DESIGN_PLACE__WIDX_ROTATE].type != WWT_EMPTY)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(w, WC_TRACK_DESIGN_PLACE__WIDX_ROTATE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// Rotate park entrance
|
|
|
|
w = window_find_by_class(WC_MAP);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_MAP__WIDX_ROTATE_90) && w->widgets[WC_MAP__WIDX_ROTATE_90].type != WWT_EMPTY)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(w, WC_MAP__WIDX_ROTATE_90);
|
|
|
|
return;
|
|
|
|
}
|
2019-12-31 09:34:38 +01:00
|
|
|
|
|
|
|
// Rotate selected element in tile inspector
|
|
|
|
w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_ROTATE);
|
|
|
|
return;
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_underground_view_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_UNDERGROUND_INSIDE);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_remove_base_land_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_HIDE_BASE);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_remove_vertical_land_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_HIDE_VERTICAL);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2015-06-26 17:01:50 +02:00
|
|
|
static void shortcut_remove_top_bottom_toolbar_toggle()
|
|
|
|
{
|
2017-10-10 10:52:48 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
{
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window_find_by_class(WC_TITLE_LOGO) != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_close(window_find_by_class(WC_TITLE_LOGO));
|
|
|
|
window_close(window_find_by_class(WC_TITLE_OPTIONS));
|
|
|
|
window_close(window_find_by_class(WC_TITLE_MENU));
|
|
|
|
window_close(window_find_by_class(WC_TITLE_EXIT));
|
2017-07-23 00:42:14 +02:00
|
|
|
title_set_hide_version_info(true);
|
2017-10-10 10:52:48 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
title_create_windows();
|
|
|
|
}
|
2017-10-10 10:52:48 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window_find_by_class(WC_TOP_TOOLBAR) != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_close(window_find_by_class(WC_DROPDOWN));
|
|
|
|
window_close(window_find_by_class(WC_TOP_TOOLBAR));
|
|
|
|
window_close(window_find_by_class(WC_BOTTOM_TOOLBAR));
|
2017-10-10 10:52:48 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
if (gScreenFlags == 0)
|
|
|
|
{
|
2017-11-11 02:57:45 +01:00
|
|
|
context_open_window(WC_TOP_TOOLBAR);
|
2017-11-15 02:11:25 +01:00
|
|
|
context_open_window(WC_BOTTOM_TOOLBAR);
|
2017-10-10 10:52:48 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2017-11-11 02:57:45 +01:00
|
|
|
context_open_window(WC_TOP_TOOLBAR);
|
2017-11-15 02:29:34 +01:00
|
|
|
context_open_window_view(WV_EDITOR_BOTTOM_TOOLBAR);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gfx_invalidate_screen();
|
2015-06-26 17:01:50 +02:00
|
|
|
}
|
|
|
|
|
2014-11-05 19:50:51 +01:00
|
|
|
static void shortcut_see_through_rides_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_RIDES);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_see_through_scenery_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_SCENERY);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2016-08-15 06:25:02 +02:00
|
|
|
static void shortcut_see_through_paths_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_SEETHROUGH_PATHS);
|
2016-08-15 06:25:02 +02:00
|
|
|
}
|
|
|
|
|
2014-11-05 19:50:51 +01:00
|
|
|
static void shortcut_invisible_supports_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_INVISIBLE_SUPPORTS);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_invisible_people_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_INVISIBLE_PEEPS);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2017-11-22 13:02:23 +01:00
|
|
|
static void shortcut_gridlines_toggle()
|
|
|
|
{
|
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
|
|
|
|
|
|
|
toggle_view_flag(VIEWPORT_FLAG_GRIDLINES);
|
|
|
|
}
|
|
|
|
|
2014-11-05 19:50:51 +01:00
|
|
|
static void shortcut_height_marks_on_land_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_LAND_HEIGHTS);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_height_marks_on_ride_tracks_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_TRACK_HEIGHTS);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_height_marks_on_paths_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
toggle_view_flag(VIEWPORT_FLAG_PATH_HEIGHTS);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_adjust_land()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
{
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_TOP_TOOLBAR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_LAND);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_adjust_water()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
{
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_TOP_TOOLBAR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_WATER);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_build_scenery()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
{
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_TOP_TOOLBAR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_SCENERY);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_build_paths()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
{
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_TOP_TOOLBAR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-06-06 23:24:18 +02:00
|
|
|
window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_PATH);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_build_new_ride()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR))
|
|
|
|
{
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2017-10-07 01:28:00 +02:00
|
|
|
context_open_window(WC_CONSTRUCT_RIDE);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_financial_information()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
if (!(gParkFlags & PARK_FLAGS_NO_MONEY))
|
2017-09-05 20:55:18 +02:00
|
|
|
context_open_window(WC_FINANCES);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_research_information()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2019-03-20 20:58:08 +01:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-10-07 01:28:00 +02:00
|
|
|
context_open_window_view(WV_RIDE_RESEARCH);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_rides_list()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2019-03-20 20:58:08 +01:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-10-08 22:15:41 +02:00
|
|
|
context_open_window(WC_RIDE_LIST);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_park_information()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2019-03-20 20:58:08 +01:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-09-05 20:55:18 +02:00
|
|
|
context_open_window(WC_PARK_INFORMATION);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_guest_list()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2019-03-20 20:58:08 +01:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-09-10 11:02:16 +02:00
|
|
|
context_open_window(WC_GUEST_LIST);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_staff_list()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2014-11-05 19:50:51 +01:00
|
|
|
|
2019-03-20 20:58:08 +01:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-08-12 23:06:12 +02:00
|
|
|
context_open_window(WC_STAFF_LIST);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_recent_messages()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2019-03-20 20:58:08 +01:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_EDITOR))
|
2017-08-06 05:22:00 +02:00
|
|
|
context_open_window(WC_RECENT_NEWS);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_show_map()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
2017-10-06 23:03:48 +02:00
|
|
|
context_open_window(WC_MAP);
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_screenshot()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
gScreenshotCountdown = 2;
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_reduce_game_speed()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
if (network_get_mode() == NETWORK_MODE_NONE)
|
|
|
|
game_reduce_game_speed();
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_increase_game_speed()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
if (network_get_mode() == NETWORK_MODE_NONE)
|
|
|
|
game_increase_game_speed();
|
2014-11-05 19:50:51 +01:00
|
|
|
}
|
|
|
|
|
2014-11-24 17:38:19 +01:00
|
|
|
static void shortcut_open_cheat_window()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags != SCREEN_FLAGS_PLAYING)
|
|
|
|
return;
|
2014-12-09 20:55:17 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
// Check if window is already open
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_CHEATS);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_close(window);
|
|
|
|
return;
|
|
|
|
}
|
2017-08-06 05:22:00 +02:00
|
|
|
context_open_window(WC_CHEATS);
|
2014-11-24 17:38:19 +01:00
|
|
|
}
|
|
|
|
|
2017-07-10 18:49:36 +02:00
|
|
|
static void shortcut_clear_scenery()
|
|
|
|
{
|
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-10-10 10:52:48 +02:00
|
|
|
|
|
|
|
if (!(gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR) || gS6Info.editor_step == EDITOR_STEP_LANDSCAPE_EDITOR)
|
|
|
|
{
|
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_TOP_TOOLBAR);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window->Invalidate();
|
2017-07-10 18:49:36 +02:00
|
|
|
window_event_mouse_up_call(window, WC_TOP_TOOLBAR__WIDX_CLEAR_SCENERY);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2015-02-12 17:23:49 +01:00
|
|
|
static void shortcut_open_chat_window()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2016-09-25 01:09:55 +02:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
chat_toggle();
|
2015-02-12 17:23:49 +01:00
|
|
|
}
|
|
|
|
|
2015-08-20 12:13:08 +02:00
|
|
|
static void shortcut_quick_save_game()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
// Do a quick save in playing mode and a regular save in Scenario Editor mode. In other cases, don't do anything.
|
2017-10-10 10:52:48 +02:00
|
|
|
if (gScreenFlags == SCREEN_FLAGS_PLAYING)
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
tool_cancel();
|
|
|
|
save_game();
|
|
|
|
}
|
2017-10-10 10:52:48 +02:00
|
|
|
else if (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR)
|
|
|
|
{
|
2018-02-05 22:59:44 +01:00
|
|
|
auto intent = Intent(WC_LOADSAVE);
|
|
|
|
intent.putExtra(INTENT_EXTRA_LOADSAVE_TYPE, LOADSAVETYPE_SAVE | LOADSAVETYPE_LANDSCAPE);
|
2018-06-22 23:20:31 +02:00
|
|
|
intent.putExtra(INTENT_EXTRA_PATH, std::string{ gS6Info.name });
|
2018-02-05 22:59:44 +01:00
|
|
|
context_open_intent(&intent);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2015-08-20 12:13:08 +02:00
|
|
|
}
|
|
|
|
|
2016-01-23 15:15:48 +01:00
|
|
|
static void shortcut_show_options()
|
|
|
|
{
|
2017-08-06 05:22:00 +02:00
|
|
|
context_open_window(WC_OPTIONS);
|
2016-01-23 15:15:48 +01:00
|
|
|
}
|
|
|
|
|
2016-03-05 00:43:38 +01:00
|
|
|
static void shortcut_mute_sound()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
audio_toggle_all_sounds();
|
2016-03-05 00:43:38 +01:00
|
|
|
}
|
|
|
|
|
2016-05-03 21:07:33 +02:00
|
|
|
static void shortcut_windowed_mode_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
platform_toggle_windowed_mode();
|
2016-05-03 21:07:33 +02:00
|
|
|
}
|
|
|
|
|
2016-05-06 22:14:49 +02:00
|
|
|
static void shortcut_show_multiplayer()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (network_get_mode() != NETWORK_MODE_NONE)
|
2017-08-06 05:22:00 +02:00
|
|
|
context_open_window(WC_MULTIPLAYER);
|
2016-05-06 22:14:49 +02:00
|
|
|
}
|
|
|
|
|
2016-07-25 23:49:39 +02:00
|
|
|
static void shortcut_debug_paint_toggle()
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
rct_window* window = window_find_by_class(WC_DEBUG_PAINT);
|
2018-01-04 06:58:44 +01:00
|
|
|
if (window != nullptr)
|
2017-10-10 10:52:48 +02:00
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
window_close(window);
|
2017-10-10 10:52:48 +02:00
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
2017-08-06 05:22:00 +02:00
|
|
|
context_open_window(WC_DEBUG_PAINT);
|
2017-06-06 23:24:18 +02:00
|
|
|
}
|
2016-07-25 23:49:39 +02:00
|
|
|
}
|
|
|
|
|
2017-03-03 09:35:42 +01:00
|
|
|
static void shortcut_ride_construction_turn_left()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_turn_left();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_turn_right()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_turn_right();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_use_track_default()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_use_track_default();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_slope_down()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_slope_down();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_slope_up()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_slope_up();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_chain_lift_toggle()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_chain_lift_toggle();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_bank_left()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_bank_left();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_bank_right()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_bank_right();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_previous_track()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_previous_track();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_next_track()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_next_track();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_build_current()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_build_current();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_ride_construction_demolish_current()
|
|
|
|
{
|
2017-06-06 23:24:18 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
2017-03-03 09:35:42 +01:00
|
|
|
|
2017-06-06 23:24:18 +02:00
|
|
|
window_ride_construction_keyboard_shortcut_demolish_current();
|
2017-03-03 09:35:42 +01:00
|
|
|
}
|
|
|
|
|
2017-06-18 19:32:12 +02:00
|
|
|
static void shortcut_load_game()
|
|
|
|
{
|
2017-10-10 10:52:48 +02:00
|
|
|
if (!(gScreenFlags & (SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER)))
|
|
|
|
{
|
2019-02-21 10:34:30 +01:00
|
|
|
auto loadOrQuitAction = LoadOrQuitAction(LoadOrQuitModes::OpenSavePrompt);
|
|
|
|
GameActions::Execute(&loadOrQuitAction);
|
2017-06-18 19:32:12 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-03-23 10:37:13 +01:00
|
|
|
static void shortcut_view_clipping()
|
|
|
|
{
|
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
|
|
|
|
|
|
|
context_open_window(WC_VIEW_CLIPPING);
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_highlight_path_issues_toggle()
|
|
|
|
{
|
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
|
|
|
|
return;
|
|
|
|
|
|
|
|
toggle_view_flag(VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES);
|
|
|
|
}
|
|
|
|
|
2018-09-15 08:57:50 +02:00
|
|
|
static void shortcut_open_tile_inspector()
|
|
|
|
{
|
2019-07-28 16:55:11 +02:00
|
|
|
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO || !gConfigInterface.toolbar_show_cheats)
|
2018-09-15 08:57:50 +02:00
|
|
|
return;
|
|
|
|
|
|
|
|
context_open_window(WC_TILE_INSPECTOR);
|
|
|
|
}
|
|
|
|
|
2018-09-23 23:40:47 +02:00
|
|
|
static void shortcut_advance_to_next_tick()
|
|
|
|
{
|
|
|
|
if (gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_SCENARIO_EDITOR | SCREEN_FLAGS_TRACK_MANAGER))
|
|
|
|
return;
|
|
|
|
|
|
|
|
gDoSingleUpdate = true;
|
|
|
|
}
|
|
|
|
|
2019-03-24 22:45:42 +01:00
|
|
|
static void shortcut_open_scenery_picker()
|
|
|
|
{
|
|
|
|
if ((gScreenFlags & (SCREEN_FLAGS_TITLE_DEMO | SCREEN_FLAGS_TRACK_DESIGNER | SCREEN_FLAGS_TRACK_MANAGER))
|
|
|
|
|| (gScreenFlags & SCREEN_FLAGS_SCENARIO_EDITOR && gS6Info.editor_step != EDITOR_STEP_LANDSCAPE_EDITOR))
|
|
|
|
return;
|
|
|
|
|
|
|
|
rct_window* window_scenery = window_find_by_class(WC_SCENERY);
|
|
|
|
if (window_scenery == nullptr)
|
|
|
|
{
|
|
|
|
rct_window* window_toolbar = window_find_by_class(WC_TOP_TOOLBAR);
|
|
|
|
if (window_toolbar != nullptr)
|
|
|
|
{
|
2019-06-15 17:20:16 +02:00
|
|
|
window_toolbar->Invalidate();
|
2019-03-24 22:45:42 +01:00
|
|
|
window_event_mouse_up_call(window_toolbar, WC_TOP_TOOLBAR__WIDX_SCENERY);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
window_scenery = window_find_by_class(WC_SCENERY);
|
|
|
|
if (window_scenery != nullptr && !widget_is_disabled(window_scenery, WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON)
|
|
|
|
&& window_scenery->widgets[WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON].type != WWT_EMPTY
|
|
|
|
&& !gWindowSceneryEyedropperEnabled)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(window_scenery, WC_SCENERY__WIDX_SCENERY_EYEDROPPER_BUTTON);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-12-13 17:31:23 +01:00
|
|
|
static void shortcut_scale_up()
|
|
|
|
{
|
|
|
|
gConfigGeneral.window_scale += 0.25f;
|
|
|
|
config_save_default();
|
|
|
|
gfx_invalidate_screen();
|
|
|
|
context_trigger_resize();
|
|
|
|
context_update_cursor_scale();
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_scale_down()
|
|
|
|
{
|
|
|
|
gConfigGeneral.window_scale -= 0.25f;
|
|
|
|
gConfigGeneral.window_scale = std::max(0.5f, gConfigGeneral.window_scale);
|
|
|
|
config_save_default();
|
|
|
|
gfx_invalidate_screen();
|
|
|
|
context_trigger_resize();
|
|
|
|
context_update_cursor_scale();
|
|
|
|
}
|
|
|
|
|
2019-12-31 09:34:38 +01:00
|
|
|
// Tile inspector shortcuts
|
|
|
|
static void shortcut_insert_corrupt_element()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_CORRUPT);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_copy_element()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_COPY)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_COPY].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_COPY);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_paste_element()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_PASTE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_remove_element()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_REMOVE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_move_element_up()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_UP);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_move_element_down()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_up_call(w, WC_TILE_INSPECTOR__WIDX_BUTTON_MOVE_DOWN);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_increase_x_coord()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_INCREASE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_decrease_x_coord()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_X_DECREASE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_increase_y_coord()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_INCREASE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_decrease_y_coord()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr && !widget_is_disabled(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE)
|
|
|
|
&& w->widgets[WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE].type != WWT_EMPTY)
|
|
|
|
{
|
|
|
|
window_event_mouse_down_call(w, WC_TILE_INSPECTOR__WIDX_SPINNER_Y_DECREASE);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_increase_element_height()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr)
|
|
|
|
{
|
|
|
|
int action = -1;
|
|
|
|
switch (w->page)
|
|
|
|
{
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_SURFACE:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_SURFACE_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_PATH:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_PATH_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_TRACK:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_TRACK_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_SCENERY:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_SCENERY_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_ENTRANCE:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_ENTRANCE_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_WALL:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_WALL_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_LARGE_SCENERY:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_LARGE_SCENERY_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_BANNER:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_BANNER_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_CORRUPT:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_CORRUPT_SPINNER_HEIGHT_INCREASE;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (action != -1 && !widget_is_disabled(w, action) && w->widgets[action].type != WWT_EMPTY)
|
|
|
|
window_event_mouse_down_call(w, action);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
static void shortcut_decrease_element_height()
|
|
|
|
{
|
|
|
|
rct_window* w = window_find_by_class(WC_TILE_INSPECTOR);
|
|
|
|
if (w != nullptr)
|
|
|
|
{
|
|
|
|
int action = -1;
|
|
|
|
switch (w->page)
|
|
|
|
{
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_SURFACE:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_SURFACE_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_PATH:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_PATH_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_TRACK:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_TRACK_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_SCENERY:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_SCENERY_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_ENTRANCE:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_ENTRANCE_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_WALL:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_WALL_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_LARGE_SCENERY:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_LARGE_SCENERY_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_BANNER:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_BANNER_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
case WC_TILE_INSPECTOR__TILE_INSPECTOR_PAGE_CORRUPT:
|
|
|
|
action = WC_TILE_INSPECTOR__WIDX_CORRUPT_SPINNER_HEIGHT_DECREASE;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (action != -1 && !widget_is_disabled(w, action) && w->widgets[action].type != WWT_EMPTY)
|
|
|
|
window_event_mouse_down_call(w, action);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2017-10-10 10:52:48 +02:00
|
|
|
namespace
|
|
|
|
{
|
2018-06-22 23:20:31 +02:00
|
|
|
const shortcut_action shortcut_table[SHORTCUT_COUNT] = {
|
2017-10-11 10:42:57 +02:00
|
|
|
shortcut_close_top_most_window,
|
|
|
|
shortcut_close_all_floating_windows,
|
|
|
|
shortcut_cancel_construction_mode,
|
|
|
|
shortcut_pause_game,
|
|
|
|
shortcut_zoom_view_out,
|
|
|
|
shortcut_zoom_view_in,
|
|
|
|
shortcut_rotate_view_clockwise,
|
|
|
|
shortcut_rotate_view_anticlockwise,
|
|
|
|
shortcut_rotate_construction_object,
|
|
|
|
shortcut_underground_view_toggle,
|
|
|
|
shortcut_remove_base_land_toggle,
|
|
|
|
shortcut_remove_vertical_land_toggle,
|
|
|
|
shortcut_see_through_rides_toggle,
|
|
|
|
shortcut_see_through_scenery_toggle,
|
|
|
|
shortcut_invisible_supports_toggle,
|
|
|
|
shortcut_invisible_people_toggle,
|
|
|
|
shortcut_height_marks_on_land_toggle,
|
|
|
|
shortcut_height_marks_on_ride_tracks_toggle,
|
|
|
|
shortcut_height_marks_on_paths_toggle,
|
|
|
|
shortcut_adjust_land,
|
|
|
|
shortcut_adjust_water,
|
|
|
|
shortcut_build_scenery,
|
|
|
|
shortcut_build_paths,
|
|
|
|
shortcut_build_new_ride,
|
|
|
|
shortcut_show_financial_information,
|
|
|
|
shortcut_show_research_information,
|
|
|
|
shortcut_show_rides_list,
|
|
|
|
shortcut_show_park_information,
|
|
|
|
shortcut_show_guest_list,
|
|
|
|
shortcut_show_staff_list,
|
|
|
|
shortcut_show_recent_messages,
|
|
|
|
shortcut_show_map,
|
|
|
|
shortcut_screenshot,
|
|
|
|
|
|
|
|
// new
|
|
|
|
shortcut_reduce_game_speed,
|
|
|
|
shortcut_increase_game_speed,
|
|
|
|
shortcut_open_cheat_window,
|
|
|
|
shortcut_remove_top_bottom_toolbar_toggle,
|
2018-01-04 06:58:44 +01:00
|
|
|
nullptr,
|
|
|
|
nullptr,
|
|
|
|
nullptr,
|
|
|
|
nullptr,
|
2017-10-11 10:42:57 +02:00
|
|
|
shortcut_open_chat_window,
|
|
|
|
shortcut_quick_save_game,
|
|
|
|
shortcut_show_options,
|
|
|
|
shortcut_mute_sound,
|
|
|
|
shortcut_windowed_mode_toggle,
|
|
|
|
shortcut_show_multiplayer,
|
2018-06-07 20:00:48 +02:00
|
|
|
nullptr,
|
2017-10-11 10:42:57 +02:00
|
|
|
shortcut_debug_paint_toggle,
|
|
|
|
shortcut_see_through_paths_toggle,
|
|
|
|
shortcut_ride_construction_turn_left,
|
|
|
|
shortcut_ride_construction_turn_right,
|
|
|
|
shortcut_ride_construction_use_track_default,
|
|
|
|
shortcut_ride_construction_slope_down,
|
|
|
|
shortcut_ride_construction_slope_up,
|
|
|
|
shortcut_ride_construction_chain_lift_toggle,
|
|
|
|
shortcut_ride_construction_bank_left,
|
|
|
|
shortcut_ride_construction_bank_right,
|
|
|
|
shortcut_ride_construction_previous_track,
|
|
|
|
shortcut_ride_construction_next_track,
|
|
|
|
shortcut_ride_construction_build_current,
|
|
|
|
shortcut_ride_construction_demolish_current,
|
|
|
|
shortcut_load_game,
|
|
|
|
shortcut_clear_scenery,
|
2017-11-22 13:02:23 +01:00
|
|
|
shortcut_gridlines_toggle,
|
2018-03-23 10:37:13 +01:00
|
|
|
shortcut_view_clipping,
|
|
|
|
shortcut_highlight_path_issues_toggle,
|
2018-09-15 08:57:50 +02:00
|
|
|
shortcut_open_tile_inspector,
|
2018-09-23 23:40:47 +02:00
|
|
|
shortcut_advance_to_next_tick,
|
2019-03-24 22:45:42 +01:00
|
|
|
shortcut_open_scenery_picker,
|
2019-12-13 17:31:23 +01:00
|
|
|
shortcut_scale_up,
|
|
|
|
shortcut_scale_down,
|
2019-12-31 09:34:38 +01:00
|
|
|
shortcut_insert_corrupt_element,
|
|
|
|
shortcut_copy_element,
|
|
|
|
shortcut_paste_element,
|
|
|
|
shortcut_remove_element,
|
|
|
|
shortcut_move_element_up,
|
|
|
|
shortcut_move_element_down,
|
|
|
|
shortcut_increase_x_coord,
|
|
|
|
shortcut_decrease_x_coord,
|
|
|
|
shortcut_increase_y_coord,
|
|
|
|
shortcut_decrease_y_coord,
|
|
|
|
shortcut_increase_element_height,
|
|
|
|
shortcut_decrease_element_height,
|
2017-10-11 10:42:57 +02:00
|
|
|
};
|
2018-05-04 22:40:09 +02:00
|
|
|
} // anonymous namespace
|
2014-11-05 19:50:51 +01:00
|
|
|
|
|
|
|
#pragma endregion
|