diff --git a/src/lang/english.txt b/src/lang/english.txt index c6ec7f9f97..cbd21c58ff 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -5390,8 +5390,10 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Weight: 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} STR_VEHICLE_INFO_TRAIN_LENGTH :{BLACK}Train length {LTBLUE}{DECIMAL} tile{P "" s} {STRING4} -STR_VEHICLE_INFO_WEIGHT_RATIOS :{BLACK}Power / weight: {LTBLUE}{POWER_WEIGHT_RATIO} {BLACK} Max. T.E / weight: {LTBLUE}{FORCE_WEIGHT_RATIO} -STR_VEHICLE_INFO_FULL_WEIGHT_WITH_RATIOS :{BLACK}Full weight: {LTBLUE}{WEIGHT_SHORT} {STRING2} +STR_VEHICLE_INFO_WEIGHT_RATIOS :{STRING1} {STRING1} +STR_VEHICLE_INFO_POWER_WEIGHT_RATIO :{BLACK}Power / weight: {LTBLUE}{POWER_WEIGHT_RATIO} +STR_VEHICLE_INFO_TE_WEIGHT_RATIO :{BLACK}Max. T.E / weight: {LTBLUE}{FORCE_WEIGHT_RATIO} +STR_VEHICLE_INFO_FULL_WEIGHT_WITH_RATIOS :{BLACK}Full weight: {LTBLUE}{WEIGHT_SHORT} {STRING4} STR_VEHICLE_INFO_MAX_SPEED_LOADED :{BLACK}Max. speed (full): {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR :{BLACK}Profit this year: {LTBLUE}{CURRENCY_LONG} (last year: {CURRENCY_LONG}) diff --git a/src/lang/galician.txt b/src/lang/galician.txt index e2ec99f3f0..c98033f08b 100644 --- a/src/lang/galician.txt +++ b/src/lang/galician.txt @@ -6579,7 +6579,9 @@ STR_RUNNING :{LTBLUE}Funcion STR_NEED_REPAIR :{ORANGE}O vehículo precisa reparacións - velocidade máxima reducida a {VELOCITY} STR_CURRENT_STATUS :{BLACK}Estado actual: {STRING} STR_VEHICLE_INFO_TRAIN_LENGTH :{BLACK}Lonxitude do tren {LTBLUE}{DECIMAL} cadro{P "" s} {STRING} -STR_VEHICLE_INFO_WEIGHT_RATIOS :{BLACK}Potencia / peso: {LTBLUE}{POWER_WEIGHT_RATIO} {BLACK} Esforzo máximo de tracción / peso: {LTBLUE}{FORCE_WEIGHT_RATIO} +STR_VEHICLE_INFO_WEIGHT_RATIOS :{STRING1} {STRING1} +STR_VEHICLE_INFO_POWER_WEIGHT_RATIO :{BLACK}Potencia / peso: {LTBLUE}{POWER_WEIGHT_RATIO} +STR_VEHICLE_INFO_TE_WEIGHT_RATIO :{BLACK}Esforzo máximo de tracción / peso: {LTBLUE}{FORCE_WEIGHT_RATIO} STR_VEHICLE_INFO_FULL_WEIGHT_WITH_RATIOS :{BLACK}Peso total: {LTBLUE}{WEIGHT_SHORT} {STRING} STR_VEHICLE_INFO_MAX_SPEED_LOADED :{BLACK}Velocidade máxima (cheo): {LTBLUE}{VELOCITY} STR_VEHICLE_INFO_PROFIT_THIS_YEAR_LAST_YEAR_LIFETIME :{STRING} (vida útil: {CURRENCY_LONG}) diff --git a/src/lang/german.txt b/src/lang/german.txt index adfbc4384e..f2a3cf1bdf 100644 --- a/src/lang/german.txt +++ b/src/lang/german.txt @@ -5378,7 +5378,9 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}Gewicht: STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}Gewicht: {LTBLUE}{WEIGHT_SHORT} {BLACK}Leistung: {LTBLUE}{POWER}{BLACK} Max. Geschw.: {LTBLUE}{VELOCITY} {BLACK}Max. Zugkraft: {LTBLUE}{FORCE} STR_VEHICLE_INFO_TRAIN_LENGTH :{BLACK}Zuglänge: {LTBLUE}{DECIMAL} Kachel{P "" n} {STRING} -STR_VEHICLE_INFO_WEIGHT_RATIOS :{BLACK}Leistung / Gewicht: {LTBLUE}{POWER_WEIGHT_RATIO} {BLACK} Max. Zugkraft / Gewicht: {LTBLUE}{FORCE_WEIGHT_RATIO} +STR_VEHICLE_INFO_WEIGHT_RATIOS :{STRING1} {STRING1} +STR_VEHICLE_INFO_POWER_WEIGHT_RATIO :{BLACK}Leistung / Gewicht: {LTBLUE}{POWER_WEIGHT_RATIO} +STR_VEHICLE_INFO_TE_WEIGHT_RATIO :{BLACK}Max. Zugkraft / Gewicht: {LTBLUE}{FORCE_WEIGHT_RATIO} STR_VEHICLE_INFO_FULL_WEIGHT_WITH_RATIOS :{BLACK}Volles Gewicht: {LTBLUE}{WEIGHT_SHORT} {STRING} STR_VEHICLE_INFO_MAX_SPEED_LOADED :{BLACK}Maximalgeschwindigkeit (beladen): {LTBLUE}{VELOCITY} diff --git a/src/lang/korean.txt b/src/lang/korean.txt index acad5d96ce..beeb70fa59 100644 --- a/src/lang/korean.txt +++ b/src/lang/korean.txt @@ -5385,7 +5385,9 @@ STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED :{BLACK}무게: STR_VEHICLE_INFO_WEIGHT_POWER_MAX_SPEED_MAX_TE :{BLACK}무게: {LTBLUE}{WEIGHT_SHORT} {BLACK}힘: {LTBLUE}{POWER}{BLACK} 최고 속력: {LTBLUE}{VELOCITY} {BLACK}최고 견인력: {LTBLUE}{FORCE} STR_VEHICLE_INFO_TRAIN_LENGTH :{BLACK}열차 길이: {LTBLUE}{DECIMAL} 칸 {STRING} -STR_VEHICLE_INFO_WEIGHT_RATIOS :{BLACK}힘 / 무게: {LTBLUE}{POWER_WEIGHT_RATIO} {BLACK} 최고 견인력 / 무게: {LTBLUE}{FORCE_WEIGHT_RATIO} +STR_VEHICLE_INFO_WEIGHT_RATIOS :{STRING1} {STRING1} +STR_VEHICLE_INFO_POWER_WEIGHT_RATIO :{BLACK}힘 / 무게: {LTBLUE}{POWER_WEIGHT_RATIO} +STR_VEHICLE_INFO_TE_WEIGHT_RATIO :{BLACK}최고 견인력 / 무게: {LTBLUE}{FORCE_WEIGHT_RATIO} STR_VEHICLE_INFO_FULL_WEIGHT_WITH_RATIOS :{BLACK}전체 중량: {LTBLUE}{WEIGHT_SHORT} {STRING} STR_VEHICLE_INFO_MAX_SPEED_LOADED :{BLACK}가득 실었을 때 최대 속력: {LTBLUE}{VELOCITY} diff --git a/src/table/newgrf_debug_data.h b/src/table/newgrf_debug_data.h index e75034fcad..f74573224f 100644 --- a/src/table/newgrf_debug_data.h +++ b/src/table/newgrf_debug_data.h @@ -199,8 +199,8 @@ class NIHVehicle : public NIHelper { seprintf(buffer, lastof(buffer), " Speed restriction: %u, signal speed restriction (ATC): %u", t->speed_restriction, t->signal_speed_restriction); output.print(buffer); - seprintf(buffer, lastof(buffer), " Railtype: %u, compatible_railtypes: 0x" OTTD_PRINTFHEX64, - t->railtype, t->compatible_railtypes); + seprintf(buffer, lastof(buffer), " Railtype: %u, compatible_railtypes: 0x" OTTD_PRINTFHEX64 ", acceleration type: %u", + t->railtype, t->compatible_railtypes, t->GetAccelerationType()); output.print(buffer); if (t->vehstatus & VS_CRASHED) { seprintf(buffer, lastof(buffer), " CRASHED: anim pos: %u", t->crash_anim_pos); diff --git a/src/tbtr_template_gui_create.cpp b/src/tbtr_template_gui_create.cpp index 4a00bc5e0c..fe185599e7 100644 --- a/src/tbtr_template_gui_create.cpp +++ b/src/tbtr_template_gui_create.cpp @@ -352,8 +352,10 @@ public: SetDParam(0, full_weight); if (_settings_client.gui.show_train_weight_ratios_in_details) { SetDParam(1, STR_VEHICLE_INFO_WEIGHT_RATIOS); - SetDParam(2, (100 * this->virtual_train->gcache.cached_power) / std::max(1, full_weight)); - SetDParam(3, (this->virtual_train->gcache.cached_max_te / 10) / std::max(1, full_weight)); + SetDParam(2, STR_VEHICLE_INFO_POWER_WEIGHT_RATIO); + SetDParam(3, (100 * this->virtual_train->gcache.cached_power) / std::max(1, full_weight)); + SetDParam(4, this->virtual_train->GetAccelerationType() == 2 ? STR_EMPTY : STR_VEHICLE_INFO_TE_WEIGHT_RATIO); + SetDParam(5, (this->virtual_train->gcache.cached_max_te / 10) / std::max(1, full_weight)); } else { SetDParam(1, STR_EMPTY); } diff --git a/src/tbtr_template_gui_main.cpp b/src/tbtr_template_gui_main.cpp index f407bdb89e..2b5341c6f1 100644 --- a/src/tbtr_template_gui_main.cpp +++ b/src/tbtr_template_gui_main.cpp @@ -768,8 +768,10 @@ public: SetDParam(0, tmp->full_weight); if (_settings_client.gui.show_train_weight_ratios_in_details) { SetDParam(1, STR_VEHICLE_INFO_WEIGHT_RATIOS); - SetDParam(2, (100 * tmp->power) / std::max(1, tmp->full_weight)); - SetDParam(3, (tmp->max_te / 10) / std::max(1, tmp->full_weight)); + SetDParam(2, STR_VEHICLE_INFO_POWER_WEIGHT_RATIO); + SetDParam(3, (100 * tmp->power) / std::max(1, tmp->full_weight)); + SetDParam(4, GetRailTypeInfo(tmp->railtype)->acceleration_type == 2 ? STR_EMPTY : STR_VEHICLE_INFO_TE_WEIGHT_RATIO); + SetDParam(5, (tmp->max_te / 10) / std::max(1, tmp->full_weight)); } else { SetDParam(1, STR_EMPTY); } diff --git a/src/train.h b/src/train.h index 834bb1d27a..cc4bbb2863 100644 --- a/src/train.h +++ b/src/train.h @@ -321,6 +321,15 @@ public: return this->GetCargoWeight(this->cargo.StoredCount()); } + /** + * Allows to know the acceleration type of a vehicle. + * @return Acceleration type of the vehicle. + */ + inline int GetAccelerationType() const + { + return GetRailTypeInfo(this->railtype)->acceleration_type; + } + protected: // These functions should not be called outside acceleration code. /** * Gets the speed a broken down train (low speed breakdown) is limited to. @@ -439,15 +448,6 @@ protected: // These functions should not be called outside acceleration code. return 15 * (512 + this->GetCurrentSpeed()) / 512; } - /** - * Allows to know the acceleration type of a vehicle. - * @return Acceleration type of the vehicle. - */ - inline int GetAccelerationType() const - { - return GetRailTypeInfo(this->railtype)->acceleration_type; - } - /** * Returns the slope steepness used by this vehicle. * @return Slope steepness used by the vehicle. diff --git a/src/vehicle_gui.cpp b/src/vehicle_gui.cpp index d87067d092..4100a4a00d 100644 --- a/src/vehicle_gui.cpp +++ b/src/vehicle_gui.cpp @@ -2899,8 +2899,10 @@ struct VehicleDetailsWindow : Window { dim = maxdim(dim, GetStringBoundingBox(STR_VEHICLE_INFO_GROUP)); } if (this->vehicle_weight_ratio_line_shown) { - SetDParamMaxValue(0, 1 << 16); + SetDParam(0, STR_VEHICLE_INFO_POWER_WEIGHT_RATIO); SetDParamMaxValue(1, 1 << 16); + SetDParam(2, (v->type != VEH_TRAIN || Train::From(v)->GetAccelerationType() == 2) ? STR_EMPTY : STR_VEHICLE_INFO_TE_WEIGHT_RATIO); + SetDParamMaxValue(3, 1 << 16); dim = maxdim(dim, GetStringBoundingBox(STR_VEHICLE_INFO_WEIGHT_RATIOS)); } SetDParam(0, STR_VEHICLE_INFO_AGE); @@ -3047,8 +3049,10 @@ struct VehicleDetailsWindow : Window { bool should_show_weight_ratio = this->ShouldShowWeightRatioLine(v); if (should_show_weight_ratio) { - SetDParam(0, (100 * Train::From(v)->gcache.cached_power) / std::max(1, Train::From(v)->gcache.cached_weight)); - SetDParam(1, (Train::From(v)->gcache.cached_max_te / 10) / std::max(1, Train::From(v)->gcache.cached_weight)); + SetDParam(0, STR_VEHICLE_INFO_POWER_WEIGHT_RATIO); + SetDParam(1, (100 * Train::From(v)->gcache.cached_power) / std::max(1, Train::From(v)->gcache.cached_weight)); + SetDParam(2, Train::From(v)->GetAccelerationType() == 2 ? STR_EMPTY : STR_VEHICLE_INFO_TE_WEIGHT_RATIO); + SetDParam(3, (Train::From(v)->gcache.cached_max_te / 10) / std::max(1, Train::From(v)->gcache.cached_weight)); DrawString(r.left + WD_FRAMERECT_LEFT, r.right - WD_FRAMERECT_RIGHT, y, STR_VEHICLE_INFO_WEIGHT_RATIOS); y += FONT_HEIGHT_NORMAL; }