diff --git a/Dalamud/Game/Text/SeStringHandling/SeString.cs b/Dalamud/Game/Text/SeStringHandling/SeString.cs index 54c5e4a7b..3b83aed0c 100644 --- a/Dalamud/Game/Text/SeStringHandling/SeString.cs +++ b/Dalamud/Game/Text/SeStringHandling/SeString.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Runtime.InteropServices; using System.Text; using Dalamud.Data; @@ -162,6 +163,13 @@ public class SeString /// An SeString containing parsed Payload objects for each payload in the data. public static SeString Parse(byte[] bytes) => Parse(new ReadOnlySpan(bytes)); + /// + /// Parse a binary game message into an SeString. + /// + /// Pointer to the string's data in memory. Needs to be null-terminated. + /// An SeString containing parsed Payload objects for each payload in the data. + public static unsafe SeString Parse(byte* ptr) => Parse(MemoryMarshal.CreateReadOnlySpanFromNullTerminated(ptr)); + /// /// Creates an SeString representing an entire Payload chain that can be used to link an item in the chat log. ///