mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix #15819: Potential crash placing a maze design
This commit is contained in:
parent
af78bbb448
commit
8158956f18
|
@ -1525,21 +1525,23 @@ void Ride::ValidateStations()
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
auto trackType = trackElement->AsTrack()->GetTrackType();
|
auto trackType = trackElement->AsTrack()->GetTrackType();
|
||||||
uint8_t trackSequence = trackElement->AsTrack()->GetSequenceIndex();
|
|
||||||
|
|
||||||
// determine where the ride entrance is relative to the station track
|
|
||||||
Direction direction = (tileElement->GetDirection() - direction_reverse(trackElement->GetDirection())) & 3;
|
|
||||||
|
|
||||||
// if the ride entrance is not on a valid side, remove it
|
|
||||||
ted = &GetTrackElementDescriptor(trackType);
|
|
||||||
if (!(ted->SequenceProperties[trackSequence] & (1 << direction)))
|
|
||||||
{
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
// get the StationIndex for the station
|
// get the StationIndex for the station
|
||||||
StationIndex stationId = 0;
|
StationIndex stationId = 0;
|
||||||
if (trackType != TrackElemType::Maze)
|
if (trackType != TrackElemType::Maze)
|
||||||
{
|
{
|
||||||
|
uint8_t trackSequence = trackElement->AsTrack()->GetSequenceIndex();
|
||||||
|
|
||||||
|
// determine where the ride entrance is relative to the station track
|
||||||
|
Direction direction = (tileElement->GetDirection() - direction_reverse(trackElement->GetDirection())) & 3;
|
||||||
|
|
||||||
|
// if the ride entrance is not on a valid side, remove it
|
||||||
|
ted = &GetTrackElementDescriptor(trackType);
|
||||||
|
if (!(ted->SequenceProperties[trackSequence] & (1 << direction)))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
stationId = trackElement->AsTrack()->GetStationIndex();
|
stationId = trackElement->AsTrack()->GetStationIndex();
|
||||||
}
|
}
|
||||||
if (tileElement->AsEntrance()->GetEntranceType() == ENTRANCE_TYPE_RIDE_EXIT)
|
if (tileElement->AsEntrance()->GetEntranceType() == ENTRANCE_TYPE_RIDE_EXIT)
|
||||||
|
|
Loading…
Reference in New Issue