mirror of https://github.com/OpenTTD/OpenTTD
Fix: add back 'Spectate' option to company toolbar menu (#9556)
This was removed in ce7406f88b
, but people used this to quickly
mark themselves as away.
Co-authored-by: dP <dp@dpointer.org>
pull/9559/head
parent
7acdaaaf2f
commit
cd03bac3dd
|
@ -2327,6 +2327,7 @@ STR_NETWORK_NEED_COMPANY_PASSWORD_CAPTION :{WHITE}Company
|
|||
|
||||
# Network company list added strings
|
||||
STR_NETWORK_COMPANY_LIST_CLIENT_LIST :Online players
|
||||
STR_NETWORK_COMPANY_LIST_SPECTATE :Spectate
|
||||
|
||||
# Network client list
|
||||
STR_NETWORK_CLIENT_LIST_CAPTION :{WHITE}Online Players
|
||||
|
|
|
@ -204,7 +204,8 @@ static void PopupMainToolbMenu(Window *w, int widget, StringID string, int count
|
|||
|
||||
/** Enum for the Company Toolbar's network related buttons */
|
||||
static const int CTMN_CLIENT_LIST = -1; ///< Show the client list
|
||||
static const int CTMN_SPECTATOR = -2; ///< Show a company window as spectator
|
||||
static const int CTMN_SPECTATE = -2; ///< Become spectator
|
||||
static const int CTMN_SPECTATOR = -3; ///< Show a company window as spectator
|
||||
|
||||
/**
|
||||
* Pop up a generic company list menu.
|
||||
|
@ -222,8 +223,11 @@ static void PopupMainCompanyToolbMenu(Window *w, int widget, int grey = 0)
|
|||
|
||||
/* Add the client list button for the companies menu */
|
||||
list.emplace_back(new DropDownListStringItem(STR_NETWORK_COMPANY_LIST_CLIENT_LIST, CTMN_CLIENT_LIST, false));
|
||||
break;
|
||||
|
||||
if (_local_company != COMPANY_SPECTATOR) {
|
||||
list.emplace_back(new DropDownListStringItem(STR_NETWORK_COMPANY_LIST_SPECTATE, CTMN_SPECTATE, false));
|
||||
}
|
||||
break;
|
||||
case WID_TN_STORY:
|
||||
list.emplace_back(new DropDownListStringItem(STR_STORY_BOOK_SPECTATOR, CTMN_SPECTATOR, false));
|
||||
break;
|
||||
|
@ -603,6 +607,15 @@ static CallBackFunction MenuClickCompany(int index)
|
|||
case CTMN_CLIENT_LIST:
|
||||
ShowClientList();
|
||||
return CBF_NONE;
|
||||
|
||||
case CTMN_SPECTATE:
|
||||
if (_network_server) {
|
||||
NetworkServerDoMove(CLIENT_ID_SERVER, COMPANY_SPECTATOR);
|
||||
MarkWholeScreenDirty();
|
||||
} else {
|
||||
NetworkClientRequestMove(COMPANY_SPECTATOR);
|
||||
}
|
||||
return CBF_NONE;
|
||||
}
|
||||
}
|
||||
ShowCompany((CompanyID)index);
|
||||
|
|
Loading…
Reference in New Issue