Avoid hard-coded percentage values in station rating tooltip strings

This commit is contained in:
Jonathan G Rennison
2021-06-14 22:35:38 +01:00
parent 92dad745c9
commit 2b8775fb4a
2 changed files with 43 additions and 28 deletions

View File

@@ -6518,28 +6518,31 @@ STR_STATION_RATING_TOOLTIP_NEWGRF_SPEED :Max speed of la
STR_STATION_RATING_TOOLTIP_NEWGRF_WAITUNITS :Cargo waiting (on average per next stop): {LTBLUE}{NUM} STR_STATION_RATING_TOOLTIP_NEWGRF_WAITUNITS :Cargo waiting (on average per next stop): {LTBLUE}{NUM}
STR_STATION_RATING_TOOLTIP_NEWGRF_WAITTIME :Time since last pickup: {LTBLUE}{NUM} day{P "" s} STR_STATION_RATING_TOOLTIP_NEWGRF_WAITTIME :Time since last pickup: {LTBLUE}{NUM} day{P "" s}
STR_STATION_RATING_TOOLTIP_SPEED :Max speed of last vehicle (max +17%): {STRING2} ({STRING}) STR_STATION_RATING_MAX_PERCENTAGE : (max +{NUM}%)
STR_STATION_RATING_MAX_PERCENTAGE_COMMA :, max +{NUM}%
STR_STATION_RATING_TOOLTIP_SPEED :Max speed of last vehicle{STRING1}: {STRING2} ({STRING})
STR_STATION_RATING_TOOLTIP_SPEED_ZERO :{RED}{VELOCITY}, {NUM}% STR_STATION_RATING_TOOLTIP_SPEED_ZERO :{RED}{VELOCITY}, {NUM}%
STR_STATION_RATING_TOOLTIP_SPEED_0 :{ORANGE}{VELOCITY}, +{NUM}% STR_STATION_RATING_TOOLTIP_SPEED_0 :{ORANGE}{VELOCITY}, +{NUM}%
STR_STATION_RATING_TOOLTIP_SPEED_1 :{GOLD}{VELOCITY}, +{NUM}% STR_STATION_RATING_TOOLTIP_SPEED_1 :{GOLD}{VELOCITY}, +{NUM}%
STR_STATION_RATING_TOOLTIP_SPEED_2 :{YELLOW}{VELOCITY}, +{NUM}% STR_STATION_RATING_TOOLTIP_SPEED_2 :{YELLOW}{VELOCITY}, +{NUM}%
STR_STATION_RATING_TOOLTIP_SPEED_3 :{GREEN}{VELOCITY}, +{NUM}% STR_STATION_RATING_TOOLTIP_SPEED_3 :{GREEN}{VELOCITY}, +{NUM}%
STR_STATION_RATING_TOOLTIP_AGE :Age of last vehicle (max +13%): {STRING2} STR_STATION_RATING_TOOLTIP_AGE :Age of last vehicle{STRING1}: {STRING2}
STR_STATION_RATING_TOOLTIP_AGE_0 :{ORANGE}{NUM} year{P "" s}, {NUM}% STR_STATION_RATING_TOOLTIP_AGE_0 :{ORANGE}{NUM} year{P "" s}, {NUM}%
STR_STATION_RATING_TOOLTIP_AGE_1 :{GOLD}{NUM} year{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_AGE_1 :{GOLD}{NUM} year{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_AGE_2 :{YELLOW}{NUM} year{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_AGE_2 :{YELLOW}{NUM} year{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_AGE_3 :{GREEN}{NUM} year{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_AGE_3 :{GREEN}{NUM} year{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_WAITTIME :Time since last pickup (max +51%): {STRING2} STR_STATION_RATING_TOOLTIP_WAITTIME :Time since last pickup{STRING1}: {STRING2}
STR_STATION_RATING_TOOLTIP_WAITTIME_SHIP :Time since last pickup (max +51%): {STRING2} (by ship) STR_STATION_RATING_TOOLTIP_WAITTIME_SHIP :Time since last pickup{STRING1}: {STRING2} (by ship)
STR_STATION_RATING_TOOLTIP_WAITTIME_0 :{RED}{NUM} day{P "" s}, {NUM}% STR_STATION_RATING_TOOLTIP_WAITTIME_0 :{RED}{NUM} day{P "" s}, {NUM}%
STR_STATION_RATING_TOOLTIP_WAITTIME_1 :{ORANGE}{NUM} day{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_WAITTIME_1 :{ORANGE}{NUM} day{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_WAITTIME_2 :{GOLD}{NUM} day{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_WAITTIME_2 :{GOLD}{NUM} day{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_WAITTIME_3 :{YELLOW}{NUM} day{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_WAITTIME_3 :{YELLOW}{NUM} day{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_WAITTIME_4 :{GREEN}{NUM} day{P "" s}, +{NUM}% STR_STATION_RATING_TOOLTIP_WAITTIME_4 :{GREEN}{NUM} day{P "" s}, +{NUM}%
STR_STATION_RATING_TOOLTIP_WAITUNITS :Cargo waiting (on average per next stop, max +16%): {STRING2} STR_STATION_RATING_TOOLTIP_WAITUNITS :Cargo waiting (on average per next stop{STRING1}): {STRING2}
STR_STATION_RATING_TOOLTIP_WAITUNITS_0 :{RED}{NUM}, {NUM}% STR_STATION_RATING_TOOLTIP_WAITUNITS_0 :{RED}{NUM}, {NUM}%
STR_STATION_RATING_TOOLTIP_WAITUNITS_1 :{ORANGE}{NUM}, {NUM}% STR_STATION_RATING_TOOLTIP_WAITUNITS_1 :{ORANGE}{NUM}, {NUM}%
STR_STATION_RATING_TOOLTIP_WAITUNITS_2 :{GOLD}{NUM}, {NUM}% STR_STATION_RATING_TOOLTIP_WAITUNITS_2 :{GOLD}{NUM}, {NUM}%
@@ -6547,9 +6550,9 @@ STR_STATION_RATING_TOOLTIP_WAITUNITS_3 :{YELLOW}{NUM},
STR_STATION_RATING_TOOLTIP_WAITUNITS_4 :{YELLOW}{NUM}, +{NUM}% STR_STATION_RATING_TOOLTIP_WAITUNITS_4 :{YELLOW}{NUM}, +{NUM}%
STR_STATION_RATING_TOOLTIP_WAITUNITS_5 :{GREEN}{NUM}, +{NUM}% STR_STATION_RATING_TOOLTIP_WAITUNITS_5 :{GREEN}{NUM}, +{NUM}%
STR_STATION_RATING_TOOLTIP_STATUE :Statue in town (max +10%): {STRING} STR_STATION_RATING_TOOLTIP_STATUE :Statue in town{STRING1}: {STRING1}
STR_STATION_RATING_TOOLTIP_STATUE_NO :{GOLD}no, 0% STR_STATION_RATING_TOOLTIP_STATUE_NO :{GOLD}no, {NUM}%
STR_STATION_RATING_TOOLTIP_STATUE_YES :{GREEN}yes, +10% STR_STATION_RATING_TOOLTIP_STATUE_YES :{GREEN}yes, +{NUM}%
STR_STATION_RATING_TOOLTIP_TRAIN :Train STR_STATION_RATING_TOOLTIP_TRAIN :Train
STR_STATION_RATING_TOOLTIP_ROAD_VEHICLE :Road Vehicle STR_STATION_RATING_TOOLTIP_ROAD_VEHICLE :Road Vehicle

View File

@@ -2710,35 +2710,38 @@ public:
const auto speed_rating = GetSpeedRating(ge); const auto speed_rating = GetSpeedRating(ge);
const auto rounded_speed_rating = RoundRating(speed_rating); const auto rounded_speed_rating = RoundRating(speed_rating);
SetDParam(0, STR_STATION_RATING_MAX_PERCENTAGE);
SetDParam(1, 17);
if (ge->last_speed == 255) { if (ge->last_speed == 255) {
SetDParam(0, STR_STATION_RATING_TOOLTIP_SPEED_3); SetDParam(2, STR_STATION_RATING_TOOLTIP_SPEED_3);
} }
else if (rounded_speed_rating == 0) { else if (rounded_speed_rating == 0) {
SetDParam(0, STR_STATION_RATING_TOOLTIP_SPEED_ZERO); SetDParam(2, STR_STATION_RATING_TOOLTIP_SPEED_ZERO);
} }
else { else {
SetDParam(0, STR_STATION_RATING_TOOLTIP_SPEED_0 + std::min(3, speed_rating / 42)); SetDParam(2, STR_STATION_RATING_TOOLTIP_SPEED_0 + std::min(3, speed_rating / 42));
} }
SetDParam(1, ge->last_speed); SetDParam(3, ge->last_speed);
SetDParam(2, rounded_speed_rating); SetDParam(4, rounded_speed_rating);
switch (ge->last_vehicle_type) switch (ge->last_vehicle_type)
{ {
case VEH_TRAIN: case VEH_TRAIN:
SetDParam(3, STR_STATION_RATING_TOOLTIP_TRAIN); SetDParam(5, STR_STATION_RATING_TOOLTIP_TRAIN);
break; break;
case VEH_ROAD: case VEH_ROAD:
SetDParam(3, STR_STATION_RATING_TOOLTIP_ROAD_VEHICLE); SetDParam(5, STR_STATION_RATING_TOOLTIP_ROAD_VEHICLE);
break; break;
case VEH_SHIP: case VEH_SHIP:
SetDParam(3, STR_STATION_RATING_TOOLTIP_SHIP); SetDParam(5, STR_STATION_RATING_TOOLTIP_SHIP);
break; break;
case VEH_AIRCRAFT: case VEH_AIRCRAFT:
SetDParam(3, STR_STATION_RATING_TOOLTIP_AIRCRAFT); SetDParam(5, STR_STATION_RATING_TOOLTIP_AIRCRAFT);
break; break;
default: default:
SetDParam(3, STR_STATION_RATING_TOOLTIP_INVALID); SetDParam(5, STR_STATION_RATING_TOOLTIP_INVALID);
break; break;
} }
@@ -2764,9 +2767,11 @@ public:
wait_time_stage = 1; wait_time_stage = 1;
} }
SetDParam(0, STR_STATION_RATING_TOOLTIP_WAITTIME_0 + wait_time_stage); SetDParam(0, STR_STATION_RATING_MAX_PERCENTAGE);
SetDParam(1, ge->max_waiting_cargo); SetDParam(1, 51);
SetDParam(2, RoundRating(wait_time_rating)); SetDParam(2, STR_STATION_RATING_TOOLTIP_WAITTIME_0 + wait_time_stage);
SetDParam(3, ge->max_waiting_cargo);
SetDParam(4, RoundRating(wait_time_rating));
GetString(this->data[line_nr], GetString(this->data[line_nr],
(ge->last_vehicle_type == VEH_SHIP) ? (ge->last_vehicle_type == VEH_SHIP) ?
STR_STATION_RATING_TOOLTIP_WAITTIME_SHIP : STR_STATION_RATING_TOOLTIP_WAITTIME_SHIP :
@@ -2795,9 +2800,11 @@ public:
wait_units_stage = 1; wait_units_stage = 1;
} }
SetDParam(0, STR_STATION_RATING_TOOLTIP_WAITUNITS_0 + wait_units_stage); SetDParam(0, STR_STATION_RATING_MAX_PERCENTAGE_COMMA);
SetDParam(1, ge->max_waiting_cargo); SetDParam(1, 16);
SetDParam(2, RoundRating(cargo_rating)); SetDParam(2, STR_STATION_RATING_TOOLTIP_WAITUNITS_0 + wait_units_stage);
SetDParam(3, ge->max_waiting_cargo);
SetDParam(4, RoundRating(cargo_rating));
GetString(this->data[line_nr], GetString(this->data[line_nr],
STR_STATION_RATING_TOOLTIP_WAITUNITS, STR_STATION_RATING_TOOLTIP_WAITUNITS,
lastof(this->data[line_nr])); lastof(this->data[line_nr]));
@@ -2812,7 +2819,10 @@ public:
{ {
const auto statue_rating = GetStatueRating(st); const auto statue_rating = GetStatueRating(st);
SetDParam(0, (statue_rating > 0) ? STR_STATION_RATING_TOOLTIP_STATUE_YES : STR_STATION_RATING_TOOLTIP_STATUE_NO); SetDParam(0, STR_STATION_RATING_MAX_PERCENTAGE);
SetDParam(1, 10);
SetDParam(2, (statue_rating > 0) ? STR_STATION_RATING_TOOLTIP_STATUE_YES : STR_STATION_RATING_TOOLTIP_STATUE_NO);
SetDParam(3, (statue_rating > 0) ? 10 : 0);
GetString(this->data[line_nr], STR_STATION_RATING_TOOLTIP_STATUE, lastof(this->data[line_nr])); GetString(this->data[line_nr], STR_STATION_RATING_TOOLTIP_STATUE, lastof(this->data[line_nr]));
line_nr++; line_nr++;
@@ -2833,9 +2843,11 @@ public:
age_stage = 1; age_stage = 1;
} }
SetDParam(0, STR_STATION_RATING_TOOLTIP_AGE_0 + age_stage); SetDParam(0, STR_STATION_RATING_MAX_PERCENTAGE);
SetDParam(1, ge->last_age); SetDParam(1, 13);
SetDParam(2, RoundRating(age_rating)); SetDParam(2, STR_STATION_RATING_TOOLTIP_AGE_0 + age_stage);
SetDParam(3, ge->last_age);
SetDParam(4, RoundRating(age_rating));
GetString(this->data[line_nr], STR_STATION_RATING_TOOLTIP_AGE, lastof(this->data[line_nr])); GetString(this->data[line_nr], STR_STATION_RATING_TOOLTIP_AGE, lastof(this->data[line_nr]));
line_nr++; line_nr++;