Change send money to company messages to be broadcasts.

Adjust text formatting depending on whether current client is
the source, destination or neither.
This commit is contained in:
Jonathan G Rennison
2017-03-03 22:37:43 +00:00
parent 63629852f7
commit 9c74da46b1
3 changed files with 27 additions and 3 deletions

View File

@@ -232,6 +232,7 @@ bool NetworkCompanyIsPassworded(CompanyID company_id)
* If 'self_send' is true, this is the client who is sending the message */
void NetworkTextMessage(NetworkAction action, TextColour colour, bool self_send, const char *name, const char *str, NetworkTextMessageData data)
{
char message_src[256];
StringID strid;
switch (action) {
case NETWORK_ACTION_SERVER_MESSAGE:
@@ -257,7 +258,22 @@ void NetworkTextMessage(NetworkAction action, TextColour colour, bool self_send,
break;
case NETWORK_ACTION_LEAVE: strid = STR_NETWORK_MESSAGE_CLIENT_LEFT; break;
case NETWORK_ACTION_NAME_CHANGE: strid = STR_NETWORK_MESSAGE_NAME_CHANGE; break;
case NETWORK_ACTION_GIVE_MONEY: strid = self_send ? STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY : STR_NETWORK_MESSAGE_GIVE_MONEY; break;
case NETWORK_ACTION_GIVE_MONEY:
SetDParamStr(0, name);
SetDParam(1, data.auxdata >> 16);
GetString(message_src, STR_NETWORK_MESSAGE_MONEY_GIVE_SRC_DESCRIPTION, lastof(message_src));
name = message_src;
if (self_send) {
strid = STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY;
} else if ((CompanyID) (data.auxdata & 0xFFFF) == _local_company) {
strid = STR_NETWORK_MESSAGE_GIVE_MONEY;
} else {
strid = STR_NETWORK_MESSAGE_MONEY_GIVEN;
SetDParam(3, data.auxdata & 0xFFFF);
}
break;
case NETWORK_ACTION_CHAT_COMPANY: strid = self_send ? STR_NETWORK_CHAT_TO_COMPANY : STR_NETWORK_CHAT_COMPANY; break;
case NETWORK_ACTION_CHAT_CLIENT: strid = self_send ? STR_NETWORK_CHAT_TO_CLIENT : STR_NETWORK_CHAT_CLIENT; break;
default: strid = STR_NETWORK_CHAT_ALL; break;