diff --git a/src/openrct2/ride/VehicleRiderControl.cpp b/src/openrct2/ride/VehicleRiderControl.cpp index ff35bf1494..6aae115706 100644 --- a/src/openrct2/ride/VehicleRiderControl.cpp +++ b/src/openrct2/ride/VehicleRiderControl.cpp @@ -10,7 +10,10 @@ #include "../entity/EntityRegistry.h" #include "Vehicle.h" -#define MPH(x) (x * 29127) +constexpr int operator"" _MPH(unsigned long long x) +{ + return x * 29127; +} // Acceleration to apply when rider is braking constexpr int32_t minBrake = (1 << 16); @@ -20,7 +23,7 @@ constexpr int32_t minBrake = (1 << 16); constexpr int32_t maxBrake = (12 << 16); // Velocity above which riders will attempt to maintain separation from the vehicle in front -constexpr int32_t minFollowVelocity = MPH(4); +constexpr int32_t minFollowVelocity = 4_MPH; // Minimum separation distance that riders will allow (regardless of followDistance) constexpr int32_t minFollowDistance = 32; @@ -35,92 +38,92 @@ struct RiderControlSettings }; static RiderControlSettings riderTable[256] = { - { MPH(22), MPH(11), MPH(10), 10 }, { MPH(23), MPH(10), MPH(5), 9 }, { MPH(23), MPH(8), MPH(7), 11 }, - { MPH(27), MPH(17), MPH(12), 6 }, { MPH(25), MPH(18), MPH(15), 6 }, { MPH(23), MPH(14), MPH(12), 9 }, - { MPH(20), MPH(12), MPH(12), 5 }, { MPH(23), MPH(10), MPH(5), 11 }, { MPH(26), MPH(9), MPH(4), 11 }, - { MPH(16), MPH(11), MPH(9), 7 }, { MPH(28), MPH(10), MPH(9), 10 }, { MPH(24), MPH(18), MPH(8), 4 }, - { MPH(23), MPH(15), MPH(13), 5 }, { MPH(18), MPH(10), MPH(10), 10 }, { MPH(25), MPH(15), MPH(8), 9 }, - { MPH(18), MPH(12), MPH(12), 7 }, { MPH(24), MPH(14), MPH(7), 7 }, { MPH(27), MPH(19), MPH(13), 7 }, - { MPH(26), MPH(19), MPH(9), 5 }, { MPH(22), MPH(10), MPH(6), 9 }, { MPH(20), MPH(12), MPH(11), 10 }, - { MPH(27), MPH(16), MPH(12), 7 }, { MPH(22), MPH(13), MPH(10), 7 }, { MPH(23), MPH(11), MPH(10), 11 }, - { MPH(17), MPH(10), MPH(9), 8 }, { MPH(19), MPH(13), MPH(10), 5 }, { MPH(14), MPH(8), MPH(11), 10 }, - { MPH(22), MPH(15), MPH(12), 8 }, { MPH(15), MPH(7), MPH(8), 8 }, { MPH(23), MPH(17), MPH(14), 4 }, - { MPH(25), MPH(14), MPH(13), 7 }, { MPH(22), MPH(8), MPH(6), 13 }, { MPH(27), MPH(11), MPH(6), 11 }, - { MPH(19), MPH(10), MPH(9), 11 }, { MPH(24), MPH(13), MPH(11), 7 }, { MPH(12), MPH(7), MPH(8), 7 }, - { MPH(27), MPH(11), MPH(5), 9 }, { MPH(15), MPH(9), MPH(7), 7 }, { MPH(16), MPH(10), MPH(9), 8 }, - { MPH(11), MPH(7), MPH(7), 9 }, { MPH(25), MPH(17), MPH(9), 6 }, { MPH(22), MPH(10), MPH(4), 13 }, - { MPH(25), MPH(13), MPH(7), 10 }, { MPH(28), MPH(18), MPH(10), 5 }, { MPH(21), MPH(11), MPH(10), 10 }, - { MPH(23), MPH(11), MPH(11), 7 }, { MPH(21), MPH(15), MPH(8), 5 }, { MPH(27), MPH(14), MPH(6), 9 }, - { MPH(26), MPH(17), MPH(12), 6 }, { MPH(17), MPH(7), MPH(6), 12 }, { MPH(17), MPH(9), MPH(8), 9 }, - { MPH(17), MPH(10), MPH(12), 6 }, { MPH(20), MPH(10), MPH(9), 9 }, { MPH(26), MPH(14), MPH(10), 7 }, - { MPH(28), MPH(14), MPH(7), 12 }, { MPH(24), MPH(11), MPH(7), 9 }, { MPH(26), MPH(12), MPH(6), 8 }, - { MPH(24), MPH(12), MPH(11), 9 }, { MPH(24), MPH(11), MPH(5), 7 }, { MPH(29), MPH(21), MPH(16), 5 }, - { MPH(22), MPH(13), MPH(13), 5 }, { MPH(27), MPH(20), MPH(12), 6 }, { MPH(21), MPH(14), MPH(7), 9 }, - { MPH(27), MPH(18), MPH(7), 6 }, { MPH(19), MPH(12), MPH(12), 6 }, { MPH(25), MPH(18), MPH(9), 7 }, - { MPH(20), MPH(10), MPH(10), 10 }, { MPH(19), MPH(9), MPH(7), 9 }, { MPH(24), MPH(14), MPH(7), 7 }, - { MPH(25), MPH(12), MPH(10), 10 }, { MPH(24), MPH(15), MPH(8), 7 }, { MPH(23), MPH(11), MPH(6), 8 }, - { MPH(18), MPH(11), MPH(7), 9 }, { MPH(23), MPH(8), MPH(5), 11 }, { MPH(12), MPH(8), MPH(12), 8 }, - { MPH(22), MPH(14), MPH(12), 9 }, { MPH(25), MPH(13), MPH(14), 8 }, { MPH(26), MPH(12), MPH(5), 12 }, - { MPH(29), MPH(15), MPH(6), 10 }, { MPH(20), MPH(12), MPH(8), 9 }, { MPH(25), MPH(13), MPH(10), 8 }, - { MPH(23), MPH(12), MPH(8), 9 }, { MPH(20), MPH(11), MPH(5), 11 }, { MPH(22), MPH(11), MPH(5), 11 }, - { MPH(21), MPH(9), MPH(6), 9 }, { MPH(28), MPH(13), MPH(8), 10 }, { MPH(27), MPH(14), MPH(10), 11 }, - { MPH(22), MPH(16), MPH(10), 5 }, { MPH(25), MPH(14), MPH(9), 6 }, { MPH(20), MPH(10), MPH(7), 10 }, - { MPH(24), MPH(15), MPH(13), 7 }, { MPH(22), MPH(11), MPH(4), 9 }, { MPH(19), MPH(9), MPH(4), 12 }, - { MPH(19), MPH(11), MPH(8), 7 }, { MPH(24), MPH(16), MPH(15), 5 }, { MPH(15), MPH(11), MPH(9), 7 }, - { MPH(25), MPH(10), MPH(7), 10 }, { MPH(23), MPH(11), MPH(5), 9 }, { MPH(24), MPH(13), MPH(11), 8 }, - { MPH(26), MPH(16), MPH(9), 8 }, { MPH(25), MPH(16), MPH(10), 6 }, { MPH(26), MPH(16), MPH(8), 6 }, - { MPH(26), MPH(16), MPH(12), 7 }, { MPH(25), MPH(11), MPH(10), 11 }, { MPH(21), MPH(13), MPH(13), 6 }, - { MPH(9), MPH(6), MPH(4), 11 }, { MPH(26), MPH(11), MPH(5), 10 }, { MPH(25), MPH(18), MPH(14), 5 }, - { MPH(26), MPH(16), MPH(9), 4 }, { MPH(24), MPH(11), MPH(11), 9 }, { MPH(26), MPH(16), MPH(11), 8 }, - { MPH(29), MPH(12), MPH(5), 10 }, { MPH(26), MPH(11), MPH(4), 12 }, { MPH(19), MPH(9), MPH(12), 8 }, - { MPH(18), MPH(8), MPH(5), 12 }, { MPH(28), MPH(11), MPH(4), 10 }, { MPH(25), MPH(16), MPH(10), 8 }, - { MPH(29), MPH(17), MPH(12), 6 }, { MPH(18), MPH(11), MPH(10), 8 }, { MPH(25), MPH(10), MPH(9), 10 }, - { MPH(25), MPH(12), MPH(6), 12 }, { MPH(23), MPH(12), MPH(8), 8 }, { MPH(27), MPH(9), MPH(9), 11 }, - { MPH(27), MPH(19), MPH(10), 3 }, { MPH(28), MPH(12), MPH(10), 8 }, { MPH(25), MPH(14), MPH(10), 7 }, - { MPH(28), MPH(17), MPH(8), 7 }, { MPH(24), MPH(13), MPH(4), 9 }, { MPH(25), MPH(12), MPH(8), 9 }, - { MPH(18), MPH(9), MPH(6), 13 }, { MPH(19), MPH(8), MPH(7), 11 }, { MPH(28), MPH(12), MPH(7), 10 }, - { MPH(21), MPH(10), MPH(6), 9 }, { MPH(26), MPH(13), MPH(8), 9 }, { MPH(21), MPH(12), MPH(12), 6 }, - { MPH(25), MPH(15), MPH(8), 5 }, { MPH(17), MPH(12), MPH(13), 7 }, { MPH(20), MPH(9), MPH(6), 12 }, - { MPH(27), MPH(18), MPH(13), 5 }, { MPH(22), MPH(14), MPH(14), 5 }, { MPH(19), MPH(12), MPH(15), 5 }, - { MPH(26), MPH(13), MPH(10), 10 }, { MPH(23), MPH(11), MPH(8), 10 }, { MPH(28), MPH(17), MPH(11), 8 }, - { MPH(23), MPH(9), MPH(5), 10 }, { MPH(20), MPH(11), MPH(10), 7 }, { MPH(24), MPH(9), MPH(7), 12 }, - { MPH(25), MPH(13), MPH(8), 8 }, { MPH(25), MPH(18), MPH(14), 6 }, { MPH(22), MPH(16), MPH(12), 7 }, - { MPH(21), MPH(12), MPH(11), 8 }, { MPH(22), MPH(16), MPH(10), 6 }, { MPH(21), MPH(15), MPH(11), 6 }, - { MPH(24), MPH(16), MPH(12), 7 }, { MPH(28), MPH(21), MPH(9), 4 }, { MPH(26), MPH(14), MPH(12), 8 }, - { MPH(23), MPH(13), MPH(8), 7 }, { MPH(26), MPH(16), MPH(14), 7 }, { MPH(23), MPH(14), MPH(8), 7 }, - { MPH(21), MPH(13), MPH(8), 7 }, { MPH(26), MPH(17), MPH(7), 6 }, { MPH(28), MPH(10), MPH(9), 10 }, - { MPH(28), MPH(11), MPH(6), 12 }, { MPH(21), MPH(9), MPH(9), 10 }, { MPH(27), MPH(12), MPH(10), 9 }, - { MPH(20), MPH(10), MPH(11), 8 }, { MPH(26), MPH(17), MPH(15), 6 }, { MPH(23), MPH(9), MPH(6), 11 }, - { MPH(26), MPH(17), MPH(10), 8 }, { MPH(22), MPH(13), MPH(12), 9 }, { MPH(24), MPH(12), MPH(11), 8 }, - { MPH(27), MPH(17), MPH(9), 7 }, { MPH(27), MPH(14), MPH(7), 10 }, { MPH(26), MPH(9), MPH(6), 9 }, - { MPH(23), MPH(10), MPH(11), 9 }, { MPH(30), MPH(23), MPH(10), 3 }, { MPH(14), MPH(7), MPH(7), 10 }, - { MPH(25), MPH(12), MPH(9), 10 }, { MPH(20), MPH(12), MPH(8), 4 }, { MPH(24), MPH(16), MPH(12), 7 }, - { MPH(24), MPH(13), MPH(6), 10 }, { MPH(24), MPH(14), MPH(9), 5 }, { MPH(27), MPH(14), MPH(7), 8 }, - { MPH(26), MPH(12), MPH(9), 9 }, { MPH(23), MPH(14), MPH(8), 8 }, { MPH(25), MPH(16), MPH(11), 6 }, - { MPH(29), MPH(17), MPH(7), 9 }, { MPH(25), MPH(17), MPH(15), 5 }, { MPH(27), MPH(16), MPH(11), 4 }, - { MPH(13), MPH(8), MPH(10), 10 }, { MPH(27), MPH(17), MPH(8), 7 }, { MPH(22), MPH(13), MPH(6), 7 }, - { MPH(25), MPH(18), MPH(16), 4 }, { MPH(23), MPH(12), MPH(6), 8 }, { MPH(22), MPH(16), MPH(12), 5 }, - { MPH(25), MPH(14), MPH(10), 6 }, { MPH(19), MPH(11), MPH(10), 8 }, { MPH(24), MPH(10), MPH(10), 8 }, - { MPH(27), MPH(17), MPH(12), 7 }, { MPH(27), MPH(16), MPH(12), 5 }, { MPH(24), MPH(16), MPH(8), 7 }, - { MPH(20), MPH(9), MPH(8), 9 }, { MPH(27), MPH(19), MPH(15), 4 }, { MPH(21), MPH(10), MPH(11), 8 }, - { MPH(17), MPH(8), MPH(5), 11 }, { MPH(16), MPH(10), MPH(10), 8 }, { MPH(29), MPH(18), MPH(10), 7 }, - { MPH(23), MPH(16), MPH(14), 5 }, { MPH(16), MPH(8), MPH(6), 10 }, { MPH(24), MPH(10), MPH(8), 11 }, - { MPH(21), MPH(11), MPH(7), 11 }, { MPH(26), MPH(13), MPH(8), 7 }, { MPH(22), MPH(10), MPH(8), 11 }, - { MPH(25), MPH(13), MPH(11), 9 }, { MPH(24), MPH(15), MPH(8), 5 }, { MPH(26), MPH(12), MPH(6), 8 }, - { MPH(21), MPH(15), MPH(15), 7 }, { MPH(28), MPH(19), MPH(14), 6 }, { MPH(23), MPH(14), MPH(9), 8 }, - { MPH(25), MPH(13), MPH(6), 9 }, { MPH(18), MPH(11), MPH(12), 7 }, { MPH(22), MPH(13), MPH(7), 6 }, - { MPH(23), MPH(13), MPH(7), 8 }, { MPH(27), MPH(18), MPH(9), 5 }, { MPH(20), MPH(9), MPH(6), 10 }, - { MPH(29), MPH(9), MPH(9), 12 }, { MPH(26), MPH(12), MPH(9), 11 }, { MPH(27), MPH(10), MPH(5), 11 }, - { MPH(26), MPH(20), MPH(9), 3 }, { MPH(18), MPH(10), MPH(11), 8 }, { MPH(28), MPH(16), MPH(12), 8 }, - { MPH(13), MPH(9), MPH(7), 9 }, { MPH(24), MPH(15), MPH(9), 6 }, { MPH(20), MPH(11), MPH(9), 8 }, - { MPH(24), MPH(15), MPH(12), 4 }, { MPH(24), MPH(14), MPH(9), 5 }, { MPH(22), MPH(11), MPH(8), 10 }, - { MPH(24), MPH(11), MPH(10), 10 }, { MPH(24), MPH(17), MPH(10), 7 }, { MPH(28), MPH(18), MPH(13), 7 }, - { MPH(23), MPH(11), MPH(8), 12 }, { MPH(25), MPH(12), MPH(11), 8 }, { MPH(21), MPH(10), MPH(11), 8 }, - { MPH(15), MPH(8), MPH(7), 10 }, { MPH(26), MPH(16), MPH(9), 8 }, { MPH(21), MPH(10), MPH(9), 10 }, - { MPH(27), MPH(17), MPH(16), 6 }, { MPH(22), MPH(12), MPH(6), 9 }, { MPH(25), MPH(9), MPH(4), 11 }, - { MPH(26), MPH(16), MPH(13), 9 }, { MPH(26), MPH(19), MPH(11), 6 }, { MPH(24), MPH(15), MPH(13), 7 }, - { MPH(16), MPH(9), MPH(10), 8 }, { MPH(21), MPH(11), MPH(7), 6 }, { MPH(28), MPH(20), MPH(15), 6 }, - { MPH(25), MPH(15), MPH(9), 6 } + { 22_MPH, 11_MPH, 10_MPH, 10 }, { 23_MPH, 10_MPH, 5_MPH, 9 }, { 23_MPH, 8_MPH, 7_MPH, 11 }, + { 27_MPH, 17_MPH, 12_MPH, 6 }, { 25_MPH, 18_MPH, 15_MPH, 6 }, { 23_MPH, 14_MPH, 12_MPH, 9 }, + { 20_MPH, 12_MPH, 12_MPH, 5 }, { 23_MPH, 10_MPH, 5_MPH, 11 }, { 26_MPH, 9_MPH, 4_MPH, 11 }, + { 16_MPH, 11_MPH, 9_MPH, 7 }, { 28_MPH, 10_MPH, 9_MPH, 10 }, { 24_MPH, 18_MPH, 8_MPH, 4 }, + { 23_MPH, 15_MPH, 13_MPH, 5 }, { 18_MPH, 10_MPH, 10_MPH, 10 }, { 25_MPH, 15_MPH, 8_MPH, 9 }, + { 18_MPH, 12_MPH, 12_MPH, 7 }, { 24_MPH, 14_MPH, 7_MPH, 7 }, { 27_MPH, 19_MPH, 13_MPH, 7 }, + { 26_MPH, 19_MPH, 9_MPH, 5 }, { 22_MPH, 10_MPH, 6_MPH, 9 }, { 20_MPH, 12_MPH, 11_MPH, 10 }, + { 27_MPH, 16_MPH, 12_MPH, 7 }, { 22_MPH, 13_MPH, 10_MPH, 7 }, { 23_MPH, 11_MPH, 10_MPH, 11 }, + { 17_MPH, 10_MPH, 9_MPH, 8 }, { 19_MPH, 13_MPH, 10_MPH, 5 }, { 14_MPH, 8_MPH, 11_MPH, 10 }, + { 22_MPH, 15_MPH, 12_MPH, 8 }, { 15_MPH, 7_MPH, 8_MPH, 8 }, { 23_MPH, 17_MPH, 14_MPH, 4 }, + { 25_MPH, 14_MPH, 13_MPH, 7 }, { 22_MPH, 8_MPH, 6_MPH, 13 }, { 27_MPH, 11_MPH, 6_MPH, 11 }, + { 19_MPH, 10_MPH, 9_MPH, 11 }, { 24_MPH, 13_MPH, 11_MPH, 7 }, { 12_MPH, 7_MPH, 8_MPH, 7 }, + { 27_MPH, 11_MPH, 5_MPH, 9 }, { 15_MPH, 9_MPH, 7_MPH, 7 }, { 16_MPH, 10_MPH, 9_MPH, 8 }, + { 11_MPH, 7_MPH, 7_MPH, 9 }, { 25_MPH, 17_MPH, 9_MPH, 6 }, { 22_MPH, 10_MPH, 4_MPH, 13 }, + { 25_MPH, 13_MPH, 7_MPH, 10 }, { 28_MPH, 18_MPH, 10_MPH, 5 }, { 21_MPH, 11_MPH, 10_MPH, 10 }, + { 23_MPH, 11_MPH, 11_MPH, 7 }, { 21_MPH, 15_MPH, 8_MPH, 5 }, { 27_MPH, 14_MPH, 6_MPH, 9 }, + { 26_MPH, 17_MPH, 12_MPH, 6 }, { 17_MPH, 7_MPH, 6_MPH, 12 }, { 17_MPH, 9_MPH, 8_MPH, 9 }, + { 17_MPH, 10_MPH, 12_MPH, 6 }, { 20_MPH, 10_MPH, 9_MPH, 9 }, { 26_MPH, 14_MPH, 10_MPH, 7 }, + { 28_MPH, 14_MPH, 7_MPH, 12 }, { 24_MPH, 11_MPH, 7_MPH, 9 }, { 26_MPH, 12_MPH, 6_MPH, 8 }, + { 24_MPH, 12_MPH, 11_MPH, 9 }, { 24_MPH, 11_MPH, 5_MPH, 7 }, { 29_MPH, 21_MPH, 16_MPH, 5 }, + { 22_MPH, 13_MPH, 13_MPH, 5 }, { 27_MPH, 20_MPH, 12_MPH, 6 }, { 21_MPH, 14_MPH, 7_MPH, 9 }, + { 27_MPH, 18_MPH, 7_MPH, 6 }, { 19_MPH, 12_MPH, 12_MPH, 6 }, { 25_MPH, 18_MPH, 9_MPH, 7 }, + { 20_MPH, 10_MPH, 10_MPH, 10 }, { 19_MPH, 9_MPH, 7_MPH, 9 }, { 24_MPH, 14_MPH, 7_MPH, 7 }, + { 25_MPH, 12_MPH, 10_MPH, 10 }, { 24_MPH, 15_MPH, 8_MPH, 7 }, { 23_MPH, 11_MPH, 6_MPH, 8 }, + { 18_MPH, 11_MPH, 7_MPH, 9 }, { 23_MPH, 8_MPH, 5_MPH, 11 }, { 12_MPH, 8_MPH, 12_MPH, 8 }, + { 22_MPH, 14_MPH, 12_MPH, 9 }, { 25_MPH, 13_MPH, 14_MPH, 8 }, { 26_MPH, 12_MPH, 5_MPH, 12 }, + { 29_MPH, 15_MPH, 6_MPH, 10 }, { 20_MPH, 12_MPH, 8_MPH, 9 }, { 25_MPH, 13_MPH, 10_MPH, 8 }, + { 23_MPH, 12_MPH, 8_MPH, 9 }, { 20_MPH, 11_MPH, 5_MPH, 11 }, { 22_MPH, 11_MPH, 5_MPH, 11 }, + { 21_MPH, 9_MPH, 6_MPH, 9 }, { 28_MPH, 13_MPH, 8_MPH, 10 }, { 27_MPH, 14_MPH, 10_MPH, 11 }, + { 22_MPH, 16_MPH, 10_MPH, 5 }, { 25_MPH, 14_MPH, 9_MPH, 6 }, { 20_MPH, 10_MPH, 7_MPH, 10 }, + { 24_MPH, 15_MPH, 13_MPH, 7 }, { 22_MPH, 11_MPH, 4_MPH, 9 }, { 19_MPH, 9_MPH, 4_MPH, 12 }, + { 19_MPH, 11_MPH, 8_MPH, 7 }, { 24_MPH, 16_MPH, 15_MPH, 5 }, { 15_MPH, 11_MPH, 9_MPH, 7 }, + { 25_MPH, 10_MPH, 7_MPH, 10 }, { 23_MPH, 11_MPH, 5_MPH, 9 }, { 24_MPH, 13_MPH, 11_MPH, 8 }, + { 26_MPH, 16_MPH, 9_MPH, 8 }, { 25_MPH, 16_MPH, 10_MPH, 6 }, { 26_MPH, 16_MPH, 8_MPH, 6 }, + { 26_MPH, 16_MPH, 12_MPH, 7 }, { 25_MPH, 11_MPH, 10_MPH, 11 }, { 21_MPH, 13_MPH, 13_MPH, 6 }, + { 9_MPH, 6_MPH, 4_MPH, 11 }, { 26_MPH, 11_MPH, 5_MPH, 10 }, { 25_MPH, 18_MPH, 14_MPH, 5 }, + { 26_MPH, 16_MPH, 9_MPH, 4 }, { 24_MPH, 11_MPH, 11_MPH, 9 }, { 26_MPH, 16_MPH, 11_MPH, 8 }, + { 29_MPH, 12_MPH, 5_MPH, 10 }, { 26_MPH, 11_MPH, 4_MPH, 12 }, { 19_MPH, 9_MPH, 12_MPH, 8 }, + { 18_MPH, 8_MPH, 5_MPH, 12 }, { 28_MPH, 11_MPH, 4_MPH, 10 }, { 25_MPH, 16_MPH, 10_MPH, 8 }, + { 29_MPH, 17_MPH, 12_MPH, 6 }, { 18_MPH, 11_MPH, 10_MPH, 8 }, { 25_MPH, 10_MPH, 9_MPH, 10 }, + { 25_MPH, 12_MPH, 6_MPH, 12 }, { 23_MPH, 12_MPH, 8_MPH, 8 }, { 27_MPH, 9_MPH, 9_MPH, 11 }, + { 27_MPH, 19_MPH, 10_MPH, 3 }, { 28_MPH, 12_MPH, 10_MPH, 8 }, { 25_MPH, 14_MPH, 10_MPH, 7 }, + { 28_MPH, 17_MPH, 8_MPH, 7 }, { 24_MPH, 13_MPH, 4_MPH, 9 }, { 25_MPH, 12_MPH, 8_MPH, 9 }, + { 18_MPH, 9_MPH, 6_MPH, 13 }, { 19_MPH, 8_MPH, 7_MPH, 11 }, { 28_MPH, 12_MPH, 7_MPH, 10 }, + { 21_MPH, 10_MPH, 6_MPH, 9 }, { 26_MPH, 13_MPH, 8_MPH, 9 }, { 21_MPH, 12_MPH, 12_MPH, 6 }, + { 25_MPH, 15_MPH, 8_MPH, 5 }, { 17_MPH, 12_MPH, 13_MPH, 7 }, { 20_MPH, 9_MPH, 6_MPH, 12 }, + { 27_MPH, 18_MPH, 13_MPH, 5 }, { 22_MPH, 14_MPH, 14_MPH, 5 }, { 19_MPH, 12_MPH, 15_MPH, 5 }, + { 26_MPH, 13_MPH, 10_MPH, 10 }, { 23_MPH, 11_MPH, 8_MPH, 10 }, { 28_MPH, 17_MPH, 11_MPH, 8 }, + { 23_MPH, 9_MPH, 5_MPH, 10 }, { 20_MPH, 11_MPH, 10_MPH, 7 }, { 24_MPH, 9_MPH, 7_MPH, 12 }, + { 25_MPH, 13_MPH, 8_MPH, 8 }, { 25_MPH, 18_MPH, 14_MPH, 6 }, { 22_MPH, 16_MPH, 12_MPH, 7 }, + { 21_MPH, 12_MPH, 11_MPH, 8 }, { 22_MPH, 16_MPH, 10_MPH, 6 }, { 21_MPH, 15_MPH, 11_MPH, 6 }, + { 24_MPH, 16_MPH, 12_MPH, 7 }, { 28_MPH, 21_MPH, 9_MPH, 4 }, { 26_MPH, 14_MPH, 12_MPH, 8 }, + { 23_MPH, 13_MPH, 8_MPH, 7 }, { 26_MPH, 16_MPH, 14_MPH, 7 }, { 23_MPH, 14_MPH, 8_MPH, 7 }, + { 21_MPH, 13_MPH, 8_MPH, 7 }, { 26_MPH, 17_MPH, 7_MPH, 6 }, { 28_MPH, 10_MPH, 9_MPH, 10 }, + { 28_MPH, 11_MPH, 6_MPH, 12 }, { 21_MPH, 9_MPH, 9_MPH, 10 }, { 27_MPH, 12_MPH, 10_MPH, 9 }, + { 20_MPH, 10_MPH, 11_MPH, 8 }, { 26_MPH, 17_MPH, 15_MPH, 6 }, { 23_MPH, 9_MPH, 6_MPH, 11 }, + { 26_MPH, 17_MPH, 10_MPH, 8 }, { 22_MPH, 13_MPH, 12_MPH, 9 }, { 24_MPH, 12_MPH, 11_MPH, 8 }, + { 27_MPH, 17_MPH, 9_MPH, 7 }, { 27_MPH, 14_MPH, 7_MPH, 10 }, { 26_MPH, 9_MPH, 6_MPH, 9 }, + { 23_MPH, 10_MPH, 11_MPH, 9 }, { 30_MPH, 23_MPH, 10_MPH, 3 }, { 14_MPH, 7_MPH, 7_MPH, 10 }, + { 25_MPH, 12_MPH, 9_MPH, 10 }, { 20_MPH, 12_MPH, 8_MPH, 4 }, { 24_MPH, 16_MPH, 12_MPH, 7 }, + { 24_MPH, 13_MPH, 6_MPH, 10 }, { 24_MPH, 14_MPH, 9_MPH, 5 }, { 27_MPH, 14_MPH, 7_MPH, 8 }, + { 26_MPH, 12_MPH, 9_MPH, 9 }, { 23_MPH, 14_MPH, 8_MPH, 8 }, { 25_MPH, 16_MPH, 11_MPH, 6 }, + { 29_MPH, 17_MPH, 7_MPH, 9 }, { 25_MPH, 17_MPH, 15_MPH, 5 }, { 27_MPH, 16_MPH, 11_MPH, 4 }, + { 13_MPH, 8_MPH, 10_MPH, 10 }, { 27_MPH, 17_MPH, 8_MPH, 7 }, { 22_MPH, 13_MPH, 6_MPH, 7 }, + { 25_MPH, 18_MPH, 16_MPH, 4 }, { 23_MPH, 12_MPH, 6_MPH, 8 }, { 22_MPH, 16_MPH, 12_MPH, 5 }, + { 25_MPH, 14_MPH, 10_MPH, 6 }, { 19_MPH, 11_MPH, 10_MPH, 8 }, { 24_MPH, 10_MPH, 10_MPH, 8 }, + { 27_MPH, 17_MPH, 12_MPH, 7 }, { 27_MPH, 16_MPH, 12_MPH, 5 }, { 24_MPH, 16_MPH, 8_MPH, 7 }, + { 20_MPH, 9_MPH, 8_MPH, 9 }, { 27_MPH, 19_MPH, 15_MPH, 4 }, { 21_MPH, 10_MPH, 11_MPH, 8 }, + { 17_MPH, 8_MPH, 5_MPH, 11 }, { 16_MPH, 10_MPH, 10_MPH, 8 }, { 29_MPH, 18_MPH, 10_MPH, 7 }, + { 23_MPH, 16_MPH, 14_MPH, 5 }, { 16_MPH, 8_MPH, 6_MPH, 10 }, { 24_MPH, 10_MPH, 8_MPH, 11 }, + { 21_MPH, 11_MPH, 7_MPH, 11 }, { 26_MPH, 13_MPH, 8_MPH, 7 }, { 22_MPH, 10_MPH, 8_MPH, 11 }, + { 25_MPH, 13_MPH, 11_MPH, 9 }, { 24_MPH, 15_MPH, 8_MPH, 5 }, { 26_MPH, 12_MPH, 6_MPH, 8 }, + { 21_MPH, 15_MPH, 15_MPH, 7 }, { 28_MPH, 19_MPH, 14_MPH, 6 }, { 23_MPH, 14_MPH, 9_MPH, 8 }, + { 25_MPH, 13_MPH, 6_MPH, 9 }, { 18_MPH, 11_MPH, 12_MPH, 7 }, { 22_MPH, 13_MPH, 7_MPH, 6 }, + { 23_MPH, 13_MPH, 7_MPH, 8 }, { 27_MPH, 18_MPH, 9_MPH, 5 }, { 20_MPH, 9_MPH, 6_MPH, 10 }, + { 29_MPH, 9_MPH, 9_MPH, 12 }, { 26_MPH, 12_MPH, 9_MPH, 11 }, { 27_MPH, 10_MPH, 5_MPH, 11 }, + { 26_MPH, 20_MPH, 9_MPH, 3 }, { 18_MPH, 10_MPH, 11_MPH, 8 }, { 28_MPH, 16_MPH, 12_MPH, 8 }, + { 13_MPH, 9_MPH, 7_MPH, 9 }, { 24_MPH, 15_MPH, 9_MPH, 6 }, { 20_MPH, 11_MPH, 9_MPH, 8 }, + { 24_MPH, 15_MPH, 12_MPH, 4 }, { 24_MPH, 14_MPH, 9_MPH, 5 }, { 22_MPH, 11_MPH, 8_MPH, 10 }, + { 24_MPH, 11_MPH, 10_MPH, 10 }, { 24_MPH, 17_MPH, 10_MPH, 7 }, { 28_MPH, 18_MPH, 13_MPH, 7 }, + { 23_MPH, 11_MPH, 8_MPH, 12 }, { 25_MPH, 12_MPH, 11_MPH, 8 }, { 21_MPH, 10_MPH, 11_MPH, 8 }, + { 15_MPH, 8_MPH, 7_MPH, 10 }, { 26_MPH, 16_MPH, 9_MPH, 8 }, { 21_MPH, 10_MPH, 9_MPH, 10 }, + { 27_MPH, 17_MPH, 16_MPH, 6 }, { 22_MPH, 12_MPH, 6_MPH, 9 }, { 25_MPH, 9_MPH, 4_MPH, 11 }, + { 26_MPH, 16_MPH, 13_MPH, 9 }, { 26_MPH, 19_MPH, 11_MPH, 6 }, { 24_MPH, 15_MPH, 13_MPH, 7 }, + { 16_MPH, 9_MPH, 10_MPH, 8 }, { 21_MPH, 11_MPH, 7_MPH, 6 }, { 28_MPH, 20_MPH, 15_MPH, 6 }, + { 25_MPH, 15_MPH, 9_MPH, 6 } }; int32_t Vehicle::CalculateRiderBraking() const @@ -139,7 +142,7 @@ int32_t Vehicle::CalculateRiderBraking() const int32_t relativeVelocity = velocity - prevVehicle->velocity; int32_t z_diff = abs(z - prevVehicle->z); - if (distance < followDistance && z_diff < 16 && relativeVelocity > -MPH(2)) + if (distance < followDistance && z_diff < 16 && relativeVelocity > -2_MPH) { if (distance < followDistance / 2 || relativeVelocity > riderSettings.brakeThreshold) {