feat: allow tab input channel to be set to ExtraChat

Adds ExtraChat Linkshell channels to tab input channel selector. These are only by index, not by channel name due to limitations in the ExtraChat IPC API.

Adds ExtraChat Linkshell channels to the channel selector in the chat log window. As these aren't real channels in-game, these are handled by just sending the corresponding `/eclX` command which causes ExtraChat to set a channel override.
This commit is contained in:
Dean Sheather
2024-04-09 18:20:05 +10:00
parent fed420901c
commit 2ed125d520
9 changed files with 210 additions and 10 deletions
+6 -1
View File
@@ -611,7 +611,12 @@ internal sealed unsafe class Chat : IDisposable {
}
internal void SetChannel(InputChannel channel, string? tellTarget = null) {
if (ChangeChatChannel == null)
// ExtraChat linkshells aren't supported in game so we never want to
// call the ChangeChatChannel function with them.
//
// Callers should call ChatLogWindow.SetChannel() which handles
// ExtraChat channels
if (ChangeChatChannel == null || channel.IsExtraChatLinkshell())
return;
var target = Utf8String.FromString(tellTarget ?? "");