src/toolbar_gui.cpp
changeset 10207 c291a21b304e
parent 10180 a99cf854c6d0
child 10208 72c00af5c95d
equal deleted inserted replaced
10206:0050610c0368 10207:c291a21b304e
    78 	TBN_SMALLMAP,
    78 	TBN_SMALLMAP,
    79 	TBN_TOWNDIRECTORY,
    79 	TBN_TOWNDIRECTORY,
    80 	TBN_SUBSIDIES,
    80 	TBN_SUBSIDIES,
    81 	TBN_STATIONS,
    81 	TBN_STATIONS,
    82 	TBN_FINANCES,
    82 	TBN_FINANCES,
    83 	TBN_PLAYERS,
    83 	TBN_COMPANIES,
    84 	TBN_GRAPHICS,
    84 	TBN_GRAPHICS,
    85 	TBN_LEAGUE,
    85 	TBN_LEAGUE,
    86 	TBN_INDUSTRIES,
    86 	TBN_INDUSTRIES,
    87 	TBN_VEHICLESTART,      ///< trains, actually.  So following are trucks, boats and planes
    87 	TBN_VEHICLESTART,      ///< trains, actually.  So following are trucks, boats and planes
    88 	TBN_TRAINS        = TBN_VEHICLESTART,
    88 	TBN_TRAINS        = TBN_VEHICLESTART,
   141 		DrawStringTruncated(x + 2, y, this->String(), sel ? TC_WHITE : TC_BLACK, width);
   141 		DrawStringTruncated(x + 2, y, this->String(), sel ? TC_WHITE : TC_BLACK, width);
   142 	}
   142 	}
   143 };
   143 };
   144 
   144 
   145 /**
   145 /**
   146  * Drop down list entry for showing a company entry, with player 'blob'.
   146  * Drop down list entry for showing a company entry, with companies 'blob'.
   147  */
   147  */
   148 class DropDownListCompanyItem : public DropDownListItem {
   148 class DropDownListCompanyItem : public DropDownListItem {
   149 public:
   149 public:
   150 	bool greyed;
   150 	bool greyed;
   151 
   151 
   159 	}
   159 	}
   160 
   160 
   161 	uint Width() const
   161 	uint Width() const
   162 	{
   162 	{
   163 		char buffer[512];
   163 		char buffer[512];
   164 		PlayerID player = (PlayerID)result;
   164 		CompanyID company = (CompanyID)result;
   165 		SetDParam(0, player);
   165 		SetDParam(0, company);
   166 		SetDParam(1, player);
   166 		SetDParam(1, company);
   167 		GetString(buffer, STR_7021, lastof(buffer));
   167 		GetString(buffer, STR_7021, lastof(buffer));
   168 		return GetStringBoundingBox(buffer).width + 19;
   168 		return GetStringBoundingBox(buffer).width + 19;
   169 	}
   169 	}
   170 
   170 
   171 	void Draw(int x, int y, uint width, uint height, bool sel, int bg_colour) const
   171 	void Draw(int x, int y, uint width, uint height, bool sel, int bg_colour) const
   172 	{
   172 	{
   173 		PlayerID player = (PlayerID)result;
   173 		CompanyID company = (CompanyID)result;
   174 		DrawPlayerIcon(player, x + 2, y + 1);
   174 		DrawCompanyIcon(company, x + 2, y + 1);
   175 
   175 
   176 		SetDParam(0, player);
   176 		SetDParam(0, company);
   177 		SetDParam(1, player);
   177 		SetDParam(1, company);
   178 		int col;
   178 		int col;
   179 		if (this->greyed) {
   179 		if (this->greyed) {
   180 			col = TC_GREY;
   180 			col = TC_GREY;
   181 		} else {
   181 		} else {
   182 			col = sel ? TC_WHITE : TC_BLACK;
   182 			col = sel ? TC_WHITE : TC_BLACK;
   199 }
   199 }
   200 
   200 
   201 /**
   201 /**
   202  * Pop up a generic company list menu.
   202  * Pop up a generic company list menu.
   203  */
   203  */
   204 static void PopupMainPlayerToolbMenu(Window *w, int widget, int grey = 0)
   204 static void PopupMainCompanyToolbMenu(Window *w, int widget, int grey = 0)
   205 {
   205 {
   206 	DropDownList *list = new DropDownList();
   206 	DropDownList *list = new DropDownList();
   207 
   207 
   208 	if (widget == TBN_PLAYERS && _networking) {
   208 	if (widget == TBN_COMPANIES && _networking) {
   209 		/* Add the client list button for the Players menu */
   209 		/* Add the client list button for the companies menu */
   210 		list->push_back(new DropDownListStringItem(STR_NETWORK_CLIENT_LIST, -1, false));
   210 		list->push_back(new DropDownListStringItem(STR_NETWORK_CLIENT_LIST, -1, false));
   211 	}
   211 	}
   212 
   212 
   213 	for (PlayerID p = PLAYER_FIRST; p < MAX_PLAYERS; p++) {
   213 	for (CompanyID c = COMPANY_FIRST; c < MAX_COMPANIES; c++) {
   214 		if (!IsValidPlayerID(p)) continue;
   214 		if (!IsValidCompanyID(c)) continue;
   215 		list->push_back(new DropDownListCompanyItem(p, false, HasBit(grey, p)));
   215 		list->push_back(new DropDownListCompanyItem(c, false, HasBit(grey, c)));
   216 	}
   216 	}
   217 
   217 
   218 	ShowDropDownList(w, list, _local_player == PLAYER_SPECTATOR ? -1 : _local_player, widget, 240, true, true);
   218 	ShowDropDownList(w, list, _local_company == COMPANY_SPECTATOR ? -1 : _local_company, widget, 240, true, true);
   219 	SndPlayFx(SND_15_BEEP);
   219 	SndPlayFx(SND_15_BEEP);
   220 }
   220 }
   221 
   221 
   222 
   222 
   223 static ToolbarMode _toolbar_mode;
   223 static ToolbarMode _toolbar_mode;
   416 
   416 
   417 /* --- Stations button menu --- */
   417 /* --- Stations button menu --- */
   418 
   418 
   419 static void ToolbarStationsClick(Window *w)
   419 static void ToolbarStationsClick(Window *w)
   420 {
   420 {
   421 	PopupMainPlayerToolbMenu(w, TBN_STATIONS);
   421 	PopupMainCompanyToolbMenu(w, TBN_STATIONS);
   422 }
   422 }
   423 
   423 
   424 static void MenuClickStations(int index)
   424 static void MenuClickStations(int index)
   425 {
   425 {
   426 	ShowPlayerStations((PlayerID)index);
   426 	ShowCompanyStations((CompanyID)index);
   427 }
   427 }
   428 
   428 
   429 /* --- Finances button menu --- */
   429 /* --- Finances button menu --- */
   430 
   430 
   431 static void ToolbarFinancesClick(Window *w)
   431 static void ToolbarFinancesClick(Window *w)
   432 {
   432 {
   433 	PopupMainPlayerToolbMenu(w, TBN_FINANCES);
   433 	PopupMainCompanyToolbMenu(w, TBN_FINANCES);
   434 }
   434 }
   435 
   435 
   436 static void MenuClickFinances(int index)
   436 static void MenuClickFinances(int index)
   437 {
   437 {
   438 	ShowPlayerFinances((PlayerID)index);
   438 	ShowCompanyFinances((CompanyID)index);
   439 }
   439 }
   440 
   440 
   441 /* --- Company's button menu --- */
   441 /* --- Company's button menu --- */
   442 
   442 
   443 static void ToolbarPlayersClick(Window *w)
   443 static void ToolbarCompaniesClick(Window *w)
   444 {
   444 {
   445 	PopupMainPlayerToolbMenu(w, TBN_PLAYERS);
   445 	PopupMainCompanyToolbMenu(w, TBN_COMPANIES);
   446 }
   446 }
   447 
   447 
   448 static void MenuClickCompany(int index)
   448 static void MenuClickCompany(int index)
   449 {
   449 {
   450 	if (_networking && index == -1) {
   450 	if (_networking && index == -1) {
   451 		ShowClientList();
   451 		ShowClientList();
   452 	} else {
   452 	} else {
   453 		ShowPlayerCompany((PlayerID)index);
   453 		ShowCompany((CompanyID)index);
   454 	}
   454 	}
   455 }
   455 }
   456 
   456 
   457 /* --- Graphs button menu --- */
   457 /* --- Graphs button menu --- */
   458 
   458 
   494 /* --- Industries button menu --- */
   494 /* --- Industries button menu --- */
   495 
   495 
   496 static void ToolbarIndustryClick(Window *w)
   496 static void ToolbarIndustryClick(Window *w)
   497 {
   497 {
   498 	/* Disable build-industry menu if we are a spectator */
   498 	/* Disable build-industry menu if we are a spectator */
   499 	PopupMainToolbMenu(w, TBN_INDUSTRIES, STR_INDUSTRY_DIR, (_current_player == PLAYER_SPECTATOR) ? 1 : 2);
   499 	PopupMainToolbMenu(w, TBN_INDUSTRIES, STR_INDUSTRY_DIR, (_current_company == COMPANY_SPECTATOR) ? 1 : 2);
   500 }
   500 }
   501 
   501 
   502 static void MenuClickIndustry(int index)
   502 static void MenuClickIndustry(int index)
   503 {
   503 {
   504 	switch (index) {
   504 	switch (index) {
   515 	int dis = ~0;
   515 	int dis = ~0;
   516 
   516 
   517 	FOR_ALL_VEHICLES(v) {
   517 	FOR_ALL_VEHICLES(v) {
   518 		if (v->type == veh && v->IsPrimaryVehicle()) ClrBit(dis, v->owner);
   518 		if (v->type == veh && v->IsPrimaryVehicle()) ClrBit(dis, v->owner);
   519 	}
   519 	}
   520 	PopupMainPlayerToolbMenu(w, TBN_VEHICLESTART + veh, dis);
   520 	PopupMainCompanyToolbMenu(w, TBN_VEHICLESTART + veh, dis);
   521 }
   521 }
   522 
   522 
   523 
   523 
   524 static void ToolbarTrainClick(Window *w)
   524 static void ToolbarTrainClick(Window *w)
   525 {
   525 {
   526 	ToolbarVehicleClick(w, VEH_TRAIN);
   526 	ToolbarVehicleClick(w, VEH_TRAIN);
   527 }
   527 }
   528 
   528 
   529 static void MenuClickShowTrains(int index)
   529 static void MenuClickShowTrains(int index)
   530 {
   530 {
   531 	ShowVehicleListWindow((PlayerID)index, VEH_TRAIN);
   531 	ShowVehicleListWindow((CompanyID)index, VEH_TRAIN);
   532 }
   532 }
   533 
   533 
   534 /* --- Road vehicle button menu --- */
   534 /* --- Road vehicle button menu --- */
   535 
   535 
   536 static void ToolbarRoadClick(Window *w)
   536 static void ToolbarRoadClick(Window *w)
   538 	ToolbarVehicleClick(w, VEH_ROAD);
   538 	ToolbarVehicleClick(w, VEH_ROAD);
   539 }
   539 }
   540 
   540 
   541 static void MenuClickShowRoad(int index)
   541 static void MenuClickShowRoad(int index)
   542 {
   542 {
   543 	ShowVehicleListWindow((PlayerID)index, VEH_ROAD);
   543 	ShowVehicleListWindow((CompanyID)index, VEH_ROAD);
   544 }
   544 }
   545 
   545 
   546 /* --- Ship button menu --- */
   546 /* --- Ship button menu --- */
   547 
   547 
   548 static void ToolbarShipClick(Window *w)
   548 static void ToolbarShipClick(Window *w)
   550 	ToolbarVehicleClick(w, VEH_SHIP);
   550 	ToolbarVehicleClick(w, VEH_SHIP);
   551 }
   551 }
   552 
   552 
   553 static void MenuClickShowShips(int index)
   553 static void MenuClickShowShips(int index)
   554 {
   554 {
   555 	ShowVehicleListWindow((PlayerID)index, VEH_SHIP);
   555 	ShowVehicleListWindow((CompanyID)index, VEH_SHIP);
   556 }
   556 }
   557 
   557 
   558 /* --- Aircraft button menu --- */
   558 /* --- Aircraft button menu --- */
   559 
   559 
   560 static void ToolbarAirClick(Window *w)
   560 static void ToolbarAirClick(Window *w)
   562 	ToolbarVehicleClick(w, VEH_AIRCRAFT);
   562 	ToolbarVehicleClick(w, VEH_AIRCRAFT);
   563 }
   563 }
   564 
   564 
   565 static void MenuClickShowAir(int index)
   565 static void MenuClickShowAir(int index)
   566 {
   566 {
   567 	ShowVehicleListWindow((PlayerID)index, VEH_AIRCRAFT);
   567 	ShowVehicleListWindow((CompanyID)index, VEH_AIRCRAFT);
   568 }
   568 }
   569 
   569 
   570 /* --- Zoom in button --- */
   570 /* --- Zoom in button --- */
   571 
   571 
   572 static void ToolbarZoomInClick(Window *w)
   572 static void ToolbarZoomInClick(Window *w)
   589 
   589 
   590 /* --- Rail button menu --- */
   590 /* --- Rail button menu --- */
   591 
   591 
   592 static void ToolbarBuildRailClick(Window *w)
   592 static void ToolbarBuildRailClick(Window *w)
   593 {
   593 {
   594 	const Player *p = GetPlayer(_local_player);
   594 	const Company *c = GetCompany(_local_company);
   595 	DropDownList *list = new DropDownList();
   595 	DropDownList *list = new DropDownList();
   596 	for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
   596 	for (RailType rt = RAILTYPE_BEGIN; rt != RAILTYPE_END; rt++) {
   597 		const RailtypeInfo *rti = GetRailTypeInfo(rt);
   597 		const RailtypeInfo *rti = GetRailTypeInfo(rt);
   598 		list->push_back(new DropDownListStringItem(rti->strings.menu_text, rt, !HasBit(p->avail_railtypes, rt)));
   598 		list->push_back(new DropDownListStringItem(rti->strings.menu_text, rt, !HasBit(c->avail_railtypes, rt)));
   599 	}
   599 	}
   600 	ShowDropDownList(w, list, _last_built_railtype, TBN_RAILS, 140, true, true);
   600 	ShowDropDownList(w, list, _last_built_railtype, TBN_RAILS, 140, true, true);
   601 	SndPlayFx(SND_15_BEEP);
   601 	SndPlayFx(SND_15_BEEP);
   602 }
   602 }
   603 
   603 
   609 
   609 
   610 /* --- Road button menu --- */
   610 /* --- Road button menu --- */
   611 
   611 
   612 static void ToolbarBuildRoadClick(Window *w)
   612 static void ToolbarBuildRoadClick(Window *w)
   613 {
   613 {
   614 	const Player *p = GetPlayer(_local_player);
   614 	const Company *c = GetCompany(_local_company);
   615 	DropDownList *list = new DropDownList();
   615 	DropDownList *list = new DropDownList();
   616 	for (RoadType rt = ROADTYPE_BEGIN; rt != ROADTYPE_END; rt++) {
   616 	for (RoadType rt = ROADTYPE_BEGIN; rt != ROADTYPE_END; rt++) {
   617 		/* Highways don't exist */
   617 		/* Highways don't exist */
   618 		if (rt == ROADTYPE_HWAY) continue;
   618 		if (rt == ROADTYPE_HWAY) continue;
   619 
   619 
   620 		/* The standard road button is *always* available */
   620 		/* The standard road button is *always* available */
   621 		list->push_back(new DropDownListStringItem(STR_180A_ROAD_CONSTRUCTION + rt, rt, !(HasBit(p->avail_roadtypes, rt) || rt == ROADTYPE_ROAD)));
   621 		list->push_back(new DropDownListStringItem(STR_180A_ROAD_CONSTRUCTION + rt, rt, !(HasBit(c->avail_roadtypes, rt) || rt == ROADTYPE_ROAD)));
   622 	}
   622 	}
   623 	ShowDropDownList(w, list, _last_built_roadtype, TBN_ROADS, 140, true, true);
   623 	ShowDropDownList(w, list, _last_built_roadtype, TBN_ROADS, 140, true, true);
   624 	SndPlayFx(SND_15_BEEP);
   624 	SndPlayFx(SND_15_BEEP);
   625 }
   625 }
   626 
   626 
   956 	ToolbarMapClick,
   956 	ToolbarMapClick,
   957 	ToolbarTownClick,
   957 	ToolbarTownClick,
   958 	ToolbarSubsidiesClick,
   958 	ToolbarSubsidiesClick,
   959 	ToolbarStationsClick,
   959 	ToolbarStationsClick,
   960 	ToolbarFinancesClick,
   960 	ToolbarFinancesClick,
   961 	ToolbarPlayersClick,
   961 	ToolbarCompaniesClick,
   962 	ToolbarGraphsClick,
   962 	ToolbarGraphsClick,
   963 	ToolbarLeagueClick,
   963 	ToolbarLeagueClick,
   964 	ToolbarIndustryClick,
   964 	ToolbarIndustryClick,
   965 	ToolbarTrainClick,
   965 	ToolbarTrainClick,
   966 	ToolbarRoadClick,
   966 	ToolbarRoadClick,
   999 		GfxFillRect(0, 0, this->width - 1, this->height - 1, 0xB4, FILLRECT_CHECKER);
   999 		GfxFillRect(0, 0, this->width - 1, this->height - 1, 0xB4, FILLRECT_CHECKER);
  1000 
  1000 
  1001 		/* If spectator, disable all construction buttons
  1001 		/* If spectator, disable all construction buttons
  1002 		* ie : Build road, rail, ships, airports and landscaping
  1002 		* ie : Build road, rail, ships, airports and landscaping
  1003 		* Since enabled state is the default, just disable when needed */
  1003 		* Since enabled state is the default, just disable when needed */
  1004 		this->SetWidgetsDisabledState(_current_player == PLAYER_SPECTATOR, TBN_RAILS, TBN_ROADS, TBN_WATER, TBN_AIR, TBN_LANDSCAPE, WIDGET_LIST_END);
  1004 		this->SetWidgetsDisabledState(_current_company == COMPANY_SPECTATOR, TBN_RAILS, TBN_ROADS, TBN_WATER, TBN_AIR, TBN_LANDSCAPE, WIDGET_LIST_END);
  1005 		/* disable company list drop downs, if there are no companies */
  1005 		/* disable company list drop downs, if there are no companies */
  1006 		this->SetWidgetsDisabledState(ActivePlayerCount() == TBN_PAUSE, TBN_STATIONS, TBN_FINANCES, TBN_TRAINS, TBN_ROADVEHS, TBN_SHIPS, TBN_AIRCRAFTS, WIDGET_LIST_END);
  1006 		this->SetWidgetsDisabledState(ActiveCompanyCount() == TBN_PAUSE, TBN_STATIONS, TBN_FINANCES, TBN_TRAINS, TBN_ROADVEHS, TBN_SHIPS, TBN_AIRCRAFTS, WIDGET_LIST_END);
  1007 
  1007 
  1008 		this->SetWidgetDisabledState(TBN_RAILS, !CanBuildVehicleInfrastructure(VEH_TRAIN));
  1008 		this->SetWidgetDisabledState(TBN_RAILS, !CanBuildVehicleInfrastructure(VEH_TRAIN));
  1009 		this->SetWidgetDisabledState(TBN_AIR, !CanBuildVehicleInfrastructure(VEH_AIRCRAFT));
  1009 		this->SetWidgetDisabledState(TBN_AIR, !CanBuildVehicleInfrastructure(VEH_AIRCRAFT));
  1010 
  1010 
  1011 		this->DrawWidgets();
  1011 		this->DrawWidgets();
  1028 			case WKC_F2: ShowGameOptions(); break;
  1028 			case WKC_F2: ShowGameOptions(); break;
  1029 			case WKC_F3: MenuClickSaveLoad(); break;
  1029 			case WKC_F3: MenuClickSaveLoad(); break;
  1030 			case WKC_F4: ShowSmallMap(); break;
  1030 			case WKC_F4: ShowSmallMap(); break;
  1031 			case WKC_F5: ShowTownDirectory(); break;
  1031 			case WKC_F5: ShowTownDirectory(); break;
  1032 			case WKC_F6: ShowSubsidiesList(); break;
  1032 			case WKC_F6: ShowSubsidiesList(); break;
  1033 			case WKC_F7: ShowPlayerStations(_local_player); break;
  1033 			case WKC_F7: ShowCompanyStations(_local_company); break;
  1034 			case WKC_F8: ShowPlayerFinances(_local_player); break;
  1034 			case WKC_F8: ShowCompanyFinances(_local_company); break;
  1035 			case WKC_F9: ShowPlayerCompany(_local_player); break;
  1035 			case WKC_F9: ShowCompany(_local_company); break;
  1036 			case WKC_F10: ShowOperatingProfitGraph(); break;
  1036 			case WKC_F10: ShowOperatingProfitGraph(); break;
  1037 			case WKC_F11: ShowCompanyLeagueTable(); break;
  1037 			case WKC_F11: ShowCompanyLeagueTable(); break;
  1038 			case WKC_F12: ShowBuildIndustryWindow(); break;
  1038 			case WKC_F12: ShowBuildIndustryWindow(); break;
  1039 			case WKC_SHIFT | WKC_F1: ShowVehicleListWindow(_local_player, VEH_TRAIN); break;
  1039 			case WKC_SHIFT | WKC_F1: ShowVehicleListWindow(_local_company, VEH_TRAIN); break;
  1040 			case WKC_SHIFT | WKC_F2: ShowVehicleListWindow(_local_player, VEH_ROAD); break;
  1040 			case WKC_SHIFT | WKC_F2: ShowVehicleListWindow(_local_company, VEH_ROAD); break;
  1041 			case WKC_SHIFT | WKC_F3: ShowVehicleListWindow(_local_player, VEH_SHIP); break;
  1041 			case WKC_SHIFT | WKC_F3: ShowVehicleListWindow(_local_company, VEH_SHIP); break;
  1042 			case WKC_SHIFT | WKC_F4: ShowVehicleListWindow(_local_player, VEH_AIRCRAFT); break;
  1042 			case WKC_SHIFT | WKC_F4: ShowVehicleListWindow(_local_company, VEH_AIRCRAFT); break;
  1043 			case WKC_NUM_PLUS: // Fall through
  1043 			case WKC_NUM_PLUS: // Fall through
  1044 			case WKC_EQUALS: // Fall through
  1044 			case WKC_EQUALS: // Fall through
  1045 			case WKC_SHIFT | WKC_EQUALS: // Fall through
  1045 			case WKC_SHIFT | WKC_EQUALS: // Fall through
  1046 			case WKC_SHIFT | WKC_F5: ToolbarZoomInClick(this); break;
  1046 			case WKC_SHIFT | WKC_F5: ToolbarZoomInClick(this); break;
  1047 			case WKC_NUM_MINUS: // Fall through
  1047 			case WKC_NUM_MINUS: // Fall through
  1119 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_TOWN,            STR_0176_DISPLAY_TOWN_DIRECTORY},   // TBN_TOWNDIRECTORY
  1119 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_TOWN,            STR_0176_DISPLAY_TOWN_DIRECTORY},   // TBN_TOWNDIRECTORY
  1120 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_SUBSIDIES,       STR_02DC_DISPLAY_SUBSIDIES},        // TBN_SUBSIDIES
  1120 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_SUBSIDIES,       STR_02DC_DISPLAY_SUBSIDIES},        // TBN_SUBSIDIES
  1121 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_LIST,    STR_0173_DISPLAY_LIST_OF_COMPANY},  // TBN_STATIONS
  1121 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_LIST,    STR_0173_DISPLAY_LIST_OF_COMPANY},  // TBN_STATIONS
  1122 
  1122 
  1123 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_FINANCE, STR_0177_DISPLAY_COMPANY_FINANCES}, // TBN_FINANCES
  1123 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_FINANCE, STR_0177_DISPLAY_COMPANY_FINANCES}, // TBN_FINANCES
  1124 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_GENERAL, STR_0178_DISPLAY_COMPANY_GENERAL},  // TBN_PLAYERS
  1124 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_GENERAL, STR_0178_DISPLAY_COMPANY_GENERAL},  // TBN_COMPANIES
  1125 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_GRAPHS,          STR_0179_DISPLAY_GRAPHS},           // TBN_GRAPHICS
  1125 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_GRAPHS,          STR_0179_DISPLAY_GRAPHS},           // TBN_GRAPHICS
  1126 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_LEAGUE,  STR_017A_DISPLAY_COMPANY_LEAGUE},   // TBN_LEAGUE
  1126 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_COMPANY_LEAGUE,  STR_017A_DISPLAY_COMPANY_LEAGUE},   // TBN_LEAGUE
  1127 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_INDUSTRY,        STR_0312_FUND_CONSTRUCTION_OF_NEW}, // TBN_INDUSTRIES
  1127 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_INDUSTRY,        STR_0312_FUND_CONSTRUCTION_OF_NEW}, // TBN_INDUSTRIES
  1128 
  1128 
  1129 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_TRAINLIST,       STR_017B_DISPLAY_LIST_OF_COMPANY},  // TBN_TRAINS
  1129 {     WWT_IMGBTN,   RESIZE_NONE,  COLOUR_GREY,     0,     0,     0,    21, SPR_IMG_TRAINLIST,       STR_017B_DISPLAY_LIST_OF_COMPANY},  // TBN_TRAINS