@@ -1151,25 +1151,25 @@ private:
const Company *c;
FOR_ALL_COMPANIES(c) {
*this->companies.Append() = c;
}
this->companies.Compact();
this->companies.RebuildDone();
/** Sort the company league by performance history */
static int CDECL PerformanceSorter(const Company * const *c1, const Company * const *c2)
{
return (*c2)->old_economy[1].performance_history - (*c1)->old_economy[1].performance_history;
return (*c2)->old_economy[0].performance_history - (*c1)->old_economy[0].performance_history;
public:
CompanyLeagueWindow(const WindowDesc *desc, WindowNumber window_number) : Window()
this->InitNested(desc, window_number);
this->companies.ForceRebuild();
this->companies.NeedResort();
virtual void OnPaint()
@@ -1192,25 +1192,25 @@ public:
uint icon_left = r.left + WD_FRAMERECT_LEFT + WD_FRAMERECT_RIGHT + (rtl ? this->text_width : this->ordinal_width);
uint text_left = rtl ? r.left + WD_FRAMERECT_LEFT : r.right - WD_FRAMERECT_LEFT - this->text_width;
uint text_right = rtl ? r.left + WD_FRAMERECT_LEFT + this->text_width : r.right - WD_FRAMERECT_LEFT;
for (uint i = 0; i != this->companies.Length(); i++) {
const Company *c = this->companies[i];
DrawString(ordinal_left, ordinal_right, y, i + STR_ORDINAL_NUMBER_1ST, i == 0 ? TC_WHITE : TC_YELLOW);
DrawCompanyIcon(c->index, icon_left, y + icon_y_offset);
SetDParam(0, c->index);
SetDParam(1, c->index);
SetDParam(2, GetPerformanceTitleFromValue(c->old_economy[1].performance_history));
SetDParam(2, GetPerformanceTitleFromValue(c->old_economy[0].performance_history));
DrawString(text_left, text_right, y, STR_COMPANY_LEAGUE_COMPANY_NAME);
y += FONT_HEIGHT_NORMAL;
virtual void UpdateWidgetSize(int widget, Dimension *size, const Dimension &padding, Dimension *fill, Dimension *resize)
if (widget != CLW_BACKGROUND) return;
this->ordinal_width = 0;
for (uint i = 0; i < MAX_COMPANIES; i++) {
this->ordinal_width = max(this->ordinal_width, GetStringBoundingBox(STR_ORDINAL_NUMBER_1ST + i).width);
Status change: