mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-18 14:44:16 +01:00
Merge pull request #174 from ascclemens/process-plugin-chat
Process chat messages from plugins
This commit is contained in:
commit
834bf6357d
1 changed files with 10 additions and 10 deletions
|
|
@ -221,17 +221,17 @@ namespace Dalamud.Game.Internal.Gui {
|
||||||
while (this.chatQueue.Count > 0) {
|
while (this.chatQueue.Count > 0) {
|
||||||
var chat = this.chatQueue.Dequeue();
|
var chat = this.chatQueue.Dequeue();
|
||||||
|
|
||||||
var sender = chat.Name ?? "";
|
if (this.baseAddress == IntPtr.Zero) {
|
||||||
var message = chat.MessageBytes ?? new byte[0];
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
if (this.baseAddress != IntPtr.Zero)
|
var senderRaw = Encoding.UTF8.GetBytes(chat.Name ?? "");
|
||||||
using (var senderVec = framework.Libc.NewString(Encoding.UTF8.GetBytes(sender)))
|
using var senderOwned = framework.Libc.NewString(senderRaw);
|
||||||
using (var messageVec = framework.Libc.NewString(message))
|
|
||||||
{
|
var messageRaw = chat.MessageBytes ?? new byte[0];
|
||||||
Log.Verbose($"String allocated to {messageVec.Address.ToInt64():X}");
|
using var messageOwned = framework.Libc.NewString(messageRaw);
|
||||||
this.printMessageHook.Original(this.baseAddress, chat.Type, senderVec.Address,
|
|
||||||
messageVec.Address, chat.SenderId, chat.Parameters);
|
this.HandlePrintMessageDetour(this.baseAddress, chat.Type, senderOwned.Address, messageOwned.Address, chat.SenderId, chat.Parameters);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue