mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-17 20:13:07 +01:00
Fix part of #7489: Shortcuts work incorrectly for vertical tracks
This commit is contained in:
@@ -4419,6 +4419,14 @@ void window_ride_construction_keyboard_shortcut_slope_down()
|
||||
|
||||
switch (_currentTrackSlopeEnd)
|
||||
{
|
||||
case TRACK_SLOPE_DOWN_60:
|
||||
if (is_track_enabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_DROP
|
||||
&& w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP);
|
||||
}
|
||||
break;
|
||||
case TRACK_SLOPE_DOWN_25:
|
||||
if (!WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP)
|
||||
&& w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty)
|
||||
@@ -4431,6 +4439,12 @@ void window_ride_construction_keyboard_shortcut_slope_down()
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_DOWN);
|
||||
}
|
||||
else if (
|
||||
is_track_enabled(TRACK_SLOPE_VERTICAL)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_RISE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (
|
||||
!WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP)
|
||||
&& w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty)
|
||||
@@ -4475,6 +4489,12 @@ void window_ride_construction_keyboard_shortcut_slope_down()
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_DOWN);
|
||||
}
|
||||
else if (
|
||||
is_track_enabled(TRACK_SLOPE_VERTICAL)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_RISE)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (
|
||||
!WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP)
|
||||
&& w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty)
|
||||
@@ -4486,6 +4506,14 @@ void window_ride_construction_keyboard_shortcut_slope_down()
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case TRACK_SLOPE_UP_90:
|
||||
if (is_track_enabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_RISE
|
||||
&& w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_UP_STEEP);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
@@ -4501,6 +4529,14 @@ void window_ride_construction_keyboard_shortcut_slope_up()
|
||||
|
||||
switch (_currentTrackSlopeEnd)
|
||||
{
|
||||
case TRACK_SLOPE_UP_60:
|
||||
if (is_track_enabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_DOWN_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_RISE
|
||||
&& w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP);
|
||||
}
|
||||
break;
|
||||
case TRACK_SLOPE_UP_25:
|
||||
if (!WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
@@ -4512,6 +4548,12 @@ void window_ride_construction_keyboard_shortcut_slope_up()
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_UP);
|
||||
}
|
||||
else if (
|
||||
is_track_enabled(TRACK_SLOPE_VERTICAL)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_DROP)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (
|
||||
!WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
@@ -4554,6 +4596,12 @@ void window_ride_construction_keyboard_shortcut_slope_up()
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_UP);
|
||||
}
|
||||
else if (
|
||||
is_track_enabled(TRACK_SLOPE_VERTICAL)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_DROP)
|
||||
{
|
||||
return;
|
||||
}
|
||||
else if (
|
||||
!WidgetIsDisabled(w, WIDX_SLOPE_UP_STEEP) && w->widgets[WIDX_SLOPE_UP_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
@@ -4564,6 +4612,14 @@ void window_ride_construction_keyboard_shortcut_slope_up()
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case TRACK_SLOPE_DOWN_90:
|
||||
if (is_track_enabled(TRACK_SLOPE_VERTICAL) && !WidgetIsDisabled(w, WIDX_SLOPE_DOWN_STEEP)
|
||||
&& window_ride_construction_widgets[WIDX_SLOPE_UP_STEEP].image == SPR_RIDE_CONSTRUCTION_VERTICAL_DROP
|
||||
&& w->widgets[WIDX_SLOPE_DOWN_STEEP].type != WindowWidgetType::Empty)
|
||||
{
|
||||
window_event_mouse_down_call(w, WIDX_SLOPE_DOWN_STEEP);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user