Load imgui.so if available for external tools running imgui on native (#2331)

This commit is contained in:
Blair 2025-08-04 11:25:30 +10:00 committed by GitHub
parent cc741cec67
commit 0f8b65e95a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -20,10 +20,18 @@ namespace Dalamud.Bindings.ImGui
{
InitApi(new NativeLibraryContext(Process.GetCurrentProcess().MainModule!.BaseAddress));
}
var linuxPath = Path.Combine(Path.GetDirectoryName(Assembly.GetCallingAssembly().Location)!, GetLibraryName() + ".so");
var windowsPath = Path.Combine(Path.GetDirectoryName(Assembly.GetCallingAssembly().Location)!, GetLibraryName() + ".dll");
// This shouldn't affect wine as it'll be reported as Win32NT
if (System.Environment.OSVersion.Platform == PlatformID.Unix && File.Exists(linuxPath))
{
InitApi(new NativeLibraryContext(linuxPath));
}
else
{
//InitApi(new NativeLibraryContext(LibraryLoader.LoadLibrary(GetLibraryName, null)));
InitApi(new NativeLibraryContext(Path.Combine(Path.GetDirectoryName(Assembly.GetCallingAssembly().Location)!, GetLibraryName() + ".dll")));
InitApi(new NativeLibraryContext(windowsPath));
}
}