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)); 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 else
{ {
//InitApi(new NativeLibraryContext(LibraryLoader.LoadLibrary(GetLibraryName, null))); InitApi(new NativeLibraryContext(windowsPath));
InitApi(new NativeLibraryContext(Path.Combine(Path.GetDirectoryName(Assembly.GetCallingAssembly().Location)!, GetLibraryName() + ".dll")));
} }
} }