summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/peds/Ped.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/peds/Ped.cpp b/src/peds/Ped.cpp
index 922de3ce..543dae57 100644
--- a/src/peds/Ped.cpp
+++ b/src/peds/Ped.cpp
@@ -2120,18 +2120,16 @@ CPed::SortPeds(CPed **list, int min, int max)
int left = max;
int right;
for(right = min; right <= left; ){
- // Those 1.0s are my addition to make sure loop always run for first time.
- for (float rightDist = middleDist-1.0f; middleDist > rightDist; right++) {
+ float rightDist, leftDist;
+ do {
rightDiff = GetPosition() - list[right]->GetPosition();
rightDist = rightDiff.Magnitude();
- }
- right--;
+ } while (middleDist > rightDist && ++right);
- for (float leftDist = middleDist+1.0f; middleDist < leftDist; left--) {
+ do {
leftDiff = GetPosition() - list[left]->GetPosition();
leftDist = leftDiff.Magnitude();
- }
- left++;
+ } while (middleDist < leftDist && left--);
if (right <= left) {
CPed *ped = list[right];
@@ -13136,10 +13134,9 @@ CPed::ProcessObjective(void)
{
if (!m_carInObjective || bInVehicle) {
#ifdef VC_PED_PORTS
- if (bInVehicle && m_pMyVehicle != m_carInObjective)
- {
+ if (bInVehicle && m_pMyVehicle != m_carInObjective) {
SetExitCar(m_pMyVehicle, 0);
- }
+ } else
#endif
{
bObjectiveCompleted = true;