Changeset - r25400:69a72bf5e010
[Not reviewed]
master
0 3 0
rubidium42 - 3 years ago 2021-05-08 08:19:42
rubidium42@users.noreply.github.com
Codechange: [Network] Change ChatMessage's message to std::string and simplify some code
3 files changed with 5 insertions and 14 deletions:
0 comments (0 inline, 0 general)
src/network/network.cpp
Show inline comments
 
@@ -262,7 +262,7 @@ void NetworkTextMessage(NetworkAction ac
 

	
 
	DEBUG(desync, 1, "msg: %08x; %02x; %s", _date, _date_fract, message);
 
	IConsolePrintF(colour, "%s", message);
 
	NetworkAddChatMessage((TextColour)colour, _settings_client.gui.network_chat_timeout, "%s", message);
 
	NetworkAddChatMessage((TextColour)colour, _settings_client.gui.network_chat_timeout, message);
 
}
 

	
 
/* Calculate the frame-lag of a client */
src/network/network_chat_gui.cpp
Show inline comments
 
@@ -39,7 +39,7 @@ static const uint NETWORK_CHAT_LINE_SPAC
 

	
 
/** Container for a message. */
 
struct ChatMessage {
 
	char message[DRAW_STRING_BUFFER]; ///< The action message.
 
	std::string message; ///< The action message.
 
	TextColour colour;  ///< The colour of the message.
 
	std::chrono::steady_clock::time_point remove_time; ///< The time to remove the message.
 
};
 
@@ -87,23 +87,14 @@ static inline bool HaveChatMessages(bool
 
 * @param duration The duration of the chat message in seconds
 
 * @param message message itself in printf() style
 
 */
 
void CDECL NetworkAddChatMessage(TextColour colour, uint duration, const char *message, ...)
 
void CDECL NetworkAddChatMessage(TextColour colour, uint duration, const std::string &message)
 
{
 
	char buf[DRAW_STRING_BUFFER];
 
	va_list va;
 

	
 
	va_start(va, message);
 
	vseprintf(buf, lastof(buf), message, va);
 
	va_end(va);
 

	
 
	Utf8TrimString(buf, DRAW_STRING_BUFFER);
 

	
 
	if (_chatmsg_list.size() == MAX_CHAT_MESSAGES) {
 
		_chatmsg_list.pop_back();
 
	}
 

	
 
	ChatMessage *cmsg = &_chatmsg_list.emplace_front();
 
	strecpy(cmsg->message, buf, lastof(cmsg->message));
 
	cmsg->message = message;
 
	cmsg->colour = (colour & TC_IS_PALETTE_COLOUR) ? colour : TC_WHITE;
 
	cmsg->remove_time = std::chrono::steady_clock::now() + std::chrono::seconds(duration);
 

	
src/network/network_func.h
Show inline comments
 
@@ -84,7 +84,7 @@ uint NetworkServerKickOrBanIP(ClientID c
 
uint NetworkServerKickOrBanIP(const char *ip, bool ban, const char *reason);
 

	
 
void NetworkInitChatMessage();
 
void CDECL NetworkAddChatMessage(TextColour colour, uint duration, const char *message, ...) WARN_FORMAT(3, 4);
 
void CDECL NetworkAddChatMessage(TextColour colour, uint duration, const std::string &message);
 
void NetworkUndrawChatMessage();
 
void NetworkChatMessageLoop();
 

	
0 comments (0 inline, 0 general)