De-duplicate string IDs used for viewport town labels
This commit is contained in:
@@ -30,21 +30,6 @@ STR_ORDER_CONDITIONAL_DISPATCH_SLOT :Výpravní slot
|
||||
|
||||
STR_ORDER_STOP_LOCATION_THROUGH :[postupná nakládka]
|
||||
|
||||
STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING :{WHITE}{TOWN} {RED}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_MEDIOCRE_RATING :{WHITE}{TOWN} {ORANGE}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_GOOD_RATING :{WHITE}{TOWN} {YELLOW}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_EXCELLENT_RATING :{WHITE}{TOWN} {GREEN}({COMMA})
|
||||
|
||||
STR_VIEWPORT_TOWN_VERY_POOR_RATING :{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_MEDIOCRE_RATING :{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_GOOD_RATING :{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_EXCELLENT_RATING :{GREEN}{TOWN}
|
||||
|
||||
STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING :{TINY_FONT}{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_MEDIOCRE_RATING :{TINY_FONT}{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_GOOD_RATING :{TINY_FONT}{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_EXCELLENT_RATING :{TINY_FONT}{GREEN}{TOWN}
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW :extrémně pomalá
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_SLOW :velmi pomalá
|
||||
|
||||
@@ -2127,3 +2112,6 @@ STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :Nastaví, zda a
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :vypnutá
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_SIMPLE :stručná
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_DETAILED :podrobná
|
||||
|
||||
STR_VIEWPORT_TOWN_COLOUR :{1:SET_COLOUR}{0:TOWN}
|
||||
STR_VIEWPORT_TOWN_COLOUR_POP :{WHITE}{TOWN} {SET_COLOUR}({COMMA})
|
||||
|
@@ -20,6 +20,9 @@ STR_JUST_TT_TICKS :{TT_TICKS}
|
||||
STR_JUST_TT_TICKS_LONG :{TT_TICKS_LONG}
|
||||
|
||||
STR_RED_INT :{RED}{NUM}
|
||||
|
||||
STR_VIEWPORT_TOWN_LABEL :{VP_TOWN_LABEL1}
|
||||
STR_VIEWPORT_TOWN_LABEL_TINY :{TINY_FONT}{VP_TOWN_LABEL2}
|
||||
##no-translate off
|
||||
|
||||
##after STR_CONFIG_SETTING_TREE_PLACER_IMPROVED
|
||||
@@ -62,27 +65,6 @@ STR_ORDER_CONDITIONAL_DISPATCH_SLOT :Dispatch slot
|
||||
##after STR_ORDER_STOP_LOCATION_FAR_END
|
||||
STR_ORDER_STOP_LOCATION_THROUGH :[through load]
|
||||
|
||||
##before STR_VIEWPORT_TOWN_POP
|
||||
STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING :{WHITE}{TOWN} {RED}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_MEDIOCRE_RATING :{WHITE}{TOWN} {ORANGE}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_GOOD_RATING :{WHITE}{TOWN} {YELLOW}({COMMA})
|
||||
##after STR_VIEWPORT_TOWN_POP
|
||||
STR_VIEWPORT_TOWN_POP_EXCELLENT_RATING :{WHITE}{TOWN} {GREEN}({COMMA})
|
||||
|
||||
##before STR_VIEWPORT_TOWN
|
||||
STR_VIEWPORT_TOWN_VERY_POOR_RATING :{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_MEDIOCRE_RATING :{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_GOOD_RATING :{YELLOW}{TOWN}
|
||||
##after STR_VIEWPORT_TOWN
|
||||
STR_VIEWPORT_TOWN_EXCELLENT_RATING :{GREEN}{TOWN}
|
||||
|
||||
##before STR_VIEWPORT_TOWN_TINY_WHITE
|
||||
STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING :{TINY_FONT}{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_MEDIOCRE_RATING :{TINY_FONT}{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_GOOD_RATING :{TINY_FONT}{YELLOW}{TOWN}
|
||||
##after STR_VIEWPORT_TOWN_TINY_WHITE
|
||||
STR_VIEWPORT_TOWN_TINY_EXCELLENT_RATING :{TINY_FONT}{GREEN}{TOWN}
|
||||
|
||||
##before STR_CONFIG_SETTING_TOWN_GROWTH_NONE
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW :Extremely slow
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_SLOW :Very slow
|
||||
@@ -2184,3 +2166,6 @@ STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :Set whether sta
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :Off
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_SIMPLE :Simple
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_DETAILED :Detailed
|
||||
|
||||
STR_VIEWPORT_TOWN_COLOUR :{1:SET_COLOUR}{0:TOWN}
|
||||
STR_VIEWPORT_TOWN_COLOUR_POP :{WHITE}{TOWN} {SET_COLOUR}({COMMA})
|
||||
|
@@ -30,21 +30,6 @@ STR_ORDER_CONDITIONAL_DISPATCH_SLOT :Slot de despach
|
||||
|
||||
STR_ORDER_STOP_LOCATION_THROUGH :[a través da carga]
|
||||
|
||||
STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING :{WHITE}{TOWN} {RED}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_MEDIOCRE_RATING :{WHITE}{TOWN} {ORANGE}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_GOOD_RATING :{WHITE}{TOWN} {YELLOW}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_EXCELLENT_RATING :{WHITE}{TOWN} {GREEN}({COMMA})
|
||||
|
||||
STR_VIEWPORT_TOWN_VERY_POOR_RATING :{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_MEDIOCRE_RATING :{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_GOOD_RATING :{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_EXCELLENT_RATING :{GREEN}{TOWN}
|
||||
|
||||
STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING :{TINY_FONT}{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_MEDIOCRE_RATING :{TINY_FONT}{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_GOOD_RATING :{TINY_FONT}{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_EXCELLENT_RATING :{TINY_FONT}{GREEN}{TOWN}
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW :Extremadamente lento
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_SLOW :Moi lento
|
||||
|
||||
@@ -2132,3 +2117,6 @@ STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :Escolle se se a
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :Desactivado
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_SIMPLE :Simple
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_DETAILED :Detallado
|
||||
|
||||
STR_VIEWPORT_TOWN_COLOUR :{1:SET_COLOUR}{0:TOWN}
|
||||
STR_VIEWPORT_TOWN_COLOUR_POP :{WHITE}{TOWN} {SET_COLOUR}({COMMA})
|
||||
|
@@ -28,21 +28,6 @@ STR_ORDER_CONDITIONAL_DISPATCH_SLOT :Abfahrztszeitfe
|
||||
|
||||
STR_ORDER_STOP_LOCATION_THROUGH :[durchgehendes Laden]
|
||||
|
||||
STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING :{WHITE}{TOWN} {RED}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_MEDIOCRE_RATING :{WHITE}{TOWN} {ORANGE}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_GOOD_RATING :{WHITE}{TOWN} {YELLOW}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_EXCELLENT_RATING :{WHITE}{TOWN} {GREEN}({COMMA})
|
||||
|
||||
STR_VIEWPORT_TOWN_VERY_POOR_RATING :{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_MEDIOCRE_RATING :{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_GOOD_RATING :{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_EXCELLENT_RATING :{GREEN}{TOWN}
|
||||
|
||||
STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING :{TINY_FONT}{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_MEDIOCRE_RATING :{TINY_FONT}{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_GOOD_RATING :{TINY_FONT}{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_EXCELLENT_RATING :{TINY_FONT}{GREEN}{TOWN}
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW :Extrem langsam
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_SLOW :Sehr langsam
|
||||
|
||||
@@ -1807,3 +1792,6 @@ STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :Legt die Anzeig
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :Aus
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_SIMPLE :Einfach
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_DETAILED :Detailliert
|
||||
|
||||
STR_VIEWPORT_TOWN_COLOUR :{1:SET_COLOUR}{0:TOWN}
|
||||
STR_VIEWPORT_TOWN_COLOUR_POP :{WHITE}{TOWN} {SET_COLOUR}({COMMA})
|
||||
|
@@ -30,21 +30,6 @@ STR_ORDER_CONDITIONAL_DISPATCH_SLOT :{G=m}배차일
|
||||
|
||||
STR_ORDER_STOP_LOCATION_THROUGH :[차례로 나눠 싣기]
|
||||
|
||||
STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING :{WHITE}{TOWN} {RED}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_MEDIOCRE_RATING :{WHITE}{TOWN} {ORANGE}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_GOOD_RATING :{WHITE}{TOWN} {YELLOW}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_EXCELLENT_RATING :{WHITE}{TOWN} {GREEN}({COMMA})
|
||||
|
||||
STR_VIEWPORT_TOWN_VERY_POOR_RATING :{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_MEDIOCRE_RATING :{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_GOOD_RATING :{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_EXCELLENT_RATING :{GREEN}{TOWN}
|
||||
|
||||
STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING :{TINY_FONT}{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_MEDIOCRE_RATING :{TINY_FONT}{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_GOOD_RATING :{TINY_FONT}{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_EXCELLENT_RATING :{TINY_FONT}{GREEN}{TOWN}
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW :매우 느림
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_SLOW :더 느림
|
||||
|
||||
@@ -2134,3 +2119,6 @@ STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :역 등급 도
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :끄기
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_SIMPLE :간단히
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_DETAILED :자세히
|
||||
|
||||
STR_VIEWPORT_TOWN_COLOUR :{1:SET_COLOUR}{0:TOWN}
|
||||
STR_VIEWPORT_TOWN_COLOUR_POP :{WHITE}{TOWN} {SET_COLOUR}({COMMA})
|
||||
|
@@ -28,21 +28,6 @@ STR_ORDER_CONDITIONAL_DISPATCH_SLOT :调度条目
|
||||
|
||||
STR_ORDER_STOP_LOCATION_THROUGH :[通过式装载]
|
||||
|
||||
STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING :{WHITE}{TOWN} {RED}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_MEDIOCRE_RATING :{WHITE}{TOWN} {ORANGE}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_GOOD_RATING :{WHITE}{TOWN} {YELLOW}({COMMA})
|
||||
STR_VIEWPORT_TOWN_POP_EXCELLENT_RATING :{WHITE}{TOWN} {GREEN}({COMMA})
|
||||
|
||||
STR_VIEWPORT_TOWN_VERY_POOR_RATING :{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_MEDIOCRE_RATING :{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_GOOD_RATING :{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_EXCELLENT_RATING :{GREEN}{TOWN}
|
||||
|
||||
STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING :{TINY_FONT}{RED}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_MEDIOCRE_RATING :{TINY_FONT}{ORANGE}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_GOOD_RATING :{TINY_FONT}{YELLOW}{TOWN}
|
||||
STR_VIEWPORT_TOWN_TINY_EXCELLENT_RATING :{TINY_FONT}{GREEN}{TOWN}
|
||||
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW :极其慢
|
||||
STR_CONFIG_SETTING_TOWN_GROWTH_VERY_SLOW :非常慢
|
||||
|
||||
@@ -1942,3 +1927,6 @@ STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_HELPTEXT :设定车站等
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_OFF :关闭
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_SIMPLE :简单
|
||||
STR_CONFIG_SETTING_STATION_RATING_TOOLTIP_MODE_DETAILED :详细
|
||||
|
||||
STR_VIEWPORT_TOWN_COLOUR :{1:SET_COLOUR}{0:TOWN}
|
||||
STR_VIEWPORT_TOWN_COLOUR_POP :{WHITE}{TOWN} {SET_COLOUR}({COMMA})
|
||||
|
@@ -1931,6 +1931,22 @@ static char *FormatString(char *buff, const char *str_arg, StringParameters *arg
|
||||
break;
|
||||
}
|
||||
|
||||
case SCC_VIEWPORT_TOWN_LABEL1:
|
||||
case SCC_VIEWPORT_TOWN_LABEL2: { // {VIEWPORT_TOWN_LABEL1..2}
|
||||
int32 t = args->GetInt32(b);
|
||||
uint64 data = (uint64)args->GetInt64(b);
|
||||
|
||||
bool tiny = (b == SCC_VIEWPORT_TOWN_LABEL2);
|
||||
StringID string_id = STR_VIEWPORT_TOWN_COLOUR;
|
||||
if (!tiny && HasBit(data, 40)) {
|
||||
string_id = STR_VIEWPORT_TOWN_COLOUR_POP;
|
||||
}
|
||||
int64 args_array[] = {t, GB(data, 32, 8), GB(data, 0, 32)};
|
||||
StringParameters tmp_params(args_array);
|
||||
buff = GetStringWithArgs(buff, string_id, &tmp_params, last);
|
||||
break;
|
||||
}
|
||||
|
||||
case SCC_WAYPOINT_NAME: { // {WAYPOINT}
|
||||
Waypoint *wp = Waypoint::GetIfValid(args->GetInt32(SCC_WAYPOINT_NAME));
|
||||
if (wp == nullptr) break;
|
||||
|
@@ -50,6 +50,9 @@ enum StringControlCode {
|
||||
SCC_TR_SLOT_NAME,
|
||||
SCC_TR_COUNTER_NAME,
|
||||
|
||||
SCC_VIEWPORT_TOWN_LABEL1,
|
||||
SCC_VIEWPORT_TOWN_LABEL2,
|
||||
|
||||
SCC_CURRENCY_SHORT,
|
||||
SCC_CURRENCY_LONG,
|
||||
|
||||
|
@@ -137,6 +137,9 @@ static const CmdStruct _cmd_structs[] = {
|
||||
{"TRSLOT", EmitSingleChar, SCC_TR_SLOT_NAME, 1, -1, C_NONE | C_GENDER},
|
||||
{"TRCOUNTER", EmitSingleChar, SCC_TR_COUNTER_NAME, 1, -1, C_NONE | C_GENDER},
|
||||
|
||||
{"VP_TOWN_LABEL1", EmitSingleChar, SCC_VIEWPORT_TOWN_LABEL1, 2, -1, C_NONE},
|
||||
{"VP_TOWN_LABEL2", EmitSingleChar, SCC_VIEWPORT_TOWN_LABEL2, 2, -1, C_NONE},
|
||||
|
||||
{"", EmitSingleChar, '\n', 0, -1, C_DONTCOUNT},
|
||||
{"{", EmitSingleChar, '{', 0, -1, C_DONTCOUNT},
|
||||
{"UP_ARROW", EmitSingleChar, SCC_UP_ARROW, 0, -1, C_DONTCOUNT},
|
||||
|
25
src/town.h
25
src/town.h
@@ -102,7 +102,7 @@ struct Town : TownPool::PoolItem<&_town_pool> {
|
||||
CompanyID exclusivity; ///< which company has exclusivity
|
||||
uint8 exclusive_counter; ///< months till the exclusivity expires
|
||||
int16 ratings[MAX_COMPANIES]; ///< ratings of each company for this town
|
||||
StringID town_label; ///< Label dependent on _local_company rating.
|
||||
uint8 town_label_rating; ///< Label dependent on _local_company rating.
|
||||
|
||||
TransportedCargoStat<uint32> supplied[NUM_CARGO]; ///< Cargo statistics about supplied cargo.
|
||||
TransportedCargoStat<uint16> received[NUM_TE]; ///< Cargo statistics about received cargotypes.
|
||||
@@ -141,28 +141,7 @@ struct Town : TownPool::PoolItem<&_town_pool> {
|
||||
void InitializeLayout(TownLayout layout);
|
||||
|
||||
void UpdateLabel();
|
||||
|
||||
/**
|
||||
* Returns the correct town label, based on rating.
|
||||
*/
|
||||
inline StringID Label() const{
|
||||
if (!(_game_mode == GM_EDITOR) && (_local_company < MAX_COMPANIES)) {
|
||||
return (_settings_client.gui.population_in_label ? STR_VIEWPORT_TOWN_POP_VERY_POOR_RATING : STR_VIEWPORT_TOWN_VERY_POOR_RATING) + this->town_label;
|
||||
} else {
|
||||
return _settings_client.gui.population_in_label ? STR_VIEWPORT_TOWN_POP : STR_VIEWPORT_TOWN;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the correct town small label, based on rating.
|
||||
*/
|
||||
inline StringID SmallLabel() const{
|
||||
if (!(_game_mode == GM_EDITOR) && (_local_company < MAX_COMPANIES)) {
|
||||
return STR_VIEWPORT_TOWN_TINY_VERY_POOR_RATING + this->town_label;
|
||||
} else {
|
||||
return STR_VIEWPORT_TOWN_TINY_WHITE;
|
||||
}
|
||||
}
|
||||
uint64 LabelParam2() const;
|
||||
|
||||
/**
|
||||
* Calculate the max town noise.
|
||||
|
@@ -221,14 +221,32 @@ void Town::UpdateLabel()
|
||||
{
|
||||
if (!(_game_mode == GM_EDITOR) && (_local_company < MAX_COMPANIES)) {
|
||||
int r = this->ratings[_local_company];
|
||||
this->town_label = 0; // Appalling and Very Poor
|
||||
if (r > RATING_VERYPOOR) this->town_label++; // Poor and Mediocre
|
||||
if (r > RATING_MEDIOCRE) this->town_label++; // Good
|
||||
if (r > RATING_GOOD) this->town_label++; // Very Good
|
||||
if (r > RATING_VERYGOOD) this->town_label++; // Excellent and Outstanding
|
||||
int town_rating = 0; // Appalling and Very Poor
|
||||
if (r > RATING_VERYPOOR) town_rating++; // Poor and Mediocre
|
||||
if (r > RATING_MEDIOCRE) town_rating++; // Good
|
||||
if (r > RATING_GOOD) town_rating++; // Very Good
|
||||
if (r > RATING_VERYGOOD) town_rating++; // Excellent and Outstanding
|
||||
|
||||
static const uint8 tcs[] = { TC_RED, TC_ORANGE, TC_YELLOW, TC_WHITE, TC_GREEN };
|
||||
this->town_label_rating = tcs[town_rating];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the second dparam value for town viewport labels
|
||||
*/
|
||||
uint64 Town::LabelParam2() const
|
||||
{
|
||||
uint64 value = this->cache.population;
|
||||
if (!(_game_mode == GM_EDITOR) && (_local_company < MAX_COMPANIES)) {
|
||||
SB(value, 32, 8, this->town_label_rating);
|
||||
} else {
|
||||
SB(value, 32, 8, TC_WHITE);
|
||||
}
|
||||
if (_settings_client.gui.population_in_label) SetBit(value, 40);
|
||||
return value;
|
||||
}
|
||||
|
||||
void Town::FillCachedName() const
|
||||
{
|
||||
char buf[MAX_LENGTH_TOWN_NAME_CHARS * MAX_CHAR_LENGTH];
|
||||
@@ -520,8 +538,8 @@ void Town::UpdateVirtCoord()
|
||||
if (_viewport_sign_kdtree_valid && this->cache.sign.kdtree_valid) _viewport_sign_kdtree.Remove(ViewportSignKdtreeItem::MakeTown(this->index));
|
||||
|
||||
SetDParam(0, this->index);
|
||||
SetDParam(1, this->cache.population);
|
||||
this->cache.sign.UpdatePosition(HasBit(_display_opt, DO_SHOW_TOWN_NAMES) ? ZOOM_LVL_OUT_128X : ZOOM_LVL_END, pt.x, pt.y - 24 * ZOOM_LVL_BASE, this->Label(), STR_VIEWPORT_TOWN_TINY_WHITE);
|
||||
SetDParam(1, this->LabelParam2());
|
||||
this->cache.sign.UpdatePosition(HasBit(_display_opt, DO_SHOW_TOWN_NAMES) ? ZOOM_LVL_OUT_128X : ZOOM_LVL_END, pt.x, pt.y - 24 * ZOOM_LVL_BASE, STR_VIEWPORT_TOWN_LABEL, STR_VIEWPORT_TOWN_TINY_WHITE);
|
||||
|
||||
if (_viewport_sign_kdtree_valid) _viewport_sign_kdtree.Insert(ViewportSignKdtreeItem::MakeTown(this->index));
|
||||
|
||||
|
@@ -1909,8 +1909,8 @@ static void ViewportAddKdtreeSigns(ViewportDrawerDynamic *vdd, DrawPixelInfo *dp
|
||||
|
||||
for (const auto *t : towns) {
|
||||
ViewportAddString(vdd, dpi, ZOOM_LVL_OUT_16X, &t->cache.sign,
|
||||
t->Label(), t->SmallLabel(), STR_VIEWPORT_TOWN_TINY_BLACK,
|
||||
t->index, t->cache.population);
|
||||
STR_VIEWPORT_TOWN_LABEL, STR_VIEWPORT_TOWN_LABEL_TINY, STR_VIEWPORT_TOWN_TINY_BLACK,
|
||||
t->index, t->LabelParam2());
|
||||
}
|
||||
|
||||
for (const auto *si : signs) {
|
||||
|
Reference in New Issue
Block a user