Skip to content

Conversation

@tintinhamans
Copy link

Send same type of chat message when pressing Enter as when pressing the button in the GUI.

Closes #1443

@tintinhamans tintinhamans added GUI For graphical user interface Minor Severity: Minor < Major < Critical < Blocker labels Nov 7, 2025
Signed-off-by: tintinhamans <5984296+tintinhamans@users.noreply.github.com>
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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

GUI For graphical user interface Minor Severity: Minor < Major < Critical < Blocker

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Network pre-match lobby inconsistent chat send behavior

3 participants