1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-02-02 03:35:09 +01:00

Fix: diagonal and inclined brakes not counted when calculating upkeep cost

This commit is contained in:
Gymnasiast
2026-01-23 22:26:47 +01:00
parent 716e3c92ab
commit 0343d721e3
4 changed files with 13 additions and 16 deletions

View File

@@ -11,6 +11,7 @@
- Fix: [#25799] The animated options tab icon of the news window does not always redraw.
- Fix: [#25850] Guests do not have their happiness penalised by low energy, low hunger, low thirst, high toilet. Ride nausea generation different compared to vanilla.
- Fix: [#25854] When a guest is at 0 happiness or energy, the game draws too big of a bar in the guest stats window.
- Fix: [#25862] Diagonal and inclined brakes are not counted when calculating upkeep cost.
0.4.30 (2026-01-04)
------------------------------------------------------------------------

View File

@@ -865,22 +865,12 @@ static void ride_ratings_score_close_proximity(RideRating::UpdateState& state, T
ride_ratings_score_close_proximity_in_direction(state, inputTileElement, (direction - 1) & 3);
ride_ratings_score_close_proximity_loops(state, inputTileElement);
switch (state.ProximityTrackType)
{
case TrackElemType::brakes:
state.AmountOfBrakes++;
break;
case TrackElemType::booster:
case TrackElemType::diagBooster:
state.amountOfBoosters++;
break;
case TrackElemType::leftReverser:
case TrackElemType::rightReverser:
state.AmountOfReversers++;
break;
default:
break;
}
if (TrackTypeIsBrakes(state.ProximityTrackType))
state.AmountOfBrakes++;
else if (TrackTypeIsBooster(state.ProximityTrackType))
state.amountOfBoosters++;
else if (TrackTypeIsReverser(state.ProximityTrackType))
state.AmountOfReversers++;
}
static void RideRatingsCalculate(RideRating::UpdateState& state, Ride& ride)

View File

@@ -663,6 +663,11 @@ bool TrackTypeIsBooster(TrackElemType trackType)
}
}
bool TrackTypeIsReverser(TrackElemType trackType)
{
return (trackType == TrackElemType::leftReverser) || (trackType == TrackElemType::rightReverser);
}
bool TrackElementIsCovered(TrackElemType trackElementType)
{
switch (trackElementType)

View File

@@ -739,6 +739,7 @@ bool TrackTypeIsStation(OpenRCT2::TrackElemType trackType);
bool TrackTypeIsBrakes(OpenRCT2::TrackElemType trackType);
bool TrackTypeIsBlockBrakes(OpenRCT2::TrackElemType trackType);
bool TrackTypeIsBooster(OpenRCT2::TrackElemType trackType);
bool TrackTypeIsReverser(OpenRCT2::TrackElemType trackType);
TrackRoll TrackGetActualBank(OpenRCT2::TileElement* tileElement, TrackRoll bank);
TrackRoll TrackGetActualBank2(ride_type_t rideType, bool isInverted, TrackRoll bank);