feat(safety): refuse to load when Chat 2 is also active
When the user has both Hellion Chat and upstream Chat 2 installed and loaded, the parallel chat-window replacement and Hook collisions can crash FFXIV at frame boundaries. The new detector inspects IDalamudPluginInterface.InstalledPlugins and throws an InvalidOperationException with a localized message if Chat 2 is loaded, which Dalamud surfaces cleanly instead of letting the load proceed into a runtime crash. Bilingual messages (EN/DE) follow the existing HellionStrings pattern.
This commit is contained in:
@@ -94,6 +94,12 @@ public sealed class Plugin : IDalamudPlugin
|
||||
|
||||
public Plugin()
|
||||
{
|
||||
// Refuse to start if upstream Chat 2 is loaded — prevents IPC
|
||||
// channel collisions and double-replacement of the in-game chat
|
||||
// window. Throwing here makes Dalamud abort the load cleanly with
|
||||
// our localized message instead of crashing FFXIV mid-frame.
|
||||
ChatTwoConflictDetector.ThrowIfChatTwoIsLoaded(Interface);
|
||||
|
||||
try
|
||||
{
|
||||
GameStarted = Process.GetCurrentProcess().StartTime.ToUniversalTime();
|
||||
|
||||
Reference in New Issue
Block a user