mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-17 12:03:07 +01:00
Clean up some ride construction variables
This commit is contained in:
@@ -563,7 +563,7 @@ rct_window* window_ride_construction_open()
|
||||
_currentBrakeSpeed2 = 8;
|
||||
_currentSeatRotationAngle = 4;
|
||||
|
||||
_currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | 0x100;
|
||||
_currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackSlopeEnd = 0;
|
||||
_currentTrackBankEnd = 0;
|
||||
_currentTrackLiftHill = 0;
|
||||
@@ -712,7 +712,7 @@ static void window_ride_construction_resize(rct_window* w)
|
||||
|
||||
uint64_t disabledWidgets = 0;
|
||||
|
||||
if (_currentTrackCurve & 0x100)
|
||||
if (_currentTrackCurve & RideConstructionSpecialPieceSelected)
|
||||
{
|
||||
disabledWidgets |= (1ULL << WIDX_SLOPE_GROUPBOX) | (1ULL << WIDX_BANKING_GROUPBOX) | (1ULL << WIDX_SLOPE_DOWN_STEEP)
|
||||
| (1ULL << WIDX_SLOPE_DOWN) | (1ULL << WIDX_LEVEL) | (1ULL << WIDX_SLOPE_UP) | (1ULL << WIDX_SLOPE_UP_STEEP)
|
||||
@@ -1321,28 +1321,28 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_LARGE | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_DOWN_SMALL | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_SMALL | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
@@ -1352,14 +1352,15 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_DOWN
|
||||
| RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
@@ -1371,14 +1372,14 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_currentTrackCurve == TRACK_CURVE_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
@@ -1438,7 +1439,7 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_rideConstructionState == RIDE_CONSTRUCTION_STATE_FRONT && _currentTrackCurve == TRACK_CURVE_NONE)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_REVERSE_FREEFALL_SLOPE | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_REVERSE_FREEFALL_SLOPE | RideConstructionSpecialPieceSelected;
|
||||
window_ride_construction_update_active_elements();
|
||||
}
|
||||
}
|
||||
@@ -1453,28 +1454,28 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_LARGE | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_LARGE | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_LEFT_SMALL && _currentTrackBankEnd == TRACK_BANK_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT_SMALL && _currentTrackBankEnd == TRACK_BANK_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_UP_SMALL | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
@@ -1484,14 +1485,14 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_currentTrackCurve == TRACK_CURVE_LEFT && _currentTrackBankEnd == TRACK_BANK_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT && _currentTrackBankEnd == TRACK_BANK_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_BANKED_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
@@ -1503,14 +1504,14 @@ static void window_ride_construction_mousedown(rct_window* w, rct_widgetindex wi
|
||||
{
|
||||
if (_currentTrackCurve == TRACK_CURVE_LEFT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_LEFT_QUARTER_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
}
|
||||
else if (_currentTrackCurve == TRACK_CURVE_RIGHT)
|
||||
{
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP | 0x100;
|
||||
_currentTrackCurve = TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackPrice = MONEY32_UNDEFINED;
|
||||
window_ride_construction_update_active_elements();
|
||||
break;
|
||||
@@ -1672,7 +1673,7 @@ static void window_ride_construction_dropdown(rct_window* w, rct_widgetindex wid
|
||||
_currentTrackLiftHill &= ~CONSTRUCTION_LIFT_HILL_SELECTED;
|
||||
break;
|
||||
}
|
||||
_currentTrackCurve = trackPiece | 0x100;
|
||||
_currentTrackCurve = trackPiece | RideConstructionSpecialPieceSelected;
|
||||
window_ride_construction_update_active_elements();
|
||||
}
|
||||
static void RideConstructPlacedForwardGameActionCallback(const GameAction* ga, const TrackPlaceActionResult* result);
|
||||
@@ -1850,10 +1851,10 @@ static void window_ride_construction_construct(rct_window* w)
|
||||
viewport_set_visibility(1);
|
||||
}
|
||||
|
||||
if ((_currentTrackCurve >= (TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | 0x100)
|
||||
&& _currentTrackCurve <= (TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | 0x100))
|
||||
|| (_currentTrackCurve >= (TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | 0x100)
|
||||
&& _currentTrackCurve <= (TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | 0x100))
|
||||
if ((_currentTrackCurve >= (TRACK_ELEM_LEFT_HALF_BANKED_HELIX_UP_SMALL | RideConstructionSpecialPieceSelected)
|
||||
&& _currentTrackCurve <= (TRACK_ELEM_RIGHT_HALF_BANKED_HELIX_DOWN_LARGE | RideConstructionSpecialPieceSelected))
|
||||
|| (_currentTrackCurve >= (TRACK_ELEM_LEFT_QUARTER_BANKED_HELIX_LARGE_UP | RideConstructionSpecialPieceSelected)
|
||||
&& _currentTrackCurve <= (TRACK_ELEM_RIGHT_QUARTER_HELIX_LARGE_DOWN | RideConstructionSpecialPieceSelected))
|
||||
|| (_currentTrackSlopeEnd != TRACK_SLOPE_NONE))
|
||||
{
|
||||
viewport_set_visibility(2);
|
||||
@@ -2065,10 +2066,10 @@ static void window_ride_construction_update(rct_window* w)
|
||||
|
||||
switch (_currentTrackCurve)
|
||||
{
|
||||
case TRACK_ELEM_SPINNING_TUNNEL | 0x100:
|
||||
case TRACK_ELEM_WHIRLPOOL | 0x100:
|
||||
case TRACK_ELEM_RAPIDS | 0x100:
|
||||
case TRACK_ELEM_WATERFALL | 0x100:
|
||||
case TRACK_ELEM_SPINNING_TUNNEL | RideConstructionSpecialPieceSelected:
|
||||
case TRACK_ELEM_WHIRLPOOL | RideConstructionSpecialPieceSelected:
|
||||
case TRACK_ELEM_RAPIDS | RideConstructionSpecialPieceSelected:
|
||||
case TRACK_ELEM_WATERFALL | RideConstructionSpecialPieceSelected:
|
||||
widget_invalidate(w, WIDX_CONSTRUCT);
|
||||
break;
|
||||
}
|
||||
@@ -2265,7 +2266,7 @@ static void window_ride_construction_invalidate(rct_window* w)
|
||||
}
|
||||
|
||||
rct_string_id stringId = STR_RIDE_CONSTRUCTION_SPECIAL;
|
||||
if (_currentTrackCurve & 0x100)
|
||||
if (_currentTrackCurve & RideConstructionSpecialPieceSelected)
|
||||
{
|
||||
stringId = RideConfigurationStringIds[_currentTrackCurve & 0xFF];
|
||||
if (stringId == STR_RAPIDS && ride->type == RIDE_TYPE_CAR_RIDE)
|
||||
@@ -3081,9 +3082,11 @@ static void window_ride_construction_update_widgets(rct_window* w)
|
||||
window_ride_construction_widgets[WIDX_U_TRACK].type = WWT_EMPTY;
|
||||
window_ride_construction_widgets[WIDX_O_TRACK].type = WWT_EMPTY;
|
||||
|
||||
bool brakesSelected = _selectedTrackType == TRACK_ELEM_BRAKES || _currentTrackCurve == (0x100 | TRACK_ELEM_BRAKES);
|
||||
bool brakesSelected = _selectedTrackType == TRACK_ELEM_BRAKES
|
||||
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES);
|
||||
_boosterTrackSelected = track_element_is_booster(ride->type, _selectedTrackType)
|
||||
|| (ride->type != RIDE_TYPE_STEEL_WILD_MOUSE && _currentTrackCurve == (0x100 | TRACK_ELEM_BOOSTER));
|
||||
|| (ride->type != RIDE_TYPE_STEEL_WILD_MOUSE
|
||||
&& _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER));
|
||||
|
||||
if (!brakesSelected && !_boosterTrackSelected)
|
||||
{
|
||||
@@ -3101,8 +3104,9 @@ static void window_ride_construction_update_widgets(rct_window* w)
|
||||
window_ride_construction_widgets[WIDX_O_TRACK].image = SPR_RIDE_CONSTRUCTION_WATER_CHANNEL;
|
||||
window_ride_construction_widgets[WIDX_U_TRACK].tooltip = STR_RIDE_CONSTRUCTION_STANDARD_RC_TRACK_TIP;
|
||||
window_ride_construction_widgets[WIDX_O_TRACK].tooltip = STR_RIDE_CONSTRUCTION_WATER_CHANNEL_TIP;
|
||||
if ((_currentTrackCurve < TRACK_CURVE_LEFT_SMALL || _currentTrackCurve == (0x100 | TRACK_ELEM_S_BEND_LEFT)
|
||||
|| _currentTrackCurve == (0x100 | TRACK_ELEM_S_BEND_RIGHT))
|
||||
if ((_currentTrackCurve < TRACK_CURVE_LEFT_SMALL
|
||||
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_S_BEND_LEFT)
|
||||
|| _currentTrackCurve == (RideConstructionSpecialPieceSelected | TRACK_ELEM_S_BEND_RIGHT))
|
||||
&& _currentTrackSlopeEnd == TRACK_SLOPE_NONE && _currentTrackBankEnd == TRACK_BANK_NONE)
|
||||
{
|
||||
window_ride_construction_widgets[WIDX_BANKING_GROUPBOX].text = STR_RIDE_CONSTRUCTION_TRACK_STYLE;
|
||||
@@ -3168,7 +3172,8 @@ static void window_ride_construction_update_widgets(rct_window* w)
|
||||
window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_UP].type = WWT_EMPTY;
|
||||
window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER_DOWN].type = WWT_EMPTY;
|
||||
if ((rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER || rideType == RIDE_TYPE_MULTI_DIMENSION_ROLLER_COASTER_ALT)
|
||||
&& _selectedTrackType != TRACK_ELEM_BRAKES && _currentTrackCurve != (0x100 | TRACK_ELEM_BRAKES))
|
||||
&& _selectedTrackType != TRACK_ELEM_BRAKES
|
||||
&& _currentTrackCurve != (RideConstructionSpecialPieceSelected | TRACK_ELEM_BRAKES))
|
||||
{
|
||||
window_ride_construction_widgets[WIDX_SEAT_ROTATION_GROUPBOX].type = WWT_GROUPBOX;
|
||||
window_ride_construction_widgets[WIDX_SEAT_ROTATION_ANGLE_SPINNER].type = WWT_SPINNER;
|
||||
@@ -3375,7 +3380,7 @@ static void window_ride_construction_show_special_track_dropdown(rct_window* w,
|
||||
trackPieceStringId = STR_BOOSTER;
|
||||
}
|
||||
gDropdownItemsFormat[i] = trackPieceStringId;
|
||||
if ((trackPiece | 0x100) == _currentTrackCurve)
|
||||
if ((trackPiece | RideConstructionSpecialPieceSelected) == _currentTrackCurve)
|
||||
{
|
||||
defaultIndex = i;
|
||||
}
|
||||
|
||||
@@ -1361,7 +1361,7 @@ static void ride_construction_reset_current_piece()
|
||||
|
||||
if (!ride_type_has_flag(ride->type, RIDE_TYPE_FLAG_HAS_NO_TRACK) || ride->num_stations == 0)
|
||||
{
|
||||
_currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | 0x100;
|
||||
_currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackSlopeEnd = 0;
|
||||
_currentTrackBankEnd = 0;
|
||||
_currentTrackLiftHill = 0;
|
||||
@@ -1437,7 +1437,7 @@ void ride_construction_set_default_next_piece()
|
||||
{
|
||||
if (track_element_is_booster(ride->type, trackType))
|
||||
{
|
||||
curve = 0x100 | TRACK_ELEM_BOOSTER;
|
||||
curve = RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1501,7 +1501,7 @@ void ride_construction_set_default_next_piece()
|
||||
{
|
||||
if (track_element_is_booster(ride->type, trackType))
|
||||
{
|
||||
curve = 0x100 | TRACK_ELEM_BOOSTER;
|
||||
curve = RideConstructionSpecialPieceSelected | TRACK_ELEM_BOOSTER;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1920,7 +1920,7 @@ int32_t ride_initialise_construction_window(Ride* ride)
|
||||
if (ride == nullptr)
|
||||
return 0;
|
||||
|
||||
_currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | 0x100;
|
||||
_currentTrackCurve = RideTypeDescriptors[ride->type].StartTrackPiece | RideConstructionSpecialPieceSelected;
|
||||
_currentTrackSlopeEnd = 0;
|
||||
_currentTrackBankEnd = 0;
|
||||
_currentTrackLiftHill = 0;
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
#include "../object/Object.h"
|
||||
#include "Ride.h"
|
||||
|
||||
constexpr const uint16_t RideConstructionSpecialPieceSelected = 0x100;
|
||||
|
||||
using track_type_t = uint16_t;
|
||||
|
||||
#pragma pack(push, 1)
|
||||
|
||||
@@ -449,13 +449,13 @@ void window_ride_construction_mouseup_demolish_next_piece(int32_t x, int32_t y,
|
||||
_currentTrackSelectionFlags = 0;
|
||||
_rideConstructionArrowPulseTime = 0;
|
||||
_currentTrackPieceDirection = direction & 3;
|
||||
int32_t slope = _currentTrackCurve;
|
||||
int32_t slopeEnd = _previousTrackSlopeEnd;
|
||||
int32_t b2 = _currentTrackSlopeEnd;
|
||||
int32_t bankEnd = _previousTrackBankEnd;
|
||||
int32_t bankStart = _currentTrackBankEnd;
|
||||
int32_t b5 = _currentTrackAlternative;
|
||||
int32_t b4 = _currentTrackLiftHill;
|
||||
int32_t savedCurrentTrackCurve = _currentTrackCurve;
|
||||
int32_t savedPreviousTrackSlopeEnd = _previousTrackSlopeEnd;
|
||||
int32_t savedCurrentTrackSlopeEnd = _currentTrackSlopeEnd;
|
||||
int32_t savedPreviousTrackBankEnd = _previousTrackBankEnd;
|
||||
int32_t savedCurrentTrackBankEnd = _currentTrackBankEnd;
|
||||
int32_t savedCurrentTrackAlternative = _currentTrackAlternative;
|
||||
int32_t savedCurrentTrackLiftHill = _currentTrackLiftHill;
|
||||
ride_construction_set_default_next_piece();
|
||||
window_ride_construction_update_active_elements();
|
||||
auto ride = get_ride(_currentRideIndex);
|
||||
@@ -463,15 +463,15 @@ void window_ride_construction_mouseup_demolish_next_piece(int32_t x, int32_t y,
|
||||
{
|
||||
ride_initialise_construction_window(ride);
|
||||
_currentTrackPieceDirection = direction & 3;
|
||||
if (!(slope & 0x100))
|
||||
if (!(savedCurrentTrackCurve & RideConstructionSpecialPieceSelected))
|
||||
{
|
||||
_currentTrackCurve = slope;
|
||||
_previousTrackSlopeEnd = slopeEnd;
|
||||
_currentTrackSlopeEnd = b2;
|
||||
_previousTrackBankEnd = bankEnd;
|
||||
_currentTrackBankEnd = bankStart;
|
||||
_currentTrackAlternative = b5;
|
||||
_currentTrackLiftHill = b4;
|
||||
_currentTrackCurve = savedCurrentTrackCurve;
|
||||
_previousTrackSlopeEnd = savedPreviousTrackSlopeEnd;
|
||||
_currentTrackSlopeEnd = savedCurrentTrackSlopeEnd;
|
||||
_previousTrackBankEnd = savedPreviousTrackBankEnd;
|
||||
_currentTrackBankEnd = savedCurrentTrackBankEnd;
|
||||
_currentTrackAlternative = savedCurrentTrackAlternative;
|
||||
_currentTrackLiftHill = savedCurrentTrackLiftHill;
|
||||
window_ride_construction_update_active_elements();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user