|
@@ -206,9 +206,9 @@ static int CDECL TrainEngineRunningCostS
|
|
|
const RailVehicleInfo *rvi_a = RailVehInfo(*(const EngineID*)a);
|
|
|
const RailVehicleInfo *rvi_b = RailVehInfo(*(const EngineID*)b);
|
|
|
|
|
|
int va = rvi_a->running_cost_base * _price.running_rail[rvi_a->running_cost_class] * (rvi_a->railveh_type == RAILVEH_MULTIHEAD ? 2 : 1);
|
|
|
int vb = rvi_b->running_cost_base * _price.running_rail[rvi_b->running_cost_class] * (rvi_b->railveh_type == RAILVEH_MULTIHEAD ? 2 : 1);
|
|
|
int r = va - vb;
|
|
|
Money va = rvi_a->running_cost_base * _price.running_rail[rvi_a->running_cost_class] * (rvi_a->railveh_type == RAILVEH_MULTIHEAD ? 2 : 1);
|
|
|
Money vb = rvi_b->running_cost_base * _price.running_rail[rvi_b->running_cost_class] * (rvi_b->railveh_type == RAILVEH_MULTIHEAD ? 2 : 1);
|
|
|
int r = ClampToI32(va - vb);
|
|
|
|
|
|
return _internal_sort_order ? -r : r;
|
|
|
}
|
|
@@ -224,9 +224,9 @@ static int CDECL TrainEnginePowerVsRunni
|
|
|
* Because of this, the return value have to be reversed as well and we return b - a instead of a - b.
|
|
|
* Another thing is that both power and running costs should be doubled for multiheaded engines.
|
|
|
* Since it would be multipling with 2 in both numerator and denumerator, it will even themselves out and we skip checking for multiheaded. */
|
|
|
int va = (rvi_a->running_cost_base * _price.running_rail[rvi_a->running_cost_class]) / max((uint16)1, rvi_a->power);
|
|
|
int vb = (rvi_b->running_cost_base * _price.running_rail[rvi_b->running_cost_class]) / max((uint16)1, rvi_b->power);
|
|
|
int r = vb - va;
|
|
|
Money va = (rvi_a->running_cost_base * _price.running_rail[rvi_a->running_cost_class]) / max((uint16)1, rvi_a->power);
|
|
|
Money vb = (rvi_b->running_cost_base * _price.running_rail[rvi_b->running_cost_class]) / max((uint16)1, rvi_b->power);
|
|
|
int r = ClampToI32(vb - va);
|
|
|
|
|
|
return _internal_sort_order ? -r : r;
|
|
|
}
|