(svn r27797) -Add: Display aircraft type in its vehicle window (patch by Samu)

This commit is contained in:
alberth 2017-03-18 20:43:43 +00:00
parent 19188818ea
commit ad88588481
4 changed files with 31 additions and 5 deletions

View File

@ -464,7 +464,26 @@ uint16 Engine::GetRange() const
}
/**
* Initializes the EngineOverrideManager with the default engines.
* Get the name of the aircraft type for display purposes.
* @return Aircraft type string.
*/
StringID Engine::GetAircraftTypeText() const
{
switch (this->type) {
case VEH_AIRCRAFT:
switch (this->u.air.subtype) {
case AIR_HELI: return STR_LIVERY_HELICOPTER;
case AIR_CTOL: return STR_LIVERY_SMALL_PLANE;
case AIR_CTOL | AIR_FAST: return STR_LIVERY_LARGE_PLANE;
default: NOT_REACHED();
}
default: NOT_REACHED();
}
}
/**
* Initializes the #EngineOverrideManager with the default engines.
*/
void EngineOverrideManager::ResetToDefaultMapping()
{

View File

@ -111,6 +111,7 @@ struct Engine : EnginePool::PoolItem<&_engine_pool> {
uint GetDisplayMaxTractiveEffort() const;
Date GetLifeLengthInDays() const;
uint16 GetRange() const;
StringID GetAircraftTypeText() const;
/**
* Check whether the engine is hidden in the GUI for the given company.

View File

@ -3657,7 +3657,8 @@ STR_VEHICLE_INFO_AGE :{COMMA} year{P
STR_VEHICLE_INFO_AGE_RED :{RED}{COMMA} year{P "" s} ({COMMA})
STR_VEHICLE_INFO_MAX_SPEED :{BLACK}Max. speed: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_MAX_SPEED_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Range: {LTBLUE}{COMMA} tiles
STR_VEHICLE_INFO_MAX_SPEED_TYPE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Aircraft type: {LTBLUE}{STRING}
STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE :{BLACK}Max. speed: {LTBLUE}{VELOCITY} {BLACK}Aircraft type: {LTBLUE}{STRING} {BLACK}Range: {LTBLUE}{COMMA} tiles
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY}
STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Weight: {LTBLUE}{WEIGHT_SHORT} {BLACK}Power: {LTBLUE}{POWER}{BLACK} Max. speed: {LTBLUE}{VELOCITY} {BLACK}Max. T.E.: {LTBLUE}{FORCE}

View File

@ -2069,9 +2069,14 @@ struct VehicleDetailsWindow : Window {
}
} else {
SetDParam(0, v->GetDisplayMaxSpeed());
if (v->type == VEH_AIRCRAFT && Aircraft::From(v)->GetRange() > 0) {
SetDParam(1, Aircraft::From(v)->GetRange());
string = STR_VEHICLE_INFO_MAX_SPEED_RANGE;
if (v->type == VEH_AIRCRAFT) {
SetDParam(1, v->GetEngine()->GetAircraftTypeText());
if (Aircraft::From(v)->GetRange() > 0) {
SetDParam(2, Aircraft::From(v)->GetRange());
string = STR_VEHICLE_INFO_MAX_SPEED_TYPE_RANGE;
} else {
string = STR_VEHICLE_INFO_MAX_SPEED_TYPE;
}
} else {
string = STR_VEHICLE_INFO_MAX_SPEED;
}