Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -1153,7 +1153,8 @@ WindowMsgHandledType LanGameOptionsMenuSystem( GameWindow *window, UnsignedInt m
txtInput.trim();
// Echo the user's input to the chat window
if (!txtInput.isEmpty())
TheLAN->RequestChat(txtInput, LANAPIInterface::LANCHAT_EMOTE);
// TheSuperHackers @tweak arcticdolphin 07/11/2025 changed from LANCHAT_EMOTE for consistency
TheLAN->RequestChat(txtInput, LANAPIInterface::LANCHAT_NORMAL);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The button is named "buttonEmoteID". Maybe EMOTE type is intentional? What is the difference?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LANCHAT_EMOTE (first line in screenshot) is used when you press the button that looks like an Enter symbol, LANCHAT_NORMAL (second line in screenshot) is used when you press Enter on your keyboard.

image

Emote feels like a feature that was never completed, I essentially did the same as what was done for this in the LanLobbyMenu:

if (!txtInput.isEmpty()) {
// TheLAN->RequestChat(txtInput, LANAPIInterface::LANCHAT_EMOTE);
TheLAN->RequestChat(txtInput, LANAPIInterface::LANCHAT_NORMAL);

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How will the EMOTE be used without the button?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should introduce a /me command that would trigger the Emote formatting.

Emote is also used in the score screen chat and may need evaluation there too.

Copy link

@xezon xezon Nov 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is how it is done in GameSpy code:

Bool handleGameSetupSlashCommands(UnicodeString uText)
{
...
	else if (token == "me" && uText.getLength()>4)
	{
		TheGameSpyInfo->sendChat(UnicodeString(uText.str()+4), TRUE, NULL); // <---- second argument "isAction" makes emote chat
		return TRUE; // was a slash command
	}
...

Ok.

So the action items here are:

  1. Change all lobby emote lobby buttons to send normal chat (Game Room, Score Screen)
  2. Rename the "emote" buttons to "chat" buttons
  3. Implement /me command for Network chat (ideally /me command still works when clicking the button too)

}
else if ( controlID == buttonSelectMapID )
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1256,7 +1256,8 @@ WindowMsgHandledType LanGameOptionsMenuSystem( GameWindow *window, UnsignedInt m
txtInput.trim();
// Echo the user's input to the chat window
if (!txtInput.isEmpty())
TheLAN->RequestChat(txtInput, LANAPIInterface::LANCHAT_EMOTE);
// TheSuperHackers @tweak arcticdolphin 07/11/2025 changed from LANCHAT_EMOTE for consistency
TheLAN->RequestChat(txtInput, LANAPIInterface::LANCHAT_NORMAL);
}
else if ( controlID == buttonSelectMapID )
{
Expand Down
Loading