1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-04 13:42:55 +01:00

Update shortcuts and toolbar menu

This commit is contained in:
Ted John
2022-03-06 15:04:11 +00:00
parent 61f1e13c0b
commit 52e5d48501
6 changed files with 69 additions and 73 deletions

View File

@@ -3672,6 +3672,10 @@ STR_6480 :Transparency Options
STR_6481 :Invisible Vehicles
STR_6482 :See-Through Supports
STR_6483 :Open transparency options
STR_6484 :See-through vehicles toggle
STR_6485 :See-through trees toggle
STR_6486 :Invisible guests toggle
STR_6487 :Invisible staff toggle
#############
# Scenarios #

View File

@@ -75,13 +75,16 @@ namespace OpenRCT2::Ui::ShortcutId
constexpr std::string_view ViewToggleBaseLand = "view.toggle.hide_base_land";
constexpr std::string_view ViewToggleVerticalLand = "view.toggle.hide_vertical_land";
constexpr std::string_view ViewToggleRides = "view.toggle.transparent_rides";
constexpr std::string_view ViewToggleVehicles = "view.toggle.transparent_vehicles";
constexpr std::string_view ViewToggleTrees = "view.toggle.transparent_trees";
constexpr std::string_view ViewToggleScenery = "view.toggle.transparent_scenery";
constexpr std::string_view ViewToggleFootpaths = "view.toggle.transparent_footpaths";
constexpr std::string_view ViewToggleSupports = "view.toggle.hide_supports";
constexpr std::string_view ViewTogglePeeps = "view.toggle.hide_peeps";
constexpr std::string_view ViewToggleGuests = "view.toggle.hide_guests";
constexpr std::string_view ViewToggleStaff = "view.toggle.hide_staff";
constexpr std::string_view ViewToggleLandHeightMarkers = "view.toggle.show_land_height";
constexpr std::string_view ViewToggleTrackHeightMarkers = "view.toggle.show_track_height";
constexpr std::string_view ViewToggleFootpathHeightMarkers = "view.toggle.show_footpath_height";
constexpr std::string_view ViewToggleFootpaths = "view.toggle.transparent_footpaths";
constexpr std::string_view ViewToggleGridlines = "view.toggle.show_gridlines";
constexpr std::string_view ViewToggleCutAway = "view.toggle.toggle_cut_away";
constexpr std::string_view ViewToogleFootpathIssues = "view.toggle.highlight_path_issues";

View File

@@ -370,7 +370,7 @@ std::string_view ShortcutManager::GetLegacyShortcutId(size_t index)
ShortcutId::ViewToggleRides,
ShortcutId::ViewToggleScenery,
ShortcutId::ViewToggleSupports,
ShortcutId::ViewTogglePeeps,
ShortcutId::ViewToggleGuests,
ShortcutId::ViewToggleLandHeightMarkers,
ShortcutId::ViewToggleTrackHeightMarkers,
ShortcutId::ViewToggleFootpathHeightMarkers,

View File

@@ -630,38 +630,6 @@ static void ShortcutToggleConsole()
}
}
static void ShortcutToggleInvisiblePeeps()
{
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
return;
auto w = window_get_main();
if (w != nullptr)
{
if (w->viewport->flags & VIEWPORT_FLAG_HIDE_GUESTS || w->viewport->flags & VIEWPORT_FLAG_HIDE_STAFF)
w->viewport->flags = w->viewport->flags & ~(VIEWPORT_FLAG_HIDE_GUESTS | VIEWPORT_FLAG_HIDE_STAFF);
else
w->viewport->flags |= (VIEWPORT_FLAG_HIDE_GUESTS | VIEWPORT_FLAG_HIDE_STAFF);
w->Invalidate();
}
}
static void ShortcutToggleInvisibleSupports()
{
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
return;
auto w = window_get_main();
if (w != nullptr)
{
if ((w->viewport->flags & VIEWPORT_FLAG_HIDE_SUPPORTS) || (w->viewport->flags & VIEWPORT_FLAG_INVISIBLE_SUPPORTS))
w->viewport->flags = w->viewport->flags & ~(VIEWPORT_FLAG_HIDE_SUPPORTS | VIEWPORT_FLAG_INVISIBLE_SUPPORTS);
else
w->viewport->flags |= (VIEWPORT_FLAG_HIDE_SUPPORTS | VIEWPORT_FLAG_INVISIBLE_SUPPORTS);
w->Invalidate();
}
}
static void ShortcutConstructionTurnLeft()
{
if (gScreenFlags & SCREEN_FLAGS_TITLE_DEMO)
@@ -886,10 +854,13 @@ void ShortcutManager::RegisterDefaultShortcuts()
RegisterShortcut(ShortcutId::ViewToggleBaseLand, STR_SHORTCUT_REMOVE_BASE_LAND_TOGGLE, "H", []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_BASE); });
RegisterShortcut(ShortcutId::ViewToggleVerticalLand, STR_SHORTCUT_REMOVE_VERTICAL_LAND_TOGGLE, "V", []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_VERTICAL); });
RegisterShortcut(ShortcutId::ViewToggleRides, STR_SHORTCUT_SEE_THROUGH_RIDES_TOGGLE, "3", []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_RIDES); });
RegisterShortcut(ShortcutId::ViewToggleVehicles, STR_SHORTCUT_SEE_THROUGH_VEHICLES_TOGGLE, []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_VEHICLES); });
RegisterShortcut(ShortcutId::ViewToggleTrees, STR_SHORTCUT_SEE_THROUGH_TREES_TOGGLE, []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_TREES); });
RegisterShortcut(ShortcutId::ViewToggleScenery, STR_SHORTCUT_SEE_THROUGH_SCENERY_TOGGLE, "4", []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_SCENERY); });
RegisterShortcut(ShortcutId::ViewToggleFootpaths, STR_SHORTCUT_SEE_THROUGH_PATHS_TOGGLE, []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_PATHS); });
RegisterShortcut(ShortcutId::ViewToggleSupports, STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, "5", []() { ShortcutToggleInvisibleSupports(); });
RegisterShortcut(ShortcutId::ViewTogglePeeps, STR_SHORTCUT_INVISIBLE_PEOPLE_TOGGLE, "6", []() { ShortcutToggleInvisiblePeeps(); });
RegisterShortcut(ShortcutId::ViewToggleSupports, STR_SHORTCUT_INVISIBLE_SUPPORTS_TOGGLE, "5", []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_SUPPORTS); });
RegisterShortcut(ShortcutId::ViewToggleGuests, STR_SHORTCUT_INVISIBLE_GUESTS_TOGGLE, "6", []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_GUESTS); });
RegisterShortcut(ShortcutId::ViewToggleStaff, STR_SHORTCUT_INVISIBLE_STAFF_TOGGLE, []() { ToggleViewFlag(VIEWPORT_FLAG_HIDE_STAFF); });
RegisterShortcut(ShortcutId::ViewToggleLandHeightMarkers, STR_SHORTCUT_HEIGHT_MARKS_ON_LAND_TOGGLE, "8", []() { ToggleViewFlag(VIEWPORT_FLAG_LAND_HEIGHTS); });
RegisterShortcut(ShortcutId::ViewToggleTrackHeightMarkers, STR_SHORTCUT_HEIGHT_MARKS_ON_RIDE_TRACKS_TOGGLE, "9", []() { ToggleViewFlag(VIEWPORT_FLAG_TRACK_HEIGHTS); });
RegisterShortcut(ShortcutId::ViewToggleFootpathHeightMarkers, STR_SHORTCUT_HEIGHT_MARKS_ON_PATHS_TOGGLE, "0", []() { ToggleViewFlag(VIEWPORT_FLAG_PATH_HEIGHTS); });

View File

@@ -136,20 +136,23 @@ enum TopToolbarViewMenuDdidx
DDIDX_HIDE_BASE = 2,
DDIDX_HIDE_VERTICAL = 3,
// separator
DDIDX_SEETHROUGH_RIDES = 5,
DDIDX_SEETHROUGH_SCENERY = 6,
DDIDX_SEETHROUGH_PATHS = 7,
DDIDX_INVISIBLE_SUPPORTS = 8,
DDIDX_INVISIBLE_PEEPS = 9,
DDIDX_HIDE_RIDES = 5,
DDIDX_HIDE_VEHICLES = 6,
DDIDX_HIDE_TREES = 7,
DDIDX_HIDE_SCENERY = 8,
DDIDX_HIDE_PATHS = 9,
DDIDX_HIDE_SUPPORTS = 10,
DDIDX_HIDE_GUESTS = 11,
DDIDX_HIDE_STAFF = 12,
// separator
DDIDX_LAND_HEIGHTS = 11,
DDIDX_TRACK_HEIGHTS = 12,
DDIDX_PATH_HEIGHTS = 13,
DDIDX_LAND_HEIGHTS = 14,
DDIDX_TRACK_HEIGHTS = 15,
DDIDX_PATH_HEIGHTS = 16,
// separator
DDIDX_VIEW_CLIPPING = 15,
DDIDX_HIGHLIGHT_PATH_ISSUES = 16,
DDIDX_VIEW_CLIPPING = 18,
DDIDX_HIGHLIGHT_PATH_ISSUES = 19,
// separator
DDIDX_TRANSPARENCY = 18,
DDIDX_TRANSPARENCY = 21,
TOP_TOOLBAR_VIEW_MENU_COUNT,
};
@@ -3625,11 +3628,14 @@ static void TopToolbarInitViewMenu(rct_window* w, rct_widget* widget)
ToggleOption(DDIDX_HIDE_BASE, STR_REMOVE_BASE_LAND),
ToggleOption(DDIDX_HIDE_VERTICAL, STR_REMOVE_VERTICAL_FACES),
Separator(),
ToggleOption(DDIDX_SEETHROUGH_RIDES, STR_SEE_THROUGH_RIDES),
ToggleOption(DDIDX_SEETHROUGH_SCENERY, STR_SEE_THROUGH_SCENERY),
ToggleOption(DDIDX_SEETHROUGH_PATHS, STR_SEE_THROUGH_PATHS),
ToggleOption(DDIDX_INVISIBLE_SUPPORTS, STR_INVISIBLE_SUPPORTS),
ToggleOption(DDIDX_INVISIBLE_PEEPS, STR_INVISIBLE_PEOPLE),
ToggleOption(DDIDX_HIDE_RIDES, STR_SEE_THROUGH_RIDES),
ToggleOption(DDIDX_HIDE_VEHICLES, STR_SEE_THROUGH_VEHICLES),
ToggleOption(DDIDX_HIDE_TREES, STR_SEE_THROUGH_TREES),
ToggleOption(DDIDX_HIDE_SCENERY, STR_SEE_THROUGH_SCENERY),
ToggleOption(DDIDX_HIDE_PATHS, STR_SEE_THROUGH_PATHS),
ToggleOption(DDIDX_HIDE_SUPPORTS, STR_SEE_THROUGH_SUPPORTS),
ToggleOption(DDIDX_HIDE_GUESTS, STR_INVISIBLE_GUESTS),
ToggleOption(DDIDX_HIDE_STAFF, STR_INVISIBLE_STAFF),
Separator(),
ToggleOption(DDIDX_LAND_HEIGHTS, STR_HEIGHT_MARKS_ON_LAND),
ToggleOption(DDIDX_TRACK_HEIGHTS, STR_HEIGHT_MARKS_ON_RIDE_TRACKS),
@@ -3660,15 +3666,21 @@ static void TopToolbarInitViewMenu(rct_window* w, rct_widget* widget)
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_VERTICAL)
Dropdown::SetChecked(DDIDX_HIDE_VERTICAL, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_RIDES)
Dropdown::SetChecked(DDIDX_SEETHROUGH_RIDES, true);
Dropdown::SetChecked(DDIDX_HIDE_RIDES, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_VEHICLES)
Dropdown::SetChecked(DDIDX_HIDE_VEHICLES, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_TREES)
Dropdown::SetChecked(DDIDX_HIDE_TREES, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_SCENERY)
Dropdown::SetChecked(DDIDX_SEETHROUGH_SCENERY, true);
Dropdown::SetChecked(DDIDX_HIDE_SCENERY, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_PATHS)
Dropdown::SetChecked(DDIDX_SEETHROUGH_PATHS, true);
Dropdown::SetChecked(DDIDX_HIDE_PATHS, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_SUPPORTS)
Dropdown::SetChecked(DDIDX_INVISIBLE_SUPPORTS, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_GUESTS || mainViewport->flags & VIEWPORT_FLAG_HIDE_STAFF)
Dropdown::SetChecked(DDIDX_INVISIBLE_PEEPS, true);
Dropdown::SetChecked(DDIDX_HIDE_SUPPORTS, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_GUESTS)
Dropdown::SetChecked(DDIDX_HIDE_GUESTS, true);
if (mainViewport->flags & VIEWPORT_FLAG_HIDE_STAFF)
Dropdown::SetChecked(DDIDX_HIDE_STAFF, true);
if (mainViewport->flags & VIEWPORT_FLAG_LAND_HEIGHTS)
Dropdown::SetChecked(DDIDX_LAND_HEIGHTS, true);
if (mainViewport->flags & VIEWPORT_FLAG_TRACK_HEIGHTS)
@@ -3713,27 +3725,29 @@ static void TopToolbarViewMenuDropdown(int16_t dropdownIndex)
case DDIDX_HIDE_VERTICAL:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_VERTICAL;
break;
case DDIDX_SEETHROUGH_RIDES:
case DDIDX_HIDE_RIDES:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_RIDES;
break;
case DDIDX_SEETHROUGH_SCENERY:
case DDIDX_HIDE_VEHICLES:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_VEHICLES;
break;
case DDIDX_HIDE_TREES:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_TREES;
break;
case DDIDX_HIDE_SCENERY:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_SCENERY;
break;
case DDIDX_SEETHROUGH_PATHS:
case DDIDX_HIDE_PATHS:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_PATHS;
break;
case DDIDX_INVISIBLE_SUPPORTS:
if (w->viewport->flags & VIEWPORT_FLAG_HIDE_SUPPORTS)
w->viewport->flags = w->viewport->flags
& ~(VIEWPORT_FLAG_HIDE_SUPPORTS | VIEWPORT_FLAG_INVISIBLE_SUPPORTS);
else
w->viewport->flags |= (VIEWPORT_FLAG_HIDE_SUPPORTS | VIEWPORT_FLAG_INVISIBLE_SUPPORTS);
case DDIDX_HIDE_SUPPORTS:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_SUPPORTS;
break;
case DDIDX_INVISIBLE_PEEPS:
if (w->viewport->flags & VIEWPORT_FLAG_HIDE_GUESTS || w->viewport->flags & VIEWPORT_FLAG_HIDE_STAFF)
w->viewport->flags = w->viewport->flags & ~(VIEWPORT_FLAG_HIDE_GUESTS | VIEWPORT_FLAG_HIDE_STAFF);
else
w->viewport->flags |= (VIEWPORT_FLAG_HIDE_GUESTS | VIEWPORT_FLAG_HIDE_STAFF);
case DDIDX_HIDE_GUESTS:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_GUESTS;
break;
case DDIDX_HIDE_STAFF:
w->viewport->flags ^= VIEWPORT_FLAG_HIDE_STAFF;
break;
case DDIDX_LAND_HEIGHTS:
w->viewport->flags ^= VIEWPORT_FLAG_LAND_HEIGHTS;

View File

@@ -3941,6 +3941,10 @@ enum : uint16_t
STR_INVISIBLE_VEHICLES = 6481,
STR_SEE_THROUGH_SUPPORTS = 6482,
STR_SHORTCUT_OPEN_TRANSPARENCY_OPTIONS = 6483,
STR_SHORTCUT_SEE_THROUGH_VEHICLES_TOGGLE = 6484,
STR_SHORTCUT_SEE_THROUGH_TREES_TOGGLE = 6485,
STR_SHORTCUT_INVISIBLE_GUESTS_TOGGLE = 6486,
STR_SHORTCUT_INVISIBLE_STAFF_TOGGLE = 6487,
// Have to include resource strings (from scenarios and objects) for the time being now that language is partially working
/* MAX_STR_COUNT = 32768 */ // MAX_STR_COUNT - upper limit for number of strings, not the current count strings