Implement <item> and <flag> text preview

This commit is contained in:
Infi
2024-05-18 19:23:39 +02:00
parent c9383e5411
commit 31897251f7
31 changed files with 1695 additions and 3 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<Version>1.25.0</Version>
<Version>1.25.1</Version>
<TargetFramework>net8.0-windows</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
+88 -1
View File
@@ -4,7 +4,10 @@ using ChatTwo.Util;
using Dalamud.Game.Text.SeStringHandling;
using Dalamud.Game.Text.SeStringHandling.Payloads;
using System.Text.RegularExpressions;
using FFXIVClientStructs.FFXIV.Client.Game;
using FFXIVClientStructs.FFXIV.Client.UI.Agent;
using LiteDB;
using Lumina.Excel.GeneratedSheets;
namespace ChatTwo;
@@ -59,7 +62,7 @@ internal class Message
internal DateTimeOffset Date { get; }
internal ChatCode Code { get; }
internal List<Chunk> Sender { get; }
internal List<Chunk> Content { get; }
internal List<Chunk> Content { get; private set; }
internal SeString SenderSource { get; }
internal SeString ContentSource { get; }
@@ -224,6 +227,90 @@ internal class Message
return newChunks;
}
public unsafe void DecodeTextParam()
{
var newChunks = new List<Chunk>();
void AddChunkWithMessage(TextChunk chunk)
{
if (string.IsNullOrEmpty(chunk.Content))
return;
chunk.Message = this;
newChunks.Add(chunk);
}
foreach (var chunk in Content)
{
// Use as is if it's not a text chunk or it already has a payload.
if (chunk is not TextChunk text || chunk.Link != null)
{
// No need to call AddChunkWithMessage here since the chunk
// already has the Message field set.
newChunks.Add(chunk);
continue;
}
if (!text.Content.Contains("<item>") && !text.Content.Contains("<flag>"))
{
newChunks.Add(chunk);
continue;
}
var nextIsMatch = false;
foreach (var split in Regex.Split(text.Content, "(<item>|<flag>)"))
{
if (split == "" || !nextIsMatch)
{
nextIsMatch = true;
AddChunkWithMessage(text.NewWithStyle(chunk.Source, chunk.Link, split));
continue;
}
nextIsMatch = false;
try
{
if (split == "<item>")
{
var agentChat = AgentChatLog.Instance();
var item = *(InventoryItem*)((nint)agentChat + 0x8A0);
var kind = item.ItemID switch
{
< 500_000 => ItemPayload.ItemKind.Normal,
< 1_000_000 => ItemPayload.ItemKind.Collectible,
< 2_000_000 => ItemPayload.ItemKind.Hq,
_ => ItemPayload.ItemKind.EventItem
};
var name = kind != ItemPayload.ItemKind.EventItem
? Plugin.DataManager.GetExcelSheet<Item>()!.GetRow(item.ItemID)!.Name.ToString()
: Plugin.DataManager.GetExcelSheet<EventItem>()!.GetRow(item.ItemID)!.Name.ToString();
var link = new ItemPayload(item.ItemID, kind, name);
AddChunkWithMessage(text.NewWithStyle(chunk.Source, link, link.DisplayName ?? "Unknown"));
}
else
{
var mapCoords = AgentMap.Instance()->FlagMapMarker;
var rawX = (int)(MathF.Round(mapCoords.XFloat, 3, MidpointRounding.AwayFromZero) * 1000);
var rawY = (int)(MathF.Round(mapCoords.YFloat, 3, MidpointRounding.AwayFromZero) * 1000);
var link = new MapLinkPayload(mapCoords.TerritoryId, mapCoords.MapId, rawX, rawY);
AddChunkWithMessage(text.NewWithStyle(chunk.Source, link, $"{link.PlaceName} {link.CoordinateString}"));
}
}
catch (UriFormatException)
{
AddChunkWithMessage(text.NewWithStyle(chunk.Source, chunk.Link, split));
Plugin.Log.Debug($"Invalid URL accepted by Regex but failed URI parsing: '{split}'");
}
}
}
Content = newChunks;
}
/// <summary>
/// URLRegex returns a regex object that matches URLs like:
/// - https://example.com
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+21
View File
@@ -1051,4 +1051,25 @@
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1012,4 +1012,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+21
View File
@@ -1051,4 +1051,25 @@
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+60
View File
@@ -1013,4 +1013,64 @@
<data name="Options_AdjustPosition_Warning" xml:space="preserve">
<value>Attention, this change applies immediately and is not discardable!</value>
</data>
<data name="Options_KeepInputFocus_Name" xml:space="preserve">
<value>Keep input focus</value>
</data>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>A preview wih all emote, auto-translate encoded as they appear in chat</value>
</data>
<data name="Options_Preview_Name" xml:space="preserve">
<value>Input preview</value>
</data>
<data name="Options_Preview_None" xml:space="preserve">
<value>None</value>
</data>
<data name="Options_Preview_Inside" xml:space="preserve">
<value>Inside</value>
</data>
<data name="Options_Preview_Top" xml:space="preserve">
<value>Top</value>
</data>
<data name="Options_Preview_Bottom" xml:space="preserve">
<value>Bottom</value>
</data>
<data name="Options_Preview_Header" xml:space="preserve">
<value>Text Preview:</value>
</data>
</root>
+4 -1
View File
@@ -532,6 +532,7 @@ public sealed class ChatLogWindow : Window
var chunks = ChunkUtil.ToChunks(SeString.Parse(bytes), ChunkSource.Content, ChatType.Say).ToList();
PreviewMessage = Message.FakeMessage(chunks, new ChatCode((ushort)XivChatType.Say));
PreviewMessage.DecodeTextParam();
}
var pos = ImGui.GetCursorPos();
@@ -564,7 +565,9 @@ public sealed class ChatLogWindow : Window
using (ImRaii.PushStyle(ImGuiStyleVar.ItemSpacing, Vector2.Zero))
{
ImGui.TextUnformatted("Text Preview:");
DrawChunks(PreviewMessage.Content);
var handler = HandlerLender.Borrow();
DrawChunks(PreviewMessage.Content, true, handler);
handler.Draw();
}
}