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:
@@ -2187,6 +2187,8 @@ STR_NETWORK_MESSAGE_CLIENT_LEFT :*** {RAW_STRING
|
|||||||
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {RAW_STRING} has changed his/her name to {RAW_STRING}
|
STR_NETWORK_MESSAGE_NAME_CHANGE :*** {RAW_STRING} has changed his/her name to {RAW_STRING}
|
||||||
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {RAW_STRING} gave your company {2:CURRENCY_LONG}
|
STR_NETWORK_MESSAGE_GIVE_MONEY :*** {RAW_STRING} gave your company {2:CURRENCY_LONG}
|
||||||
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:RAW_STRING} {2:CURRENCY_LONG}
|
STR_NETWORK_MESSAGE_GAVE_MONEY_AWAY :*** You gave {1:RAW_STRING} {2:CURRENCY_LONG}
|
||||||
|
STR_NETWORK_MESSAGE_MONEY_GIVEN :*** {RAW_STRING} gave {1:RAW_STRING} {2:CURRENCY_LONG}
|
||||||
|
STR_NETWORK_MESSAGE_MONEY_GIVE_SRC_DESCRIPTION :{RAW_STRING} ({COMPANY})
|
||||||
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
|
STR_NETWORK_MESSAGE_SERVER_SHUTDOWN :{WHITE}The server closed the session
|
||||||
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...
|
STR_NETWORK_MESSAGE_SERVER_REBOOT :{WHITE}The server is restarting...{}Please wait...
|
||||||
|
|
||||||
|
@@ -57,10 +57,16 @@ void CcGiveMoney(const CommandCost &result, TileIndex tile, uint32 p1, uint32 p2
|
|||||||
SetDParam(0, p2);
|
SetDParam(0, p2);
|
||||||
GetString(msg, STR_COMPANY_NAME, lastof(msg));
|
GetString(msg, STR_COMPANY_NAME, lastof(msg));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* bits 31-16: source company
|
||||||
|
* bits 15-0: target company
|
||||||
|
*/
|
||||||
|
uint64 auxdata = (p2 & 0xFFFF) | (((uint64) _local_company) << 16);
|
||||||
|
|
||||||
if (!_network_server) {
|
if (!_network_server) {
|
||||||
NetworkClientSendChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_TEAM, p2, msg, p1);
|
NetworkClientSendChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_BROADCAST_SS, p2, msg, NetworkTextMessageData(p1, auxdata));
|
||||||
} else {
|
} else {
|
||||||
NetworkServerSendChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_TEAM, p2, msg, CLIENT_ID_SERVER, p1);
|
NetworkServerSendChat(NETWORK_ACTION_GIVE_MONEY, DESTTYPE_BROADCAST_SS, p2, msg, CLIENT_ID_SERVER, NetworkTextMessageData(p1, auxdata));
|
||||||
}
|
}
|
||||||
#endif /* ENABLE_NETWORK */
|
#endif /* ENABLE_NETWORK */
|
||||||
}
|
}
|
||||||
|
@@ -232,6 +232,7 @@ bool NetworkCompanyIsPassworded(CompanyID company_id)
|
|||||||
* If 'self_send' is true, this is the client who is sending the message */
|
* 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)
|
void NetworkTextMessage(NetworkAction action, TextColour colour, bool self_send, const char *name, const char *str, NetworkTextMessageData data)
|
||||||
{
|
{
|
||||||
|
char message_src[256];
|
||||||
StringID strid;
|
StringID strid;
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case NETWORK_ACTION_SERVER_MESSAGE:
|
case NETWORK_ACTION_SERVER_MESSAGE:
|
||||||
@@ -257,7 +258,22 @@ void NetworkTextMessage(NetworkAction action, TextColour colour, bool self_send,
|
|||||||
break;
|
break;
|
||||||
case NETWORK_ACTION_LEAVE: strid = STR_NETWORK_MESSAGE_CLIENT_LEFT; 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_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_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;
|
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;
|
default: strid = STR_NETWORK_CHAT_ALL; break;
|
||||||
|
Reference in New Issue
Block a user