mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r15521) -Codechange: add helper function to get the display tractive effort of a vehicle.
This commit is contained in:
parent
459a855e60
commit
a5f30dd553
|
@ -512,11 +512,10 @@ static int DrawRailWagonPurchaseInfo(int x, int y, EngineID engine_number, const
|
|||
static int DrawRailEnginePurchaseInfo(int x, int y, EngineID engine_number, const RailVehicleInfo *rvi)
|
||||
{
|
||||
const Engine *e = GetEngine(engine_number);
|
||||
uint weight = e->GetDisplayWeight();
|
||||
|
||||
/* Purchase Cost - Engine weight */
|
||||
SetDParam(0, e->GetCost());
|
||||
SetDParam(1, weight);
|
||||
SetDParam(1, e->GetDisplayWeight());
|
||||
DrawString(x, y, STR_PURCHASE_INFO_COST_WEIGHT, TC_FROMSTRING);
|
||||
y += 10;
|
||||
|
||||
|
@ -528,7 +527,7 @@ static int DrawRailEnginePurchaseInfo(int x, int y, EngineID engine_number, cons
|
|||
|
||||
/* Max tractive effort - not applicable if old acceleration or maglev */
|
||||
if (_settings_game.vehicle.train_acceleration_model != TAM_ORIGINAL && rvi->railtype != RAILTYPE_MAGLEV) {
|
||||
SetDParam(0, (weight * 10 * GetEngineProperty(engine_number, 0x1F, rvi->tractive_effort)) / 256);
|
||||
SetDParam(0, e->GetDisplayMaxTractiveEffort());
|
||||
DrawString(x, y, STR_PURCHASE_INFO_MAX_TE, TC_FROMSTRING);
|
||||
y += 10;
|
||||
}
|
||||
|
|
|
@ -204,6 +204,22 @@ uint Engine::GetDisplayWeight() const
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the tractive effort for display purposes.
|
||||
* For dual-headed train-engines this is the tractive effort of both heads
|
||||
* @return tractive effort in display units kN
|
||||
*/
|
||||
uint Engine::GetDisplayMaxTractiveEffort() const
|
||||
{
|
||||
/* Currently only trains have 'tractive effort' */
|
||||
switch (this->type) {
|
||||
case VEH_TRAIN:
|
||||
return (10 * this->GetDisplayWeight() * GetEngineProperty(this->index, 0x1F, this->u.rail.tractive_effort)) / 256;
|
||||
|
||||
default: NOT_REACHED();
|
||||
}
|
||||
}
|
||||
|
||||
/** Sets cached values in Company::num_vehicles and Group::num_vehicles
|
||||
*/
|
||||
void SetCachedEngineCounts()
|
||||
|
|
|
@ -55,6 +55,7 @@ struct Engine : PoolItem<Engine, EngineID, &_Engine_pool> {
|
|||
uint GetDisplayMaxSpeed() const;
|
||||
uint GetPower() const;
|
||||
uint GetDisplayWeight() const;
|
||||
uint GetDisplayMaxTractiveEffort() const;
|
||||
};
|
||||
|
||||
static inline bool IsEngineIndex(uint index)
|
||||
|
|
Loading…
Reference in New Issue