mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2026-01-15 11:03:00 +01:00
Replace _currentTrackPieceDirection with local variable. This change fixes a problem where when trying to remove a rotated ride, _currentTrackPieceDirection would be reset back to 0 by calling ride_initialise_construction_window, causing TrackRemoveAction to not being able to find and remove the ride. Using a local variable with the current direction, saved before resetting the global variable, fixes this issue.
This commit is contained in:
@@ -23,6 +23,7 @@
|
||||
- Change: [#16424] Following an entity in the title sequence no longer toggles underground view when it's underground.
|
||||
- Fix: [#15571] Non-ASCII characters in scenario description get distorted while saving.
|
||||
- Fix: [#15830] Objects with RCT1 images are very glitchy if OpenRCT2 is not linked to an RCT1 install.
|
||||
- Fix: [#15947, #15960] Removing a flat ride results in an error message and duplicate structures.
|
||||
- Fix: [#15998] Cannot set map size to the actual maximum.
|
||||
- Fix: [#16007] Scenario Editor "Entry Price" appears to the right of the value field.
|
||||
- Fix: [#16008] Tile Inspector can select elements from last tile without reselecting it.
|
||||
|
||||
@@ -1586,6 +1586,8 @@ static void WindowRideConstructionConstruct(rct_window* w)
|
||||
static void WindowRideConstructionMouseupDemolish(rct_window* w)
|
||||
{
|
||||
int32_t direction;
|
||||
// The direction is reset by ride_initialise_construction_window(), but we need it to remove flat rides properly.
|
||||
Direction currentDirection = _currentTrackPieceDirection;
|
||||
TileElement* tileElement;
|
||||
CoordsXYE inputElement, outputElement;
|
||||
track_begin_end trackBeginEnd;
|
||||
@@ -1674,8 +1676,7 @@ static void WindowRideConstructionMouseupDemolish(rct_window* w)
|
||||
}
|
||||
|
||||
auto trackRemoveAction = TrackRemoveAction(
|
||||
_currentTrackPieceType, 0,
|
||||
{ _currentTrackBegin.x, _currentTrackBegin.y, _currentTrackBegin.z, _currentTrackPieceDirection });
|
||||
_currentTrackPieceType, 0, { _currentTrackBegin.x, _currentTrackBegin.y, _currentTrackBegin.z, currentDirection });
|
||||
|
||||
const auto rideId = w->rideId;
|
||||
trackRemoveAction.SetCallback([=](const GameAction* ga, const GameActions::Result* result) {
|
||||
|
||||
Reference in New Issue
Block a user