mirror of https://github.com/OpenTTD/OpenTTD
(svn r12205) -Codechange: rename RailVehicleInfo::running_cost_base to running_cost, inline with other vehicle types (It is the factor, not the base)
parent
db9d5a909f
commit
79b6b9cb66
|
@ -230,8 +230,8 @@ static int CDECL TrainEngineRunningCostSorter(const void *a, const void *b)
|
||||||
const RailVehicleInfo *rvi_a = RailVehInfo(*(const EngineID*)a);
|
const RailVehicleInfo *rvi_a = RailVehInfo(*(const EngineID*)a);
|
||||||
const RailVehicleInfo *rvi_b = RailVehInfo(*(const EngineID*)b);
|
const RailVehicleInfo *rvi_b = RailVehInfo(*(const EngineID*)b);
|
||||||
|
|
||||||
Money va = rvi_a->running_cost_base * _price.running_rail[rvi_a->running_cost_class] * (rvi_a->railveh_type == RAILVEH_MULTIHEAD ? 2 : 1);
|
Money va = rvi_a->running_cost * _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);
|
Money vb = rvi_b->running_cost * _price.running_rail[rvi_b->running_cost_class] * (rvi_b->railveh_type == RAILVEH_MULTIHEAD ? 2 : 1);
|
||||||
int r = ClampToI32(va - vb);
|
int r = ClampToI32(va - vb);
|
||||||
|
|
||||||
return _internal_sort_order ? -r : r;
|
return _internal_sort_order ? -r : r;
|
||||||
|
@ -248,8 +248,8 @@ static int CDECL TrainEnginePowerVsRunningCostSorter(const void *a, const void *
|
||||||
* Because of this, the return value have to be reversed as well and we return b - a instead of a - b.
|
* 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.
|
* 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. */
|
* Since it would be multipling with 2 in both numerator and denumerator, it will even themselves out and we skip checking for multiheaded. */
|
||||||
Money va = (rvi_a->running_cost_base * _price.running_rail[rvi_a->running_cost_class]) / max(1U, (uint)rvi_a->power);
|
Money va = (rvi_a->running_cost * _price.running_rail[rvi_a->running_cost_class]) / max(1U, (uint)rvi_a->power);
|
||||||
Money vb = (rvi_b->running_cost_base * _price.running_rail[rvi_b->running_cost_class]) / max(1U, (uint)rvi_b->power);
|
Money vb = (rvi_b->running_cost * _price.running_rail[rvi_b->running_cost_class]) / max(1U, (uint)rvi_b->power);
|
||||||
int r = ClampToI32(vb - va);
|
int r = ClampToI32(vb - va);
|
||||||
|
|
||||||
return _internal_sort_order ? -r : r;
|
return _internal_sort_order ? -r : r;
|
||||||
|
@ -603,7 +603,7 @@ static int DrawRailEnginePurchaseInfo(int x, int y, EngineID engine_number, cons
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Running cost */
|
/* Running cost */
|
||||||
SetDParam(0, (GetEngineProperty(engine_number, 0x0D, rvi->running_cost_base) * _price.running_rail[rvi->running_cost_class] >> 8) << multihead);
|
SetDParam(0, (GetEngineProperty(engine_number, 0x0D, rvi->running_cost) * _price.running_rail[rvi->running_cost_class] >> 8) << multihead);
|
||||||
DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
|
DrawString(x, y, STR_PURCHASE_INFO_RUNNINGCOST, TC_FROMSTRING);
|
||||||
y += 10;
|
y += 10;
|
||||||
|
|
||||||
|
|
|
@ -36,7 +36,7 @@ struct RailVehicleInfo {
|
||||||
uint16 max_speed;
|
uint16 max_speed;
|
||||||
uint16 power;
|
uint16 power;
|
||||||
uint16 weight;
|
uint16 weight;
|
||||||
byte running_cost_base;
|
byte running_cost;
|
||||||
byte running_cost_class;
|
byte running_cost_class;
|
||||||
EngineClass engclass; ///< Class of engine for this vehicle
|
EngineClass engclass; ///< Class of engine for this vehicle
|
||||||
byte capacity;
|
byte capacity;
|
||||||
|
|
|
@ -126,7 +126,7 @@ static void DrawTrainEngineInfo(EngineID engine, int x, int y, int maxw)
|
||||||
SetDParam(3, rvi->power << multihead);
|
SetDParam(3, rvi->power << multihead);
|
||||||
SetDParam(1, rvi->weight << multihead);
|
SetDParam(1, rvi->weight << multihead);
|
||||||
|
|
||||||
SetDParam(4, rvi->running_cost_base * _price.running_rail[rvi->running_cost_class] >> 8 << multihead);
|
SetDParam(4, rvi->running_cost * _price.running_rail[rvi->running_cost_class] >> 8 << multihead);
|
||||||
|
|
||||||
if (rvi->capacity != 0) {
|
if (rvi->capacity != 0) {
|
||||||
SetDParam(5, rvi->cargo_type);
|
SetDParam(5, rvi->cargo_type);
|
||||||
|
|
|
@ -377,7 +377,7 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||||
|
|
||||||
if (rvi->railveh_type == RAILVEH_MULTIHEAD) runcostfact /= 2;
|
if (rvi->railveh_type == RAILVEH_MULTIHEAD) runcostfact /= 2;
|
||||||
|
|
||||||
rvi->running_cost_base = runcostfact;
|
rvi->running_cost = runcostfact;
|
||||||
} break;
|
} break;
|
||||||
|
|
||||||
case 0x0E: { // Running cost base
|
case 0x0E: { // Running cost base
|
||||||
|
@ -411,14 +411,14 @@ static bool RailVehicleChangeInfo(uint engine, int numinfo, int prop, byte **buf
|
||||||
if (rvi->railveh_type != RAILVEH_MULTIHEAD) {
|
if (rvi->railveh_type != RAILVEH_MULTIHEAD) {
|
||||||
// adjust power and running cost if needed
|
// adjust power and running cost if needed
|
||||||
rvi->power /= 2;
|
rvi->power /= 2;
|
||||||
rvi->running_cost_base /= 2;
|
rvi->running_cost /= 2;
|
||||||
}
|
}
|
||||||
rvi->railveh_type = RAILVEH_MULTIHEAD;
|
rvi->railveh_type = RAILVEH_MULTIHEAD;
|
||||||
} else {
|
} else {
|
||||||
if (rvi->railveh_type == RAILVEH_MULTIHEAD) {
|
if (rvi->railveh_type == RAILVEH_MULTIHEAD) {
|
||||||
// adjust power and running cost if needed
|
// adjust power and running cost if needed
|
||||||
rvi->power *= 2;
|
rvi->power *= 2;
|
||||||
rvi->running_cost_base *= 2;
|
rvi->running_cost *= 2;
|
||||||
}
|
}
|
||||||
rvi->railveh_type = rvi->power == 0 ?
|
rvi->railveh_type = rvi->power == 0 ?
|
||||||
RAILVEH_WAGON : RAILVEH_SINGLEHEAD;
|
RAILVEH_WAGON : RAILVEH_SINGLEHEAD;
|
||||||
|
|
|
@ -3574,7 +3574,7 @@ Money Train::GetRunningCost() const
|
||||||
do {
|
do {
|
||||||
const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);
|
const RailVehicleInfo *rvi = RailVehInfo(v->engine_type);
|
||||||
|
|
||||||
byte cost_factor = GetVehicleProperty(v, 0x0D, rvi->running_cost_base);
|
byte cost_factor = GetVehicleProperty(v, 0x0D, rvi->running_cost);
|
||||||
if (cost_factor == 0) continue;
|
if (cost_factor == 0) continue;
|
||||||
|
|
||||||
cost += cost_factor * _price.running_rail[rvi->running_cost_class];
|
cost += cost_factor * _price.running_rail[rvi->running_cost_class];
|
||||||
|
|
Loading…
Reference in New Issue