muffin v7.38.9

This commit is contained in:
alydev 2025-12-07 10:55:56 +10:00
parent ada27cf05b
commit 8a7847ff37
21 changed files with 1296 additions and 689 deletions

View file

@ -11,6 +11,7 @@ using Dalamud.Plugin.Services;
using FFXIVClientStructs.FFXIV.Client.System.Framework;
using FFXIVClientStructs.FFXIV.Client.System.Memory;
using FFXIVClientStructs.FFXIV.Client.System.String;
using FFXIVClientStructs.FFXIV.Client.UI;
using Lumina.Excel.Sheets;
using Microsoft.Extensions.Logging;
using Questionable.Model.Questing;
@ -21,11 +22,6 @@ internal sealed class ChatFunctions
{
private delegate void ProcessChatBoxDelegate(nint uiModule, nint message, nint unused, byte a4);
private static class Signatures
{
internal const string SendChat = "48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8B F2 48 8B F9 45 84 C9";
}
[StructLayout(LayoutKind.Explicit)]
private readonly struct ChatPayload : IDisposable
{
@ -72,7 +68,7 @@ internal sealed class ChatFunctions
_gameFunctions = gameFunctions;
_targetManager = targetManager;
_logger = logger;
_processChatBox = Marshal.GetDelegateForFunctionPointer<ProcessChatBoxDelegate>(sigScanner.ScanText("48 89 5C 24 ?? 48 89 74 24 ?? 57 48 83 EC 20 48 8B F2 48 8B F9 45 84 C9"));
_processChatBox = Marshal.GetDelegateForFunctionPointer<ProcessChatBoxDelegate>(UIModule.Addresses.ProcessChatBoxEntry.Value);
_emoteCommands = (from x in dataManager.GetExcelSheet<Emote>()
where x.RowId != 0
where x.TextCommand.IsValid