1
0
mirror of https://github.com/OpenRCT2/OpenRCT2 synced 2026-01-25 07:44:38 +01:00

Part of #21421: replace define with constexpr in Ride.h (#21602)

This commit is contained in:
Claudio Tiecher
2024-03-16 10:34:01 +01:00
committed by GitHub
parent 25d3db0f1f
commit 59958a6b8f
3 changed files with 37 additions and 36 deletions

View File

@@ -2138,12 +2138,12 @@ static void RideFreeOldMeasurements()
numRideMeasurements++;
}
}
if (numRideMeasurements > MAX_RIDE_MEASUREMENTS && lruRide != nullptr)
if (numRideMeasurements > kMaxRideMeasurements && lruRide != nullptr)
{
lruRide->measurement = {};
numRideMeasurements--;
}
} while (numRideMeasurements > MAX_RIDE_MEASUREMENTS);
} while (numRideMeasurements > kMaxRideMeasurements);
}
std::pair<RideMeasurement*, OpenRCT2String> Ride::GetMeasurement()
@@ -4396,11 +4396,11 @@ void IncrementTurnCount1Element(Ride& ride, uint8_t type)
default:
return;
}
uint16_t value = (*turn_count & TURN_MASK_1_ELEMENT) + 1;
*turn_count &= ~TURN_MASK_1_ELEMENT;
uint16_t value = (*turn_count & kTurnMask1Element) + 1;
*turn_count &= ~kTurnMask1Element;
if (value > TURN_MASK_1_ELEMENT)
value = TURN_MASK_1_ELEMENT;
if (value > kTurnMask1Element)
value = kTurnMask1Element;
*turn_count |= value;
}
@@ -4421,11 +4421,11 @@ void IncrementTurnCount2Elements(Ride& ride, uint8_t type)
default:
return;
}
uint16_t value = (*turn_count & TURN_MASK_2_ELEMENTS) + 0x20;
*turn_count &= ~TURN_MASK_2_ELEMENTS;
uint16_t value = (*turn_count & kTurnMask2Elements) + 0x20;
*turn_count &= ~kTurnMask2Elements;
if (value > TURN_MASK_2_ELEMENTS)
value = TURN_MASK_2_ELEMENTS;
if (value > kTurnMask2Elements)
value = kTurnMask2Elements;
*turn_count |= value;
}
@@ -4446,11 +4446,11 @@ void IncrementTurnCount3Elements(Ride& ride, uint8_t type)
default:
return;
}
uint16_t value = (*turn_count & TURN_MASK_3_ELEMENTS) + 0x100;
*turn_count &= ~TURN_MASK_3_ELEMENTS;
uint16_t value = (*turn_count & kTurnMask3Elements) + 0x100;
*turn_count &= ~kTurnMask3Elements;
if (value > TURN_MASK_3_ELEMENTS)
value = TURN_MASK_3_ELEMENTS;
if (value > kTurnMask3Elements)
value = kTurnMask3Elements;
*turn_count |= value;
}
@@ -4470,11 +4470,11 @@ void IncrementTurnCount4PlusElements(Ride& ride, uint8_t type)
default:
return;
}
uint16_t value = (*turn_count & TURN_MASK_4_PLUS_ELEMENTS) + 0x800;
*turn_count &= ~TURN_MASK_4_PLUS_ELEMENTS;
uint16_t value = (*turn_count & kTurnMask4PlusElements) + 0x800;
*turn_count &= ~kTurnMask4PlusElements;
if (value > TURN_MASK_4_PLUS_ELEMENTS)
value = TURN_MASK_4_PLUS_ELEMENTS;
if (value > kTurnMask4PlusElements)
value = kTurnMask4PlusElements;
*turn_count |= value;
}
@@ -4496,7 +4496,7 @@ int32_t GetTurnCount1Element(const Ride& ride, uint8_t type)
return 0;
}
return (*turn_count) & TURN_MASK_1_ELEMENT;
return (*turn_count) & kTurnMask1Element;
}
int32_t GetTurnCount2Elements(const Ride& ride, uint8_t type)
@@ -4517,7 +4517,7 @@ int32_t GetTurnCount2Elements(const Ride& ride, uint8_t type)
return 0;
}
return ((*turn_count) & TURN_MASK_2_ELEMENTS) >> 5;
return ((*turn_count) & kTurnMask2Elements) >> 5;
}
int32_t GetTurnCount3Elements(const Ride& ride, uint8_t type)
@@ -4538,7 +4538,7 @@ int32_t GetTurnCount3Elements(const Ride& ride, uint8_t type)
return 0;
}
return ((*turn_count) & TURN_MASK_3_ELEMENTS) >> 8;
return ((*turn_count) & kTurnMask3Elements) >> 8;
}
int32_t GetTurnCount4PlusElements(const Ride& ride, uint8_t type)
@@ -4556,7 +4556,7 @@ int32_t GetTurnCount4PlusElements(const Ride& ride, uint8_t type)
return 0;
}
return ((*turn_count) & TURN_MASK_4_PLUS_ELEMENTS) >> 11;
return ((*turn_count) & kTurnMask4PlusElements) >> 11;
}
bool Ride::HasSpinningTunnel() const
@@ -5372,7 +5372,7 @@ static bool CheckForAdjacentStation(const CoordsXYZ& stationCoords, uint8_t dire
bool found = false;
int32_t adjX = stationCoords.x;
int32_t adjY = stationCoords.y;
for (uint32_t i = 0; i <= RIDE_ADJACENCY_CHECK_DISTANCE; i++)
for (uint32_t i = 0; i <= kRideAdjacencyCheckDistance; i++)
{
adjX += CoordsDirectionDelta[direction].x;
adjY += CoordsDirectionDelta[direction].y;

View File

@@ -40,7 +40,8 @@ struct Vehicle;
struct RideObjectEntry;
struct ResultWithMessage;
#define RIDE_ADJACENCY_CHECK_DISTANCE 5
constexpr uint8_t kRideAdjacencyCheckDistance = 5;
constexpr uint8_t TUNE_ID_NULL = 0xFF;
constexpr uint16_t const MAX_STATION_LOCATIONS = OpenRCT2::Limits::MaxStationsPerRide * 2; // Entrance and exit per station
@@ -902,18 +903,18 @@ enum
TRACK_ELEMENT_SET_BRAKE_BOOSTER_SPEED = (1 << 7)
};
#define MAX_RIDE_MEASUREMENTS 8
constexpr uint8_t kMaxRideMeasurements = 8;
constexpr money64 RIDE_VALUE_UNDEFINED = kMoney64Undefined;
#define RIDE_INITIAL_RELIABILITY ((100 << 8) | 0xFF) // Upper byte is percentage, lower byte is "decimal".
#define STATION_DEPART_FLAG (1 << 7)
#define STATION_DEPART_MASK (~STATION_DEPART_FLAG)
#define CURRENT_TURN_COUNT_MASK 0xF800
#define TURN_MASK_1_ELEMENT 0x001F
#define TURN_MASK_2_ELEMENTS 0x00E0
#define TURN_MASK_3_ELEMENTS 0x0700
#define TURN_MASK_4_PLUS_ELEMENTS 0xF800
constexpr uint16_t kCurrentTurnCountMask = 0xF800;
constexpr uint16_t kTurnMask1Element = 0x001F;
constexpr uint16_t kTurnMask2Elements = 0x00E0;
constexpr uint16_t kTurnMask3Elements = 0x0700;
constexpr uint16_t kTurnMask4PlusElements = 0xF800;
constexpr uint32_t CONSTRUCTION_LIFT_HILL_SELECTED = 1 << 0;
constexpr uint32_t CONSTRUCTION_INVERTED_TRACK_SELECTED = 1 << 1;

View File

@@ -1521,12 +1521,12 @@ void Vehicle::UpdateMeasurements()
uint32_t testingFlags = curRide->testing_flags;
if (testingFlags & RIDE_TESTING_TURN_LEFT && trackFlags & TRACK_ELEM_FLAG_TURN_LEFT)
{
// 0x800 as this is masked to CURRENT_TURN_COUNT_MASK
// 0x800 as this is masked to kCurrentTurnCountMask
curRide->turn_count_default += 0x800;
}
else if (testingFlags & RIDE_TESTING_TURN_RIGHT && trackFlags & TRACK_ELEM_FLAG_TURN_RIGHT)
{
// 0x800 as this is masked to CURRENT_TURN_COUNT_MASK
// 0x800 as this is masked to kCurrentTurnCountMask
curRide->turn_count_default += 0x800;
}
else if (testingFlags & RIDE_TESTING_TURN_RIGHT || testingFlags & RIDE_TESTING_TURN_LEFT)
@@ -1564,7 +1564,7 @@ void Vehicle::UpdateMeasurements()
if (trackFlags & TRACK_ELEM_FLAG_TURN_LEFT)
{
curRide->testing_flags |= RIDE_TESTING_TURN_LEFT;
curRide->turn_count_default &= ~CURRENT_TURN_COUNT_MASK;
curRide->turn_count_default &= ~kCurrentTurnCountMask;
if (trackFlags & TRACK_ELEM_FLAG_TURN_BANKED)
{
@@ -1579,7 +1579,7 @@ void Vehicle::UpdateMeasurements()
if (trackFlags & TRACK_ELEM_FLAG_TURN_RIGHT)
{
curRide->testing_flags |= RIDE_TESTING_TURN_RIGHT;
curRide->turn_count_default &= ~CURRENT_TURN_COUNT_MASK;
curRide->turn_count_default &= ~kCurrentTurnCountMask;
if (trackFlags & TRACK_ELEM_FLAG_TURN_BANKED)
{
@@ -2671,8 +2671,8 @@ static bool ride_station_can_depart_synchronised(const Ride& ride, StationIndex
*/
int32_t direction = tileElement->GetDirectionWithOffset(1);
int32_t maxCheckDistance = RIDE_ADJACENCY_CHECK_DISTANCE;
int32_t spaceBetween = maxCheckDistance;
constexpr uint8_t maxCheckDistance = kRideAdjacencyCheckDistance;
uint8_t spaceBetween = maxCheckDistance;
while (_lastSynchronisedVehicle < &_synchronisedVehicles[SYNCHRONISED_VEHICLE_COUNT - 1])
{